From b4c0736cff0c0c3fddc95e6171a3647c248a31ac Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Tue, 14 Apr 2026 09:53:21 +0000 Subject: [PATCH] remove testcontainers --- app/composer.json | 3 +- app/composer.lock | 3732 ++-- app/tests/bootstrap.php | 174 +- .../docker-php-api/.github/FUNDING.yml | 3 - .../docker-php-api/.github/dependabot.yml | 12 - .../beluga-php/docker-php-api/.gitignore | 3 - .../beluga-php/docker-php-api/.jane-openapi | 11 - .../docker-php-api/.php-cs-fixer.php | 44 - app/vendor/beluga-php/docker-php-api/LICENSE | 19 - .../beluga-php/docker-php-api/README.md | 27 - .../beluga-php/docker-php-api/composer.json | 85 - .../patches/NetworkSettingsNormalizer.patch | 26 - .../beluga-php/docker-php-api/spec/v1.36.json | 15417 -------------- .../beluga-php/docker-php-api/spec/v1.41.json | 16074 --------------- .../beluga-php/docker-php-api/spec/v1.42.json | 16631 --------------- .../beluga-php/docker-php-api/spec/v1.43.json | 16645 --------------- .../beluga-php/docker-php-api/spec/v1.44.json | 16801 --------------- .../beluga-php/docker-php-api/spec/v1.45.json | 16806 ---------------- .../beluga-php/docker-php-api/src/Client.php | 2662 --- .../src/Endpoint/BuildPrune.php | 91 - .../src/Endpoint/ConfigCreate.php | 69 - .../src/Endpoint/ConfigDelete.php | 68 - .../src/Endpoint/ConfigInspect.php | 69 - .../src/Endpoint/ConfigList.php | 87 - .../src/Endpoint/ConfigUpdate.php | 106 - .../src/Endpoint/ContainerArchive.php | 90 - .../src/Endpoint/ContainerArchiveInfo.php | 96 - .../src/Endpoint/ContainerAttach.php | 204 - .../src/Endpoint/ContainerAttachWebsocket.php | 106 - .../src/Endpoint/ContainerChanges.php | 72 - .../src/Endpoint/ContainerCreate.php | 113 - .../src/Endpoint/ContainerDelete.php | 100 - .../src/Endpoint/ContainerExec.php | 76 - .../src/Endpoint/ContainerExport.php | 71 - .../src/Endpoint/ContainerInspect.php | 83 - .../src/Endpoint/ContainerKill.php | 96 - .../src/Endpoint/ContainerList.php | 113 - .../src/Endpoint/ContainerLogs.php | 105 - .../src/Endpoint/ContainerPause.php | 78 - .../src/Endpoint/ContainerPrune.php | 79 - .../src/Endpoint/ContainerRename.php | 92 - .../src/Endpoint/ContainerResize.php | 90 - .../src/Endpoint/ContainerRestart.php | 90 - .../src/Endpoint/ContainerStart.php | 93 - .../src/Endpoint/ContainerStats.php | 113 - .../src/Endpoint/ContainerStop.php | 92 - .../src/Endpoint/ContainerTop.php | 92 - .../src/Endpoint/ContainerUnpause.php | 73 - .../src/Endpoint/ContainerUpdate.php | 73 - .../src/Endpoint/ContainerWait.php | 90 - .../src/Endpoint/DistributionInspect.php | 67 - .../src/Endpoint/ExecInspect.php | 67 - .../src/Endpoint/ExecResize.php | 97 - .../docker-php-api/src/Endpoint/ExecStart.php | 75 - .../src/Endpoint/GetPluginPrivileges.php | 84 - .../src/Endpoint/ImageBuild.php | 187 - .../src/Endpoint/ImageCommit.php | 95 - .../src/Endpoint/ImageCreate.php | 140 - .../src/Endpoint/ImageDelete.php | 93 - .../docker-php-api/src/Endpoint/ImageGet.php | 81 - .../src/Endpoint/ImageGetAll.php | 81 - .../src/Endpoint/ImageHistory.php | 67 - .../src/Endpoint/ImageInspect.php | 67 - .../docker-php-api/src/Endpoint/ImageList.php | 92 - .../docker-php-api/src/Endpoint/ImageLoad.php | 83 - .../src/Endpoint/ImagePrune.php | 81 - .../docker-php-api/src/Endpoint/ImagePush.php | 117 - .../src/Endpoint/ImageSearch.php | 84 - .../docker-php-api/src/Endpoint/ImageTag.php | 100 - .../src/Endpoint/NetworkConnect.php | 86 - .../src/Endpoint/NetworkCreate.php | 73 - .../src/Endpoint/NetworkDelete.php | 75 - .../src/Endpoint/NetworkDisconnect.php | 80 - .../src/Endpoint/NetworkInspect.php | 83 - .../src/Endpoint/NetworkList.php | 96 - .../src/Endpoint/NetworkPrune.php | 79 - .../src/Endpoint/NodeDelete.php | 92 - .../src/Endpoint/NodeInspect.php | 76 - .../docker-php-api/src/Endpoint/NodeList.php | 95 - .../src/Endpoint/NodeUpdate.php | 106 - .../src/Endpoint/PluginCreate.php | 89 - .../src/Endpoint/PluginDelete.php | 92 - .../src/Endpoint/PluginDisable.php | 90 - .../src/Endpoint/PluginEnable.php | 89 - .../src/Endpoint/PluginInspect.php | 73 - .../src/Endpoint/PluginList.php | 83 - .../src/Endpoint/PluginPull.php | 114 - .../src/Endpoint/PluginPush.php | 74 - .../docker-php-api/src/Endpoint/PluginSet.php | 78 - .../src/Endpoint/PluginUpgrade.php | 123 - .../src/Endpoint/PutContainerArchive.php | 117 - .../src/Endpoint/SecretCreate.php | 69 - .../src/Endpoint/SecretDelete.php | 68 - .../src/Endpoint/SecretInspect.php | 69 - .../src/Endpoint/SecretList.php | 87 - .../src/Endpoint/SecretUpdate.php | 106 - .../src/Endpoint/ServiceCreate.php | 100 - .../src/Endpoint/ServiceDelete.php | 75 - .../src/Endpoint/ServiceInspect.php | 93 - .../src/Endpoint/ServiceList.php | 97 - .../src/Endpoint/ServiceLogs.php | 108 - .../src/Endpoint/ServiceUpdate.php | 128 - .../docker-php-api/src/Endpoint/Session.php | 50 - .../docker-php-api/src/Endpoint/SwarmInit.php | 81 - .../src/Endpoint/SwarmInspect.php | 73 - .../docker-php-api/src/Endpoint/SwarmJoin.php | 80 - .../src/Endpoint/SwarmLeave.php | 87 - .../src/Endpoint/SwarmUnlock.php | 64 - .../src/Endpoint/SwarmUnlockkey.php | 69 - .../src/Endpoint/SwarmUpdate.php | 104 - .../src/Endpoint/SystemAuth.php | 71 - .../src/Endpoint/SystemDataUsage.php | 82 - .../src/Endpoint/SystemEvents.php | 122 - .../src/Endpoint/SystemInfo.php | 52 - .../src/Endpoint/SystemPing.php | 48 - .../src/Endpoint/SystemPingHead.php | 48 - .../src/Endpoint/SystemVersion.php | 52 - .../src/Endpoint/TaskInspect.php | 69 - .../docker-php-api/src/Endpoint/TaskList.php | 89 - .../docker-php-api/src/Endpoint/TaskLogs.php | 108 - .../src/Endpoint/VolumeCreate.php | 61 - .../src/Endpoint/VolumeDelete.php | 94 - .../src/Endpoint/VolumeInspect.php | 65 - .../src/Endpoint/VolumeList.php | 85 - .../src/Endpoint/VolumePrune.php | 79 - .../src/Endpoint/VolumeUpdate.php | 96 - .../src/Exception/ApiException.php | 9 - .../src/Exception/BadRequestException.php | 13 - ...BuildPruneInternalServerErrorException.php | 34 - .../src/Exception/ClientException.php | 9 - .../ConfigCreateConflictException.php | 34 - ...nfigCreateInternalServerErrorException.php | 34 - ...onfigCreateServiceUnavailableException.php | 34 - ...nfigDeleteInternalServerErrorException.php | 34 - .../ConfigDeleteNotFoundException.php | 34 - ...onfigDeleteServiceUnavailableException.php | 34 - ...figInspectInternalServerErrorException.php | 34 - .../ConfigInspectNotFoundException.php | 34 - ...nfigInspectServiceUnavailableException.php | 34 - ...ConfigListInternalServerErrorException.php | 34 - .../ConfigListServiceUnavailableException.php | 34 - .../ConfigUpdateBadRequestException.php | 34 - ...nfigUpdateInternalServerErrorException.php | 34 - .../ConfigUpdateNotFoundException.php | 34 - ...onfigUpdateServiceUnavailableException.php | 34 - .../src/Exception/ConflictException.php | 13 - ...ontainerArchiveInfoBadRequestException.php | 34 - ...rchiveInfoInternalServerErrorException.php | 34 - .../ContainerArchiveInfoNotFoundException.php | 34 - .../ContainerArchiveNotFoundException.php | 24 - .../ContainerAttachNotFoundException.php | 24 - ...inerAttachWebsocketBadRequestException.php | 34 - ...hWebsocketInternalServerErrorException.php | 34 - ...tainerAttachWebsocketNotFoundException.php | 34 - ...nerChangesInternalServerErrorException.php | 34 - .../ContainerChangesNotFoundException.php | 34 - .../ContainerCreateBadRequestException.php | 34 - .../ContainerCreateConflictException.php | 34 - ...inerCreateInternalServerErrorException.php | 34 - .../ContainerCreateNotFoundException.php | 34 - .../ContainerDeleteBadRequestException.php | 34 - .../ContainerDeleteConflictException.php | 34 - ...inerDeleteInternalServerErrorException.php | 34 - .../ContainerDeleteNotFoundException.php | 34 - .../ContainerExecConflictException.php | 34 - ...tainerExecInternalServerErrorException.php | 34 - .../ContainerExecNotFoundException.php | 34 - .../ContainerExportNotFoundException.php | 24 - ...nerInspectInternalServerErrorException.php | 34 - .../ContainerInspectNotFoundException.php | 34 - .../ContainerKillConflictException.php | 34 - ...tainerKillInternalServerErrorException.php | 34 - .../ContainerKillNotFoundException.php | 34 - .../ContainerListBadRequestException.php | 34 - ...tainerListInternalServerErrorException.php | 34 - .../ContainerLogsNotFoundException.php | 24 - ...ainerPauseInternalServerErrorException.php | 34 - .../ContainerPauseNotFoundException.php | 34 - ...ainerPruneInternalServerErrorException.php | 34 - .../ContainerRenameConflictException.php | 34 - ...inerRenameInternalServerErrorException.php | 34 - .../ContainerRenameNotFoundException.php | 34 - .../ContainerResizeNotFoundException.php | 24 - ...nerRestartInternalServerErrorException.php | 34 - .../ContainerRestartNotFoundException.php | 34 - ...ainerStartInternalServerErrorException.php | 34 - .../ContainerStartNotFoundException.php | 34 - ...ainerStatsInternalServerErrorException.php | 34 - .../ContainerStatsNotFoundException.php | 34 - ...tainerStopInternalServerErrorException.php | 34 - .../ContainerStopNotFoundException.php | 34 - ...ntainerTopInternalServerErrorException.php | 34 - .../ContainerTopNotFoundException.php | 34 - ...nerUnpauseInternalServerErrorException.php | 34 - .../ContainerUnpauseNotFoundException.php | 34 - ...inerUpdateInternalServerErrorException.php | 34 - .../ContainerUpdateNotFoundException.php | 34 - .../ContainerWaitBadRequestException.php | 34 - ...tainerWaitInternalServerErrorException.php | 34 - .../ContainerWaitNotFoundException.php | 34 - ...ionInspectInternalServerErrorException.php | 34 - ...stributionInspectUnauthorizedException.php | 34 - ...xecInspectInternalServerErrorException.php | 34 - .../ExecInspectNotFoundException.php | 34 - .../ExecResizeBadRequestException.php | 34 - ...ExecResizeInternalServerErrorException.php | 34 - .../Exception/ExecResizeNotFoundException.php | 34 - .../src/Exception/ForbiddenException.php | 13 - ...PrivilegesInternalServerErrorException.php | 34 - .../ImageBuildBadRequestException.php | 34 - ...ImageBuildInternalServerErrorException.php | 34 - ...mageCommitInternalServerErrorException.php | 34 - .../ImageCommitNotFoundException.php | 34 - ...mageCreateInternalServerErrorException.php | 34 - .../ImageCreateNotFoundException.php | 34 - .../ImageDeleteConflictException.php | 34 - ...mageDeleteInternalServerErrorException.php | 34 - .../ImageDeleteNotFoundException.php | 34 - ...ageHistoryInternalServerErrorException.php | 34 - .../ImageHistoryNotFoundException.php | 34 - ...ageInspectInternalServerErrorException.php | 34 - .../ImageInspectNotFoundException.php | 34 - .../ImageListInternalServerErrorException.php | 34 - .../ImageLoadInternalServerErrorException.php | 34 - ...ImagePruneInternalServerErrorException.php | 34 - .../ImagePushInternalServerErrorException.php | 34 - .../Exception/ImagePushNotFoundException.php | 34 - ...mageSearchInternalServerErrorException.php | 34 - .../Exception/ImageTagBadRequestException.php | 34 - .../Exception/ImageTagConflictException.php | 34 - .../ImageTagInternalServerErrorException.php | 34 - .../Exception/ImageTagNotFoundException.php | 34 - .../InternalServerErrorException.php | 13 - .../NetworkConnectBadRequestException.php | 34 - .../NetworkConnectForbiddenException.php | 34 - ...orkConnectInternalServerErrorException.php | 34 - .../NetworkConnectNotFoundException.php | 34 - .../NetworkCreateBadRequestException.php | 34 - .../NetworkCreateForbiddenException.php | 36 - ...workCreateInternalServerErrorException.php | 34 - .../NetworkCreateNotFoundException.php | 34 - .../NetworkDeleteForbiddenException.php | 34 - ...workDeleteInternalServerErrorException.php | 34 - .../NetworkDeleteNotFoundException.php | 34 - .../NetworkDisconnectForbiddenException.php | 34 - ...DisconnectInternalServerErrorException.php | 34 - .../NetworkDisconnectNotFoundException.php | 34 - ...orkInspectInternalServerErrorException.php | 34 - .../NetworkInspectNotFoundException.php | 34 - ...etworkListInternalServerErrorException.php | 34 - ...tworkPruneInternalServerErrorException.php | 34 - ...NodeDeleteInternalServerErrorException.php | 34 - .../Exception/NodeDeleteNotFoundException.php | 34 - .../NodeDeleteServiceUnavailableException.php | 34 - ...odeInspectInternalServerErrorException.php | 34 - .../NodeInspectNotFoundException.php | 34 - ...NodeInspectServiceUnavailableException.php | 34 - .../NodeListInternalServerErrorException.php | 34 - .../NodeListServiceUnavailableException.php | 34 - .../NodeUpdateBadRequestException.php | 34 - ...NodeUpdateInternalServerErrorException.php | 34 - .../Exception/NodeUpdateNotFoundException.php | 34 - .../NodeUpdateServiceUnavailableException.php | 34 - .../src/Exception/NotFoundException.php | 13 - ...uginCreateInternalServerErrorException.php | 34 - ...uginDeleteInternalServerErrorException.php | 34 - .../PluginDeleteNotFoundException.php | 34 - ...ginDisableInternalServerErrorException.php | 34 - .../PluginDisableNotFoundException.php | 34 - ...uginEnableInternalServerErrorException.php | 34 - .../PluginEnableNotFoundException.php | 34 - ...ginInspectInternalServerErrorException.php | 34 - .../PluginInspectNotFoundException.php | 34 - ...PluginListInternalServerErrorException.php | 34 - ...PluginPullInternalServerErrorException.php | 34 - ...PluginPushInternalServerErrorException.php | 34 - .../Exception/PluginPushNotFoundException.php | 34 - .../PluginSetInternalServerErrorException.php | 34 - .../Exception/PluginSetNotFoundException.php | 34 - ...ginUpgradeInternalServerErrorException.php | 34 - .../PluginUpgradeNotFoundException.php | 34 - ...PutContainerArchiveBadRequestException.php | 34 - .../PutContainerArchiveForbiddenException.php | 34 - ...nerArchiveInternalServerErrorException.php | 34 - .../PutContainerArchiveNotFoundException.php | 34 - .../SecretCreateConflictException.php | 34 - ...cretCreateInternalServerErrorException.php | 34 - ...ecretCreateServiceUnavailableException.php | 34 - ...cretDeleteInternalServerErrorException.php | 34 - .../SecretDeleteNotFoundException.php | 34 - ...ecretDeleteServiceUnavailableException.php | 34 - ...retInspectInternalServerErrorException.php | 34 - .../SecretInspectNotFoundException.php | 34 - ...cretInspectServiceUnavailableException.php | 34 - ...SecretListInternalServerErrorException.php | 34 - .../SecretListServiceUnavailableException.php | 34 - .../SecretUpdateBadRequestException.php | 34 - ...cretUpdateInternalServerErrorException.php | 34 - .../SecretUpdateNotFoundException.php | 34 - ...ecretUpdateServiceUnavailableException.php | 34 - .../src/Exception/ServerException.php | 9 - .../ServiceCreateBadRequestException.php | 34 - .../ServiceCreateConflictException.php | 34 - .../ServiceCreateForbiddenException.php | 34 - ...viceCreateInternalServerErrorException.php | 34 - ...rviceCreateServiceUnavailableException.php | 34 - ...viceDeleteInternalServerErrorException.php | 34 - .../ServiceDeleteNotFoundException.php | 34 - ...rviceDeleteServiceUnavailableException.php | 34 - ...iceInspectInternalServerErrorException.php | 34 - .../ServiceInspectNotFoundException.php | 34 - ...viceInspectServiceUnavailableException.php | 34 - ...erviceListInternalServerErrorException.php | 34 - ...ServiceListServiceUnavailableException.php | 34 - .../ServiceLogsNotFoundException.php | 24 - .../Exception/ServiceUnavailableException.php | 13 - .../ServiceUpdateBadRequestException.php | 34 - ...viceUpdateInternalServerErrorException.php | 34 - .../ServiceUpdateNotFoundException.php | 34 - ...rviceUpdateServiceUnavailableException.php | 34 - .../SwarmInitBadRequestException.php | 34 - .../SwarmInitInternalServerErrorException.php | 34 - .../SwarmInitServiceUnavailableException.php | 34 - ...armInspectInternalServerErrorException.php | 34 - .../SwarmInspectNotFoundException.php | 34 - ...warmInspectServiceUnavailableException.php | 34 - .../SwarmJoinBadRequestException.php | 34 - .../SwarmJoinInternalServerErrorException.php | 34 - .../SwarmJoinServiceUnavailableException.php | 34 - ...SwarmLeaveInternalServerErrorException.php | 34 - .../SwarmLeaveServiceUnavailableException.php | 34 - ...warmUnlockInternalServerErrorException.php | 34 - ...SwarmUnlockServiceUnavailableException.php | 34 - ...mUnlockkeyInternalServerErrorException.php | 34 - ...rmUnlockkeyServiceUnavailableException.php | 34 - .../SwarmUpdateBadRequestException.php | 34 - ...warmUpdateInternalServerErrorException.php | 34 - ...SwarmUpdateServiceUnavailableException.php | 34 - ...SystemAuthInternalServerErrorException.php | 34 - .../SystemAuthUnauthorizedException.php | 34 - ...mDataUsageInternalServerErrorException.php | 34 - .../SystemEventsBadRequestException.php | 34 - ...stemEventsInternalServerErrorException.php | 34 - ...SystemInfoInternalServerErrorException.php | 34 - ...temVersionInternalServerErrorException.php | 34 - ...askInspectInternalServerErrorException.php | 34 - .../TaskInspectNotFoundException.php | 34 - ...TaskInspectServiceUnavailableException.php | 34 - .../TaskListInternalServerErrorException.php | 34 - .../TaskListServiceUnavailableException.php | 34 - .../Exception/TaskLogsNotFoundException.php | 24 - .../src/Exception/UnauthorizedException.php | 13 - ...lumeCreateInternalServerErrorException.php | 34 - .../VolumeDeleteConflictException.php | 34 - ...lumeDeleteInternalServerErrorException.php | 34 - .../VolumeDeleteNotFoundException.php | 34 - ...umeInspectInternalServerErrorException.php | 34 - .../VolumeInspectNotFoundException.php | 34 - ...VolumeListInternalServerErrorException.php | 34 - ...olumePruneInternalServerErrorException.php | 34 - .../VolumeUpdateBadRequestException.php | 34 - ...lumeUpdateInternalServerErrorException.php | 34 - .../VolumeUpdateNotFoundException.php | 34 - ...olumeUpdateServiceUnavailableException.php | 34 - .../docker-php-api/src/Model/Address.php | 68 - .../docker-php-api/src/Model/AuthConfig.php | 86 - .../src/Model/AuthPostResponse200.php | 68 - .../docker-php-api/src/Model/BuildCache.php | 301 - .../docker-php-api/src/Model/BuildInfo.php | 162 - .../src/Model/BuildPrunePostResponse200.php | 66 - .../docker-php-api/src/Model/ClusterInfo.php | 320 - .../src/Model/ClusterVolume.php | 217 - .../src/Model/ClusterVolumeInfo.php | 144 - .../Model/ClusterVolumePublishStatusItem.php | 112 - .../src/Model/ClusterVolumeSpec.php | 83 - .../src/Model/ClusterVolumeSpecAccessMode.php | 299 - ...pecAccessModeAccessibilityRequirements.php | 82 - ...usterVolumeSpecAccessModeCapacityRange.php | 74 - ...ClusterVolumeSpecAccessModeMountVolume.php | 18 - ...ClusterVolumeSpecAccessModeSecretsItem.php | 80 - .../docker-php-api/src/Model/Commit.php | 68 - .../docker-php-api/src/Model/Config.php | 138 - .../docker-php-api/src/Model/ConfigSpec.php | 125 - .../src/Model/ConfigsCreatePostBody.php | 125 - .../src/Model/ContainerConfig.php | 711 - .../Model/ContainerConfigExposedPortsItem.php | 18 - .../src/Model/ContainerConfigVolumesItem.php | 18 - .../src/Model/ContainerCreateResponse.php | 72 - .../src/Model/ContainerState.php | 335 - .../src/Model/ContainerStatus.php | 69 - .../src/Model/ContainerSummary.php | 395 - .../src/Model/ContainerSummaryHostConfig.php | 35 - .../Model/ContainerSummaryNetworkSettings.php | 41 - .../src/Model/ContainerWaitExitError.php | 43 - .../src/Model/ContainerWaitResponse.php | 68 - .../src/Model/ContainersCreatePostBody.php | 770 - .../src/Model/ContainersIdExecPostBody.php | 317 - .../Model/ContainersIdJsonGetResponse200.php | 591 - .../ContainersIdTopGetJsonResponse200.php | 79 - ...ContainersIdTopGetTextplainResponse200.php | 79 - .../src/Model/ContainersIdUpdatePostBody.php | 1013 - .../ContainersIdUpdatePostResponse200.php | 41 - .../Model/ContainersPrunePostResponse200.php | 72 - .../src/Model/CreateImageInfo.php | 120 - .../src/Model/DeviceMapping.php | 69 - .../src/Model/DeviceRequest.php | 136 - .../src/Model/DistributionInspect.php | 75 - .../docker-php-api/src/Model/Driver.php | 72 - .../src/Model/EndpointIPAMConfig.php | 75 - .../src/Model/EndpointPortConfig.php | 151 - .../src/Model/EndpointSettings.php | 399 - .../docker-php-api/src/Model/EndpointSpec.php | 75 - .../src/Model/EngineDescription.php | 81 - .../Model/EngineDescriptionPluginsItem.php | 52 - .../docker-php-api/src/Model/ErrorDetail.php | 52 - .../src/Model/ErrorResponse.php | 43 - .../docker-php-api/src/Model/EventActor.php | 72 - .../docker-php-api/src/Model/EventMessage.php | 174 - .../src/Model/ExecIdJsonGetResponse200.php | 213 - .../src/Model/ExecIdStartPostBody.php | 97 - .../src/Model/FilesystemChange.php | 86 - .../src/Model/GenericResourcesItem.php | 52 - ...nericResourcesItemDiscreteResourceSpec.php | 52 - .../GenericResourcesItemNamedResourceSpec.php | 52 - .../src/Model/GraphDriverData.php | 81 - .../docker-php-api/src/Model/Health.php | 112 - .../docker-php-api/src/Model/HealthConfig.php | 205 - .../src/Model/HealthcheckResult.php | 139 - .../docker-php-api/src/Model/HostConfig.php | 2325 --- .../src/Model/HostConfigLogConfig.php | 58 - .../docker-php-api/src/Model/IPAM.php | 113 - .../docker-php-api/src/Model/IPAMConfig.php | 92 - .../docker-php-api/src/Model/IdResponse.php | 43 - .../src/Model/ImageDeleteResponseItem.php | 68 - .../docker-php-api/src/Model/ImageID.php | 35 - .../docker-php-api/src/Model/ImageInspect.php | 685 - .../src/Model/ImageInspectMetadata.php | 55 - .../src/Model/ImageInspectRootFS.php | 58 - .../docker-php-api/src/Model/ImageSummary.php | 379 - .../ImagesNameHistoryGetResponse200Item.php | 126 - .../src/Model/ImagesPrunePostResponse200.php | 72 - .../Model/ImagesSearchGetResponse200Item.php | 123 - .../docker-php-api/src/Model/IndexInfo.php | 155 - .../docker-php-api/src/Model/JoinTokens.php | 68 - .../docker-php-api/src/Model/Limit.php | 77 - .../src/Model/ManagerStatus.php | 85 - .../docker-php-api/src/Model/Mount.php | 236 - .../src/Model/MountBindOptions.php | 158 - .../docker-php-api/src/Model/MountPoint.php | 272 - .../src/Model/MountTmpfsOptions.php | 68 - .../src/Model/MountVolumeOptions.php | 122 - .../Model/MountVolumeOptionsDriverConfig.php | 72 - .../docker-php-api/src/Model/Network.php | 257 - .../src/Model/NetworkAttachmentConfig.php | 101 - .../src/Model/NetworkContainer.php | 103 - .../src/Model/NetworkSettings.php | 709 - .../src/Model/NetworkingConfig.php | 53 - .../src/Model/NetworksCreatePostBody.php | 274 - .../Model/NetworksCreatePostResponse201.php | 60 - .../src/Model/NetworksIdConnectPostBody.php | 68 - .../Model/NetworksIdDisconnectPostBody.php | 68 - .../Model/NetworksPrunePostResponse200.php | 47 - .../docker-php-api/src/Model/Node.php | 253 - .../src/Model/NodeDescription.php | 141 - .../docker-php-api/src/Model/NodeSpec.php | 122 - .../docker-php-api/src/Model/NodeStatus.php | 85 - .../src/Model/OCIDescriptor.php | 93 - .../docker-php-api/src/Model/OCIPlatform.php | 156 - .../src/Model/ObjectVersion.php | 35 - .../docker-php-api/src/Model/PeerNode.php | 68 - .../docker-php-api/src/Model/Platform.php | 71 - .../docker-php-api/src/Model/Plugin.php | 152 - .../docker-php-api/src/Model/PluginConfig.php | 324 - .../src/Model/PluginConfigArgs.php | 98 - .../src/Model/PluginConfigInterface.php | 83 - .../src/Model/PluginConfigLinux.php | 81 - .../src/Model/PluginConfigNetwork.php | 35 - .../src/Model/PluginConfigRootfs.php | 58 - .../src/Model/PluginConfigUser.php | 52 - .../docker-php-api/src/Model/PluginDevice.php | 92 - .../docker-php-api/src/Model/PluginEnv.php | 92 - .../src/Model/PluginInterfaceType.php | 69 - .../docker-php-api/src/Model/PluginMount.php | 149 - .../src/Model/PluginPrivilege.php | 75 - .../src/Model/PluginSettings.php | 110 - .../docker-php-api/src/Model/PluginsInfo.php | 134 - .../docker-php-api/src/Model/Port.php | 110 - .../docker-php-api/src/Model/PortBinding.php | 68 - .../docker-php-api/src/Model/PortStatus.php | 41 - .../src/Model/ProcessConfig.php | 109 - .../src/Model/ProgressDetail.php | 52 - .../src/Model/PushImageInfo.php | 86 - .../src/Model/RegistryServiceConfig.php | 343 - .../src/Model/ResourceObject.php | 84 - .../docker-php-api/src/Model/Resources.php | 976 - .../Model/ResourcesBlkioWeightDeviceItem.php | 52 - .../src/Model/ResourcesUlimitsItem.php | 93 - .../src/Model/RestartPolicy.php | 80 - .../docker-php-api/src/Model/Runtime.php | 149 - .../docker-php-api/src/Model/Secret.php | 138 - .../docker-php-api/src/Model/SecretSpec.php | 159 - .../src/Model/SecretsCreatePostBody.php | 159 - .../docker-php-api/src/Model/Service.php | 250 - .../src/Model/ServiceCreateResponse.php | 78 - .../src/Model/ServiceEndpoint.php | 89 - .../Model/ServiceEndpointVirtualIPsItem.php | 52 - .../src/Model/ServiceJobStatus.php | 98 - .../src/Model/ServiceServiceStatus.php | 114 - .../docker-php-api/src/Model/ServiceSpec.php | 232 - .../src/Model/ServiceSpecMode.php | 108 - .../src/Model/ServiceSpecModeGlobal.php | 18 - .../src/Model/ServiceSpecModeGlobalJob.php | 18 - .../src/Model/ServiceSpecModeReplicated.php | 35 - .../Model/ServiceSpecModeReplicatedJob.php | 71 - .../src/Model/ServiceSpecRollbackConfig.php | 189 - .../src/Model/ServiceSpecUpdateConfig.php | 189 - .../src/Model/ServiceUpdateResponse.php | 47 - .../src/Model/ServiceUpdateStatus.php | 86 - .../src/Model/ServicesCreatePostBody.php | 232 - .../src/Model/ServicesIdUpdatePostBody.php | 232 - .../docker-php-api/src/Model/Swarm.php | 345 - .../docker-php-api/src/Model/SwarmInfo.php | 237 - .../src/Model/SwarmInitPostBody.php | 291 - .../src/Model/SwarmJoinPostBody.php | 195 - .../docker-php-api/src/Model/SwarmSpec.php | 222 - .../src/Model/SwarmSpecCAConfig.php | 162 - .../SwarmSpecCAConfigExternalCAsItem.php | 134 - .../src/Model/SwarmSpecDispatcher.php | 43 - .../src/Model/SwarmSpecEncryptionConfig.php | 46 - .../src/Model/SwarmSpecOrchestration.php | 46 - .../src/Model/SwarmSpecRaft.php | 173 - .../src/Model/SwarmSpecTaskDefaults.php | 55 - .../Model/SwarmSpecTaskDefaultsLogDriver.php | 75 - .../src/Model/SwarmUnlockPostBody.php | 43 - .../SwarmUnlockkeyGetJsonResponse200.php | 43 - .../SwarmUnlockkeyGetTextplainResponse200.php | 43 - .../src/Model/SystemDfGetJsonResponse200.php | 127 - .../Model/SystemDfGetTextplainResponse200.php | 127 - .../docker-php-api/src/Model/SystemInfo.php | 2001 -- .../SystemInfoDefaultAddressPoolsItem.php | 68 - .../src/Model/SystemVersion.php | 329 - .../src/Model/SystemVersionComponentsItem.php | 108 - .../SystemVersionComponentsItemDetails.php | 18 - .../src/Model/SystemVersionPlatform.php | 35 - .../docker-php-api/src/Model/TLSInfo.php | 96 - .../docker-php-api/src/Model/Task.php | 401 - .../docker-php-api/src/Model/TaskSpec.php | 345 - .../src/Model/TaskSpecContainerSpec.php | 811 - .../TaskSpecContainerSpecConfigsItem.php | 157 - .../TaskSpecContainerSpecConfigsItemFile.php | 118 - ...askSpecContainerSpecConfigsItemRuntime.php | 18 - .../Model/TaskSpecContainerSpecDNSConfig.php | 108 - .../Model/TaskSpecContainerSpecPrivileges.php | 143 - ...askSpecContainerSpecPrivilegesAppArmor.php | 35 - ...cContainerSpecPrivilegesCredentialSpec.php | 177 - ...cContainerSpecPrivilegesSELinuxContext.php | 143 - ...TaskSpecContainerSpecPrivilegesSeccomp.php | 60 - .../TaskSpecContainerSpecSecretsItem.php | 102 - .../TaskSpecContainerSpecSecretsItemFile.php | 118 - .../TaskSpecContainerSpecUlimitsItem.php | 93 - .../src/Model/TaskSpecLogDriver.php | 58 - .../Model/TaskSpecNetworkAttachmentSpec.php | 43 - .../src/Model/TaskSpecPlacement.php | 202 - .../TaskSpecPlacementPreferencesItem.php | 35 - ...TaskSpecPlacementPreferencesItemSpread.php | 43 - .../src/Model/TaskSpecPluginSpec.php | 116 - .../src/Model/TaskSpecResources.php | 71 - .../src/Model/TaskSpecRestartPolicy.php | 124 - .../docker-php-api/src/Model/TaskStatus.php | 136 - .../src/Model/ThrottleDevice.php | 68 - .../docker-php-api/src/Model/Volume.php | 304 - .../src/Model/VolumeCreateOptions.php | 154 - .../src/Model/VolumeListResponse.php | 76 - .../src/Model/VolumeStatusItem.php | 18 - .../src/Model/VolumeUsageData.php | 80 - .../src/Model/VolumesNamePutBody.php | 43 - .../src/Model/VolumesPrunePostResponse200.php | 72 - .../src/Normalizer/AddressNormalizer.php | 89 - .../src/Normalizer/AuthConfigNormalizer.php | 107 - .../AuthPostResponse200Normalizer.php | 87 - .../src/Normalizer/BuildCacheNormalizer.php | 184 - .../src/Normalizer/BuildInfoNormalizer.php | 143 - .../BuildPrunePostResponse200Normalizer.php | 97 - .../src/Normalizer/ClusterInfoNormalizer.php | 172 - .../ClusterVolumeInfoNormalizer.php | 131 - .../Normalizer/ClusterVolumeNormalizer.php | 142 - ...usterVolumePublishStatusItemNormalizer.php | 106 - ...odeAccessibilityRequirementsNormalizer.php | 121 - ...eSpecAccessModeCapacityRangeNormalizer.php | 89 - ...umeSpecAccessModeMountVolumeNormalizer.php | 71 - .../ClusterVolumeSpecAccessModeNormalizer.php | 142 - ...umeSpecAccessModeSecretsItemNormalizer.php | 89 - .../ClusterVolumeSpecNormalizer.php | 89 - .../src/Normalizer/CommitNormalizer.php | 89 - .../src/Normalizer/ConfigNormalizer.php | 116 - .../src/Normalizer/ConfigSpecNormalizer.php | 115 - .../ConfigsCreatePostBodyNormalizer.php | 115 - ...tainerConfigExposedPortsItemNormalizer.php | 71 - .../Normalizer/ContainerConfigNormalizer.php | 384 - .../ContainerConfigVolumesItemNormalizer.php | 71 - .../ContainerCreateResponseNormalizer.php | 93 - .../Normalizer/ContainerStateNormalizer.php | 194 - .../Normalizer/ContainerStatusNormalizer.php | 98 - .../ContainerSummaryHostConfigNormalizer.php | 80 - ...tainerSummaryNetworkSettingsNormalizer.php | 88 - .../Normalizer/ContainerSummaryNormalizer.php | 238 - .../ContainerWaitExitErrorNormalizer.php | 80 - .../ContainerWaitResponseNormalizer.php | 87 - .../ContainersCreatePostBodyNormalizer.php | 402 - .../ContainersIdExecPostBodyNormalizer.php | 209 - ...ntainersIdJsonGetResponse200Normalizer.php | 320 - ...inersIdTopGetJsonResponse200Normalizer.php | 113 - ...IdTopGetTextplainResponse200Normalizer.php | 113 - .../ContainersIdUpdatePostBodyNormalizer.php | 437 - ...inersIdUpdatePostResponse200Normalizer.php | 88 - ...ntainersPrunePostResponse200Normalizer.php | 97 - .../Normalizer/CreateImageInfoNormalizer.php | 125 - .../Normalizer/DeviceMappingNormalizer.php | 98 - .../Normalizer/DeviceRequestNormalizer.php | 148 - .../DistributionInspectNormalizer.php | 93 - .../src/Normalizer/DriverNormalizer.php | 95 - .../EndpointIPAMConfigNormalizer.php | 106 - .../EndpointPortConfigNormalizer.php | 116 - .../Normalizer/EndpointSettingsNormalizer.php | 229 - .../src/Normalizer/EndpointSpecNormalizer.php | 97 - .../EngineDescriptionNormalizer.php | 114 - ...EngineDescriptionPluginsItemNormalizer.php | 89 - .../src/Normalizer/ErrorDetailNormalizer.php | 89 - .../Normalizer/ErrorResponseNormalizer.php | 78 - .../src/Normalizer/EventActorNormalizer.php | 97 - .../src/Normalizer/EventMessageNormalizer.php | 125 - .../ExecIdJsonGetResponse200Normalizer.php | 185 - .../ExecIdStartPostBodyNormalizer.php | 112 - .../Normalizer/FilesystemChangeNormalizer.php | 85 - ...rcesItemDiscreteResourceSpecNormalizer.php | 89 - ...sourcesItemNamedResourceSpecNormalizer.php | 89 - .../GenericResourcesItemNormalizer.php | 89 - .../Normalizer/GraphDriverDataNormalizer.php | 93 - .../src/Normalizer/HealthConfigNormalizer.php | 133 - .../src/Normalizer/HealthNormalizer.php | 106 - .../HealthcheckResultNormalizer.php | 107 - .../HostConfigLogConfigNormalizer.php | 97 - .../src/Normalizer/HostConfigNormalizer.php | 959 - .../src/Normalizer/IPAMConfigNormalizer.php | 115 - .../src/Normalizer/IPAMNormalizer.php | 114 - .../src/Normalizer/IdResponseNormalizer.php | 78 - .../ImageDeleteResponseItemNormalizer.php | 89 - .../src/Normalizer/ImageIDNormalizer.php | 80 - .../ImageInspectMetadataNormalizer.php | 80 - .../src/Normalizer/ImageInspectNormalizer.php | 267 - .../ImageInspectRootFSNormalizer.php | 95 - .../src/Normalizer/ImageSummaryNormalizer.php | 167 - ...ameHistoryGetResponse200ItemNormalizer.php | 121 - .../ImagesPrunePostResponse200Normalizer.php | 97 - ...agesSearchGetResponse200ItemNormalizer.php | 122 - .../src/Normalizer/IndexInfoNormalizer.php | 121 - .../src/Normalizer/JaneObjectNormalizer.php | 713 - .../src/Normalizer/JoinTokensNormalizer.php | 89 - .../src/Normalizer/LimitNormalizer.php | 98 - .../Normalizer/ManagerStatusNormalizer.php | 101 - .../Normalizer/MountBindOptionsNormalizer.php | 128 - .../src/Normalizer/MountNormalizer.php | 146 - .../src/Normalizer/MountPointNormalizer.php | 146 - .../MountTmpfsOptionsNormalizer.php | 89 - ...untVolumeOptionsDriverConfigNormalizer.php | 97 - .../MountVolumeOptionsNormalizer.php | 118 - .../NetworkAttachmentConfigNormalizer.php | 114 - .../Normalizer/NetworkContainerNormalizer.php | 116 - .../src/Normalizer/NetworkNormalizer.php | 224 - .../Normalizer/NetworkSettingsNormalizer.php | 284 - .../Normalizer/NetworkingConfigNormalizer.php | 88 - .../NetworksCreatePostBodyNormalizer.php | 190 - ...etworksCreatePostResponse201Normalizer.php | 89 - .../NetworksIdConnectPostBodyNormalizer.php | 89 - ...NetworksIdDisconnectPostBodyNormalizer.php | 92 - ...NetworksPrunePostResponse200Normalizer.php | 88 - .../Normalizer/NodeDescriptionNormalizer.php | 116 - .../src/Normalizer/NodeNormalizer.php | 143 - .../src/Normalizer/NodeSpecNormalizer.php | 115 - .../src/Normalizer/NodeStatusNormalizer.php | 98 - .../Normalizer/OCIDescriptorNormalizer.php | 98 - .../src/Normalizer/OCIPlatformNormalizer.php | 124 - .../Normalizer/ObjectVersionNormalizer.php | 80 - .../src/Normalizer/PeerNodeNormalizer.php | 89 - .../src/Normalizer/PlatformNormalizer.php | 89 - .../Normalizer/PluginConfigArgsNormalizer.php | 115 - .../PluginConfigInterfaceNormalizer.php | 102 - .../PluginConfigLinuxNormalizer.php | 111 - .../PluginConfigNetworkNormalizer.php | 78 - .../src/Normalizer/PluginConfigNormalizer.php | 219 - .../PluginConfigRootfsNormalizer.php | 97 - .../Normalizer/PluginConfigUserNormalizer.php | 89 - .../src/Normalizer/PluginDeviceNormalizer.php | 107 - .../src/Normalizer/PluginEnvNormalizer.php | 107 - .../PluginInterfaceTypeNormalizer.php | 92 - .../src/Normalizer/PluginMountNormalizer.php | 136 - .../src/Normalizer/PluginNormalizer.php | 120 - .../Normalizer/PluginPrivilegeNormalizer.php | 106 - .../Normalizer/PluginSettingsNormalizer.php | 131 - .../src/Normalizer/PluginsInfoNormalizer.php | 139 - .../src/Normalizer/PortBindingNormalizer.php | 89 - .../src/Normalizer/PortNormalizer.php | 103 - .../src/Normalizer/PortStatusNormalizer.php | 88 - .../Normalizer/ProcessConfigNormalizer.php | 130 - .../Normalizer/ProgressDetailNormalizer.php | 89 - .../Normalizer/PushImageInfoNormalizer.php | 107 - .../RegistryServiceConfigNormalizer.php | 156 - .../Normalizer/ResourceObjectNormalizer.php | 106 - ...sourcesBlkioWeightDeviceItemNormalizer.php | 89 - .../src/Normalizer/ResourcesNormalizer.php | 428 - .../ResourcesUlimitsItemNormalizer.php | 98 - .../Normalizer/RestartPolicyNormalizer.php | 89 - .../src/Normalizer/RuntimeNormalizer.php | 114 - .../src/Normalizer/SecretNormalizer.php | 116 - .../src/Normalizer/SecretSpecNormalizer.php | 124 - .../SecretsCreatePostBodyNormalizer.php | 124 - .../ServiceCreateResponseNormalizer.php | 97 - .../Normalizer/ServiceEndpointNormalizer.php | 114 - ...erviceEndpointVirtualIPsItemNormalizer.php | 89 - .../Normalizer/ServiceJobStatusNormalizer.php | 89 - .../src/Normalizer/ServiceNormalizer.php | 152 - .../ServiceServiceStatusNormalizer.php | 98 - .../ServiceSpecModeGlobalJobNormalizer.php | 71 - .../ServiceSpecModeGlobalNormalizer.php | 71 - .../Normalizer/ServiceSpecModeNormalizer.php | 107 - ...ServiceSpecModeReplicatedJobNormalizer.php | 89 - .../ServiceSpecModeReplicatedNormalizer.php | 80 - .../src/Normalizer/ServiceSpecNormalizer.php | 159 - .../ServiceSpecRollbackConfigNormalizer.php | 128 - .../ServiceSpecUpdateConfigNormalizer.php | 128 - .../ServiceUpdateResponseNormalizer.php | 88 - .../ServiceUpdateStatusNormalizer.php | 107 - .../ServicesCreatePostBodyNormalizer.php | 159 - .../ServicesIdUpdatePostBodyNormalizer.php | 159 - .../src/Normalizer/SwarmInfoNormalizer.php | 163 - .../SwarmInitPostBodyNormalizer.php | 154 - .../SwarmJoinPostBodyNormalizer.php | 124 - .../src/Normalizer/SwarmNormalizer.php | 181 - ...mSpecCAConfigExternalCAsItemNormalizer.php | 115 - .../SwarmSpecCAConfigNormalizer.php | 124 - .../SwarmSpecDispatcherNormalizer.php | 80 - .../SwarmSpecEncryptionConfigNormalizer.php | 83 - .../src/Normalizer/SwarmSpecNormalizer.php | 151 - .../SwarmSpecOrchestrationNormalizer.php | 80 - .../Normalizer/SwarmSpecRaftNormalizer.php | 116 - ...armSpecTaskDefaultsLogDriverNormalizer.php | 97 - .../SwarmSpecTaskDefaultsNormalizer.php | 80 - .../SwarmUnlockPostBodyNormalizer.php | 80 - ...mUnlockkeyGetJsonResponse200Normalizer.php | 80 - ...ckkeyGetTextplainResponse200Normalizer.php | 80 - .../SystemDfGetJsonResponse200Normalizer.php | 148 - ...temDfGetTextplainResponse200Normalizer.php | 148 - ...mInfoDefaultAddressPoolsItemNormalizer.php | 89 - .../src/Normalizer/SystemInfoNormalizer.php | 737 - ...VersionComponentsItemDetailsNormalizer.php | 71 - .../SystemVersionComponentsItemNormalizer.php | 94 - .../Normalizer/SystemVersionNormalizer.php | 190 - .../SystemVersionPlatformNormalizer.php | 78 - .../src/Normalizer/TLSInfoNormalizer.php | 98 - .../src/Normalizer/TaskNormalizer.php | 213 - ...ContainerSpecConfigsItemFileNormalizer.php | 107 - ...SpecContainerSpecConfigsItemNormalizer.php | 107 - ...tainerSpecConfigsItemRuntimeNormalizer.php | 71 - ...skSpecContainerSpecDNSConfigNormalizer.php | 122 - .../TaskSpecContainerSpecNormalizer.php | 430 - ...tainerSpecPrivilegesAppArmorNormalizer.php | 80 - ...SpecPrivilegesCredentialSpecNormalizer.php | 98 - ...kSpecContainerSpecPrivilegesNormalizer.php | 119 - ...SpecPrivilegesSELinuxContextNormalizer.php | 119 - ...ntainerSpecPrivilegesSeccompNormalizer.php | 89 - ...ContainerSpecSecretsItemFileNormalizer.php | 107 - ...SpecContainerSpecSecretsItemNormalizer.php | 98 - ...SpecContainerSpecUlimitsItemNormalizer.php | 98 - .../TaskSpecLogDriverNormalizer.php | 97 - ...askSpecNetworkAttachmentSpecNormalizer.php | 80 - .../src/Normalizer/TaskSpecNormalizer.php | 169 - .../TaskSpecPlacementNormalizer.php | 131 - ...SpecPlacementPreferencesItemNormalizer.php | 80 - ...acementPreferencesItemSpreadNormalizer.php | 80 - .../TaskSpecPluginSpecNormalizer.php | 118 - .../TaskSpecResourcesNormalizer.php | 89 - .../TaskSpecRestartPolicyNormalizer.php | 107 - .../src/Normalizer/TaskStatusNormalizer.php | 125 - .../Normalizer/ThrottleDeviceNormalizer.php | 89 - .../VolumeCreateOptionsNormalizer.php | 132 - .../VolumeListResponseNormalizer.php | 105 - .../src/Normalizer/VolumeNormalizer.php | 173 - .../Normalizer/VolumeStatusItemNormalizer.php | 71 - .../Normalizer/VolumeUsageDataNormalizer.php | 85 - .../VolumesNamePutBodyNormalizer.php | 80 - .../VolumesPrunePostResponse200Normalizer.php | 97 - .../src/Runtime/Client/BaseEndpoint.php | 84 - .../src/Runtime/Client/Client.php | 80 - .../Runtime/Client/CustomQueryResolver.php | 12 - .../src/Runtime/Client/Endpoint.php | 51 - .../src/Runtime/Client/EndpointTrait.php | 20 - .../src/Runtime/Normalizer/CheckArray.php | 13 - .../Normalizer/ReferenceNormalizer.php | 29 - .../Normalizer/ValidationException.php | 26 - .../src/Runtime/Normalizer/ValidatorTrait.php | 20 - .../beluga-php/docker-php/.editorconfig | 16 - .../beluga-php/docker-php/.github/FUNDING.yml | 5 - .../docker-php/.github/dependabot.yml | 12 - .../workflows/continuous-integration.yml | 54 - .../.github/workflows/static-analysis.yml | 39 - app/vendor/beluga-php/docker-php/.gitignore | 6 - .../beluga-php/docker-php/.php-cs-fixer.php | 47 - app/vendor/beluga-php/docker-php/CHANGELOG.md | 14 - .../beluga-php/docker-php/CONTRIBUTING.md | 94 - app/vendor/beluga-php/docker-php/LICENSE | 20 - app/vendor/beluga-php/docker-php/README.md | 60 - .../beluga-php/docker-php/composer.json | 90 - .../beluga-php/docker-php/docs/async.md | 52 - .../beluga-php/docker-php/docs/basic.md | 19 - .../beluga-php/docker-php/docs/connection.md | 74 - .../docker-php/docs/cookbook/build-image.md | 81 - .../docker-php/docs/cookbook/container-run.md | 251 - .../beluga-php/docker-php/docs/index.md | 22 - .../docker-php/docs/installation.md | 21 - app/vendor/beluga-php/docker-php/mkdocs.yml | 15 - .../beluga-php/docker-php/phpunit.xml.dist | 23 - .../docker-php/src/Context/Context.php | 164 - .../docker-php/src/Context/ContextBuilder.php | 396 - .../src/Context/ContextInterface.php | 26 - .../beluga-php/docker-php/src/Docker.php | 118 - .../docker-php/src/DockerClientFactory.php | 82 - .../src/Endpoint/ContainerAttach.php | 22 - .../src/Endpoint/ContainerAttachWebsocket.php | 39 - .../docker-php/src/Endpoint/ContainerLogs.php | 22 - .../docker-php/src/Endpoint/ExecStart.php | 22 - .../docker-php/src/Endpoint/ImageBuild.php | 35 - .../docker-php/src/Endpoint/ImageCreate.php | 22 - .../docker-php/src/Endpoint/ImagePush.php | 27 - .../docker-php/src/Endpoint/SystemEvents.php | 22 - .../src/Stream/AttachWebsocketStream.php | 176 - .../docker-php/src/Stream/BuildStream.php | 21 - .../docker-php/src/Stream/CallbackStream.php | 58 - .../src/Stream/CreateImageStream.php | 21 - .../docker-php/src/Stream/DockerRawStream.php | 111 - .../docker-php/src/Stream/EventStream.php | 21 - .../docker-php/src/Stream/MultiJsonStream.php | 79 - .../docker-php/src/Stream/PushStream.php | 21 - .../docker-php/src/Stream/TarStream.php | 95 - .../tests/Context/ContextBuilderTest.php | 305 - .../docker-php/tests/Context/ContextTest.php | 66 - .../tests/Context/context-test/Dockerfile | 3 - .../tests/DockerClientFactoryTest.php | 71 - .../docker-php/tests/DockerTest.php | 15 - .../tests/Resource/ContainerResourceTest.php | 138 - .../tests/Resource/ExecResourceTest.php | 92 - .../tests/Resource/ImageResourceTest.php | 91 - .../tests/Resource/SystemResourceTest.php | 41 - .../tests/Resource/script/daemon.sh | 12 - .../docker-php/tests/Resource/script/kill.sh | 20 - .../tests/Stream/MultiJsonStreamTest.php | 64 - .../beluga-php/docker-php/tests/TestCase.php | 21 - app/vendor/bin/yaml-lint | 119 - .../clue/stream-filter/.github/FUNDING.yml | 2 - app/vendor/clue/stream-filter/CHANGELOG.md | 97 - app/vendor/clue/stream-filter/LICENSE | 21 - app/vendor/clue/stream-filter/README.md | 326 - app/vendor/clue/stream-filter/composer.json | 32 - .../clue/stream-filter/src/CallbackFilter.php | 120 - .../clue/stream-filter/src/functions.php | 380 - .../stream-filter/src/functions_include.php | 9 - app/vendor/composer/autoload_classmap.php | 2 +- app/vendor/composer/autoload_files.php | 10 +- app/vendor/composer/autoload_namespaces.php | 1 - app/vendor/composer/autoload_psr4.php | 19 - app/vendor/composer/autoload_static.php | 120 +- app/vendor/composer/composer/composer.lock | 136 +- .../composer/src/Composer/Compiler.php | 3 + .../composer/src/Composer/Composer.php | 4 +- .../src/Composer/Console/Application.php | 41 +- .../Composer/Downloader/FossilDownloader.php | 2 +- .../Composer/Package/Loader/ArrayLoader.php | 24 +- .../src/Composer/Platform/Runtime.php | 35 +- .../Composer/Repository/Vcs/FossilDriver.php | 4 + .../src/Composer/Repository/Vcs/GitDriver.php | 4 + .../src/Composer/Repository/Vcs/HgDriver.php | 4 + .../composer/src/Composer/Util/AuthHelper.php | 23 +- .../composer/src/Composer/Util/Git.php | 19 +- .../src/Composer/Util/Http/CurlDownloader.php | 2 +- .../composer/src/Composer/Util/Perforce.php | 75 +- .../Composer/Util/StreamContextFactory.php | 2 +- app/vendor/composer/installed.json | 1772 +- app/vendor/composer/installed.php | 260 +- .../.github/workflows/read-only.yml | 14 - .../jane-php/json-schema-runtime/LICENSE | 19 - .../jane-php/json-schema-runtime/README.md | 24 - .../json-schema-runtime/Reference.php | 180 - .../json-schema-runtime/composer.json | 48 - .../.github/workflows/read-only.yml | 14 - .../Client/AuthenticationPlugin.php | 14 - .../Client/CustomQueryResolver.php | 12 - .../Exception/InvalidFetchModeException.php | 9 - .../Client/Plugin/AuthenticationRegistry.php | 35 - app/vendor/jane-php/open-api-runtime/LICENSE | 19 - .../jane-php/open-api-runtime/README.md | 24 - .../jane-php/open-api-runtime/composer.json | 53 - app/vendor/nyholm/psr7/CHANGELOG.md | 172 - app/vendor/nyholm/psr7/LICENSE | 21 - app/vendor/nyholm/psr7/README.md | 108 - app/vendor/nyholm/psr7/composer.json | 49 - .../psr7/src/Factory/HttplugFactory.php | 53 - .../nyholm/psr7/src/Factory/Psr17Factory.php | 78 - app/vendor/nyholm/psr7/src/MessageTrait.php | 235 - app/vendor/nyholm/psr7/src/Request.php | 47 - app/vendor/nyholm/psr7/src/RequestTrait.php | 127 - app/vendor/nyholm/psr7/src/Response.php | 93 - app/vendor/nyholm/psr7/src/ServerRequest.php | 201 - app/vendor/nyholm/psr7/src/Stream.php | 399 - app/vendor/nyholm/psr7/src/StreamTrait.php | 57 - app/vendor/nyholm/psr7/src/UploadedFile.php | 179 - app/vendor/nyholm/psr7/src/Uri.php | 356 - .../client-common/.php-cs-fixer.dist.php | 18 - .../php-http/client-common/.php_cs.dist | 24 - .../php-http/client-common/CHANGELOG.md | 313 - app/vendor/php-http/client-common/LICENSE | 19 - app/vendor/php-http/client-common/README.md | 55 - .../php-http/client-common/composer.json | 57 - .../client-common/src/BatchClient.php | 42 - .../src/BatchClientInterface.php | 34 - .../client-common/src/BatchResult.php | 157 - .../php-http/client-common/src/Deferred.php | 146 - .../src/EmulatedHttpAsyncClient.php | 25 - .../client-common/src/EmulatedHttpClient.php | 24 - .../src/Exception/BatchException.php | 37 - .../CircularRedirectionException.php | 16 - .../src/Exception/ClientErrorException.php | 16 - .../Exception/HttpClientNoMatchException.php | 33 - .../Exception/HttpClientNotFoundException.php | 16 - .../src/Exception/LoopException.php | 16 - .../MultipleRedirectionException.php | 16 - .../src/Exception/ServerErrorException.php | 16 - .../client-common/src/FlexibleHttpClient.php | 36 - .../src/HttpAsyncClientDecorator.php | 29 - .../src/HttpAsyncClientEmulator.php | 35 - .../client-common/src/HttpClientDecorator.php | 30 - .../client-common/src/HttpClientEmulator.php | 31 - .../client-common/src/HttpClientPool.php | 24 - .../src/HttpClientPool/HttpClientPool.php | 64 - .../src/HttpClientPool/HttpClientPoolItem.php | 175 - .../HttpClientPool/LeastUsedClientPool.php | 42 - .../src/HttpClientPool/RandomClientPool.php | 28 - .../HttpClientPool/RoundRobinClientPool.php | 39 - .../client-common/src/HttpClientRouter.php | 66 - .../src/HttpClientRouterInterface.php | 27 - .../client-common/src/HttpMethodsClient.php | 150 - .../src/HttpMethodsClientInterface.php | 116 - .../php-http/client-common/src/Plugin.php | 33 - .../src/Plugin/AddHostPlugin.php | 73 - .../src/Plugin/AddPathPlugin.php | 78 - .../src/Plugin/AuthenticationPlugin.php | 35 - .../src/Plugin/BaseUriPlugin.php | 54 - .../src/Plugin/ContentLengthPlugin.php | 36 - .../src/Plugin/ContentTypePlugin.php | 119 - .../client-common/src/Plugin/CookiePlugin.php | 177 - .../src/Plugin/DecoderPlugin.php | 132 - .../client-common/src/Plugin/ErrorPlugin.php | 89 - .../src/Plugin/HeaderAppendPlugin.php | 45 - .../src/Plugin/HeaderDefaultsPlugin.php | 43 - .../src/Plugin/HeaderRemovePlugin.php | 41 - .../src/Plugin/HeaderSetPlugin.php | 41 - .../src/Plugin/HistoryPlugin.php | 46 - .../client-common/src/Plugin/Journal.php | 33 - .../src/Plugin/QueryDefaultsPlugin.php | 47 - .../src/Plugin/RedirectPlugin.php | 341 - .../src/Plugin/RequestMatcherPlugin.php | 53 - .../src/Plugin/RequestSeekableBodyPlugin.php | 26 - .../src/Plugin/ResponseSeekableBodyPlugin.php | 29 - .../client-common/src/Plugin/RetryPlugin.php | 176 - .../src/Plugin/SeekableBodyPlugin.php | 47 - .../src/Plugin/VersionBridgePlugin.php | 24 - .../client-common/src/PluginChain.php | 61 - .../client-common/src/PluginClient.php | 123 - .../client-common/src/PluginClientBuilder.php | 76 - .../client-common/src/PluginClientFactory.php | 68 - .../client-common/src/VersionBridgeClient.php | 24 - .../php-http/discovery/.php-cs-fixer.php | 17 - app/vendor/php-http/discovery/CHANGELOG.md | 392 - app/vendor/php-http/discovery/LICENSE | 19 - app/vendor/php-http/discovery/README.md | 122 - app/vendor/php-http/discovery/composer.json | 64 - .../php-http/discovery/src/ClassDiscovery.php | 255 - .../discovery/src/Composer/Plugin.php | 474 - .../php-http/discovery/src/Exception.php | 12 - .../ClassInstantiationFailedException.php | 14 - .../Exception/DiscoveryFailedException.php | 51 - .../Exception/NoCandidateFoundException.php | 47 - .../src/Exception/NotFoundException.php | 16 - .../Exception/PuliUnavailableException.php | 12 - .../StrategyUnavailableException.php | 15 - .../src/HttpAsyncClientDiscovery.php | 32 - .../discovery/src/HttpClientDiscovery.php | 34 - .../discovery/src/MessageFactoryDiscovery.php | 34 - .../discovery/src/NotFoundException.php | 16 - .../php-http/discovery/src/Psr17Factory.php | 303 - .../discovery/src/Psr17FactoryDiscovery.php | 137 - .../php-http/discovery/src/Psr18Client.php | 52 - .../discovery/src/Psr18ClientDiscovery.php | 33 - .../src/Strategy/CommonClassesStrategy.php | 185 - .../Strategy/CommonPsr17ClassesStrategy.php | 104 - .../src/Strategy/DiscoveryStrategy.php | 23 - .../src/Strategy/MockClientStrategy.php | 24 - .../src/Strategy/PuliBetaStrategy.php | 90 - .../discovery/src/StreamFactoryDiscovery.php | 34 - .../discovery/src/UriFactoryDiscovery.php | 34 - .../php-http/httplug/.php-cs-fixer.dist.php | 16 - app/vendor/php-http/httplug/CHANGELOG.md | 144 - app/vendor/php-http/httplug/LICENSE | 20 - app/vendor/php-http/httplug/README.md | 54 - app/vendor/php-http/httplug/composer.json | 40 - app/vendor/php-http/httplug/puli.json | 12 - app/vendor/php-http/httplug/src/Exception.php | 14 - .../httplug/src/Exception/HttpException.php | 65 - .../src/Exception/NetworkException.php | 28 - .../src/Exception/RequestAwareTrait.php | 23 - .../src/Exception/RequestException.php | 29 - .../src/Exception/TransferException.php | 14 - .../php-http/httplug/src/HttpAsyncClient.php | 25 - .../php-http/httplug/src/HttpClient.php | 17 - .../src/Promise/HttpFulfilledPromise.php | 45 - .../src/Promise/HttpRejectedPromise.php | 49 - .../php-http/message/.php-cs-fixer.dist.php | 19 - app/vendor/php-http/message/CHANGELOG.md | 278 - app/vendor/php-http/message/LICENSE | 19 - app/vendor/php-http/message/README.md | 51 - app/vendor/php-http/message/apigen.neon | 6 - app/vendor/php-http/message/composer.json | 63 - app/vendor/php-http/message/puli.json | 111 - .../php-http/message/src/Authentication.php | 25 - .../src/Authentication/AutoBasicAuth.php | 45 - .../message/src/Authentication/BasicAuth.php | 41 - .../message/src/Authentication/Bearer.php | 34 - .../message/src/Authentication/Chain.php | 44 - .../message/src/Authentication/Header.php | 33 - .../message/src/Authentication/Matching.php | 66 - .../message/src/Authentication/QueryParam.php | 44 - .../src/Authentication/RequestConditional.php | 40 - .../message/src/Authentication/Wsse.php | 64 - .../message/src/Builder/ResponseBuilder.php | 146 - app/vendor/php-http/message/src/Cookie.php | 524 - app/vendor/php-http/message/src/CookieJar.php | 206 - .../php-http/message/src/CookieUtil.php | 53 - .../src/Decorator/MessageDecorator.php | 98 - .../src/Decorator/RequestDecorator.php | 66 - .../src/Decorator/ResponseDecorator.php | 44 - .../message/src/Decorator/StreamDecorator.php | 93 - .../message/src/Encoding/ChunkStream.php | 30 - .../message/src/Encoding/CompressStream.php | 39 - .../message/src/Encoding/DechunkStream.php | 23 - .../message/src/Encoding/DecompressStream.php | 39 - .../message/src/Encoding/DeflateStream.php | 35 - .../message/src/Encoding/Filter/Chunk.php | 27 - .../message/src/Encoding/FilteredStream.php | 214 - .../message/src/Encoding/GzipDecodeStream.php | 39 - .../message/src/Encoding/GzipEncodeStream.php | 39 - .../message/src/Encoding/InflateStream.php | 39 - app/vendor/php-http/message/src/Exception.php | 10 - .../Exception/UnexpectedValueException.php | 9 - app/vendor/php-http/message/src/Formatter.php | 35 - .../src/Formatter/CurlCommandFormatter.php | 97 - .../Formatter/FullHttpMessageFormatter.php | 110 - .../message/src/Formatter/SimpleFormatter.php | 46 - .../DiactorosMessageFactory.php | 80 - .../MessageFactory/GuzzleMessageFactory.php | 53 - .../src/MessageFactory/SlimMessageFactory.php | 72 - .../php-http/message/src/RequestMatcher.php | 26 - .../RequestMatcher/CallbackRequestMatcher.php | 29 - .../RequestMatcher/RegexRequestMatcher.php | 38 - .../src/RequestMatcher/RequestMatcher.php | 76 - .../message/src/Stream/BufferedStream.php | 237 - .../StreamFactory/DiactorosStreamFactory.php | 49 - .../src/StreamFactory/GuzzleStreamFactory.php | 30 - .../src/StreamFactory/SlimStreamFactory.php | 40 - .../src/UriFactory/DiactorosUriFactory.php | 37 - .../src/UriFactory/GuzzleUriFactory.php | 31 - .../message/src/UriFactory/SlimUriFactory.php | 34 - app/vendor/php-http/message/src/filters.php | 6 - .../multipart-stream-builder/CHANGELOG.md | 100 - .../php-http/multipart-stream-builder/LICENSE | 19 - .../multipart-stream-builder/README.md | 38 - .../multipart-stream-builder/composer.json | 43 - .../src/ApacheMimetypeHelper.php | 143 - .../src/CustomMimetypeHelper.php | 51 - .../src/MimetypeHelper.php | 27 - .../src/MultipartStreamBuilder.php | 347 - app/vendor/php-http/promise/CHANGELOG.md | 70 - app/vendor/php-http/promise/LICENSE | 19 - app/vendor/php-http/promise/README.md | 48 - app/vendor/php-http/promise/composer.json | 33 - app/vendor/php-http/promise/phpstan.neon.dist | 6 - .../php-http/promise/src/FulfilledPromise.php | 51 - app/vendor/php-http/promise/src/Promise.php | 69 - .../php-http/promise/src/RejectedPromise.php | 48 - .../socket-client/.github/CONTRIBUTING.md | 3 - .../socket-client/.github/ISSUE_TEMPLATE.md | 27 - .../.github/PULL_REQUEST_TEMPLATE.md | 43 - .../.github/workflows/checks.yml | 20 - .../socket-client/.github/workflows/ci.yml | 85 - .../.github/workflows/static.yml | 36 - .../socket-client/.php-cs-fixer.dist.php | 16 - .../php-http/socket-client/CHANGELOG.md | 68 - app/vendor/php-http/socket-client/LICENSE | 19 - app/vendor/php-http/socket-client/README.md | 58 - .../php-http/socket-client/composer.json | 54 - .../php-http/socket-client/phpstan.neon.dist | 25 - app/vendor/php-http/socket-client/puli.json | 11 - .../php-http/socket-client/src/Client.php | 223 - .../src/Exception/BrokenPipeException.php | 7 - .../src/Exception/ConnectionException.php | 7 - .../src/Exception/InvalidRequestException.php | 7 - .../src/Exception/NetworkException.php | 26 - .../src/Exception/SSLConnectionException.php | 7 - .../src/Exception/StreamException.php | 9 - .../src/Exception/TimeoutException.php | 7 - .../socket-client/src/RequestWriter.php | 132 - .../socket-client/src/ResponseReader.php | 98 - .../php-http/socket-client/src/Stream.php | 241 - .../php-http/socket-client/ssl-macOS.md | 58 - .../php-jsonpointer/composer.json | 40 - .../php-jsonpointer/src/Rs/Json/Pointer.php | 168 - .../Rs/Json/Pointer/InvalidJsonException.php | 6 - .../Json/Pointer/InvalidPointerException.php | 6 - .../Json/Pointer/NonWalkableJsonException.php | 6 - .../NonexistentValueReferencedException.php | 6 - app/vendor/sebastian/comparator/ChangeLog.md | 7 + .../comparator/src/ArrayComparator.php | 21 +- .../comparator/src/NumberComparator.php | 5 +- .../symfony/options-resolver/CHANGELOG.md | 103 - .../Debug/OptionsResolverIntrospector.php | 114 - .../Exception/AccessException.php | 22 - .../Exception/ExceptionInterface.php | 21 - .../Exception/InvalidArgumentException.php | 21 - .../Exception/InvalidOptionsException.php | 23 - .../Exception/MissingOptionsException.php | 23 - .../Exception/NoConfigurationException.php | 26 - .../Exception/NoSuchOptionException.php | 26 - .../Exception/OptionDefinitionException.php | 21 - .../Exception/UndefinedOptionsException.php | 24 - app/vendor/symfony/options-resolver/LICENSE | 19 - .../options-resolver/OptionConfigurator.php | 160 - .../symfony/options-resolver/Options.php | 22 - .../options-resolver/OptionsResolver.php | 1399 -- app/vendor/symfony/options-resolver/README.md | 15 - .../symfony/options-resolver/composer.json | 29 - .../symfony/serializer/Annotation/Context.php | 26 - .../Annotation/DiscriminatorMap.php | 24 - .../symfony/serializer/Annotation/Groups.php | 24 - .../symfony/serializer/Annotation/Ignore.php | 24 - .../serializer/Annotation/MaxDepth.php | 24 - .../serializer/Annotation/SerializedName.php | 24 - .../serializer/Annotation/SerializedPath.php | 24 - .../symfony/serializer/Attribute/Context.php | 78 - .../serializer/Attribute/DiscriminatorMap.php | 68 - .../Attribute/ExtendsSerializationFor.php | 32 - .../symfony/serializer/Attribute/Groups.php | 57 - .../symfony/serializer/Attribute/Ignore.php | 24 - .../symfony/serializer/Attribute/MaxDepth.php | 42 - .../serializer/Attribute/SerializedName.php | 42 - .../serializer/Attribute/SerializedPath.php | 47 - app/vendor/symfony/serializer/CHANGELOG.md | 384 - .../CompiledClassMetadataCacheWarmer.php | 55 - .../serializer/Command/DebugCommand.php | 120 - .../Context/ContextBuilderInterface.php | 31 - .../Context/ContextBuilderTrait.php | 54 - .../Encoder/CsvEncoderContextBuilder.php | 139 - .../Encoder/JsonEncoderContextBuilder.php | 72 - .../Encoder/XmlEncoderContextBuilder.php | 179 - .../Encoder/YamlEncoderContextBuilder.php | 69 - .../AbstractNormalizerContextBuilder.php | 188 - ...AbstractObjectNormalizerContextBuilder.php | 131 - .../BackedEnumNormalizerContextBuilder.php | 35 - ...tViolationListNormalizerContextBuilder.php | 71 - .../DateIntervalNormalizerContextBuilder.php | 36 - .../DateTimeNormalizerContextBuilder.php | 74 - .../FormErrorNormalizerContextBuilder.php | 50 - .../GetSetMethodNormalizerContextBuilder.php | 21 - ...onSerializableNormalizerContextBuilder.php | 21 - .../ObjectNormalizerContextBuilder.php | 21 - .../ProblemNormalizerContextBuilder.php | 50 - .../PropertyNormalizerContextBuilder.php | 30 - .../UidNormalizerContextBuilder.php | 41 - .../UnwrappingDenormalizerContextBuilder.php | 53 - .../Context/SerializerContextBuilder.php | 39 - .../DataCollector/SerializerDataCollector.php | 259 - .../serializer/Debug/TraceableEncoder.php | 110 - .../serializer/Debug/TraceableNormalizer.php | 129 - .../serializer/Debug/TraceableSerializer.php | 186 - .../AttributeMetadataPass.php | 72 - .../DependencyInjection/SerializerPass.php | 244 - .../serializer/Encoder/ChainDecoder.php | 83 - .../serializer/Encoder/ChainEncoder.php | 106 - .../Encoder/ContextAwareDecoderInterface.php | 25 - .../Encoder/ContextAwareEncoderInterface.php | 25 - .../symfony/serializer/Encoder/CsvEncoder.php | 296 - .../serializer/Encoder/DecoderInterface.php | 43 - .../serializer/Encoder/EncoderInterface.php | 38 - .../symfony/serializer/Encoder/JsonDecode.php | 119 - .../symfony/serializer/Encoder/JsonEncode.php | 62 - .../serializer/Encoder/JsonEncoder.php | 60 - .../Encoder/NormalizationAwareInterface.php | 24 - .../symfony/serializer/Encoder/XmlEncoder.php | 540 - .../serializer/Encoder/YamlEncoder.php | 101 - .../Exception/BadMethodCallException.php | 16 - .../Exception/CircularReferenceException.php | 21 - .../Exception/ExceptionInterface.php | 21 - .../Exception/ExtraAttributesException.php | 37 - .../Exception/InvalidArgumentException.php | 21 - .../serializer/Exception/LogicException.php | 21 - .../serializer/Exception/MappingException.php | 21 - .../MissingConstructorArgumentsException.php | 48 - .../Exception/NotEncodableValueException.php | 19 - .../NotNormalizableValueException.php | 70 - .../PartialDenormalizationException.php | 40 - .../serializer/Exception/RuntimeException.php | 21 - .../Exception/UnexpectedPropertyException.php | 29 - .../Exception/UnexpectedValueException.php | 21 - .../Exception/UnsupportedException.php | 21 - .../Exception/UnsupportedFormatException.php | 19 - .../Extractor/ObjectPropertyListExtractor.php | 36 - .../ObjectPropertyListExtractorInterface.php | 25 - app/vendor/symfony/serializer/LICENSE | 19 - .../serializer/Mapping/AttributeMetadata.php | 185 - .../Mapping/AttributeMetadataInterface.php | 112 - .../ClassDiscriminatorFromClassMetadata.php | 81 - .../Mapping/ClassDiscriminatorMapping.php | 70 - .../ClassDiscriminatorResolverInterface.php | 26 - .../serializer/Mapping/ClassMetadata.php | 91 - .../Mapping/ClassMetadataInterface.php | 57 - .../Factory/CacheClassMetadataFactory.php | 62 - .../Mapping/Factory/ClassMetadataFactory.php | 67 - .../Factory/ClassMetadataFactoryCompiler.php | 73 - .../Factory/ClassMetadataFactoryInterface.php | 45 - .../Mapping/Factory/ClassResolverTrait.php | 42 - .../Factory/CompiledClassMetadataFactory.php | 83 - .../Loader/AccessorCollisionResolverTrait.php | 101 - .../Mapping/Loader/AttributeLoader.php | 262 - .../serializer/Mapping/Loader/FileLoader.php | 39 - .../serializer/Mapping/Loader/LoaderChain.php | 64 - .../Mapping/Loader/LoaderInterface.php | 24 - .../Mapping/Loader/XmlFileLoader.php | 186 - .../Mapping/Loader/YamlFileLoader.php | 177 - .../serializer-mapping-1.0.xsd | 116 - .../Loader/schema/serialization.schema.json | 418 - .../AdvancedNameConverterInterface.php | 26 - .../CamelCaseToSnakeCaseNameConverter.php | 80 - .../MetadataAwareNameConverter.php | 155 - .../NameConverter/NameConverterInterface.php | 38 - .../SnakeCaseToCamelCaseNameConverter.php | 78 - .../Normalizer/AbstractNormalizer.php | 594 - .../Normalizer/AbstractObjectNormalizer.php | 1311 -- .../Normalizer/ArrayDenormalizer.php | 127 - .../Normalizer/BackedEnumNormalizer.php | 84 - .../ConstraintViolationListNormalizer.php | 159 - .../Normalizer/CustomNormalizer.php | 68 - .../Normalizer/DataUriNormalizer.php | 140 - .../Normalizer/DateIntervalNormalizer.php | 118 - .../Normalizer/DateTimeNormalizer.php | 184 - .../Normalizer/DateTimeZoneNormalizer.php | 68 - .../Normalizer/DenormalizableInterface.php | 38 - .../Normalizer/DenormalizerAwareInterface.php | 23 - .../Normalizer/DenormalizerAwareTrait.php | 25 - .../Normalizer/DenormalizerInterface.php | 77 - .../Normalizer/FormErrorNormalizer.php | 85 - .../Normalizer/GetSetMethodNormalizer.php | 217 - .../Normalizer/JsonSerializableNormalizer.php | 62 - .../Normalizer/MimeMessageNormalizer.php | 121 - .../Normalizer/NormalizableInterface.php | 37 - .../Normalizer/NormalizerAwareInterface.php | 23 - .../Normalizer/NormalizerAwareTrait.php | 25 - .../Normalizer/NormalizerInterface.php | 66 - .../Normalizer/NumberNormalizer.php | 79 - .../Normalizer/ObjectNormalizer.php | 178 - .../Normalizer/ObjectToPopulateTrait.php | 34 - .../Normalizer/ProblemNormalizer.php | 114 - .../Normalizer/PropertyNormalizer.php | 223 - .../Normalizer/TranslatableNormalizer.php | 55 - .../serializer/Normalizer/UidNormalizer.php | 80 - .../Normalizer/UnwrappingDenormalizer.php | 65 - app/vendor/symfony/serializer/README.md | 15 - app/vendor/symfony/serializer/Serializer.php | 400 - .../serializer/SerializerAwareInterface.php | 23 - .../serializer/SerializerAwareTrait.php | 25 - .../serializer/SerializerInterface.php | 52 - app/vendor/symfony/serializer/composer.json | 67 - .../translation-contracts/CHANGELOG.md | 5 - .../symfony/translation-contracts/LICENSE | 19 - .../LocaleAwareInterface.php | 29 - .../symfony/translation-contracts/README.md | 9 - .../Test/TranslatorTest.php | 401 - .../TranslatableInterface.php | 20 - .../TranslatorInterface.php | 68 - .../translation-contracts/TranslatorTrait.php | 231 - .../translation-contracts/composer.json | 37 - .../Attribute/ExtendsValidationFor.php | 32 - .../validator/Attribute/HasNamedArguments.php | 22 - app/vendor/symfony/validator/CHANGELOG.md | 709 - .../validator/Command/DebugCommand.php | 247 - app/vendor/symfony/validator/Constraint.php | 364 - .../symfony/validator/ConstraintValidator.php | 151 - .../validator/ConstraintValidatorFactory.php | 40 - .../ConstraintValidatorFactoryInterface.php | 25 - .../ConstraintValidatorInterface.php | 34 - .../symfony/validator/ConstraintViolation.php | 133 - .../ConstraintViolationInterface.php | 127 - .../validator/ConstraintViolationList.php | 151 - .../ConstraintViolationListInterface.php | 70 - .../Constraints/AbstractComparison.php | 78 - .../AbstractComparisonValidator.php | 104 - .../symfony/validator/Constraints/All.php | 79 - .../validator/Constraints/AllValidator.php | 46 - .../validator/Constraints/AtLeastOneOf.php | 93 - .../Constraints/AtLeastOneOfValidator.php | 70 - .../symfony/validator/Constraints/Bic.php | 114 - .../validator/Constraints/BicValidator.php | 164 - .../symfony/validator/Constraints/Blank.php | 47 - .../validator/Constraints/BlankValidator.php | 36 - .../validator/Constraints/Callback.php | 76 - .../Constraints/CallbackValidator.php | 58 - .../validator/Constraints/CardScheme.php | 102 - .../Constraints/CardSchemeValidator.php | 132 - .../symfony/validator/Constraints/Cascade.php | 62 - .../symfony/validator/Constraints/Charset.php | 43 - .../Constraints/CharsetValidator.php | 46 - .../symfony/validator/Constraints/Choice.php | 109 - .../validator/Constraints/ChoiceValidator.php | 108 - .../symfony/validator/Constraints/Cidr.php | 116 - .../validator/Constraints/CidrValidator.php | 89 - .../validator/Constraints/Collection.php | 129 - .../Constraints/CollectionValidator.php | 83 - .../validator/Constraints/Composite.php | 166 - .../validator/Constraints/Compound.php | 56 - .../Constraints/CompoundValidator.php | 35 - .../symfony/validator/Constraints/Count.php | 100 - .../validator/Constraints/CountValidator.php | 80 - .../symfony/validator/Constraints/Country.php | 65 - .../Constraints/CountryValidator.php | 50 - .../validator/Constraints/CssColor.php | 124 - .../Constraints/CssColorValidator.php | 83 - .../validator/Constraints/Currency.php | 56 - .../Constraints/CurrencyValidator.php | 51 - .../symfony/validator/Constraints/Date.php | 51 - .../validator/Constraints/DateTime.php | 77 - .../Constraints/DateTimeValidator.php | 80 - .../validator/Constraints/DateValidator.php | 72 - .../Constraints/DisableAutoMapping.php | 47 - .../validator/Constraints/DivisibleBy.php | 29 - .../Constraints/DivisibleByValidator.php | 56 - .../symfony/validator/Constraints/Email.php | 88 - .../validator/Constraints/EmailValidator.php | 104 - .../Constraints/EnableAutoMapping.php | 47 - .../symfony/validator/Constraints/EqualTo.php | 30 - .../Constraints/EqualToValidator.php | 31 - .../validator/Constraints/Existence.php | 52 - .../validator/Constraints/Expression.php | 119 - .../ExpressionLanguageProvider.php | 32 - .../Constraints/ExpressionSyntax.php | 58 - .../Constraints/ExpressionSyntaxValidator.php | 62 - .../Constraints/ExpressionValidator.php | 62 - .../symfony/validator/Constraints/File.php | 231 - .../validator/Constraints/FileValidator.php | 332 - .../validator/Constraints/GreaterThan.php | 30 - .../Constraints/GreaterThanOrEqual.php | 30 - .../GreaterThanOrEqualValidator.php | 31 - .../Constraints/GreaterThanValidator.php | 31 - .../validator/Constraints/GroupSequence.php | 89 - .../Constraints/GroupSequenceProvider.php | 28 - .../validator/Constraints/Hostname.php | 55 - .../Constraints/HostnameValidator.php | 69 - .../symfony/validator/Constraints/Iban.php | 59 - .../validator/Constraints/IbanValidator.php | 298 - .../validator/Constraints/IdenticalTo.php | 30 - .../Constraints/IdenticalToValidator.php | 31 - .../symfony/validator/Constraints/Image.php | 239 - .../validator/Constraints/ImageValidator.php | 288 - .../symfony/validator/Constraints/Ip.php | 141 - .../validator/Constraints/IpValidator.php | 95 - .../symfony/validator/Constraints/IsFalse.php | 47 - .../Constraints/IsFalseValidator.php | 38 - .../symfony/validator/Constraints/IsNull.php | 47 - .../validator/Constraints/IsNullValidator.php | 36 - .../symfony/validator/Constraints/IsTrue.php | 47 - .../validator/Constraints/IsTrueValidator.php | 38 - .../symfony/validator/Constraints/Isbn.php | 97 - .../validator/Constraints/IsbnValidator.php | 181 - .../symfony/validator/Constraints/Isin.php | 56 - .../validator/Constraints/IsinValidator.php | 78 - .../symfony/validator/Constraints/Issn.php | 72 - .../validator/Constraints/IssnValidator.php | 128 - .../symfony/validator/Constraints/Json.php | 47 - .../validator/Constraints/JsonValidator.php | 47 - .../validator/Constraints/Language.php | 63 - .../Constraints/LanguageValidator.php | 50 - .../symfony/validator/Constraints/Length.php | 128 - .../validator/Constraints/LengthValidator.php | 111 - .../validator/Constraints/LessThan.php | 30 - .../validator/Constraints/LessThanOrEqual.php | 30 - .../Constraints/LessThanOrEqualValidator.php | 31 - .../Constraints/LessThanValidator.php | 31 - .../symfony/validator/Constraints/Locale.php | 63 - .../validator/Constraints/LocaleValidator.php | 54 - .../symfony/validator/Constraints/Luhn.php | 57 - .../validator/Constraints/LuhnValidator.php | 89 - .../validator/Constraints/MacAddress.php | 85 - .../Constraints/MacAddressValidator.php | 118 - .../validator/Constraints/Negative.php | 25 - .../validator/Constraints/NegativeOrZero.php | 25 - .../Constraints/NoSuspiciousCharacters.php | 123 - .../NoSuspiciousCharactersValidator.php | 123 - .../validator/Constraints/NotBlank.php | 59 - .../Constraints/NotBlankValidator.php | 45 - .../Constraints/NotCompromisedPassword.php | 59 - .../NotCompromisedPasswordValidator.php | 108 - .../validator/Constraints/NotEqualTo.php | 30 - .../Constraints/NotEqualToValidator.php | 31 - .../validator/Constraints/NotIdenticalTo.php | 30 - .../Constraints/NotIdenticalToValidator.php | 31 - .../symfony/validator/Constraints/NotNull.php | 47 - .../Constraints/NotNullValidator.php | 36 - .../validator/Constraints/Optional.php | 19 - .../Constraints/PasswordStrength.php | 66 - .../Constraints/PasswordStrengthValidator.php | 91 - .../validator/Constraints/Positive.php | 25 - .../validator/Constraints/PositiveOrZero.php | 25 - .../symfony/validator/Constraints/Range.php | 111 - .../validator/Constraints/RangeValidator.php | 188 - .../symfony/validator/Constraints/Regex.php | 149 - .../validator/Constraints/RegexValidator.php | 57 - .../validator/Constraints/Required.php | 19 - .../validator/Constraints/Sequentially.php | 83 - .../Constraints/SequentiallyValidator.php | 41 - .../symfony/validator/Constraints/Time.php | 57 - .../validator/Constraints/TimeValidator.php | 69 - .../validator/Constraints/Timezone.php | 105 - .../Constraints/TimezoneValidator.php | 119 - .../validator/Constraints/Traverse.php | 65 - .../symfony/validator/Constraints/Type.php | 88 - .../validator/Constraints/TypeValidator.php | 96 - .../symfony/validator/Constraints/Ulid.php | 74 - .../validator/Constraints/UlidValidator.php | 97 - .../symfony/validator/Constraints/Unique.php | 71 - .../validator/Constraints/UniqueValidator.php | 89 - .../symfony/validator/Constraints/Url.php | 85 - .../validator/Constraints/UrlValidator.php | 108 - .../symfony/validator/Constraints/Uuid.php | 128 - .../validator/Constraints/UuidValidator.php | 257 - .../symfony/validator/Constraints/Valid.php | 59 - .../validator/Constraints/ValidValidator.php | 38 - .../symfony/validator/Constraints/Video.php | 254 - .../validator/Constraints/VideoValidator.php | 265 - .../symfony/validator/Constraints/Week.php | 70 - .../validator/Constraints/WeekValidator.php | 82 - .../symfony/validator/Constraints/When.php | 103 - .../validator/Constraints/WhenValidator.php | 61 - .../validator/Constraints/WordCount.php | 69 - .../Constraints/WordCountValidator.php | 65 - .../symfony/validator/Constraints/Yaml.php | 48 - .../validator/Constraints/YamlValidator.php | 65 - .../ZeroComparisonConstraintTrait.php | 47 - .../ContainerConstraintValidatorFactory.php | 59 - .../validator/Context/ExecutionContext.php | 275 - .../Context/ExecutionContextFactory.php | 41 - .../ExecutionContextFactoryInterface.php | 33 - .../Context/ExecutionContextInterface.php | 285 - .../DataCollector/ValidatorDataCollector.php | 93 - .../AddAutoMappingConfigurationPass.php | 84 - .../AddConstraintValidatorsPass.php | 47 - .../AddValidatorInitializersPass.php | 37 - .../AttributeMetadataPass.php | 72 - .../Exception/BadMethodCallException.php | 21 - .../ConstraintDefinitionException.php | 16 - .../Exception/ExceptionInterface.php | 21 - .../Exception/GroupDefinitionException.php | 16 - .../Exception/InvalidArgumentException.php | 21 - .../Exception/InvalidOptionsException.php | 27 - .../validator/Exception/LogicException.php | 16 - .../validator/Exception/MappingException.php | 16 - .../Exception/MissingOptionsException.php | 27 - .../Exception/NoSuchMetadataException.php | 19 - .../Exception/OutOfBoundsException.php | 21 - .../validator/Exception/RuntimeException.php | 21 - .../Exception/UnexpectedTypeException.php | 20 - .../Exception/UnexpectedValueException.php | 30 - .../UnsupportedMetadataException.php | 19 - .../Exception/ValidationFailedException.php | 37 - .../Exception/ValidatorException.php | 16 - .../validator/GroupProviderInterface.php | 30 - .../GroupSequenceProviderInterface.php | 28 - app/vendor/symfony/validator/LICENSE | 19 - .../validator/Mapping/AutoMappingStrategy.php | 42 - .../validator/Mapping/CascadingStrategy.php | 52 - .../validator/Mapping/ClassMetadata.php | 522 - .../Mapping/ClassMetadataInterface.php | 92 - .../Factory/BlackHoleMetadataFactory.php | 37 - .../Factory/LazyLoadingMetadataFactory.php | 156 - .../Factory/MetadataFactoryInterface.php | 35 - .../validator/Mapping/GenericMetadata.php | 231 - .../validator/Mapping/GetterMetadata.php | 74 - .../Mapping/Loader/AbstractLoader.php | 131 - .../Mapping/Loader/AttributeLoader.php | 127 - .../Mapping/Loader/AutoMappingTrait.php | 34 - .../validator/Mapping/Loader/FileLoader.php | 48 - .../validator/Mapping/Loader/FilesLoader.php | 55 - .../validator/Mapping/Loader/LoaderChain.php | 61 - .../Mapping/Loader/LoaderInterface.php | 27 - .../Mapping/Loader/PropertyInfoLoader.php | 326 - .../Mapping/Loader/StaticMethodLoader.php | 61 - .../Mapping/Loader/XmlFileLoader.php | 238 - .../Mapping/Loader/XmlFilesLoader.php | 28 - .../Mapping/Loader/YamlFileLoader.php | 194 - .../Mapping/Loader/YamlFilesLoader.php | 28 - .../constraint-mapping-1.0.xsd | 163 - .../Loader/schema/validation.schema.json | 123 - .../validator/Mapping/MemberMetadata.php | 167 - .../validator/Mapping/MetadataInterface.php | 62 - .../validator/Mapping/PropertyMetadata.php | 84 - .../Mapping/PropertyMetadataInterface.php | 41 - .../validator/Mapping/TraversalStrategy.php | 55 - .../validator/ObjectInitializerInterface.php | 26 - app/vendor/symfony/validator/README.md | 16 - .../Resources/translations/validators.af.xlf | 559 - .../Resources/translations/validators.ar.xlf | 559 - .../Resources/translations/validators.az.xlf | 559 - .../Resources/translations/validators.be.xlf | 559 - .../Resources/translations/validators.bg.xlf | 559 - .../Resources/translations/validators.bs.xlf | 559 - .../Resources/translations/validators.ca.xlf | 559 - .../Resources/translations/validators.cs.xlf | 559 - .../Resources/translations/validators.cy.xlf | 559 - .../Resources/translations/validators.da.xlf | 559 - .../Resources/translations/validators.de.xlf | 559 - .../Resources/translations/validators.el.xlf | 559 - .../Resources/translations/validators.en.xlf | 559 - .../Resources/translations/validators.es.xlf | 559 - .../Resources/translations/validators.et.xlf | 559 - .../Resources/translations/validators.eu.xlf | 559 - .../Resources/translations/validators.fa.xlf | 559 - .../Resources/translations/validators.fi.xlf | 559 - .../Resources/translations/validators.fr.xlf | 559 - .../Resources/translations/validators.gl.xlf | 559 - .../Resources/translations/validators.he.xlf | 559 - .../Resources/translations/validators.hr.xlf | 559 - .../Resources/translations/validators.hu.xlf | 559 - .../Resources/translations/validators.hy.xlf | 559 - .../Resources/translations/validators.id.xlf | 559 - .../Resources/translations/validators.it.xlf | 559 - .../Resources/translations/validators.ja.xlf | 559 - .../Resources/translations/validators.lb.xlf | 559 - .../Resources/translations/validators.lt.xlf | 559 - .../Resources/translations/validators.lv.xlf | 559 - .../Resources/translations/validators.mk.xlf | 559 - .../Resources/translations/validators.mn.xlf | 559 - .../Resources/translations/validators.my.xlf | 559 - .../Resources/translations/validators.nb.xlf | 559 - .../Resources/translations/validators.nl.xlf | 559 - .../Resources/translations/validators.nn.xlf | 559 - .../Resources/translations/validators.no.xlf | 559 - .../Resources/translations/validators.pl.xlf | 559 - .../Resources/translations/validators.pt.xlf | 559 - .../translations/validators.pt_BR.xlf | 559 - .../Resources/translations/validators.ro.xlf | 559 - .../Resources/translations/validators.ru.xlf | 559 - .../Resources/translations/validators.sk.xlf | 559 - .../Resources/translations/validators.sl.xlf | 559 - .../Resources/translations/validators.sq.xlf | 568 - .../translations/validators.sr_Cyrl.xlf | 559 - .../translations/validators.sr_Latn.xlf | 559 - .../Resources/translations/validators.sv.xlf | 559 - .../Resources/translations/validators.th.xlf | 559 - .../Resources/translations/validators.tl.xlf | 559 - .../Resources/translations/validators.tr.xlf | 559 - .../Resources/translations/validators.uk.xlf | 559 - .../Resources/translations/validators.ur.xlf | 559 - .../Resources/translations/validators.uz.xlf | 559 - .../Resources/translations/validators.vi.xlf | 559 - .../translations/validators.zh_CN.xlf | 559 - .../translations/validators.zh_TW.xlf | 559 - .../Test/CompoundConstraintTestCase.php | 126 - .../Test/ConstraintValidatorTestCase.php | 584 - .../symfony/validator/Util/PropertyPath.php | 51 - app/vendor/symfony/validator/Validation.php | 88 - .../ContextualValidatorInterface.php | 78 - .../validator/Validator/LazyProperty.php | 30 - .../RecursiveContextualValidator.php | 771 - .../Validator/RecursiveValidator.php | 99 - .../Validator/TraceableValidator.php | 120 - .../Validator/ValidatorInterface.php | 86 - .../symfony/validator/ValidatorBuilder.php | 401 - .../Violation/ConstraintViolationBuilder.php | 140 - .../ConstraintViolationBuilderInterface.php | 119 - app/vendor/symfony/validator/composer.json | 67 - app/vendor/symfony/yaml/CHANGELOG.md | 275 - .../symfony/yaml/Command/LintCommand.php | 277 - app/vendor/symfony/yaml/Dumper.php | 184 - app/vendor/symfony/yaml/Escaper.php | 97 - .../symfony/yaml/Exception/DumpException.php | 21 - .../yaml/Exception/ExceptionInterface.php | 21 - .../symfony/yaml/Exception/ParseException.php | 121 - .../yaml/Exception/RuntimeException.php | 21 - app/vendor/symfony/yaml/Inline.php | 880 - app/vendor/symfony/yaml/LICENSE | 19 - app/vendor/symfony/yaml/Parser.php | 1279 -- app/vendor/symfony/yaml/README.md | 13 - .../symfony/yaml/Resources/bin/yaml-lint | 54 - app/vendor/symfony/yaml/Tag/TaggedValue.php | 35 - app/vendor/symfony/yaml/Unescaper.php | 108 - app/vendor/symfony/yaml/Yaml.php | 100 - app/vendor/symfony/yaml/composer.json | 39 - .../testcontainers/testcontainers/LICENSE | 21 - .../testcontainers/testcontainers/README.md | 226 - .../testcontainers/composer.json | 63 - .../src/Container/GenericContainer.php | 533 - .../src/Container/HttpMethod.php | 20 - .../src/Container/InternetProtocol.php | 24 - .../src/Container/StartedGenericContainer.php | 229 - .../src/Container/StartedTestContainer.php | 55 - .../src/Container/StoppedGenericContainer.php | 17 - .../src/Container/StoppedTestContainer.php | 10 - .../src/Container/TestContainer.php | 55 - .../ContainerClient/DockerContainerClient.php | 44 - .../src/Exception/ContainerException.php | 21 - .../Exception/ContainerNotReadyException.php | 9 - .../src/Exception/ContainerStateException.php | 14 - .../ContainerWaitingTimeoutException.php | 14 - .../Exception/HealthCheckFailedException.php | 14 - .../HealthCheckNotConfiguredException.php | 14 - .../UnknownHealthStatusException.php | 14 - .../src/Modules/MariaDBContainer.php | 38 - .../src/Modules/MongoDBContainer.php | 36 - .../src/Modules/MySQLContainer.php | 38 - .../src/Modules/OpenSearchContainer.php | 34 - .../src/Modules/PostgresContainer.php | 48 - .../src/Modules/RedisContainer.php | 18 - .../src/Utils/DockerAuthConfig.php | 260 - .../testcontainers/src/Utils/HostResolver.php | 138 - .../PortGenerator/FixedPortGenerator.php | 25 - .../src/Utils/PortGenerator/PortGenerator.php | 10 - .../PortGenerator/RandomPortGenerator.php | 30 - .../RandomUniquePortGenerator.php | 26 - .../src/Utils/PortNormalizer.php | 32 - .../testcontainers/src/Utils/TarBuilder.php | 300 - .../src/Wait/BaseWaitStrategy.php | 28 - .../src/Wait/WaitForContainer.php | 40 - .../testcontainers/src/Wait/WaitForExec.php | 60 - .../src/Wait/WaitForHealthCheck.php | 73 - .../src/Wait/WaitForHostPort.php | 64 - .../testcontainers/src/Wait/WaitForHttp.php | 157 - .../testcontainers/src/Wait/WaitForLog.php | 48 - .../testcontainers/src/Wait/WaitStrategy.php | 12 - 1651 files changed, 1663 insertions(+), 283877 deletions(-) delete mode 100644 app/vendor/beluga-php/docker-php-api/.github/FUNDING.yml delete mode 100644 app/vendor/beluga-php/docker-php-api/.github/dependabot.yml delete mode 100644 app/vendor/beluga-php/docker-php-api/.gitignore delete mode 100644 app/vendor/beluga-php/docker-php-api/.jane-openapi delete mode 100644 app/vendor/beluga-php/docker-php-api/.php-cs-fixer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/LICENSE delete mode 100644 app/vendor/beluga-php/docker-php-api/README.md delete mode 100644 app/vendor/beluga-php/docker-php-api/composer.json delete mode 100644 app/vendor/beluga-php/docker-php-api/patches/NetworkSettingsNormalizer.patch delete mode 100644 app/vendor/beluga-php/docker-php-api/spec/v1.36.json delete mode 100644 app/vendor/beluga-php/docker-php-api/spec/v1.41.json delete mode 100644 app/vendor/beluga-php/docker-php-api/spec/v1.42.json delete mode 100644 app/vendor/beluga-php/docker-php-api/spec/v1.43.json delete mode 100644 app/vendor/beluga-php/docker-php-api/spec/v1.44.json delete mode 100644 app/vendor/beluga-php/docker-php-api/spec/v1.45.json delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Client.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/BuildPrune.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigCreate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigUpdate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerArchive.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerArchiveInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerAttach.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerAttachWebsocket.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerChanges.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerCreate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerExec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerExport.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerKill.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerLogs.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerPause.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerPrune.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerRename.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerResize.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerRestart.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStart.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStats.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStop.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerTop.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerUnpause.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerUpdate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerWait.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/DistributionInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecResize.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecStart.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/GetPluginPrivileges.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageBuild.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageCommit.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageCreate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageGet.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageGetAll.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageHistory.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageLoad.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImagePrune.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImagePush.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageSearch.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageTag.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkConnect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkCreate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkDisconnect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkPrune.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeUpdate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginCreate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginDisable.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginEnable.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginPull.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginPush.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginSet.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginUpgrade.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/PutContainerArchive.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretCreate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretUpdate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceCreate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceLogs.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceUpdate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/Session.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmInit.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmJoin.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmLeave.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUnlock.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUnlockkey.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUpdate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemAuth.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemDataUsage.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemEvents.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemPing.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemPingHead.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemVersion.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskLogs.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeCreate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeDelete.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeList.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumePrune.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeUpdate.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ApiException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/BadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/BuildPruneInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ClientException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigListServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerChangesInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerChangesNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExportNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerListBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerLogsNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPauseInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPauseNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPruneInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerResizeNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRestartInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRestartNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStartInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStartNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStatsInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStatsNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStopInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStopNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerTopInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerTopNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUnpauseInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUnpauseNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUpdateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUpdateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/DistributionInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/DistributionInspectUnauthorizedException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ExecInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ExecInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ForbiddenException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/GetPluginPrivilegesInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageBuildBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageBuildInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageCommitInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageCommitNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageCreateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageCreateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageHistoryInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageHistoryNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageLoadInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImagePruneInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImagePushInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImagePushNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageSearchInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/InternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectForbiddenException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateForbiddenException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteForbiddenException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectForbiddenException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NetworkPruneInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeListServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/NotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginCreateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginDisableInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginDisableNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginEnableInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginEnableNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginPullInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginPushInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginPushNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginSetInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginSetNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginUpgradeInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PluginUpgradeNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveForbiddenException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretListServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServerException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateForbiddenException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceListServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceLogsNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmLeaveInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmLeaveServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockkeyInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockkeyServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SystemAuthInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SystemAuthUnauthorizedException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SystemDataUsageInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SystemEventsBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SystemEventsInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SystemInfoInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/SystemVersionInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/TaskListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/TaskListServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/TaskLogsNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/UnauthorizedException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeCreateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteConflictException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeInspectInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeInspectNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeListInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumePruneInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateBadRequestException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateInternalServerErrorException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateNotFoundException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateServiceUnavailableException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Address.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/AuthConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/AuthPostResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/BuildCache.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/BuildInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/BuildPrunePostResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolume.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumePublishStatusItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessMode.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeAccessibilityRequirements.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeCapacityRange.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeMountVolume.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeSecretsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Commit.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Config.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ConfigSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ConfigsCreatePostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfigExposedPortsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfigVolumesItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerCreateResponse.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerState.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerStatus.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummary.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummaryHostConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummaryNetworkSettings.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerWaitExitError.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainerWaitResponse.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainersCreatePostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdExecPostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdJsonGetResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdTopGetJsonResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdTopGetTextplainResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdUpdatePostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdUpdatePostResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ContainersPrunePostResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/CreateImageInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/DeviceMapping.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/DeviceRequest.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/DistributionInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Driver.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/EndpointIPAMConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/EndpointPortConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/EndpointSettings.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/EndpointSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/EngineDescription.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/EngineDescriptionPluginsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ErrorDetail.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ErrorResponse.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/EventActor.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/EventMessage.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ExecIdJsonGetResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ExecIdStartPostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/FilesystemChange.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItemDiscreteResourceSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItemNamedResourceSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/GraphDriverData.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Health.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/HealthConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/HealthcheckResult.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/HostConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/HostConfigLogConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/IPAM.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/IPAMConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/IdResponse.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImageDeleteResponseItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImageID.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImageInspect.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImageInspectMetadata.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImageInspectRootFS.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImageSummary.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImagesNameHistoryGetResponse200Item.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImagesPrunePostResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ImagesSearchGetResponse200Item.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/IndexInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/JoinTokens.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Limit.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ManagerStatus.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Mount.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/MountBindOptions.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/MountPoint.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/MountTmpfsOptions.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/MountVolumeOptions.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/MountVolumeOptionsDriverConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Network.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworkAttachmentConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworkContainer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworkSettings.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworkingConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworksCreatePostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworksCreatePostResponse201.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworksIdConnectPostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworksIdDisconnectPostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NetworksPrunePostResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Node.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NodeDescription.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NodeSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/NodeStatus.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/OCIDescriptor.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/OCIPlatform.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ObjectVersion.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PeerNode.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Platform.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Plugin.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigArgs.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigInterface.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigLinux.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigNetwork.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigRootfs.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigUser.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginDevice.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginEnv.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginInterfaceType.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginMount.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginPrivilege.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginSettings.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PluginsInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Port.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PortBinding.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PortStatus.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ProcessConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ProgressDetail.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/PushImageInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/RegistryServiceConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ResourceObject.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Resources.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ResourcesBlkioWeightDeviceItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ResourcesUlimitsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/RestartPolicy.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Runtime.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Secret.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SecretSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SecretsCreatePostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Service.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceCreateResponse.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceEndpoint.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceEndpointVirtualIPsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceJobStatus.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceServiceStatus.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecMode.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeGlobal.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeGlobalJob.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeReplicated.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeReplicatedJob.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecRollbackConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecUpdateConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceUpdateResponse.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServiceUpdateStatus.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServicesCreatePostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ServicesIdUpdatePostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Swarm.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmInitPostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmJoinPostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecCAConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecCAConfigExternalCAsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecDispatcher.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecEncryptionConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecOrchestration.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecRaft.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecTaskDefaults.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecTaskDefaultsLogDriver.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockPostBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockkeyGetJsonResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockkeyGetTextplainResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SystemDfGetJsonResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SystemDfGetTextplainResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SystemInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SystemInfoDefaultAddressPoolsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SystemVersion.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionComponentsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionComponentsItemDetails.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionPlatform.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TLSInfo.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Task.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItemFile.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItemRuntime.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecDNSConfig.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivileges.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesAppArmor.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesCredentialSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesSELinuxContext.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesSeccomp.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecSecretsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecSecretsItemFile.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecUlimitsItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecLogDriver.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecNetworkAttachmentSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacement.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacementPreferencesItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacementPreferencesItemSpread.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPluginSpec.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecResources.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecRestartPolicy.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/TaskStatus.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/ThrottleDevice.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/Volume.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/VolumeCreateOptions.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/VolumeListResponse.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/VolumeStatusItem.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/VolumeUsageData.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/VolumesNamePutBody.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Model/VolumesPrunePostResponse200.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/AddressNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/AuthConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/AuthPostResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildCacheNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildPrunePostResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumePublishStatusItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeAccessibilityRequirementsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeCapacityRangeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeMountVolumeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeSecretsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/CommitNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigsCreatePostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigExposedPortsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigVolumesItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerCreateResponseNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerStateNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerStatusNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryHostConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryNetworkSettingsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerWaitExitErrorNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerWaitResponseNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersCreatePostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdExecPostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdJsonGetResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdTopGetJsonResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdTopGetTextplainResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdUpdatePostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdUpdatePostResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersPrunePostResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/CreateImageInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/DeviceMappingNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/DeviceRequestNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/DistributionInspectNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/DriverNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointIPAMConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointPortConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointSettingsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/EngineDescriptionNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/EngineDescriptionPluginsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ErrorDetailNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ErrorResponseNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/EventActorNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/EventMessageNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ExecIdJsonGetResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ExecIdStartPostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/FilesystemChangeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemDiscreteResourceSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemNamedResourceSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/GraphDriverDataNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthcheckResultNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/HostConfigLogConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/HostConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/IPAMConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/IPAMNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/IdResponseNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageDeleteResponseItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageIDNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectMetadataNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectRootFSNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageSummaryNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesNameHistoryGetResponse200ItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesPrunePostResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesSearchGetResponse200ItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/IndexInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/JaneObjectNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/JoinTokensNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/LimitNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ManagerStatusNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/MountBindOptionsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/MountNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/MountPointNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/MountTmpfsOptionsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/MountVolumeOptionsDriverConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/MountVolumeOptionsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkAttachmentConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkContainerNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkSettingsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkingConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksCreatePostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksCreatePostResponse201Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksIdConnectPostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksIdDisconnectPostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksPrunePostResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeDescriptionNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeStatusNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/OCIDescriptorNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/OCIPlatformNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ObjectVersionNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PeerNodeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PlatformNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigArgsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigInterfaceNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigLinuxNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigNetworkNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigRootfsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigUserNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginDeviceNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginEnvNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginInterfaceTypeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginMountNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginPrivilegeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginSettingsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginsInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PortBindingNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PortNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PortStatusNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ProcessConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ProgressDetailNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/PushImageInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/RegistryServiceConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourceObjectNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesBlkioWeightDeviceItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesUlimitsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/RestartPolicyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/RuntimeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretsCreatePostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceCreateResponseNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceEndpointNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceEndpointVirtualIPsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceJobStatusNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceServiceStatusNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeGlobalJobNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeGlobalNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeReplicatedJobNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeReplicatedNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecRollbackConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecUpdateConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceUpdateResponseNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceUpdateStatusNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServicesCreatePostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ServicesIdUpdatePostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmInitPostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmJoinPostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecCAConfigExternalCAsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecCAConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecDispatcherNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecEncryptionConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecOrchestrationNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecRaftNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecTaskDefaultsLogDriverNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecTaskDefaultsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockPostBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockkeyGetJsonResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockkeyGetTextplainResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemDfGetJsonResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemDfGetTextplainResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemInfoDefaultAddressPoolsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionComponentsItemDetailsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionComponentsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionPlatformNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TLSInfoNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemFileNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemRuntimeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecDNSConfigNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesAppArmorNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesCredentialSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesSELinuxContextNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesSeccompNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecSecretsItemFileNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecSecretsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecUlimitsItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecLogDriverNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecNetworkAttachmentSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementPreferencesItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementPreferencesItemSpreadNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPluginSpecNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecResourcesNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecRestartPolicyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskStatusNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/ThrottleDeviceNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeCreateOptionsNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeListResponseNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeStatusItemNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeUsageDataNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumesNamePutBodyNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumesPrunePostResponse200Normalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Client/BaseEndpoint.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Client/Client.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Client/CustomQueryResolver.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Client/Endpoint.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Client/EndpointTrait.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/CheckArray.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ReferenceNormalizer.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ValidationException.php delete mode 100644 app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ValidatorTrait.php delete mode 100644 app/vendor/beluga-php/docker-php/.editorconfig delete mode 100644 app/vendor/beluga-php/docker-php/.github/FUNDING.yml delete mode 100644 app/vendor/beluga-php/docker-php/.github/dependabot.yml delete mode 100644 app/vendor/beluga-php/docker-php/.github/workflows/continuous-integration.yml delete mode 100644 app/vendor/beluga-php/docker-php/.github/workflows/static-analysis.yml delete mode 100644 app/vendor/beluga-php/docker-php/.gitignore delete mode 100644 app/vendor/beluga-php/docker-php/.php-cs-fixer.php delete mode 100644 app/vendor/beluga-php/docker-php/CHANGELOG.md delete mode 100644 app/vendor/beluga-php/docker-php/CONTRIBUTING.md delete mode 100644 app/vendor/beluga-php/docker-php/LICENSE delete mode 100644 app/vendor/beluga-php/docker-php/README.md delete mode 100644 app/vendor/beluga-php/docker-php/composer.json delete mode 100644 app/vendor/beluga-php/docker-php/docs/async.md delete mode 100644 app/vendor/beluga-php/docker-php/docs/basic.md delete mode 100644 app/vendor/beluga-php/docker-php/docs/connection.md delete mode 100644 app/vendor/beluga-php/docker-php/docs/cookbook/build-image.md delete mode 100644 app/vendor/beluga-php/docker-php/docs/cookbook/container-run.md delete mode 100644 app/vendor/beluga-php/docker-php/docs/index.md delete mode 100644 app/vendor/beluga-php/docker-php/docs/installation.md delete mode 100644 app/vendor/beluga-php/docker-php/mkdocs.yml delete mode 100644 app/vendor/beluga-php/docker-php/phpunit.xml.dist delete mode 100644 app/vendor/beluga-php/docker-php/src/Context/Context.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Context/ContextBuilder.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Context/ContextInterface.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Docker.php delete mode 100644 app/vendor/beluga-php/docker-php/src/DockerClientFactory.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Endpoint/ContainerAttach.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Endpoint/ContainerAttachWebsocket.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Endpoint/ContainerLogs.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Endpoint/ExecStart.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Endpoint/ImageBuild.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Endpoint/ImageCreate.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Endpoint/ImagePush.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Endpoint/SystemEvents.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/AttachWebsocketStream.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/BuildStream.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/CallbackStream.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/CreateImageStream.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/DockerRawStream.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/EventStream.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/MultiJsonStream.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/PushStream.php delete mode 100644 app/vendor/beluga-php/docker-php/src/Stream/TarStream.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/Context/ContextBuilderTest.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/Context/ContextTest.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/Context/context-test/Dockerfile delete mode 100644 app/vendor/beluga-php/docker-php/tests/DockerClientFactoryTest.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/DockerTest.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/Resource/ContainerResourceTest.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/Resource/ExecResourceTest.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/Resource/ImageResourceTest.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/Resource/SystemResourceTest.php delete mode 100755 app/vendor/beluga-php/docker-php/tests/Resource/script/daemon.sh delete mode 100644 app/vendor/beluga-php/docker-php/tests/Resource/script/kill.sh delete mode 100644 app/vendor/beluga-php/docker-php/tests/Stream/MultiJsonStreamTest.php delete mode 100644 app/vendor/beluga-php/docker-php/tests/TestCase.php delete mode 100755 app/vendor/bin/yaml-lint delete mode 100644 app/vendor/clue/stream-filter/.github/FUNDING.yml delete mode 100644 app/vendor/clue/stream-filter/CHANGELOG.md delete mode 100644 app/vendor/clue/stream-filter/LICENSE delete mode 100644 app/vendor/clue/stream-filter/README.md delete mode 100644 app/vendor/clue/stream-filter/composer.json delete mode 100644 app/vendor/clue/stream-filter/src/CallbackFilter.php delete mode 100644 app/vendor/clue/stream-filter/src/functions.php delete mode 100644 app/vendor/clue/stream-filter/src/functions_include.php delete mode 100644 app/vendor/jane-php/json-schema-runtime/.github/workflows/read-only.yml delete mode 100644 app/vendor/jane-php/json-schema-runtime/LICENSE delete mode 100644 app/vendor/jane-php/json-schema-runtime/README.md delete mode 100644 app/vendor/jane-php/json-schema-runtime/Reference.php delete mode 100644 app/vendor/jane-php/json-schema-runtime/composer.json delete mode 100644 app/vendor/jane-php/open-api-runtime/.github/workflows/read-only.yml delete mode 100644 app/vendor/jane-php/open-api-runtime/Client/AuthenticationPlugin.php delete mode 100644 app/vendor/jane-php/open-api-runtime/Client/CustomQueryResolver.php delete mode 100644 app/vendor/jane-php/open-api-runtime/Client/Exception/InvalidFetchModeException.php delete mode 100644 app/vendor/jane-php/open-api-runtime/Client/Plugin/AuthenticationRegistry.php delete mode 100644 app/vendor/jane-php/open-api-runtime/LICENSE delete mode 100644 app/vendor/jane-php/open-api-runtime/README.md delete mode 100644 app/vendor/jane-php/open-api-runtime/composer.json delete mode 100644 app/vendor/nyholm/psr7/CHANGELOG.md delete mode 100644 app/vendor/nyholm/psr7/LICENSE delete mode 100644 app/vendor/nyholm/psr7/README.md delete mode 100644 app/vendor/nyholm/psr7/composer.json delete mode 100644 app/vendor/nyholm/psr7/src/Factory/HttplugFactory.php delete mode 100644 app/vendor/nyholm/psr7/src/Factory/Psr17Factory.php delete mode 100644 app/vendor/nyholm/psr7/src/MessageTrait.php delete mode 100644 app/vendor/nyholm/psr7/src/Request.php delete mode 100644 app/vendor/nyholm/psr7/src/RequestTrait.php delete mode 100644 app/vendor/nyholm/psr7/src/Response.php delete mode 100644 app/vendor/nyholm/psr7/src/ServerRequest.php delete mode 100644 app/vendor/nyholm/psr7/src/Stream.php delete mode 100644 app/vendor/nyholm/psr7/src/StreamTrait.php delete mode 100644 app/vendor/nyholm/psr7/src/UploadedFile.php delete mode 100644 app/vendor/nyholm/psr7/src/Uri.php delete mode 100644 app/vendor/php-http/client-common/.php-cs-fixer.dist.php delete mode 100644 app/vendor/php-http/client-common/.php_cs.dist delete mode 100644 app/vendor/php-http/client-common/CHANGELOG.md delete mode 100644 app/vendor/php-http/client-common/LICENSE delete mode 100644 app/vendor/php-http/client-common/README.md delete mode 100644 app/vendor/php-http/client-common/composer.json delete mode 100644 app/vendor/php-http/client-common/src/BatchClient.php delete mode 100644 app/vendor/php-http/client-common/src/BatchClientInterface.php delete mode 100644 app/vendor/php-http/client-common/src/BatchResult.php delete mode 100644 app/vendor/php-http/client-common/src/Deferred.php delete mode 100644 app/vendor/php-http/client-common/src/EmulatedHttpAsyncClient.php delete mode 100644 app/vendor/php-http/client-common/src/EmulatedHttpClient.php delete mode 100644 app/vendor/php-http/client-common/src/Exception/BatchException.php delete mode 100644 app/vendor/php-http/client-common/src/Exception/CircularRedirectionException.php delete mode 100644 app/vendor/php-http/client-common/src/Exception/ClientErrorException.php delete mode 100644 app/vendor/php-http/client-common/src/Exception/HttpClientNoMatchException.php delete mode 100644 app/vendor/php-http/client-common/src/Exception/HttpClientNotFoundException.php delete mode 100644 app/vendor/php-http/client-common/src/Exception/LoopException.php delete mode 100644 app/vendor/php-http/client-common/src/Exception/MultipleRedirectionException.php delete mode 100644 app/vendor/php-http/client-common/src/Exception/ServerErrorException.php delete mode 100644 app/vendor/php-http/client-common/src/FlexibleHttpClient.php delete mode 100644 app/vendor/php-http/client-common/src/HttpAsyncClientDecorator.php delete mode 100644 app/vendor/php-http/client-common/src/HttpAsyncClientEmulator.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientDecorator.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientEmulator.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientPool.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientPool/HttpClientPool.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientPool/HttpClientPoolItem.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientPool/LeastUsedClientPool.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientPool/RandomClientPool.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientPool/RoundRobinClientPool.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientRouter.php delete mode 100644 app/vendor/php-http/client-common/src/HttpClientRouterInterface.php delete mode 100644 app/vendor/php-http/client-common/src/HttpMethodsClient.php delete mode 100644 app/vendor/php-http/client-common/src/HttpMethodsClientInterface.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/AddHostPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/AddPathPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/AuthenticationPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/BaseUriPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/ContentLengthPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/ContentTypePlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/CookiePlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/DecoderPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/ErrorPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/HeaderAppendPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/HeaderDefaultsPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/HeaderRemovePlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/HeaderSetPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/HistoryPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/Journal.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/QueryDefaultsPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/RedirectPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/RequestMatcherPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/RequestSeekableBodyPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/ResponseSeekableBodyPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/RetryPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/SeekableBodyPlugin.php delete mode 100644 app/vendor/php-http/client-common/src/Plugin/VersionBridgePlugin.php delete mode 100644 app/vendor/php-http/client-common/src/PluginChain.php delete mode 100644 app/vendor/php-http/client-common/src/PluginClient.php delete mode 100644 app/vendor/php-http/client-common/src/PluginClientBuilder.php delete mode 100644 app/vendor/php-http/client-common/src/PluginClientFactory.php delete mode 100644 app/vendor/php-http/client-common/src/VersionBridgeClient.php delete mode 100644 app/vendor/php-http/discovery/.php-cs-fixer.php delete mode 100644 app/vendor/php-http/discovery/CHANGELOG.md delete mode 100644 app/vendor/php-http/discovery/LICENSE delete mode 100644 app/vendor/php-http/discovery/README.md delete mode 100644 app/vendor/php-http/discovery/composer.json delete mode 100644 app/vendor/php-http/discovery/src/ClassDiscovery.php delete mode 100644 app/vendor/php-http/discovery/src/Composer/Plugin.php delete mode 100644 app/vendor/php-http/discovery/src/Exception.php delete mode 100644 app/vendor/php-http/discovery/src/Exception/ClassInstantiationFailedException.php delete mode 100644 app/vendor/php-http/discovery/src/Exception/DiscoveryFailedException.php delete mode 100644 app/vendor/php-http/discovery/src/Exception/NoCandidateFoundException.php delete mode 100644 app/vendor/php-http/discovery/src/Exception/NotFoundException.php delete mode 100644 app/vendor/php-http/discovery/src/Exception/PuliUnavailableException.php delete mode 100644 app/vendor/php-http/discovery/src/Exception/StrategyUnavailableException.php delete mode 100644 app/vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php delete mode 100644 app/vendor/php-http/discovery/src/HttpClientDiscovery.php delete mode 100644 app/vendor/php-http/discovery/src/MessageFactoryDiscovery.php delete mode 100644 app/vendor/php-http/discovery/src/NotFoundException.php delete mode 100644 app/vendor/php-http/discovery/src/Psr17Factory.php delete mode 100644 app/vendor/php-http/discovery/src/Psr17FactoryDiscovery.php delete mode 100644 app/vendor/php-http/discovery/src/Psr18Client.php delete mode 100644 app/vendor/php-http/discovery/src/Psr18ClientDiscovery.php delete mode 100644 app/vendor/php-http/discovery/src/Strategy/CommonClassesStrategy.php delete mode 100644 app/vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php delete mode 100644 app/vendor/php-http/discovery/src/Strategy/DiscoveryStrategy.php delete mode 100644 app/vendor/php-http/discovery/src/Strategy/MockClientStrategy.php delete mode 100644 app/vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php delete mode 100644 app/vendor/php-http/discovery/src/StreamFactoryDiscovery.php delete mode 100644 app/vendor/php-http/discovery/src/UriFactoryDiscovery.php delete mode 100644 app/vendor/php-http/httplug/.php-cs-fixer.dist.php delete mode 100644 app/vendor/php-http/httplug/CHANGELOG.md delete mode 100644 app/vendor/php-http/httplug/LICENSE delete mode 100644 app/vendor/php-http/httplug/README.md delete mode 100644 app/vendor/php-http/httplug/composer.json delete mode 100644 app/vendor/php-http/httplug/puli.json delete mode 100644 app/vendor/php-http/httplug/src/Exception.php delete mode 100644 app/vendor/php-http/httplug/src/Exception/HttpException.php delete mode 100644 app/vendor/php-http/httplug/src/Exception/NetworkException.php delete mode 100644 app/vendor/php-http/httplug/src/Exception/RequestAwareTrait.php delete mode 100644 app/vendor/php-http/httplug/src/Exception/RequestException.php delete mode 100644 app/vendor/php-http/httplug/src/Exception/TransferException.php delete mode 100644 app/vendor/php-http/httplug/src/HttpAsyncClient.php delete mode 100644 app/vendor/php-http/httplug/src/HttpClient.php delete mode 100644 app/vendor/php-http/httplug/src/Promise/HttpFulfilledPromise.php delete mode 100644 app/vendor/php-http/httplug/src/Promise/HttpRejectedPromise.php delete mode 100644 app/vendor/php-http/message/.php-cs-fixer.dist.php delete mode 100644 app/vendor/php-http/message/CHANGELOG.md delete mode 100644 app/vendor/php-http/message/LICENSE delete mode 100644 app/vendor/php-http/message/README.md delete mode 100644 app/vendor/php-http/message/apigen.neon delete mode 100644 app/vendor/php-http/message/composer.json delete mode 100644 app/vendor/php-http/message/puli.json delete mode 100644 app/vendor/php-http/message/src/Authentication.php delete mode 100644 app/vendor/php-http/message/src/Authentication/AutoBasicAuth.php delete mode 100644 app/vendor/php-http/message/src/Authentication/BasicAuth.php delete mode 100644 app/vendor/php-http/message/src/Authentication/Bearer.php delete mode 100644 app/vendor/php-http/message/src/Authentication/Chain.php delete mode 100644 app/vendor/php-http/message/src/Authentication/Header.php delete mode 100644 app/vendor/php-http/message/src/Authentication/Matching.php delete mode 100644 app/vendor/php-http/message/src/Authentication/QueryParam.php delete mode 100644 app/vendor/php-http/message/src/Authentication/RequestConditional.php delete mode 100644 app/vendor/php-http/message/src/Authentication/Wsse.php delete mode 100644 app/vendor/php-http/message/src/Builder/ResponseBuilder.php delete mode 100644 app/vendor/php-http/message/src/Cookie.php delete mode 100644 app/vendor/php-http/message/src/CookieJar.php delete mode 100644 app/vendor/php-http/message/src/CookieUtil.php delete mode 100644 app/vendor/php-http/message/src/Decorator/MessageDecorator.php delete mode 100644 app/vendor/php-http/message/src/Decorator/RequestDecorator.php delete mode 100644 app/vendor/php-http/message/src/Decorator/ResponseDecorator.php delete mode 100644 app/vendor/php-http/message/src/Decorator/StreamDecorator.php delete mode 100644 app/vendor/php-http/message/src/Encoding/ChunkStream.php delete mode 100644 app/vendor/php-http/message/src/Encoding/CompressStream.php delete mode 100644 app/vendor/php-http/message/src/Encoding/DechunkStream.php delete mode 100644 app/vendor/php-http/message/src/Encoding/DecompressStream.php delete mode 100644 app/vendor/php-http/message/src/Encoding/DeflateStream.php delete mode 100644 app/vendor/php-http/message/src/Encoding/Filter/Chunk.php delete mode 100644 app/vendor/php-http/message/src/Encoding/FilteredStream.php delete mode 100644 app/vendor/php-http/message/src/Encoding/GzipDecodeStream.php delete mode 100644 app/vendor/php-http/message/src/Encoding/GzipEncodeStream.php delete mode 100644 app/vendor/php-http/message/src/Encoding/InflateStream.php delete mode 100644 app/vendor/php-http/message/src/Exception.php delete mode 100644 app/vendor/php-http/message/src/Exception/UnexpectedValueException.php delete mode 100644 app/vendor/php-http/message/src/Formatter.php delete mode 100644 app/vendor/php-http/message/src/Formatter/CurlCommandFormatter.php delete mode 100644 app/vendor/php-http/message/src/Formatter/FullHttpMessageFormatter.php delete mode 100644 app/vendor/php-http/message/src/Formatter/SimpleFormatter.php delete mode 100644 app/vendor/php-http/message/src/MessageFactory/DiactorosMessageFactory.php delete mode 100644 app/vendor/php-http/message/src/MessageFactory/GuzzleMessageFactory.php delete mode 100644 app/vendor/php-http/message/src/MessageFactory/SlimMessageFactory.php delete mode 100644 app/vendor/php-http/message/src/RequestMatcher.php delete mode 100644 app/vendor/php-http/message/src/RequestMatcher/CallbackRequestMatcher.php delete mode 100644 app/vendor/php-http/message/src/RequestMatcher/RegexRequestMatcher.php delete mode 100644 app/vendor/php-http/message/src/RequestMatcher/RequestMatcher.php delete mode 100644 app/vendor/php-http/message/src/Stream/BufferedStream.php delete mode 100644 app/vendor/php-http/message/src/StreamFactory/DiactorosStreamFactory.php delete mode 100644 app/vendor/php-http/message/src/StreamFactory/GuzzleStreamFactory.php delete mode 100644 app/vendor/php-http/message/src/StreamFactory/SlimStreamFactory.php delete mode 100644 app/vendor/php-http/message/src/UriFactory/DiactorosUriFactory.php delete mode 100644 app/vendor/php-http/message/src/UriFactory/GuzzleUriFactory.php delete mode 100644 app/vendor/php-http/message/src/UriFactory/SlimUriFactory.php delete mode 100644 app/vendor/php-http/message/src/filters.php delete mode 100644 app/vendor/php-http/multipart-stream-builder/CHANGELOG.md delete mode 100644 app/vendor/php-http/multipart-stream-builder/LICENSE delete mode 100644 app/vendor/php-http/multipart-stream-builder/README.md delete mode 100644 app/vendor/php-http/multipart-stream-builder/composer.json delete mode 100644 app/vendor/php-http/multipart-stream-builder/src/ApacheMimetypeHelper.php delete mode 100644 app/vendor/php-http/multipart-stream-builder/src/CustomMimetypeHelper.php delete mode 100644 app/vendor/php-http/multipart-stream-builder/src/MimetypeHelper.php delete mode 100644 app/vendor/php-http/multipart-stream-builder/src/MultipartStreamBuilder.php delete mode 100644 app/vendor/php-http/promise/CHANGELOG.md delete mode 100644 app/vendor/php-http/promise/LICENSE delete mode 100644 app/vendor/php-http/promise/README.md delete mode 100644 app/vendor/php-http/promise/composer.json delete mode 100644 app/vendor/php-http/promise/phpstan.neon.dist delete mode 100644 app/vendor/php-http/promise/src/FulfilledPromise.php delete mode 100644 app/vendor/php-http/promise/src/Promise.php delete mode 100644 app/vendor/php-http/promise/src/RejectedPromise.php delete mode 100644 app/vendor/php-http/socket-client/.github/CONTRIBUTING.md delete mode 100644 app/vendor/php-http/socket-client/.github/ISSUE_TEMPLATE.md delete mode 100644 app/vendor/php-http/socket-client/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 app/vendor/php-http/socket-client/.github/workflows/checks.yml delete mode 100644 app/vendor/php-http/socket-client/.github/workflows/ci.yml delete mode 100644 app/vendor/php-http/socket-client/.github/workflows/static.yml delete mode 100644 app/vendor/php-http/socket-client/.php-cs-fixer.dist.php delete mode 100644 app/vendor/php-http/socket-client/CHANGELOG.md delete mode 100644 app/vendor/php-http/socket-client/LICENSE delete mode 100644 app/vendor/php-http/socket-client/README.md delete mode 100644 app/vendor/php-http/socket-client/composer.json delete mode 100644 app/vendor/php-http/socket-client/phpstan.neon.dist delete mode 100644 app/vendor/php-http/socket-client/puli.json delete mode 100644 app/vendor/php-http/socket-client/src/Client.php delete mode 100644 app/vendor/php-http/socket-client/src/Exception/BrokenPipeException.php delete mode 100644 app/vendor/php-http/socket-client/src/Exception/ConnectionException.php delete mode 100644 app/vendor/php-http/socket-client/src/Exception/InvalidRequestException.php delete mode 100644 app/vendor/php-http/socket-client/src/Exception/NetworkException.php delete mode 100644 app/vendor/php-http/socket-client/src/Exception/SSLConnectionException.php delete mode 100644 app/vendor/php-http/socket-client/src/Exception/StreamException.php delete mode 100644 app/vendor/php-http/socket-client/src/Exception/TimeoutException.php delete mode 100644 app/vendor/php-http/socket-client/src/RequestWriter.php delete mode 100644 app/vendor/php-http/socket-client/src/ResponseReader.php delete mode 100644 app/vendor/php-http/socket-client/src/Stream.php delete mode 100644 app/vendor/php-http/socket-client/ssl-macOS.md delete mode 100755 app/vendor/php-jsonpointer/php-jsonpointer/composer.json delete mode 100755 app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer.php delete mode 100755 app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer/InvalidJsonException.php delete mode 100755 app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer/InvalidPointerException.php delete mode 100755 app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer/NonWalkableJsonException.php delete mode 100755 app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer/NonexistentValueReferencedException.php delete mode 100644 app/vendor/symfony/options-resolver/CHANGELOG.md delete mode 100644 app/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/AccessException.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/ExceptionInterface.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/InvalidArgumentException.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/InvalidOptionsException.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/MissingOptionsException.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/NoConfigurationException.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/NoSuchOptionException.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/OptionDefinitionException.php delete mode 100644 app/vendor/symfony/options-resolver/Exception/UndefinedOptionsException.php delete mode 100644 app/vendor/symfony/options-resolver/LICENSE delete mode 100644 app/vendor/symfony/options-resolver/OptionConfigurator.php delete mode 100644 app/vendor/symfony/options-resolver/Options.php delete mode 100644 app/vendor/symfony/options-resolver/OptionsResolver.php delete mode 100644 app/vendor/symfony/options-resolver/README.md delete mode 100644 app/vendor/symfony/options-resolver/composer.json delete mode 100644 app/vendor/symfony/serializer/Annotation/Context.php delete mode 100644 app/vendor/symfony/serializer/Annotation/DiscriminatorMap.php delete mode 100644 app/vendor/symfony/serializer/Annotation/Groups.php delete mode 100644 app/vendor/symfony/serializer/Annotation/Ignore.php delete mode 100644 app/vendor/symfony/serializer/Annotation/MaxDepth.php delete mode 100644 app/vendor/symfony/serializer/Annotation/SerializedName.php delete mode 100644 app/vendor/symfony/serializer/Annotation/SerializedPath.php delete mode 100644 app/vendor/symfony/serializer/Attribute/Context.php delete mode 100644 app/vendor/symfony/serializer/Attribute/DiscriminatorMap.php delete mode 100644 app/vendor/symfony/serializer/Attribute/ExtendsSerializationFor.php delete mode 100644 app/vendor/symfony/serializer/Attribute/Groups.php delete mode 100644 app/vendor/symfony/serializer/Attribute/Ignore.php delete mode 100644 app/vendor/symfony/serializer/Attribute/MaxDepth.php delete mode 100644 app/vendor/symfony/serializer/Attribute/SerializedName.php delete mode 100644 app/vendor/symfony/serializer/Attribute/SerializedPath.php delete mode 100644 app/vendor/symfony/serializer/CHANGELOG.md delete mode 100644 app/vendor/symfony/serializer/CacheWarmer/CompiledClassMetadataCacheWarmer.php delete mode 100644 app/vendor/symfony/serializer/Command/DebugCommand.php delete mode 100644 app/vendor/symfony/serializer/Context/ContextBuilderInterface.php delete mode 100644 app/vendor/symfony/serializer/Context/ContextBuilderTrait.php delete mode 100644 app/vendor/symfony/serializer/Context/Encoder/CsvEncoderContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Encoder/JsonEncoderContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Encoder/XmlEncoderContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Encoder/YamlEncoderContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/AbstractNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/AbstractObjectNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/BackedEnumNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/ConstraintViolationListNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/DateIntervalNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/DateTimeNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/FormErrorNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/GetSetMethodNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/JsonSerializableNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/ObjectNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/ProblemNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/PropertyNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/UidNormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/Normalizer/UnwrappingDenormalizerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/Context/SerializerContextBuilder.php delete mode 100644 app/vendor/symfony/serializer/DataCollector/SerializerDataCollector.php delete mode 100644 app/vendor/symfony/serializer/Debug/TraceableEncoder.php delete mode 100644 app/vendor/symfony/serializer/Debug/TraceableNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Debug/TraceableSerializer.php delete mode 100644 app/vendor/symfony/serializer/DependencyInjection/AttributeMetadataPass.php delete mode 100644 app/vendor/symfony/serializer/DependencyInjection/SerializerPass.php delete mode 100644 app/vendor/symfony/serializer/Encoder/ChainDecoder.php delete mode 100644 app/vendor/symfony/serializer/Encoder/ChainEncoder.php delete mode 100644 app/vendor/symfony/serializer/Encoder/ContextAwareDecoderInterface.php delete mode 100644 app/vendor/symfony/serializer/Encoder/ContextAwareEncoderInterface.php delete mode 100644 app/vendor/symfony/serializer/Encoder/CsvEncoder.php delete mode 100644 app/vendor/symfony/serializer/Encoder/DecoderInterface.php delete mode 100644 app/vendor/symfony/serializer/Encoder/EncoderInterface.php delete mode 100644 app/vendor/symfony/serializer/Encoder/JsonDecode.php delete mode 100644 app/vendor/symfony/serializer/Encoder/JsonEncode.php delete mode 100644 app/vendor/symfony/serializer/Encoder/JsonEncoder.php delete mode 100644 app/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php delete mode 100644 app/vendor/symfony/serializer/Encoder/XmlEncoder.php delete mode 100644 app/vendor/symfony/serializer/Encoder/YamlEncoder.php delete mode 100644 app/vendor/symfony/serializer/Exception/BadMethodCallException.php delete mode 100644 app/vendor/symfony/serializer/Exception/CircularReferenceException.php delete mode 100644 app/vendor/symfony/serializer/Exception/ExceptionInterface.php delete mode 100644 app/vendor/symfony/serializer/Exception/ExtraAttributesException.php delete mode 100644 app/vendor/symfony/serializer/Exception/InvalidArgumentException.php delete mode 100644 app/vendor/symfony/serializer/Exception/LogicException.php delete mode 100644 app/vendor/symfony/serializer/Exception/MappingException.php delete mode 100644 app/vendor/symfony/serializer/Exception/MissingConstructorArgumentsException.php delete mode 100644 app/vendor/symfony/serializer/Exception/NotEncodableValueException.php delete mode 100644 app/vendor/symfony/serializer/Exception/NotNormalizableValueException.php delete mode 100644 app/vendor/symfony/serializer/Exception/PartialDenormalizationException.php delete mode 100644 app/vendor/symfony/serializer/Exception/RuntimeException.php delete mode 100644 app/vendor/symfony/serializer/Exception/UnexpectedPropertyException.php delete mode 100644 app/vendor/symfony/serializer/Exception/UnexpectedValueException.php delete mode 100644 app/vendor/symfony/serializer/Exception/UnsupportedException.php delete mode 100644 app/vendor/symfony/serializer/Exception/UnsupportedFormatException.php delete mode 100644 app/vendor/symfony/serializer/Extractor/ObjectPropertyListExtractor.php delete mode 100644 app/vendor/symfony/serializer/Extractor/ObjectPropertyListExtractorInterface.php delete mode 100644 app/vendor/symfony/serializer/LICENSE delete mode 100644 app/vendor/symfony/serializer/Mapping/AttributeMetadata.php delete mode 100644 app/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php delete mode 100644 app/vendor/symfony/serializer/Mapping/ClassDiscriminatorFromClassMetadata.php delete mode 100644 app/vendor/symfony/serializer/Mapping/ClassDiscriminatorMapping.php delete mode 100644 app/vendor/symfony/serializer/Mapping/ClassDiscriminatorResolverInterface.php delete mode 100644 app/vendor/symfony/serializer/Mapping/ClassMetadata.php delete mode 100644 app/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Factory/CacheClassMetadataFactory.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryCompiler.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Factory/ClassResolverTrait.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Factory/CompiledClassMetadataFactory.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/AccessorCollisionResolverTrait.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/AttributeLoader.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/FileLoader.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd delete mode 100644 app/vendor/symfony/serializer/Mapping/Loader/schema/serialization.schema.json delete mode 100644 app/vendor/symfony/serializer/NameConverter/AdvancedNameConverterInterface.php delete mode 100644 app/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php delete mode 100644 app/vendor/symfony/serializer/NameConverter/MetadataAwareNameConverter.php delete mode 100644 app/vendor/symfony/serializer/NameConverter/NameConverterInterface.php delete mode 100644 app/vendor/symfony/serializer/NameConverter/SnakeCaseToCamelCaseNameConverter.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/ArrayDenormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/BackedEnumNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/ConstraintViolationListNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/CustomNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/DataUriNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/DateIntervalNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/DateTimeZoneNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/DenormalizerAwareInterface.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/DenormalizerAwareTrait.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/FormErrorNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/JsonSerializableNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/MimeMessageNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/NormalizableInterface.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/NormalizerAwareInterface.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/NormalizerAwareTrait.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/NormalizerInterface.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/NumberNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/ObjectToPopulateTrait.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/ProblemNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/TranslatableNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/UidNormalizer.php delete mode 100644 app/vendor/symfony/serializer/Normalizer/UnwrappingDenormalizer.php delete mode 100644 app/vendor/symfony/serializer/README.md delete mode 100644 app/vendor/symfony/serializer/Serializer.php delete mode 100644 app/vendor/symfony/serializer/SerializerAwareInterface.php delete mode 100644 app/vendor/symfony/serializer/SerializerAwareTrait.php delete mode 100644 app/vendor/symfony/serializer/SerializerInterface.php delete mode 100644 app/vendor/symfony/serializer/composer.json delete mode 100644 app/vendor/symfony/translation-contracts/CHANGELOG.md delete mode 100644 app/vendor/symfony/translation-contracts/LICENSE delete mode 100644 app/vendor/symfony/translation-contracts/LocaleAwareInterface.php delete mode 100644 app/vendor/symfony/translation-contracts/README.md delete mode 100644 app/vendor/symfony/translation-contracts/Test/TranslatorTest.php delete mode 100644 app/vendor/symfony/translation-contracts/TranslatableInterface.php delete mode 100644 app/vendor/symfony/translation-contracts/TranslatorInterface.php delete mode 100644 app/vendor/symfony/translation-contracts/TranslatorTrait.php delete mode 100644 app/vendor/symfony/translation-contracts/composer.json delete mode 100644 app/vendor/symfony/validator/Attribute/ExtendsValidationFor.php delete mode 100644 app/vendor/symfony/validator/Attribute/HasNamedArguments.php delete mode 100644 app/vendor/symfony/validator/CHANGELOG.md delete mode 100644 app/vendor/symfony/validator/Command/DebugCommand.php delete mode 100644 app/vendor/symfony/validator/Constraint.php delete mode 100644 app/vendor/symfony/validator/ConstraintValidator.php delete mode 100644 app/vendor/symfony/validator/ConstraintValidatorFactory.php delete mode 100644 app/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php delete mode 100644 app/vendor/symfony/validator/ConstraintValidatorInterface.php delete mode 100644 app/vendor/symfony/validator/ConstraintViolation.php delete mode 100644 app/vendor/symfony/validator/ConstraintViolationInterface.php delete mode 100644 app/vendor/symfony/validator/ConstraintViolationList.php delete mode 100644 app/vendor/symfony/validator/ConstraintViolationListInterface.php delete mode 100644 app/vendor/symfony/validator/Constraints/AbstractComparison.php delete mode 100644 app/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/All.php delete mode 100644 app/vendor/symfony/validator/Constraints/AllValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/AtLeastOneOf.php delete mode 100644 app/vendor/symfony/validator/Constraints/AtLeastOneOfValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Bic.php delete mode 100644 app/vendor/symfony/validator/Constraints/BicValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Blank.php delete mode 100644 app/vendor/symfony/validator/Constraints/BlankValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Callback.php delete mode 100644 app/vendor/symfony/validator/Constraints/CallbackValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/CardScheme.php delete mode 100644 app/vendor/symfony/validator/Constraints/CardSchemeValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Cascade.php delete mode 100644 app/vendor/symfony/validator/Constraints/Charset.php delete mode 100644 app/vendor/symfony/validator/Constraints/CharsetValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Choice.php delete mode 100644 app/vendor/symfony/validator/Constraints/ChoiceValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Cidr.php delete mode 100644 app/vendor/symfony/validator/Constraints/CidrValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Collection.php delete mode 100644 app/vendor/symfony/validator/Constraints/CollectionValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Composite.php delete mode 100644 app/vendor/symfony/validator/Constraints/Compound.php delete mode 100644 app/vendor/symfony/validator/Constraints/CompoundValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Count.php delete mode 100644 app/vendor/symfony/validator/Constraints/CountValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Country.php delete mode 100644 app/vendor/symfony/validator/Constraints/CountryValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/CssColor.php delete mode 100644 app/vendor/symfony/validator/Constraints/CssColorValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Currency.php delete mode 100644 app/vendor/symfony/validator/Constraints/CurrencyValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Date.php delete mode 100644 app/vendor/symfony/validator/Constraints/DateTime.php delete mode 100644 app/vendor/symfony/validator/Constraints/DateTimeValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/DateValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/DisableAutoMapping.php delete mode 100644 app/vendor/symfony/validator/Constraints/DivisibleBy.php delete mode 100644 app/vendor/symfony/validator/Constraints/DivisibleByValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Email.php delete mode 100644 app/vendor/symfony/validator/Constraints/EmailValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/EnableAutoMapping.php delete mode 100644 app/vendor/symfony/validator/Constraints/EqualTo.php delete mode 100644 app/vendor/symfony/validator/Constraints/EqualToValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Existence.php delete mode 100644 app/vendor/symfony/validator/Constraints/Expression.php delete mode 100644 app/vendor/symfony/validator/Constraints/ExpressionLanguageProvider.php delete mode 100644 app/vendor/symfony/validator/Constraints/ExpressionSyntax.php delete mode 100644 app/vendor/symfony/validator/Constraints/ExpressionSyntaxValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/ExpressionValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/File.php delete mode 100644 app/vendor/symfony/validator/Constraints/FileValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/GreaterThan.php delete mode 100644 app/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php delete mode 100644 app/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/GreaterThanValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/GroupSequence.php delete mode 100644 app/vendor/symfony/validator/Constraints/GroupSequenceProvider.php delete mode 100644 app/vendor/symfony/validator/Constraints/Hostname.php delete mode 100644 app/vendor/symfony/validator/Constraints/HostnameValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Iban.php delete mode 100644 app/vendor/symfony/validator/Constraints/IbanValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/IdenticalTo.php delete mode 100644 app/vendor/symfony/validator/Constraints/IdenticalToValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Image.php delete mode 100644 app/vendor/symfony/validator/Constraints/ImageValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Ip.php delete mode 100644 app/vendor/symfony/validator/Constraints/IpValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/IsFalse.php delete mode 100644 app/vendor/symfony/validator/Constraints/IsFalseValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/IsNull.php delete mode 100644 app/vendor/symfony/validator/Constraints/IsNullValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/IsTrue.php delete mode 100644 app/vendor/symfony/validator/Constraints/IsTrueValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Isbn.php delete mode 100644 app/vendor/symfony/validator/Constraints/IsbnValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Isin.php delete mode 100644 app/vendor/symfony/validator/Constraints/IsinValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Issn.php delete mode 100644 app/vendor/symfony/validator/Constraints/IssnValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Json.php delete mode 100644 app/vendor/symfony/validator/Constraints/JsonValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Language.php delete mode 100644 app/vendor/symfony/validator/Constraints/LanguageValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Length.php delete mode 100644 app/vendor/symfony/validator/Constraints/LengthValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/LessThan.php delete mode 100644 app/vendor/symfony/validator/Constraints/LessThanOrEqual.php delete mode 100644 app/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/LessThanValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Locale.php delete mode 100644 app/vendor/symfony/validator/Constraints/LocaleValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Luhn.php delete mode 100644 app/vendor/symfony/validator/Constraints/LuhnValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/MacAddress.php delete mode 100644 app/vendor/symfony/validator/Constraints/MacAddressValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Negative.php delete mode 100644 app/vendor/symfony/validator/Constraints/NegativeOrZero.php delete mode 100644 app/vendor/symfony/validator/Constraints/NoSuspiciousCharacters.php delete mode 100644 app/vendor/symfony/validator/Constraints/NoSuspiciousCharactersValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotBlank.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotBlankValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotCompromisedPassword.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotEqualTo.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotEqualToValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotIdenticalTo.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotNull.php delete mode 100644 app/vendor/symfony/validator/Constraints/NotNullValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Optional.php delete mode 100644 app/vendor/symfony/validator/Constraints/PasswordStrength.php delete mode 100644 app/vendor/symfony/validator/Constraints/PasswordStrengthValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Positive.php delete mode 100644 app/vendor/symfony/validator/Constraints/PositiveOrZero.php delete mode 100644 app/vendor/symfony/validator/Constraints/Range.php delete mode 100644 app/vendor/symfony/validator/Constraints/RangeValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Regex.php delete mode 100644 app/vendor/symfony/validator/Constraints/RegexValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Required.php delete mode 100644 app/vendor/symfony/validator/Constraints/Sequentially.php delete mode 100644 app/vendor/symfony/validator/Constraints/SequentiallyValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Time.php delete mode 100644 app/vendor/symfony/validator/Constraints/TimeValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Timezone.php delete mode 100644 app/vendor/symfony/validator/Constraints/TimezoneValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Traverse.php delete mode 100644 app/vendor/symfony/validator/Constraints/Type.php delete mode 100644 app/vendor/symfony/validator/Constraints/TypeValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Ulid.php delete mode 100644 app/vendor/symfony/validator/Constraints/UlidValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Unique.php delete mode 100644 app/vendor/symfony/validator/Constraints/UniqueValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Url.php delete mode 100644 app/vendor/symfony/validator/Constraints/UrlValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Uuid.php delete mode 100644 app/vendor/symfony/validator/Constraints/UuidValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Valid.php delete mode 100644 app/vendor/symfony/validator/Constraints/ValidValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Video.php delete mode 100644 app/vendor/symfony/validator/Constraints/VideoValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Week.php delete mode 100644 app/vendor/symfony/validator/Constraints/WeekValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/When.php delete mode 100644 app/vendor/symfony/validator/Constraints/WhenValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/WordCount.php delete mode 100644 app/vendor/symfony/validator/Constraints/WordCountValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/Yaml.php delete mode 100644 app/vendor/symfony/validator/Constraints/YamlValidator.php delete mode 100644 app/vendor/symfony/validator/Constraints/ZeroComparisonConstraintTrait.php delete mode 100644 app/vendor/symfony/validator/ContainerConstraintValidatorFactory.php delete mode 100644 app/vendor/symfony/validator/Context/ExecutionContext.php delete mode 100644 app/vendor/symfony/validator/Context/ExecutionContextFactory.php delete mode 100644 app/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php delete mode 100644 app/vendor/symfony/validator/Context/ExecutionContextInterface.php delete mode 100644 app/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php delete mode 100644 app/vendor/symfony/validator/DependencyInjection/AddAutoMappingConfigurationPass.php delete mode 100644 app/vendor/symfony/validator/DependencyInjection/AddConstraintValidatorsPass.php delete mode 100644 app/vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php delete mode 100644 app/vendor/symfony/validator/DependencyInjection/AttributeMetadataPass.php delete mode 100644 app/vendor/symfony/validator/Exception/BadMethodCallException.php delete mode 100644 app/vendor/symfony/validator/Exception/ConstraintDefinitionException.php delete mode 100644 app/vendor/symfony/validator/Exception/ExceptionInterface.php delete mode 100644 app/vendor/symfony/validator/Exception/GroupDefinitionException.php delete mode 100644 app/vendor/symfony/validator/Exception/InvalidArgumentException.php delete mode 100644 app/vendor/symfony/validator/Exception/InvalidOptionsException.php delete mode 100644 app/vendor/symfony/validator/Exception/LogicException.php delete mode 100644 app/vendor/symfony/validator/Exception/MappingException.php delete mode 100644 app/vendor/symfony/validator/Exception/MissingOptionsException.php delete mode 100644 app/vendor/symfony/validator/Exception/NoSuchMetadataException.php delete mode 100644 app/vendor/symfony/validator/Exception/OutOfBoundsException.php delete mode 100644 app/vendor/symfony/validator/Exception/RuntimeException.php delete mode 100644 app/vendor/symfony/validator/Exception/UnexpectedTypeException.php delete mode 100644 app/vendor/symfony/validator/Exception/UnexpectedValueException.php delete mode 100644 app/vendor/symfony/validator/Exception/UnsupportedMetadataException.php delete mode 100644 app/vendor/symfony/validator/Exception/ValidationFailedException.php delete mode 100644 app/vendor/symfony/validator/Exception/ValidatorException.php delete mode 100644 app/vendor/symfony/validator/GroupProviderInterface.php delete mode 100644 app/vendor/symfony/validator/GroupSequenceProviderInterface.php delete mode 100644 app/vendor/symfony/validator/LICENSE delete mode 100644 app/vendor/symfony/validator/Mapping/AutoMappingStrategy.php delete mode 100644 app/vendor/symfony/validator/Mapping/CascadingStrategy.php delete mode 100644 app/vendor/symfony/validator/Mapping/ClassMetadata.php delete mode 100644 app/vendor/symfony/validator/Mapping/ClassMetadataInterface.php delete mode 100644 app/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php delete mode 100644 app/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php delete mode 100644 app/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php delete mode 100644 app/vendor/symfony/validator/Mapping/GenericMetadata.php delete mode 100644 app/vendor/symfony/validator/Mapping/GetterMetadata.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/AttributeLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/AutoMappingTrait.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/FileLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/FilesLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/LoaderChain.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/PropertyInfoLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd delete mode 100644 app/vendor/symfony/validator/Mapping/Loader/schema/validation.schema.json delete mode 100644 app/vendor/symfony/validator/Mapping/MemberMetadata.php delete mode 100644 app/vendor/symfony/validator/Mapping/MetadataInterface.php delete mode 100644 app/vendor/symfony/validator/Mapping/PropertyMetadata.php delete mode 100644 app/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php delete mode 100644 app/vendor/symfony/validator/Mapping/TraversalStrategy.php delete mode 100644 app/vendor/symfony/validator/ObjectInitializerInterface.php delete mode 100644 app/vendor/symfony/validator/README.md delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.af.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.ar.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.az.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.be.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.bg.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.bs.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.ca.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.cs.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.cy.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.da.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.de.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.el.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.en.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.es.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.et.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.eu.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.fa.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.fi.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.fr.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.gl.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.he.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.hr.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.hu.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.hy.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.id.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.it.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.ja.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.lb.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.lt.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.lv.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.mk.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.mn.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.my.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.nb.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.nl.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.nn.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.no.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.pl.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.pt.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.ro.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.ru.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.sk.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.sl.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.sq.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.sv.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.th.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.tl.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.tr.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.uk.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.ur.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.uz.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.vi.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf delete mode 100644 app/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf delete mode 100644 app/vendor/symfony/validator/Test/CompoundConstraintTestCase.php delete mode 100644 app/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php delete mode 100644 app/vendor/symfony/validator/Util/PropertyPath.php delete mode 100644 app/vendor/symfony/validator/Validation.php delete mode 100644 app/vendor/symfony/validator/Validator/ContextualValidatorInterface.php delete mode 100644 app/vendor/symfony/validator/Validator/LazyProperty.php delete mode 100644 app/vendor/symfony/validator/Validator/RecursiveContextualValidator.php delete mode 100644 app/vendor/symfony/validator/Validator/RecursiveValidator.php delete mode 100644 app/vendor/symfony/validator/Validator/TraceableValidator.php delete mode 100644 app/vendor/symfony/validator/Validator/ValidatorInterface.php delete mode 100644 app/vendor/symfony/validator/ValidatorBuilder.php delete mode 100644 app/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php delete mode 100644 app/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php delete mode 100644 app/vendor/symfony/validator/composer.json delete mode 100644 app/vendor/symfony/yaml/CHANGELOG.md delete mode 100644 app/vendor/symfony/yaml/Command/LintCommand.php delete mode 100644 app/vendor/symfony/yaml/Dumper.php delete mode 100644 app/vendor/symfony/yaml/Escaper.php delete mode 100644 app/vendor/symfony/yaml/Exception/DumpException.php delete mode 100644 app/vendor/symfony/yaml/Exception/ExceptionInterface.php delete mode 100644 app/vendor/symfony/yaml/Exception/ParseException.php delete mode 100644 app/vendor/symfony/yaml/Exception/RuntimeException.php delete mode 100644 app/vendor/symfony/yaml/Inline.php delete mode 100644 app/vendor/symfony/yaml/LICENSE delete mode 100644 app/vendor/symfony/yaml/Parser.php delete mode 100644 app/vendor/symfony/yaml/README.md delete mode 100755 app/vendor/symfony/yaml/Resources/bin/yaml-lint delete mode 100644 app/vendor/symfony/yaml/Tag/TaggedValue.php delete mode 100644 app/vendor/symfony/yaml/Unescaper.php delete mode 100644 app/vendor/symfony/yaml/Yaml.php delete mode 100644 app/vendor/symfony/yaml/composer.json delete mode 100644 app/vendor/testcontainers/testcontainers/LICENSE delete mode 100644 app/vendor/testcontainers/testcontainers/README.md delete mode 100644 app/vendor/testcontainers/testcontainers/composer.json delete mode 100644 app/vendor/testcontainers/testcontainers/src/Container/GenericContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Container/HttpMethod.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Container/InternetProtocol.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Container/StartedGenericContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Container/StartedTestContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Container/StoppedGenericContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Container/StoppedTestContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Container/TestContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/ContainerClient/DockerContainerClient.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Exception/ContainerException.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Exception/ContainerNotReadyException.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Exception/ContainerStateException.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Exception/ContainerWaitingTimeoutException.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Exception/HealthCheckFailedException.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Exception/HealthCheckNotConfiguredException.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Exception/UnknownHealthStatusException.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Modules/MariaDBContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Modules/MongoDBContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Modules/MySQLContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Modules/OpenSearchContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Modules/PostgresContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Modules/RedisContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Utils/DockerAuthConfig.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Utils/HostResolver.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/FixedPortGenerator.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/PortGenerator.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/RandomPortGenerator.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/RandomUniquePortGenerator.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Utils/PortNormalizer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Utils/TarBuilder.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Wait/BaseWaitStrategy.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Wait/WaitForContainer.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Wait/WaitForExec.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Wait/WaitForHealthCheck.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Wait/WaitForHostPort.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Wait/WaitForHttp.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Wait/WaitForLog.php delete mode 100644 app/vendor/testcontainers/testcontainers/src/Wait/WaitStrategy.php diff --git a/app/composer.json b/app/composer.json index f9b594541..4362e9c3e 100644 --- a/app/composer.json +++ b/app/composer.json @@ -26,8 +26,7 @@ "josegonzalez/dotenv": "^4.0", "phpunit/phpunit": "^10.5.5 || ^11.1.3 || ^12.1", "psy/psysh": "@stable", - "symfony/http-client": "^7.4", - "testcontainers/testcontainers": "^1.0" + "symfony/http-client": "^7.4" }, "suggest": { "markstory/asset_compress": "An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.", diff --git a/app/composer.lock b/app/composer.lock index 4e8627a32..92010f862 100644 --- a/app/composer.lock +++ b/app/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a9ba2a0e40387b0447c3778a0672d780", + "content-hash": "b9a5c5be54aabb26c392661ea06bab75", "packages": [ { "name": "cakephp/authentication", @@ -2241,7 +2241,7 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.34.0", + "version": "v1.35.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -2300,7 +2300,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.35.0" }, "funding": [ { @@ -2324,7 +2324,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.34.0", + "version": "v1.35.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -2382,7 +2382,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.35.0" }, "funding": [ { @@ -2406,7 +2406,7 @@ }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.34.0", + "version": "v1.35.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -2467,7 +2467,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.35.0" }, "funding": [ { @@ -2491,7 +2491,7 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.34.0", + "version": "v1.35.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", @@ -2552,7 +2552,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.35.0" }, "funding": [ { @@ -2754,155 +2754,6 @@ } ], "packages-dev": [ - { - "name": "beluga-php/docker-php", - "version": "v1.45.6", - "source": { - "type": "git", - "url": "https://github.com/beluga-php/docker-php.git", - "reference": "2eaf579e19ed08e8d3360bee545ad85f18deadc0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beluga-php/docker-php/zipball/2eaf579e19ed08e8d3360bee545ad85f18deadc0", - "reference": "2eaf579e19ed08e8d3360bee545ad85f18deadc0", - "shasum": "" - }, - "require": { - "beluga-php/docker-php-api": "7.1.45.*", - "nyholm/psr7": "^1.8", - "php": ">=8.1", - "php-http/client-common": "^2.7", - "php-http/discovery": "^1.19", - "php-http/socket-client": "^2.3", - "psr/http-message": "^2.0", - "symfony/filesystem": "^6.3 || ^7.0 || ^8.0", - "symfony/process": "^6.3 || ^7.0 || ^8.0", - "symfony/serializer": "^6.3 || ^7.0 || ^8.0" - }, - "conflict": { - "docker-php/docker-php": "*", - "nikic/php-parser": "<4.13", - "php-http/message": "<1.15" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.42", - "friendsofphp/php-cs-fixer": "^3.8", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.5.46", - "psy/psysh": "^0.12.8", - "roave/security-advisories": "dev-latest" - }, - "type": "library", - "extra": { - "branch-alias": { - "1.41": "1.41.x-dev", - "1.42": "1.42.x-dev", - "1.43": "1.43.x-dev", - "1.44": "1.44.x-dev", - "dev-master": "1.45.x-dev" - } - }, - "autoload": { - "psr-4": { - "Docker\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A Docker PHP client", - "support": { - "issues": "https://github.com/beluga-php/docker-php/issues", - "source": "https://github.com/beluga-php/docker-php/tree/v1.45.6" - }, - "funding": [ - { - "url": "https://github.com/flavioheleno", - "type": "github" - } - ], - "time": "2025-12-27T21:42:50+00:00" - }, - { - "name": "beluga-php/docker-php-api", - "version": "v7.1.45.4", - "source": { - "type": "git", - "url": "https://github.com/beluga-php/docker-php-api.git", - "reference": "8f3ed3b9a69e161489e07664b99eb73258e7eef2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beluga-php/docker-php-api/zipball/8f3ed3b9a69e161489e07664b99eb73258e7eef2", - "reference": "8f3ed3b9a69e161489e07664b99eb73258e7eef2", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "jane-php/json-schema-runtime": "^7.5", - "jane-php/open-api-runtime": "^7.5", - "php": ">=8.1", - "php-http/client-common": "^2.7", - "php-http/discovery": "^1.19", - "php-http/multipart-stream-builder": "^1.3", - "psr/http-client": "^1.0", - "psr/http-client-implementation": "*", - "psr/http-factory": "^1.0", - "psr/http-factory-implementation": "*", - "psr/http-message": "^2.0", - "psr/http-message-implementation": "*", - "symfony/deprecation-contracts": "^3.3", - "symfony/options-resolver": "^6.3 || ^7.0 || ^8.0", - "symfony/serializer": "^6.3 || ^7.0 || ^8.0", - "symfony/validator": "^6.3 || ^7.0 || ^8.0" - }, - "conflict": { - "docker-php/docker-php-api": "*" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.42", - "friendsofphp/php-cs-fixer": "^3.8", - "jane-php/open-api-3": "^7.4", - "roave/security-advisories": "dev-latest" - }, - "type": "library", - "extra": { - "branch-alias": { - "6.1.36": "6.1.36.x-dev", - "6.1.41": "6.1.41.x-dev", - "7.1.41": "7.1.41.x-dev", - "7.1.42": "7.1.42.x-dev", - "7.1.43": "7.1.43.x-dev", - "7.1.44": "7.1.44.x-dev", - "7.1.45": "7.1.45.x-dev", - "dev-main": "7.1.46.x-dev" - } - }, - "autoload": { - "psr-4": { - "Docker\\API\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Docker API generated files from OpenAPI Specification", - "support": { - "issues": "https://github.com/beluga-php/docker-php-api/issues", - "source": "https://github.com/beluga-php/docker-php-api/tree/v7.1.45.4" - }, - "funding": [ - { - "url": "https://github.com/flavioheleno", - "type": "github" - } - ], - "time": "2026-01-09T13:29:42+00:00" - }, { "name": "brick/varexporter", "version": "0.7.0", @@ -3190,72 +3041,6 @@ }, "time": "2026-01-05T22:35:06+00:00" }, - { - "name": "clue/stream-filter", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/clue/stream-filter.git", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "Clue\\StreamFilter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering" - } - ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/stream-filter", - "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" - ], - "support": { - "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.7.0" - }, - "funding": [ - { - "url": "https://clue.engineering/support", - "type": "custom" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2023-12-20T15:40:13+00:00" - }, { "name": "composer/class-map-generator", "version": "1.7.2", @@ -3327,16 +3112,16 @@ }, { "name": "composer/composer", - "version": "2.9.5", + "version": "2.9.6", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "72a8f8e653710e18d83e5dd531eb5a71fc3223e6" + "reference": "9afc32c056d65f9bc4af64ca2aa264a0a38568e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/72a8f8e653710e18d83e5dd531eb5a71fc3223e6", - "reference": "72a8f8e653710e18d83e5dd531eb5a71fc3223e6", + "url": "https://api.github.com/repos/composer/composer/zipball/9afc32c056d65f9bc4af64ca2aa264a0a38568e5", + "reference": "9afc32c056d65f9bc4af64ca2aa264a0a38568e5", "shasum": "" }, "require": { @@ -3424,7 +3209,7 @@ "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", "security": "https://github.com/composer/composer/security/policy", - "source": "https://github.com/composer/composer/tree/2.9.5" + "source": "https://github.com/composer/composer/tree/2.9.6" }, "funding": [ { @@ -3436,7 +3221,7 @@ "type": "github" } ], - "time": "2026-01-29T10:40:53+00:00" + "time": "2026-04-14T09:41:22+00:00" }, { "name": "composer/metadata-minifier", @@ -3956,130 +3741,6 @@ }, "time": "2026-02-08T16:21:46+00:00" }, - { - "name": "jane-php/json-schema-runtime", - "version": "v7.11.1", - "source": { - "type": "git", - "url": "https://github.com/janephp/json-schema-runtime.git", - "reference": "447cba025ca2c9272daa9395668832d02ed60926" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/janephp/json-schema-runtime/zipball/447cba025ca2c9272daa9395668832d02ed60926", - "reference": "447cba025ca2c9272daa9395668832d02ed60926", - "shasum": "" - }, - "require": { - "league/uri": "^6.7.2 || ^7.4", - "php": "^8.1", - "php-jsonpointer/php-jsonpointer": "^3.0 || ^4.0", - "symfony/serializer": "^5.4 || ^6.4 || ^7.0 || ^8.0", - "symfony/yaml": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "conflict": { - "symfony/framework-bundle": "5.1.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-next": "7-dev" - } - }, - "autoload": { - "psr-4": { - "Jane\\Component\\JsonSchemaRuntime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" - }, - { - "name": "Baptiste Leduc", - "email": "baptiste.leduc@gmail.com" - } - ], - "description": "Jane runtime Library", - "support": { - "source": "https://github.com/janephp/json-schema-runtime/tree/v7.11.1" - }, - "time": "2026-03-26T17:01:00+00:00" - }, - { - "name": "jane-php/open-api-runtime", - "version": "v7.11.1", - "source": { - "type": "git", - "url": "https://github.com/janephp/open-api-runtime.git", - "reference": "2afe544405a61d4254baf0bc99c299b4dffdf51e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/janephp/open-api-runtime/zipball/2afe544405a61d4254baf0bc99c299b4dffdf51e", - "reference": "2afe544405a61d4254baf0bc99c299b4dffdf51e", - "shasum": "" - }, - "require": { - "jane-php/json-schema-runtime": "^7.0", - "nyholm/psr7": "^1.8", - "php": "^8.1", - "php-http/client-common": "^2.0", - "php-http/discovery": "^1.6", - "php-http/multipart-stream-builder": "^1.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "symfony/options-resolver": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5", - "symfony/serializer": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-next": "7-dev" - } - }, - "autoload": { - "psr-4": { - "Jane\\Component\\OpenApiRuntime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" - }, - { - "name": "Baptiste Leduc", - "email": "baptiste.leduc@gmail.com" - } - ], - "description": "Jane OpenAPI Runtime Library, dependencies and utility class for a library generated by jane/openapi", - "support": { - "source": "https://github.com/janephp/open-api-runtime/tree/v7.11.1" - }, - "time": "2026-03-26T13:31:24+00:00" - }, { "name": "jasny/twig-extensions", "version": "v1.3.1", @@ -4531,84 +4192,6 @@ }, "time": "2025-12-06T11:56:16+00:00" }, - { - "name": "nyholm/psr7", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/Nyholm/psr7.git", - "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", - "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0", - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "http-interop/http-factory-tests": "^0.9", - "php-http/message-factory": "^1.0", - "php-http/psr7-integration-tests": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", - "symfony/error-handler": "^4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Nyholm\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - }, - { - "name": "Martijn van der Ven", - "email": "martijn@vanderven.se" - } - ], - "description": "A fast PHP7 implementation of PSR-7", - "homepage": "https://tnyholm.se", - "keywords": [ - "psr-17", - "psr-7" - ], - "support": { - "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.8.2" - }, - "funding": [ - { - "url": "https://github.com/Zegnat", - "type": "github" - }, - { - "url": "https://github.com/nyholm", - "type": "github" - } - ], - "time": "2024-09-09T07:06:30+00:00" - }, { "name": "phar-io/manifest", "version": "2.0.4", @@ -4728,476 +4311,540 @@ "time": "2022-02-21T01:04:05+00:00" }, { - "name": "php-http/client-common", - "version": "2.7.3", + "name": "phpstan/phpdoc-parser", + "version": "2.3.2", "source": { "type": "git", - "url": "https://github.com/php-http/client-common.git", - "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1" + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/dcc6de29c90dd74faab55f71b79d89409c4bf0c1", - "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", - "php-http/httplug": "^2.0", - "php-http/message": "^1.6", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/polyfill-php80": "^1.17" + "php": "^7.4 || ^8.0" }, "require-dev": { - "doctrine/instantiator": "^1.1", - "guzzlehttp/psr7": "^1.4", - "nyholm/psr7": "^1.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7" - }, - "suggest": { - "ext-json": "To detect JSON responses with the ContentTypePlugin", - "ext-libxml": "To detect XML responses with the ContentTypePlugin", - "php-http/cache-plugin": "PSR-6 Cache plugin", - "php-http/logger-plugin": "PSR-3 Logger plugin", - "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^5.3.0", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", + "symfony/process": "^5.2" }, "type": "library", "autoload": { "psr-4": { - "Http\\Client\\Common\\": "src/" + "PHPStan\\PhpDocParser\\": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Common HTTP Client implementations and tools for HTTPlug", - "homepage": "http://httplug.io", - "keywords": [ - "client", - "common", - "http", - "httplug" - ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { - "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.3" + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" }, - "time": "2025-11-29T19:12:34+00:00" + "time": "2026-01-25T14:56:51+00:00" }, { - "name": "php-http/discovery", - "version": "1.20.0", + "name": "phpunit/php-code-coverage", + "version": "12.5.5", "source": { "type": "git", - "url": "https://github.com/php-http/discovery.git", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "a25bde1f8f83849f441ef5713c6466e470872a71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/a25bde1f8f83849f441ef5713c6466e470872a71", + "reference": "a25bde1f8f83849f441ef5713c6466e470872a71", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "nyholm/psr7": "<1.0", - "zendframework/zend-diactoros": "*" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "*", - "psr/http-factory-implementation": "*", - "psr/http-message-implementation": "*" + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^5.7.0", + "php": ">=8.3", + "phpunit/php-text-template": "^5.0", + "sebastian/complexity": "^5.0", + "sebastian/environment": "^8.0.3", + "sebastian/lines-of-code": "^4.0", + "sebastian/version": "^6.0", + "theseer/tokenizer": "^2.0.1" }, "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "graham-campbell/phpspec-skip-example-extension": "^5.0", - "php-http/httplug": "^1.0 || ^2.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "sebastian/comparator": "^3.0.5 || ^4.0.8", - "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" + "phpunit/phpunit": "^12.5.1" }, - "type": "composer-plugin", + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", "extra": { - "class": "Http\\Discovery\\Composer\\Plugin", - "plugin-optional": true + "branch-alias": { + "dev-main": "12.5.x-dev" + } }, "autoload": { - "psr-4": { - "Http\\Discovery\\": "src/" - }, - "exclude-from-classmap": [ - "src/Composer/Plugin.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", - "homepage": "http://php-http.org", + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ - "adapter", - "client", - "discovery", - "factory", - "http", - "message", - "psr17", - "psr7" + "coverage", + "testing", + "xunit" ], "support": { - "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.20.0" + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.5" }, - "time": "2024-10-02T11:20:13+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" + } + ], + "time": "2026-04-13T04:53:32+00:00" }, { - "name": "php-http/httplug", - "version": "2.4.1", + "name": "phpunit/php-file-iterator", + "version": "6.0.1", "source": { "type": "git", - "url": "https://github.com/php-http/httplug.git", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", + "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", - "php-http/promise": "^1.1", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || ^2.0" + "php": ">=8.3" }, "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0", - "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0" + "phpunit/phpunit": "^12.0" }, "type": "library", - "autoload": { - "psr-4": { - "Http\\Client\\": "src/" + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "HTTPlug, the HTTP client abstraction for PHP", - "homepage": "http://httplug.io", + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "client", - "http" + "filesystem", + "iterator" ], "support": { - "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.1" + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.1" }, - "time": "2024-09-23T11:39:58+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", + "type": "tidelift" + } + ], + "time": "2026-02-02T14:04:18+00:00" }, { - "name": "php-http/message", - "version": "1.16.2", + "name": "phpunit/php-invoker", + "version": "6.0.0", "source": { "type": "git", - "url": "https://github.com/php-http/message.git", - "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a", - "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/12b54e689b07a25a9b41e57736dfab6ec9ae5406", + "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406", "shasum": "" }, "require": { - "clue/stream-filter": "^1.5", - "php": "^7.2 || ^8.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0" + "php": ">=8.3" }, "require-dev": { - "ergebnis/composer-normalize": "^2.6", - "ext-zlib": "*", - "guzzlehttp/psr7": "^1.0 || ^2.0", - "laminas/laminas-diactoros": "^2.0 || ^3.0", - "php-http/message-factory": "^1.0.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "slim/slim": "^3.0" + "ext-pcntl": "*", + "phpunit/phpunit": "^12.0" }, "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "laminas/laminas-diactoros": "Used with Diactoros Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation" + "ext-pcntl": "*" }, "type": "library", - "autoload": { - "files": [ - "src/filters.php" - ], - "psr-4": { - "Http\\Message\\": "src/" + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "HTTP Message related tools", - "homepage": "http://php-http.org", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "http", - "message", - "psr-7" + "process" ], "support": { - "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.2" + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/6.0.0" }, - "time": "2024-10-02T11:34:13+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:58:58+00:00" }, { - "name": "php-http/multipart-stream-builder", - "version": "1.4.2", + "name": "phpunit/php-text-template", + "version": "5.0.0", "source": { "type": "git", - "url": "https://github.com/php-http/multipart-stream-builder.git", - "reference": "10086e6de6f53489cca5ecc45b6f468604d3460e" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/10086e6de6f53489cca5ecc45b6f468604d3460e", - "reference": "10086e6de6f53489cca5ecc45b6f468604d3460e", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e1367a453f0eda562eedb4f659e13aa900d66c53", + "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", - "php-http/discovery": "^1.15", - "psr/http-factory-implementation": "^1.0" + "php": ">=8.3" }, "require-dev": { - "nyholm/psr7": "^1.0", - "php-http/message": "^1.5", - "php-http/message-factory": "^1.0.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3" + "phpunit/phpunit": "^12.0" }, "type": "library", - "autoload": { - "psr-4": { - "Http\\Message\\MultipartStream\\": "src/" + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "A builder class that help you create a multipart stream", - "homepage": "http://php-http.org", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "factory", - "http", - "message", - "multipart stream", - "stream" + "template" ], "support": { - "issues": "https://github.com/php-http/multipart-stream-builder/issues", - "source": "https://github.com/php-http/multipart-stream-builder/tree/1.4.2" + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/5.0.0" }, - "time": "2024-09-04T13:22:54+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:59:16+00:00" }, { - "name": "php-http/promise", - "version": "1.3.1", + "name": "phpunit/php-timer", + "version": "8.0.0", "source": { "type": "git", - "url": "https://github.com/php-http/promise.git", - "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", - "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", + "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": ">=8.3" }, "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3", - "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" + "phpunit/phpunit": "^12.0" }, "type": "library", - "autoload": { - "psr-4": { - "Http\\Promise\\": "src/" + "extra": { + "branch-alias": { + "dev-main": "8.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Joel Wurtz", - "email": "joel.wurtz@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Promise used for asynchronous HTTP requests", - "homepage": "http://httplug.io", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "promise" + "timer" ], "support": { - "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.3.1" + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/8.0.0" }, - "time": "2024-03-15T13:55:21+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:59:38+00:00" }, { - "name": "php-http/socket-client", - "version": "2.4.0", + "name": "phpunit/phpunit", + "version": "12.5.19", "source": { "type": "git", - "url": "https://github.com/php-http/socket-client.git", - "reference": "99bb89004e04b92bf4b688d40a1f06494a7063b3" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "92f7744ca5f5701c9e4b4a60d9e143f2d84956da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/socket-client/zipball/99bb89004e04b92bf4b688d40a1f06494a7063b3", - "reference": "99bb89004e04b92bf4b688d40a1f06494a7063b3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/92f7744ca5f5701c9e4b4a60d9e143f2d84956da", + "reference": "92f7744ca5f5701c9e4b4a60d9e143f2d84956da", "shasum": "" }, "require": { - "nyholm/psr7": "^1.8.1", - "php": "^8.1", - "php-http/httplug": "^2.4", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "^2.6 || ^3.4 || ^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0" - }, - "conflict": { - "guzzlehttp/psr7": "<2.0" - }, - "provide": { - "php-http/client-implementation": "1.0", - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "ext-openssl": "*", - "friendsofphp/php-cs-fixer": "^3.51", - "php-http/client-common": "^2.7", - "php-http/client-integration-tests": "^4.0", - "php-http/message": "^1.16", - "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0" + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.3", + "phpunit/php-code-coverage": "^12.5.5", + "phpunit/php-file-iterator": "^6.0.1", + "phpunit/php-invoker": "^6.0.0", + "phpunit/php-text-template": "^5.0.0", + "phpunit/php-timer": "^8.0.0", + "sebastian/cli-parser": "^4.2.0", + "sebastian/comparator": "^7.1.5", + "sebastian/diff": "^7.0.0", + "sebastian/environment": "^8.0.4", + "sebastian/exporter": "^7.0.2", + "sebastian/global-state": "^8.0.2", + "sebastian/object-enumerator": "^7.0.0", + "sebastian/recursion-context": "^7.0.1", + "sebastian/type": "^6.0.3", + "sebastian/version": "^6.0.0", + "staabm/side-effects-detector": "^1.0.5" }, + "bin": [ + "phpunit" + ], "type": "library", - "autoload": { - "psr-4": { - "Http\\Client\\Socket\\": "src/" + "extra": { + "branch-alias": { + "dev-main": "12.5-dev" } }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Socket client for PHP-HTTP", + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], "support": { - "issues": "https://github.com/php-http/socket-client/issues", - "source": "https://github.com/php-http/socket-client/tree/2.4.0" + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.19" }, - "time": "2026-01-10T10:45:38+00:00" + "funding": [ + { + "url": "https://phpunit.de/sponsoring.html", + "type": "other" + } + ], + "time": "2026-04-13T05:38:19+00:00" }, { - "name": "php-jsonpointer/php-jsonpointer", - "version": "v4.0.0", + "name": "psy/psysh", + "version": "v0.12.22", "source": { "type": "git", - "url": "https://github.com/raphaelstolt/php-jsonpointer.git", - "reference": "fd50fc1aecd80dedb5bc59c9a1d70d4cfec7933b" + "url": "https://github.com/bobthecow/psysh.git", + "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/raphaelstolt/php-jsonpointer/zipball/fd50fc1aecd80dedb5bc59c9a1d70d4cfec7933b", - "reference": "fd50fc1aecd80dedb5bc59c9a1d70d4cfec7933b", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/3be75d5b9244936dd4ac62ade2bfb004d13acf0f", + "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f", "shasum": "" }, "require": { - "php": ">=7.4" + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.0", - "phpunit/phpunit": "8.*" + "bamarni/composer-bin-plugin": "^1.2", + "composer/class-map-generator": "^1.6" + }, + "suggest": { + "composer/class-map-generator": "Improved tab completion performance with better class discovery.", + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, + "bin": [ + "bin/psysh" + ], "type": "library", "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-main": "0.12.x-dev" } }, "autoload": { - "psr-0": { - "Rs\\Json": "src/" + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5206,109 +4853,121 @@ ], "authors": [ { - "name": "Raphael Stolt", - "email": "raphael.stolt@gmail.com", - "homepage": "http://raphaelstolt.blogspot.com/" + "name": "Justin Hileman", + "email": "justin@justinhileman.info" } ], - "description": "Implementation of JSON Pointer (http://tools.ietf.org/html/rfc6901)", - "homepage": "https://github.com/raphaelstolt/php-jsonpointer", + "description": "An interactive shell for modern PHP.", + "homepage": "https://psysh.org", "keywords": [ - "json", - "json pointer", - "json traversal" + "REPL", + "console", + "interactive", + "shell" ], "support": { - "issues": "https://github.com/raphaelstolt/php-jsonpointer/issues", - "source": "https://github.com/raphaelstolt/php-jsonpointer/tree/v4.0.0" + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.22" }, - "time": "2022-01-11T14:28:07+00:00" + "time": "2026-03-22T23:03:24+00:00" }, { - "name": "phpstan/phpdoc-parser", - "version": "2.3.2", + "name": "react/promise", + "version": "v3.3.0", "source": { "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" + "url": "https://github.com/reactphp/promise.git", + "reference": "23444f53a813a3296c1368bb104793ce8d88f04a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", - "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", + "url": "https://api.github.com/repos/reactphp/promise/zipball/23444f53a813a3296c1368bb104793ce8d88f04a", + "reference": "23444f53a813a3296c1368bb104793ce8d88f04a", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": ">=7.1.0" }, "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^5.3.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^9.6", - "symfony/process": "^5.2" + "phpstan/phpstan": "1.12.28 || 1.4.10", + "phpunit/phpunit": "^9.6 || ^7.5" }, "type": "library", "autoload": { + "files": [ + "src/functions_include.php" + ], "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] + "React\\Promise\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.3.0" }, - "time": "2026-01-25T14:56:51+00:00" + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-08-19T18:57:03+00:00" }, { - "name": "phpunit/php-code-coverage", - "version": "12.5.5", + "name": "sebastian/cli-parser", + "version": "4.2.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "a25bde1f8f83849f441ef5713c6466e470872a71" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/a25bde1f8f83849f441ef5713c6466e470872a71", - "reference": "a25bde1f8f83849f441ef5713c6466e470872a71", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/90f41072d220e5c40df6e8635f5dafba2d9d4d04", + "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^5.7.0", - "php": ">=8.3", - "phpunit/php-text-template": "^5.0", - "sebastian/complexity": "^5.0", - "sebastian/environment": "^8.0.3", - "sebastian/lines-of-code": "^4.0", - "sebastian/version": "^6.0", - "theseer/tokenizer": "^2.0.1" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.5.1" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "12.5.x-dev" + "dev-main": "4.2-dev" } }, "autoload": { @@ -5327,17 +4986,12 @@ "role": "lead" } ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.5" + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.0" }, "funding": [ { @@ -5353,36 +5007,43 @@ "type": "thanks_dev" }, { - "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser", "type": "tidelift" } ], - "time": "2026-04-13T04:53:32+00:00" + "time": "2025-09-14T09:36:45+00:00" }, { - "name": "phpunit/php-file-iterator", - "version": "6.0.1", + "name": "sebastian/comparator", + "version": "7.1.6", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "c769009dee98f494e0edc3fd4f4087501688f11e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", - "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c769009dee98f494e0edc3fd4f4087501688f11e", + "reference": "c769009dee98f494e0edc3fd4f4087501688f11e", "shasum": "" }, "require": { - "php": ">=8.3" + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.3", + "sebastian/diff": "^7.0", + "sebastian/exporter": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.2" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.1-dev" } }, "autoload": { @@ -5397,20 +5058,32 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ - "filesystem", - "iterator" + "comparator", + "compare", + "equality" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.1" + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.6" }, "funding": [ { @@ -5426,40 +5099,37 @@ "type": "thanks_dev" }, { - "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", "type": "tidelift" } ], - "time": "2026-02-02T14:04:18+00:00" + "time": "2026-04-14T08:23:15+00:00" }, { - "name": "phpunit/php-invoker", - "version": "6.0.0", + "name": "sebastian/complexity", + "version": "5.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/12b54e689b07a25a9b41e57736dfab6ec9ae5406", - "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb", + "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb", "shasum": "" }, "require": { + "nikic/php-parser": "^5.0", "php": ">=8.3" }, "require-dev": { - "ext-pcntl": "*", "phpunit/phpunit": "^12.0" }, - "suggest": { - "ext-pcntl": "*" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -5478,15 +5148,12 @@ "role": "lead" } ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/6.0.0" + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/5.0.0" }, "funding": [ { @@ -5494,32 +5161,33 @@ "type": "github" } ], - "time": "2025-02-07T04:58:58+00:00" + "time": "2025-02-07T04:55:25+00:00" }, { - "name": "phpunit/php-text-template", - "version": "5.0.0", + "name": "sebastian/diff", + "version": "7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e1367a453f0eda562eedb4f659e13aa900d66c53", - "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f", "shasum": "" }, "require": { "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.0", + "symfony/process": "^7.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -5534,19 +5202,25 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "template" + "diff", + "udiff", + "unidiff", + "unified diff" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/5.0.0" + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0" }, "funding": [ { @@ -5554,20 +5228,20 @@ "type": "github" } ], - "time": "2025-02-07T04:59:16+00:00" + "time": "2025-02-07T04:55:46+00:00" }, { - "name": "phpunit/php-timer", - "version": "8.0.0", + "name": "sebastian/environment", + "version": "8.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "7b8842c2d8e85d0c3a5831236bf5869af6ab2a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", - "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/7b8842c2d8e85d0c3a5831236bf5869af6ab2a11", + "reference": "7b8842c2d8e85d0c3a5831236bf5869af6ab2a11", "shasum": "" }, "require": { @@ -5576,6 +5250,9 @@ "require-dev": { "phpunit/phpunit": "^12.0" }, + "suggest": { + "ext-posix": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -5594,83 +5271,70 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "https://github.com/sebastianbergmann/environment", "keywords": [ - "timer" + "Xdebug", + "environment", + "hhvm" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "security": "https://github.com/sebastianbergmann/php-timer/security/policy", - "source": "https://github.com/sebastianbergmann/php-timer/tree/8.0.0" + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/8.0.4" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" } ], - "time": "2025-02-07T04:59:38+00:00" + "time": "2026-03-15T07:05:40+00:00" }, { - "name": "phpunit/phpunit", - "version": "12.5.19", + "name": "sebastian/exporter", + "version": "7.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "92f7744ca5f5701c9e4b4a60d9e143f2d84956da" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "016951ae10980765e4e7aee491eb288c64e505b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/92f7744ca5f5701c9e4b4a60d9e143f2d84956da", - "reference": "92f7744ca5f5701c9e4b4a60d9e143f2d84956da", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7", + "reference": "016951ae10980765e4e7aee491eb288c64e505b7", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", "php": ">=8.3", - "phpunit/php-code-coverage": "^12.5.5", - "phpunit/php-file-iterator": "^6.0.1", - "phpunit/php-invoker": "^6.0.0", - "phpunit/php-text-template": "^5.0.0", - "phpunit/php-timer": "^8.0.0", - "sebastian/cli-parser": "^4.2.0", - "sebastian/comparator": "^7.1.5", - "sebastian/diff": "^7.0.0", - "sebastian/environment": "^8.0.4", - "sebastian/exporter": "^7.0.2", - "sebastian/global-state": "^8.0.2", - "sebastian/object-enumerator": "^7.0.0", - "sebastian/recursion-context": "^7.0.1", - "sebastian/type": "^6.0.3", - "sebastian/version": "^6.0.0", - "staabm/side-effects-detector": "^1.0.5" + "sebastian/recursion-context": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" }, - "bin": [ - "phpunit" - ], "type": "library", "extra": { "branch-alias": { - "dev-main": "12.5-dev" + "dev-main": "7.0-dev" } }, "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], "classmap": [ "src/" ] @@ -5682,197 +5346,146 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.19" + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2" }, "funding": [ { - "url": "https://phpunit.de/sponsoring.html", - "type": "other" + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" } ], - "time": "2026-04-13T05:38:19+00:00" + "time": "2025-09-24T06:16:11+00:00" }, { - "name": "psy/psysh", - "version": "v0.12.22", + "name": "sebastian/global-state", + "version": "8.0.2", "source": { "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "ef1377171613d09edd25b7816f05be8313f9115d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/3be75d5b9244936dd4ac62ade2bfb004d13acf0f", - "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ef1377171613d09edd25b7816f05be8313f9115d", + "reference": "ef1377171613d09edd25b7816f05be8313f9115d", "shasum": "" }, "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "^5.0 || ^4.0", - "php": "^8.0 || ^7.4", - "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", - "symfony/var-dumper": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" - }, - "conflict": { - "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + "php": ">=8.3", + "sebastian/object-reflector": "^5.0", + "sebastian/recursion-context": "^7.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "composer/class-map-generator": "^1.6" - }, - "suggest": { - "composer/class-map-generator": "Improved tab completion performance with better class discovery.", - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + "ext-dom": "*", + "phpunit/phpunit": "^12.0" }, - "bin": [ - "bin/psysh" - ], "type": "library", "extra": { - "bamarni-bin": { - "bin-links": false, - "forward-command": false - }, "branch-alias": { - "dev-main": "0.12.x-dev" + "dev-main": "8.0-dev" } }, "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Justin Hileman", - "email": "justin@justinhileman.info" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "An interactive shell for modern PHP.", - "homepage": "https://psysh.org", + "description": "Snapshotting of global state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ - "REPL", - "console", - "interactive", - "shell" + "global state" ], "support": { - "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.22" - }, - "time": "2026-03-22T23:03:24+00:00" - }, - { - "name": "react/promise", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "23444f53a813a3296c1368bb104793ce8d88f04a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/23444f53a813a3296c1368bb104793ce8d88f04a", - "reference": "23444f53a813a3296c1368bb104793ce8d88f04a", - "shasum": "" - }, - "require": { - "php": ">=7.1.0" - }, - "require-dev": { - "phpstan/phpstan": "1.12.28 || 1.4.10", - "phpunit/phpunit": "^9.6 || ^7.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "React\\Promise\\": "src/" - } + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.2" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "funding": [ { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" + "url": "https://github.com/sebastianbergmann", + "type": "github" }, { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" }, { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" }, { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v3.3.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "type": "tidelift" } ], - "time": "2025-08-19T18:57:03+00:00" + "time": "2025-08-29T11:29:25+00:00" }, { - "name": "sebastian/cli-parser", - "version": "4.2.0", + "name": "sebastian/lines-of-code", + "version": "4.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/90f41072d220e5c40df6e8635f5dafba2d9d4d04", - "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/97ffee3bcfb5805568d6af7f0f893678fc076d2f", + "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f", "shasum": "" }, "require": { + "nikic/php-parser": "^5.0", "php": ">=8.3" }, "require-dev": { @@ -5881,7 +5494,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -5900,64 +5513,47 @@ "role": "lead" } ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.0" + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser", - "type": "tidelift" } ], - "time": "2025-09-14T09:36:45+00:00" + "time": "2025-02-07T04:57:28+00:00" }, { - "name": "sebastian/comparator", - "version": "7.1.5", + "name": "sebastian/object-enumerator", + "version": "7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "c284f55811f43d555e51e8e5c166ac40d3e33c63" + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c284f55811f43d555e51e8e5c166ac40d3e33c63", - "reference": "c284f55811f43d555e51e8e5c166ac40d3e33c63", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1effe8e9b8e068e9ae228e542d5d11b5d16db894", + "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-mbstring": "*", "php": ">=8.3", - "sebastian/diff": "^7.0", - "sebastian/exporter": "^7.0" + "sebastian/object-reflector": "^5.0", + "sebastian/recursion-context": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^12.2" - }, - "suggest": { - "ext-bcmath": "For comparing BcMath\\Number objects" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "7.1-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -5973,68 +5569,38 @@ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.5" + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/7.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", - "type": "tidelift" } ], - "time": "2026-04-08T04:43:00+00:00" + "time": "2025-02-07T04:57:48+00:00" }, { - "name": "sebastian/complexity", + "name": "sebastian/object-reflector", "version": "5.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "4bfa827c969c98be1e527abd576533293c634f6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb", - "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/4bfa827c969c98be1e527abd576533293c634f6a", + "reference": "4bfa827c969c98be1e527abd576533293c634f6a", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", "php": ">=8.3" }, "require-dev": { @@ -6058,16 +5624,15 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/5.0.0" + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/5.0.0" }, "funding": [ { @@ -6075,28 +5640,27 @@ "type": "github" } ], - "time": "2025-02-07T04:55:25+00:00" + "time": "2025-02-07T04:58:17+00:00" }, { - "name": "sebastian/diff", - "version": "7.0.0", + "name": "sebastian/recursion-context", + "version": "7.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7ab1ea946c012266ca32390913653d844ecd085f" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f", - "reference": "7ab1ea946c012266ca32390913653d844ecd085f", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", + "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", "shasum": "" }, "require": { "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0", - "symfony/process": "^7.2" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { @@ -6119,43 +5683,53 @@ "email": "sebastian@phpunit.de" }, { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0" + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" } ], - "time": "2025-02-07T04:55:46+00:00" + "time": "2025-08-13T04:44:59+00:00" }, { - "name": "sebastian/environment", - "version": "8.0.4", + "name": "sebastian/type", + "version": "6.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "7b8842c2d8e85d0c3a5831236bf5869af6ab2a11" + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/7b8842c2d8e85d0c3a5831236bf5869af6ab2a11", - "reference": "7b8842c2d8e85d0c3a5831236bf5869af6ab2a11", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d", + "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d", "shasum": "" }, "require": { @@ -6164,13 +5738,10 @@ "require-dev": { "phpunit/phpunit": "^12.0" }, - "suggest": { - "ext-posix": "*" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "8.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -6185,20 +5756,16 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "https://github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/8.0.4" + "issues": "https://github.com/sebastianbergmann/type/issues", + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/6.0.3" }, "funding": [ { @@ -6214,38 +5781,33 @@ "type": "thanks_dev" }, { - "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", "type": "tidelift" } ], - "time": "2026-03-15T07:05:40+00:00" + "time": "2025-08-09T06:57:12+00:00" }, { - "name": "sebastian/exporter", - "version": "7.0.2", + "name": "sebastian/version", + "version": "6.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "016951ae10980765e4e7aee491eb288c64e505b7" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7", - "reference": "016951ae10980765e4e7aee491eb288c64e505b7", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c", + "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": ">=8.3", - "sebastian/recursion-context": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^12.0" + "php": ">=8.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "7.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -6260,1301 +5822,421 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2" + "issues": "https://github.com/sebastianbergmann/version/issues", + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/6.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", - "type": "tidelift" } ], - "time": "2025-09-24T06:16:11+00:00" + "time": "2025-02-07T05:00:38+00:00" }, { - "name": "sebastian/global-state", - "version": "8.0.2", + "name": "seld/jsonlint", + "version": "1.11.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "ef1377171613d09edd25b7816f05be8313f9115d" + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ef1377171613d09edd25b7816f05be8313f9115d", - "reference": "ef1377171613d09edd25b7816f05be8313f9115d", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2", "shasum": "" }, "require": { - "php": ">=8.3", - "sebastian/object-reflector": "^5.0", - "sebastian/recursion-context": "^7.0" + "php": "^5.3 || ^7.0 || ^8.0" }, "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^12.0" + "phpstan/phpstan": "^1.11", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" }, + "bin": [ + "bin/jsonlint" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "8.0-dev" + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" } }, - "autoload": { - "classmap": [ - "src/" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" } ], - "description": "Snapshotting of global state", - "homepage": "https://www.github.com/sebastianbergmann/global-state", + "description": "JSON Linter", "keywords": [ - "global state" + "json", + "linter", + "parser", + "validator" ], "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.2" + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/Seldaek", "type": "github" }, { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", "type": "tidelift" } ], - "time": "2025-08-29T11:29:25+00:00" + "time": "2024-07-11T14:55:45+00:00" }, { - "name": "sebastian/lines-of-code", - "version": "4.0.0", + "name": "seld/phar-utils", + "version": "1.2.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f" + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/97ffee3bcfb5805568d6af7f0f893678fc076d2f", - "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", - "php": ">=8.3" - }, - "require-dev": { - "phpunit/phpunit": "^12.0" + "php": ">=5.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-master": "1.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Seld\\PharUtils\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" } ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phar" + ], "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.0" + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2025-02-07T04:57:28+00:00" + "time": "2022-08-31T10:31:18+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "7.0.0", + "name": "seld/signal-handler", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894" + "url": "https://github.com/Seldaek/signal-handler.git", + "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1effe8e9b8e068e9ae228e542d5d11b5d16db894", - "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894", + "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", + "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", "shasum": "" }, "require": { - "php": ">=8.3", - "sebastian/object-reflector": "^5.0", - "sebastian/recursion-context": "^7.0" + "php": ">=7.2.0" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpstan/phpstan": "^1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^7.5.20 || ^8.5.23", + "psr/log": "^1 || ^2 || ^3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "7.0-dev" + "dev-main": "2.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Seld\\Signal\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", + "keywords": [ + "posix", + "sigint", + "signal", + "sigterm", + "unix" + ], "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/7.0.0" + "issues": "https://github.com/Seldaek/signal-handler/issues", + "source": "https://github.com/Seldaek/signal-handler/tree/2.0.2" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2025-02-07T04:57:48+00:00" + "time": "2023-09-03T09:24:00+00:00" }, { - "name": "sebastian/object-reflector", - "version": "5.0.0", + "name": "slevomat/coding-standard", + "version": "8.28.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "4bfa827c969c98be1e527abd576533293c634f6a" + "url": "https://github.com/slevomat/coding-standard.git", + "reference": "66151cfbd25b50e8becd9f809fb704f01fd4d6f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/4bfa827c969c98be1e527abd576533293c634f6a", - "reference": "4bfa827c969c98be1e527abd576533293c634f6a", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/66151cfbd25b50e8becd9f809fb704f01fd4d6f2", + "reference": "66151cfbd25b50e8becd9f809fb704f01fd4d6f2", "shasum": "" }, "require": { - "php": ">=8.3" + "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || ^1.2.0", + "php": "^7.4 || ^8.0", + "phpstan/phpdoc-parser": "^2.3.2", + "squizlabs/php_codesniffer": "^4.0.1" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phing/phing": "3.0.1|3.1.2", + "php-parallel-lint/php-parallel-lint": "1.4.0", + "phpstan/phpstan": "2.1.42", + "phpstan/phpstan-deprecation-rules": "2.0.4", + "phpstan/phpstan-phpunit": "2.0.16", + "phpstan/phpstan-strict-rules": "2.0.10", + "phpunit/phpunit": "9.6.34|10.5.63|11.4.4|11.5.50|12.5.14" }, - "type": "library", + "type": "phpcodesniffer-standard", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-master": "8.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "SlevomatCodingStandard\\": "SlevomatCodingStandard/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } + "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", + "keywords": [ + "dev", + "phpcs" ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/5.0.0" + "issues": "https://github.com/slevomat/coding-standard/issues", + "source": "https://github.com/slevomat/coding-standard/tree/8.28.1" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/kukulich", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", + "type": "tidelift" } ], - "time": "2025-02-07T04:58:17+00:00" + "time": "2026-03-22T17:22:38+00:00" }, { - "name": "sebastian/recursion-context", - "version": "7.0.1", + "name": "squizlabs/php_codesniffer", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c" + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", + "reference": "0525c73950de35ded110cffafb9892946d7771b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", - "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/0525c73950de35ded110cffafb9892946d7771b5", + "reference": "0525c73950de35ded110cffafb9892946d7771b5", "shasum": "" }, "require": { - "php": ">=8.3" + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=7.2.0" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^8.4.0 || ^9.3.4 || ^10.5.32 || 11.3.3 - 11.5.28 || ^11.5.31" }, + "bin": [ + "bin/phpcbf", + "bin/phpcs" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Greg Sherwood", + "role": "Former lead" }, { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" + "name": "Juliette Reinders Folmer", + "role": "Current lead" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", - "type": "tidelift" - } - ], - "time": "2025-08-13T04:44:59+00:00" - }, - { - "name": "sebastian/type", - "version": "6.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d", - "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d", - "shasum": "" - }, - "require": { - "php": ">=8.3" - }, - "require-dev": { - "phpunit/phpunit": "^12.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "security": "https://github.com/sebastianbergmann/type/security/policy", - "source": "https://github.com/sebastianbergmann/type/tree/6.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/type", - "type": "tidelift" - } - ], - "time": "2025-08-09T06:57:12+00:00" - }, - { - "name": "sebastian/version", - "version": "6.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c", - "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c", - "shasum": "" - }, - "require": { - "php": ">=8.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "security": "https://github.com/sebastianbergmann/version/security/policy", - "source": "https://github.com/sebastianbergmann/version/tree/6.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2025-02-07T05:00:38+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2", - "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.11", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "support": { - "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2024-07-11T14:55:45+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phar" - ], - "support": { - "issues": "https://github.com/Seldaek/phar-utils/issues", - "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" - }, - "time": "2022-08-31T10:31:18+00:00" - }, - { - "name": "seld/signal-handler", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/signal-handler.git", - "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", - "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "require-dev": { - "phpstan/phpstan": "^1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^7.5.20 || ^8.5.23", - "psr/log": "^1 || ^2 || ^3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\Signal\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", - "keywords": [ - "posix", - "sigint", - "signal", - "sigterm", - "unix" - ], - "support": { - "issues": "https://github.com/Seldaek/signal-handler/issues", - "source": "https://github.com/Seldaek/signal-handler/tree/2.0.2" - }, - "time": "2023-09-03T09:24:00+00:00" - }, - { - "name": "slevomat/coding-standard", - "version": "8.28.1", - "source": { - "type": "git", - "url": "https://github.com/slevomat/coding-standard.git", - "reference": "66151cfbd25b50e8becd9f809fb704f01fd4d6f2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/66151cfbd25b50e8becd9f809fb704f01fd4d6f2", - "reference": "66151cfbd25b50e8becd9f809fb704f01fd4d6f2", - "shasum": "" - }, - "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || ^1.2.0", - "php": "^7.4 || ^8.0", - "phpstan/phpdoc-parser": "^2.3.2", - "squizlabs/php_codesniffer": "^4.0.1" - }, - "require-dev": { - "phing/phing": "3.0.1|3.1.2", - "php-parallel-lint/php-parallel-lint": "1.4.0", - "phpstan/phpstan": "2.1.42", - "phpstan/phpstan-deprecation-rules": "2.0.4", - "phpstan/phpstan-phpunit": "2.0.16", - "phpstan/phpstan-strict-rules": "2.0.10", - "phpunit/phpunit": "9.6.34|10.5.63|11.4.4|11.5.50|12.5.14" - }, - "type": "phpcodesniffer-standard", - "extra": { - "branch-alias": { - "dev-master": "8.x-dev" - } - }, - "autoload": { - "psr-4": { - "SlevomatCodingStandard\\": "SlevomatCodingStandard/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "keywords": [ - "dev", - "phpcs" - ], - "support": { - "issues": "https://github.com/slevomat/coding-standard/issues", - "source": "https://github.com/slevomat/coding-standard/tree/8.28.1" - }, - "funding": [ - { - "url": "https://github.com/kukulich", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", - "type": "tidelift" - } - ], - "time": "2026-03-22T17:22:38+00:00" - }, - { - "name": "squizlabs/php_codesniffer", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "0525c73950de35ded110cffafb9892946d7771b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/0525c73950de35ded110cffafb9892946d7771b5", - "reference": "0525c73950de35ded110cffafb9892946d7771b5", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=7.2.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.4.0 || ^9.3.4 || ^10.5.32 || 11.3.3 - 11.5.28 || ^11.5.31" - }, - "bin": [ - "bin/phpcbf", - "bin/phpcs" - ], - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "Former lead" - }, - { - "name": "Juliette Reinders Folmer", - "role": "Current lead" - }, - { - "name": "Contributors", - "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", - "keywords": [ - "phpcs", - "standards", - "static analysis" - ], - "support": { - "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", - "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", - "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", - "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" - }, - "funding": [ - { - "url": "https://github.com/PHPCSStandards", - "type": "github" - }, - { - "url": "https://github.com/jrfnl", - "type": "github" - }, - { - "url": "https://opencollective.com/php_codesniffer", - "type": "open_collective" - }, - { - "url": "https://thanks.dev/u/gh/phpcsstandards", - "type": "thanks_dev" - } - ], - "time": "2025-11-10T16:43:36+00:00" - }, - { - "name": "staabm/side-effects-detector", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/staabm/side-effects-detector.git", - "reference": "d8334211a140ce329c13726d4a715adbddd0a163" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", - "reference": "d8334211a140ce329c13726d4a715adbddd0a163", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.6", - "phpunit/phpunit": "^9.6.21", - "symfony/var-dumper": "^5.4.43", - "tomasvotruba/type-coverage": "1.0.0", - "tomasvotruba/unused-public": "1.0.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "lib/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A static analysis tool to detect side effects in PHP code", - "keywords": [ - "static analysis" - ], - "support": { - "issues": "https://github.com/staabm/side-effects-detector/issues", - "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" - }, - "funding": [ - { - "url": "https://github.com/staabm", - "type": "github" - } - ], - "time": "2024-10-20T05:08:20+00:00" - }, - { - "name": "symfony/finder", - "version": "v7.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "e0be088d22278583a82da281886e8c3592fbf149" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e0be088d22278583a82da281886e8c3592fbf149", - "reference": "e0be088d22278583a82da281886e8c3592fbf149", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "symfony/filesystem": "^6.4|^7.0|^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v7.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2026-03-24T13:12:05+00:00" - }, - { - "name": "symfony/http-client", - "version": "v7.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client.git", - "reference": "01933e626c3de76bea1e22641e205e78f6a34342" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/01933e626c3de76bea1e22641e205e78f6a34342", - "reference": "01933e626c3de76bea1e22641e205e78f6a34342", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "~3.4.4|^3.5.2", - "symfony/polyfill-php83": "^1.29", - "symfony/service-contracts": "^2.5|^3" - }, - "conflict": { - "amphp/amp": "<2.5", - "amphp/socket": "<1.1", - "php-http/discovery": "<1.15", - "symfony/http-foundation": "<6.4" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "1.0", - "symfony/http-client-implementation": "3.0" - }, - "require-dev": { - "amphp/http-client": "^4.2.1|^5.0", - "amphp/http-tunnel": "^1.0|^2.0", - "guzzlehttp/promises": "^1.4|^2.0", - "nyholm/psr7": "^1.0", - "php-http/httplug": "^1.0|^2.0", - "psr/http-client": "^1.0", - "symfony/amphp-http-client-meta": "^1.0|^2.0", - "symfony/cache": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/rate-limiter": "^6.4|^7.0|^8.0", - "symfony/stopwatch": "^6.4|^7.0|^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", - "homepage": "https://symfony.com", - "keywords": [ - "http" - ], - "support": { - "source": "https://github.com/symfony/http-client/tree/v7.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2026-03-30T12:55:43+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "75d7043853a42837e68111812f4d964b01e5101c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c", - "reference": "75d7043853a42837e68111812f4d964b01e5101c", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", + "description": "PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "phpcs", + "standards", + "static analysis" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0" + "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", + "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", + "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/PHPCSStandards", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-04-29T11:18:49+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "v7.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/2888fcdc4dc2fd5f7c7397be78631e8af12e02b4", - "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an improved replacement for the array_replace PHP function", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/jrfnl", "type": "github" }, { - "url": "https://github.com/nicolas-grekas", - "type": "github" + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2026-03-24T13:12:05+00:00" + "time": "2025-11-10T16:43:36+00:00" }, { - "name": "symfony/polyfill-php73", - "version": "v1.34.0", + "name": "staabm/side-effects-detector", + "version": "1.0.5", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", - "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", "shasum": "" }, "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } + "type": "library", + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", + "description": "A static analysis tool to detect side effects in PHP code", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "static analysis" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.34.0" + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", + "url": "https://github.com/staabm", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-10-20T05:08:20+00:00" }, { - "name": "symfony/polyfill-php80", - "version": "v1.34.0", + "name": "symfony/finder", + "version": "v7.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411" + "url": "https://github.com/symfony/finder.git", + "reference": "e0be088d22278583a82da281886e8c3592fbf149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411", - "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "url": "https://api.github.com/repos/symfony/finder/zipball/e0be088d22278583a82da281886e8c3592fbf149", + "reference": "e0be088d22278583a82da281886e8c3592fbf149", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=8.2" }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } + "require-dev": { + "symfony/filesystem": "^6.4|^7.0|^8.0" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" + "Symfony\\Component\\Finder\\": "" }, - "classmap": [ - "Resources/stubs" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -7563,28 +6245,18 @@ ], "authors": [ { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.34.0" + "source": "https://github.com/symfony/finder/tree/v7.4.8" }, "funding": [ { @@ -7604,41 +6276,65 @@ "type": "tidelift" } ], - "time": "2026-04-10T16:19:22+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { - "name": "symfony/polyfill-php81", - "version": "v1.34.0", + "name": "symfony/http-client", + "version": "v7.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + "url": "https://github.com/symfony/http-client.git", + "reference": "01933e626c3de76bea1e22641e205e78f6a34342" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "url": "https://api.github.com/repos/symfony/http-client/zipball/01933e626c3de76bea1e22641e205e78f6a34342", + "reference": "01933e626c3de76bea1e22641e205e78f6a34342", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-client-contracts": "~3.4.4|^3.5.2", + "symfony/polyfill-php83": "^1.29", + "symfony/service-contracts": "^2.5|^3" }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } + "conflict": { + "amphp/amp": "<2.5", + "amphp/socket": "<1.1", + "php-http/discovery": "<1.15", + "symfony/http-foundation": "<6.4" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "3.0" + }, + "require-dev": { + "amphp/http-client": "^4.2.1|^5.0", + "amphp/http-tunnel": "^1.0|^2.0", + "guzzlehttp/promises": "^1.4|^2.0", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/amphp-http-client-meta": "^1.0|^2.0", + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" + "Symfony\\Component\\HttpClient\\": "" }, - "classmap": [ - "Resources/stubs" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -7655,16 +6351,13 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "http" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.34.0" + "source": "https://github.com/symfony/http-client/tree/v7.4.8" }, "funding": [ { @@ -7684,41 +6377,41 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2026-03-30T12:55:43+00:00" }, { - "name": "symfony/polyfill-php83", - "version": "v1.34.0", + "name": "symfony/http-client-contracts", + "version": "v3.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "3600c2cb22399e25bb226e4a135ce91eeb2a6149" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "75d7043853a42837e68111812f4d964b01e5101c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/3600c2cb22399e25bb226e4a135ce91eeb2a6149", - "reference": "3600c2cb22399e25bb226e4a135ce91eeb2a6149", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c", + "reference": "75d7043853a42837e68111812f4d964b01e5101c", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=8.1" }, "type": "library", "extra": { "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" + "Symfony\\Contracts\\HttpClient\\": "" }, - "classmap": [ - "Resources/stubs" + "exclude-from-classmap": [ + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -7735,16 +6428,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "description": "Generic abstractions related to HTTP clients", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.34.0" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0" }, "funding": [ { @@ -7755,29 +6450,25 @@ "url": "https://github.com/fabpot", "type": "github" }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2026-04-10T17:25:58+00:00" + "time": "2025-04-29T11:18:49+00:00" }, { - "name": "symfony/polyfill-php84", - "version": "v1.34.0", + "name": "symfony/polyfill-php73", + "version": "v1.35.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php84.git", - "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06" + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06", - "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", "shasum": "" }, "require": { @@ -7795,7 +6486,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php84\\": "" + "Symfony\\Polyfill\\Php73\\": "" }, "classmap": [ "Resources/stubs" @@ -7815,7 +6506,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", @@ -7824,7 +6515,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php84/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.35.0" }, "funding": [ { @@ -7844,32 +6535,41 @@ "type": "tidelift" } ], - "time": "2026-04-10T18:47:49+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/process", - "version": "v7.4.8", + "name": "symfony/polyfill-php80", + "version": "v1.35.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "60f19cd3badc8de688421e21e4305eba50f8089a" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a", - "reference": "60f19cd3badc8de688421e21e4305eba50f8089a", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Process\\": "" + "Symfony\\Polyfill\\Php80\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -7878,18 +6578,28 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Executes commands in sub-processes", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/process/tree/v7.4.8" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.35.0" }, "funding": [ { @@ -7909,71 +6619,41 @@ "type": "tidelift" } ], - "time": "2026-03-24T13:12:05+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { - "name": "symfony/serializer", - "version": "v7.4.8", + "name": "symfony/polyfill-php81", + "version": "v1.35.0", "source": { "type": "git", - "url": "https://github.com/symfony/serializer.git", - "reference": "006fd51717addf2df2bd1a64dafef6b7fab6b455" + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/006fd51717addf2df2bd1a64dafef6b7fab6b455", - "reference": "006fd51717addf2df2bd1a64dafef6b7fab6b455", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php84": "^1.30" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "<5.2|>=7", - "phpdocumentor/type-resolver": "<1.5.1", - "symfony/dependency-injection": "<6.4", - "symfony/property-access": "<6.4", - "symfony/property-info": "<6.4", - "symfony/type-info": "<7.2.5", - "symfony/uid": "<6.4", - "symfony/validator": "<6.4", - "symfony/yaml": "<6.4" - }, - "require-dev": { - "phpdocumentor/reflection-docblock": "^5.2|^6.0", - "phpstan/phpdoc-parser": "^1.0|^2.0", - "seld/jsonlint": "^1.10", - "symfony/cache": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^7.2|^8.0", - "symfony/error-handler": "^6.4|^7.0|^8.0", - "symfony/filesystem": "^6.4|^7.0|^8.0", - "symfony/form": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/mime": "^6.4|^7.0|^8.0", - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/property-info": "^6.4|^7.0|^8.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/type-info": "^7.2.5|^8.0", - "symfony/uid": "^6.4|^7.0|^8.0", - "symfony/validator": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0", - "symfony/var-exporter": "^6.4|^7.0|^8.0", - "symfony/yaml": "^6.4|^7.0|^8.0" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Serializer\\": "" + "Symfony\\Polyfill\\Php81\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -7982,18 +6662,24 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/serializer/tree/v7.4.8" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.35.0" }, "funding": [ { @@ -8013,41 +6699,41 @@ "type": "tidelift" } ], - "time": "2026-03-30T21:34:42+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/translation-contracts", - "version": "v3.6.1", + "name": "symfony/polyfill-php83", + "version": "v1.35.0", "source": { "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "65a8bc82080447fae78373aa10f8d13b38338977" + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "3600c2cb22399e25bb226e4a135ce91eeb2a6149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", - "reference": "65a8bc82080447fae78373aa10f8d13b38338977", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/3600c2cb22399e25bb226e4a135ce91eeb2a6149", + "reference": "3600c2cb22399e25bb226e4a135ce91eeb2a6149", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=7.2" }, "type": "library", "extra": { "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Contracts\\Translation\\": "" + "Symfony\\Polyfill\\Php83\\": "" }, - "exclude-from-classmap": [ - "/Test/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8064,18 +6750,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to translation", + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.35.0" }, "funding": [ { @@ -8095,71 +6779,41 @@ "type": "tidelift" } ], - "time": "2025-07-15T13:41:35+00:00" + "time": "2026-04-10T17:25:58+00:00" }, { - "name": "symfony/validator", - "version": "v7.4.8", + "name": "symfony/polyfill-php84", + "version": "v1.35.0", "source": { "type": "git", - "url": "https://github.com/symfony/validator.git", - "reference": "8f73cbddae916756f319b3e195088da216f0f12f" + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/8f73cbddae916756f319b3e195088da216f0f12f", - "reference": "8f73cbddae916756f319b3e195088da216f0f12f", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php83": "^1.27", - "symfony/translation-contracts": "^2.5|^3" - }, - "conflict": { - "doctrine/lexer": "<1.1", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<7.0", - "symfony/expression-language": "<6.4", - "symfony/http-kernel": "<6.4", - "symfony/intl": "<6.4", - "symfony/property-info": "<6.4", - "symfony/translation": "<6.4.3|>=7.0,<7.0.3", - "symfony/var-exporter": "<6.4.25|>=7.0,<7.3.3", - "symfony/yaml": "<6.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3|^4", - "symfony/cache": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/finder": "^6.4|^7.0|^8.0", - "symfony/http-client": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/intl": "^6.4|^7.0|^8.0", - "symfony/mime": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/property-info": "^6.4|^7.0|^8.0", - "symfony/string": "^6.4|^7.0|^8.0", - "symfony/translation": "^6.4.3|^7.0.3|^8.0", - "symfony/type-info": "^7.1.8", - "symfony/yaml": "^6.4|^7.0|^8.0" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Validator\\": "" + "Symfony\\Polyfill\\Php84\\": "" }, - "exclude-from-classmap": [ - "/Tests/", - "/Resources/bin/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8168,18 +6822,24 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to validate values", + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/validator/tree/v7.4.8" + "source": "https://github.com/symfony/polyfill-php84/tree/v1.35.0" }, "funding": [ { @@ -8199,47 +6859,29 @@ "type": "tidelift" } ], - "time": "2026-03-30T12:55:43+00:00" + "time": "2026-04-10T18:47:49+00:00" }, { - "name": "symfony/var-dumper", + "name": "symfony/process", "version": "v7.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd" + "url": "https://github.com/symfony/process.git", + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9510c3966f749a1d1ff0059e1eabef6cc621e7fd", - "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd", + "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a", + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/uid": "^6.4|^7.0|^8.0", - "twig/twig": "^3.12" + "php": ">=8.2" }, - "bin": [ - "Resources/bin/var-dump-server" - ], "type": "library", "autoload": { - "files": [ - "Resources/functions/dump.php" - ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" + "Symfony\\Component\\Process\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8251,22 +6893,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.4.8" + "source": "https://github.com/symfony/process/tree/v7.4.8" }, "funding": [ { @@ -8286,40 +6924,47 @@ "type": "tidelift" } ], - "time": "2026-03-30T13:44:50+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { - "name": "symfony/yaml", + "name": "symfony/var-dumper", "version": "v7.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883", - "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9510c3966f749a1d1ff0059e1eabef6cc621e7fd", + "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd", "shasum": "" }, "require": { "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "^1.8" + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "twig/twig": "^3.12" }, "bin": [ - "Resources/bin/yaml-lint" + "Resources/bin/var-dump-server" ], "type": "library", "autoload": { + "files": [ + "Resources/functions/dump.php" + ], "psr-4": { - "Symfony\\Component\\Yaml\\": "" + "Symfony\\Component\\VarDumper\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8331,18 +6976,22 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Loads and dumps YAML files", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], "support": { - "source": "https://github.com/symfony/yaml/tree/v7.4.8" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.8" }, "funding": [ { @@ -8362,68 +7011,7 @@ "type": "tidelift" } ], - "time": "2026-03-24T13:12:05+00:00" - }, - { - "name": "testcontainers/testcontainers", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/testcontainers/testcontainers-php.git", - "reference": "266f0beca7bfc654b763c97b6ba7d228eb4a3d8e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/testcontainers/testcontainers-php/zipball/266f0beca7bfc654b763c97b6ba7d228eb4a3d8e", - "reference": "266f0beca7bfc654b763c97b6ba7d228eb4a3d8e", - "shasum": "" - }, - "require": { - "beluga-php/docker-php": "^1.45", - "ext-curl": "*", - "php": ">= 8.1" - }, - "require-dev": { - "brianium/paratest": "^6.11", - "ext-pdo": "*", - "ext-pdo_mysql": "*", - "ext-pdo_pgsql": "*", - "friendsofphp/php-cs-fixer": "^3.92", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "predis/predis": "^3.0 || ^2.0" - }, - "suggest": { - "ext-mongodb": "Required for MongoDB container support" - }, - "type": "library", - "autoload": { - "psr-4": { - "Testcontainers\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Soner Sayakci", - "email": "github@shyim.de" - } - ], - "description": "Testcontainers implementation in PHP", - "keywords": [ - "docker", - "testcontainers" - ], - "support": { - "issues": "https://github.com/testcontainers/testcontainers-php/issues", - "source": "https://github.com/testcontainers/testcontainers-php/tree/1.0.8" - }, - "time": "2026-03-12T05:59:42+00:00" + "time": "2026-03-30T13:44:50+00:00" }, { "name": "theseer/tokenizer", diff --git a/app/tests/bootstrap.php b/app/tests/bootstrap.php index 11699fbfb..818d94e1f 100644 --- a/app/tests/bootstrap.php +++ b/app/tests/bootstrap.php @@ -23,9 +23,6 @@ use Cake\Datasource\ConnectionManager; use Cake\TestSuite\ConnectionHelper; use Migrations\TestSuite\Migrator; -use Testcontainers\Modules\MariaDBContainer; -use Testcontainers\Modules\MySQLContainer; -use Testcontainers\Modules\PostgresContainer; /** * Test runner bootstrap. @@ -38,7 +35,7 @@ require dirname(__DIR__) . '/config/bootstrap.php'; if (empty($_SERVER['HTTP_HOST']) && !Configure::read('App.fullBaseUrl')) { - Configure::write('App.fullBaseUrl', 'http://localhost'); + Configure::write('App.fullBaseUrl', 'http://localhost'); } // Fixate now to avoid one-second-leap-issues @@ -53,139 +50,68 @@ * Helper to set env vars so getenv(), $_ENV, and $_SERVER all see them. */ $setEnv = static function (string $key, string $value): void { - putenv($key . '=' . $value); - $_ENV[$key] = $value; - $_SERVER[$key] = $value; + putenv($key . '=' . $value); + $_ENV[$key] = $value; + $_SERVER[$key] = $value; }; // ----------------------------------------------------- -// Testcontainers Dynamic Database Configuration (mysql/mariadb/postgres) +// Database configuration via environment variables +// (GitHub Actions services or any externally-provided DB; no Testcontainers) // ----------------------------------------------------- $dbEngine = getenv('DB_ENGINE') ?: 'mysql'; -/** - * These are expected to be provided via phpunit.xml (or CI env). - * Host/port will be overridden dynamically after the container starts. - */ $testDbName = getenv('COMANAGE_REGISTRY_DATABASE') ?: 'registry_test'; $testDbUser = getenv('COMANAGE_REGISTRY_DATABASE_USER') ?: 'test_user'; $testDbPass = getenv('COMANAGE_REGISTRY_DATABASE_USER_PASSWORD') ?: 'test_password'; -$container = null; +$host = getenv('COMANAGE_REGISTRY_DATABASE_HOST') ?: '127.0.0.1'; -if ($dbEngine === 'postgres') { - if (!class_exists(PostgresContainer::class)) { - throw new RuntimeException('Testcontainers PostgresContainer class not found. Is testcontainers/testcontainers installed?'); - } - - $container = (new PostgresContainer('16-alpine')) - ->withPostgresDatabase($testDbName) - ->withPostgresUser($testDbUser) - ->withPostgresPassword($testDbPass) - ->start(); - - $host = $container->getHost(); - $port = (int)$container->getFirstMappedPort(); - - // Export dynamic DB values for any code that reads COMANAGE_REGISTRY_* env vars (eg setup tests) - $setEnv('COMANAGE_REGISTRY_DATABASE', $testDbName); - $setEnv('COMANAGE_REGISTRY_DATABASE_HOST', $host); - $setEnv('COMANAGE_REGISTRY_DATABASE_PORT', (string)$port); - $setEnv('COMANAGE_REGISTRY_DATABASE_USER', $testDbUser); - $setEnv('COMANAGE_REGISTRY_DATABASE_USER_PASSWORD', $testDbPass); - $setEnv('COMANAGE_REGISTRY_DATABASE_PERSISTENT', 'false'); - - ConnectionManager::drop('test'); - ConnectionManager::setConfig('test', [ - 'className' => Connection::class, - 'driver' => Postgres::class, - 'persistent' => false, - 'host' => $host, - 'port' => $port, - 'username' => $testDbUser, - 'password' => $testDbPass, - 'database' => $testDbName, - 'quoteIdentifiers' => false, - ]); -} elseif ($dbEngine === 'mariadb') { - if (!class_exists(MariaDBContainer::class)) { - throw new RuntimeException('Testcontainers MariaDBContainer class not found. Is testcontainers/testcontainers installed?'); - } - - $container = (new MariaDBContainer()) - ->withMariaDBDatabase($testDbName) - ->withMariaDBUser($testDbUser, $testDbPass) - ->start(); - - $host = $container->getHost(); - $port = (int)$container->getFirstMappedPort(); - - $setEnv('COMANAGE_REGISTRY_DATABASE', $testDbName); - $setEnv('COMANAGE_REGISTRY_DATABASE_HOST', $host); - $setEnv('COMANAGE_REGISTRY_DATABASE_PORT', (string)$port); - $setEnv('COMANAGE_REGISTRY_DATABASE_USER', $testDbUser); - $setEnv('COMANAGE_REGISTRY_DATABASE_USER_PASSWORD', $testDbPass); - $setEnv('COMANAGE_REGISTRY_DATABASE_PERSISTENT', 'false'); - - ConnectionManager::drop('test'); - ConnectionManager::setConfig('test', [ - 'className' => Connection::class, - 'driver' => Mysql::class, // MariaDB uses MySQL driver in CakePHP - 'persistent' => false, - 'host' => $host, - 'port' => $port, - 'username' => $testDbUser, - 'password' => $testDbPass, - 'database' => $testDbName, - 'encoding' => 'utf8mb4', - 'timezone' => 'UTC', - 'quoteIdentifiers' => false, - ]); +$portEnv = getenv('COMANAGE_REGISTRY_DATABASE_PORT') ?: ''; +if ($portEnv !== '') { + $port = (int)$portEnv; } else { - // Default to MySQL - if (!class_exists(MySQLContainer::class)) { - throw new RuntimeException('Testcontainers MySQLContainer class not found. Is testcontainers/testcontainers installed?'); - } - - $mysqlVersion = getenv('MYSQL_VERSION') ?: '8.0'; - - $container = (new MySQLContainer($mysqlVersion)) - ->withMySQLDatabase($testDbName) - ->withMySQLUser($testDbUser, $testDbPass) - ->start(); - - $host = $container->getHost(); - $port = (int)$container->getFirstMappedPort(); - - $setEnv('COMANAGE_REGISTRY_DATABASE', $testDbName); - $setEnv('COMANAGE_REGISTRY_DATABASE_HOST', $host); - $setEnv('COMANAGE_REGISTRY_DATABASE_PORT', (string)$port); - $setEnv('COMANAGE_REGISTRY_DATABASE_USER', $testDbUser); - $setEnv('COMANAGE_REGISTRY_DATABASE_USER_PASSWORD', $testDbPass); - $setEnv('COMANAGE_REGISTRY_DATABASE_PERSISTENT', 'false'); - - ConnectionManager::drop('test'); - ConnectionManager::setConfig('test', [ - 'className' => Connection::class, - 'driver' => Mysql::class, - 'persistent' => false, - 'host' => $host, - 'port' => $port, - 'username' => $testDbUser, - 'password' => $testDbPass, - 'database' => $testDbName, - 'encoding' => 'utf8mb4', - 'timezone' => 'UTC', - 'quoteIdentifiers' => false, - ]); + $port = $dbEngine === 'postgres' ? 5432 : 3306; } -register_shutdown_function(function () use (&$container): void { - if ($container !== null) { - $container->stop(); - $container = null; - } -}); +// Ensure all code sees consistent resolved env values +$setEnv('COMANAGE_REGISTRY_DATABASE', $testDbName); +$setEnv('COMANAGE_REGISTRY_DATABASE_HOST', $host); +$setEnv('COMANAGE_REGISTRY_DATABASE_PORT', (string)$port); +$setEnv('COMANAGE_REGISTRY_DATABASE_USER', $testDbUser); +$setEnv('COMANAGE_REGISTRY_DATABASE_USER_PASSWORD', $testDbPass); +$setEnv('COMANAGE_REGISTRY_DATABASE_PERSISTENT', 'false'); + +ConnectionManager::drop('test'); + +if ($dbEngine === 'postgres') { + ConnectionManager::setConfig('test', [ + 'className' => Connection::class, + 'driver' => Postgres::class, + 'persistent' => false, + 'host' => $host, + 'port' => $port, + 'username' => $testDbUser, + 'password' => $testDbPass, + 'database' => $testDbName, + 'quoteIdentifiers' => false, + ]); +} else { + // mysql or mariadb (CakePHP uses the MySQL driver for MariaDB) + ConnectionManager::setConfig('test', [ + 'className' => Connection::class, + 'driver' => Mysql::class, + 'persistent' => false, + 'host' => $host, + 'port' => $port, + 'username' => $testDbUser, + 'password' => $testDbPass, + 'database' => $testDbName, + 'encoding' => 'utf8mb4', + 'timezone' => 'UTC', + 'quoteIdentifiers' => false, + ]); +} // ----------------------------------------------------- // Connection aliasing needs to happen before migrations are run. @@ -193,4 +119,4 @@ ConnectionHelper::addTestAliases(); // Use migrations to build test database schema. -(new Migrator())->run(); +(new Migrator())->run(); \ No newline at end of file diff --git a/app/vendor/beluga-php/docker-php-api/.github/FUNDING.yml b/app/vendor/beluga-php/docker-php-api/.github/FUNDING.yml deleted file mode 100644 index 0afe225a7..000000000 --- a/app/vendor/beluga-php/docker-php-api/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -# These are supported funding model platforms - -github: flavioheleno diff --git a/app/vendor/beluga-php/docker-php-api/.github/dependabot.yml b/app/vendor/beluga-php/docker-php-api/.github/dependabot.yml deleted file mode 100644 index e5fae30f4..000000000 --- a/app/vendor/beluga-php/docker-php-api/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: 2 -updates: - # Maintain dependencies for GitHub Actions - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - # Maintain dependencies for PHP Packages - - package-ecosystem: "composer" - directory: "/" - schedule: - interval: "daily" diff --git a/app/vendor/beluga-php/docker-php-api/.gitignore b/app/vendor/beluga-php/docker-php-api/.gitignore deleted file mode 100644 index b98b4400c..000000000 --- a/app/vendor/beluga-php/docker-php-api/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -/.php-cs-fixer.cache diff --git a/app/vendor/beluga-php/docker-php-api/.jane-openapi b/app/vendor/beluga-php/docker-php-api/.jane-openapi deleted file mode 100644 index 85e86f264..000000000 --- a/app/vendor/beluga-php/docker-php-api/.jane-openapi +++ /dev/null @@ -1,11 +0,0 @@ - true, - 'directory' => __DIR__ . '/src', - 'namespace' => 'Docker\\API', - 'openapi-file' => __DIR__ . '/spec/v1.45.json', - 'reference' => true, - 'strict' => false, - 'date-input-format' => 'Y-m-d\TH:i:s.uuP', -]; diff --git a/app/vendor/beluga-php/docker-php-api/.php-cs-fixer.php b/app/vendor/beluga-php/docker-php-api/.php-cs-fixer.php deleted file mode 100644 index 6e0b4608e..000000000 --- a/app/vendor/beluga-php/docker-php-api/.php-cs-fixer.php +++ /dev/null @@ -1,44 +0,0 @@ -in([ - __DIR__.'/src', - ]); - -$config = new \PhpCsFixer\Config(); -return $config - ->setRules([ - '@Symfony' => true, - '@Symfony:risky' => true, - '@PHP56Migration:risky' => true, - '@PHP70Migration' => true, - '@PHP70Migration:risky' => true, - '@PHP71Migration' => true, - '@PHP71Migration:risky' => true, - '@PHP73Migration' => true, - '@PHP74Migration' => true, - '@PHP74Migration:risky' => true, - '@PHP80Migration' => true, - '@PHP80Migration:risky' => true, - 'array_syntax' => [ - 'syntax' => 'short' - ], - 'align_multiline_comment' => true, - 'combine_consecutive_unsets' => true, - 'declare_strict_types' => true, - 'linebreak_after_opening_tag' => true, - 'modernize_types_casting' => true, - 'native_function_invocation' => true, - 'no_php4_constructor' => true, - 'ordered_imports' => true, - 'php_unit_strict' => true, - 'phpdoc_line_span' => true, - 'phpdoc_order' => true, - 'strict_comparison' => true, - 'strict_param' => true, - ]) - ->setRiskyAllowed(true) - ->setIndent(' ') - ->setLineEnding("\n") - ->setFinder($finder) -; diff --git a/app/vendor/beluga-php/docker-php-api/LICENSE b/app/vendor/beluga-php/docker-php-api/LICENSE deleted file mode 100644 index 77be66a0b..000000000 --- a/app/vendor/beluga-php/docker-php-api/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2017 Joel Wurtz and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/beluga-php/docker-php-api/README.md b/app/vendor/beluga-php/docker-php-api/README.md deleted file mode 100644 index 35ec10f1a..000000000 --- a/app/vendor/beluga-php/docker-php-api/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# Docker PHP Api - -Generated API Client from OpenAPI specification of [Docker](https://www.docker.com/), by [Jane](https://github.com/janephp/janephp) OpenAPI Client generator. - -## Usage - -You should not use this library directly, please use the [docker-php](https://github.com/docker-php/docker-php) one instead. - -## Versioning - -This library does *not* respect semver and will instead follow Jane OpenAPI version and Docker API version: - - * First number is the Jane major version used for generating the files - * Second and third number are the Docker API Version - * Last number is the minor revision number for this - -So 4.1.25.0 is the version 1.25 of Docker API generated with Jane OpenAPI in a 4.X version. - -You should always fix the version, or at least the 3 first numbers (4.1.25.\*) - -## Credits - -This library is a fork of the original [docker-php-api](https://github.com/docker-php/docker-php-api), created by [Joel Wurtz](https://github.com/joelwurtz). - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/beluga-php/docker-php-api/composer.json b/app/vendor/beluga-php/docker-php-api/composer.json deleted file mode 100644 index 0635e9ed0..000000000 --- a/app/vendor/beluga-php/docker-php-api/composer.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "name": "beluga-php/docker-php-api", - "description": "Docker API generated files from OpenAPI Specification", - "license": "MIT", - "type": "library", - "funding": [ - { - "type": "github", - "url": "https://github.com/flavioheleno" - } - ], - "require": { - "php": ">=8.1", - "ext-mbstring": "*", - "jane-php/json-schema-runtime": "^7.5", - "jane-php/open-api-runtime": "^7.5", - "php-http/client-common": "^2.7", - "php-http/discovery": "^1.19", - "php-http/multipart-stream-builder": "^1.3", - "psr/http-client": "^1.0", - "psr/http-client-implementation": "*", - "psr/http-factory": "^1.0", - "psr/http-factory-implementation": "*", - "psr/http-message": "^2.0", - "psr/http-message-implementation": "*", - "symfony/deprecation-contracts": "^3.3", - "symfony/options-resolver": "^6.3 || ^7.0 || ^8.0", - "symfony/serializer": "^6.3 || ^7.0 || ^8.0", - "symfony/validator": "^6.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.42", - "friendsofphp/php-cs-fixer": "^3.8", - "jane-php/open-api-3": "^7.4", - "roave/security-advisories": "dev-latest" - }, - "conflict": { - "docker-php/docker-php-api": "*" - }, - "minimum-stability": "dev", - "prefer-stable": true, - "autoload": { - "psr-4": { - "Docker\\API\\": "src/" - } - }, - "config": { - "allow-plugins": { - "ergebnis/composer-normalize": true, - "php-http/discovery": false - }, - "optimize-autoloader": true, - "preferred-install": "dist", - "sort-packages": true - }, - "extra": { - "branch-alias": { - "6.1.36": "6.1.36.x-dev", - "6.1.41": "6.1.41.x-dev", - "7.1.41": "7.1.41.x-dev", - "7.1.42": "7.1.42.x-dev", - "dev-main": "7.1.43.x-dev" - } - }, - "scripts": { - "generate": [ - "vendor/bin/jane-openapi generate", - "cat patches/*.patch | patch -s -p1" - ], - "lint": "vendor/bin/php-cs-fixer fix --dry-run --verbose --diff", - "lint-fix": "vendor/bin/php-cs-fixer fix --verbose" - }, - "extra": { - "branch-alias": { - "dev-main": "7.1.46.x-dev", - "7.1.45": "7.1.45.x-dev", - "7.1.44": "7.1.44.x-dev", - "7.1.43": "7.1.43.x-dev", - "7.1.42": "7.1.42.x-dev", - "7.1.41": "7.1.41.x-dev", - "6.1.41": "6.1.41.x-dev", - "6.1.36": "6.1.36.x-dev" - } - } -} diff --git a/app/vendor/beluga-php/docker-php-api/patches/NetworkSettingsNormalizer.patch b/app/vendor/beluga-php/docker-php-api/patches/NetworkSettingsNormalizer.patch deleted file mode 100644 index 804501bb7..000000000 --- a/app/vendor/beluga-php/docker-php-api/patches/NetworkSettingsNormalizer.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/Normalizer/NetworkSettingsNormalizer.php b/src/Normalizer/NetworkSettingsNormalizer.php -index 22cfce8..392058c 100644 ---- a/src/Normalizer/NetworkSettingsNormalizer.php -+++ b/src/Normalizer/NetworkSettingsNormalizer.php -@@ -78,6 +78,10 @@ class NetworkSettingsNormalizer implements DenormalizerInterface, NormalizerInte - if (\array_key_exists('Ports', $data) && $data['Ports'] !== null) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Ports'] as $key => $value) { -+ if (null === $value) { -+ $values[$key] = null; -+ continue; -+ } - $values_1 = []; - foreach ($value as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\PortBinding::class, 'json', $context); -@@ -214,6 +218,10 @@ class NetworkSettingsNormalizer implements DenormalizerInterface, NormalizerInte - if ($data->isInitialized('ports') && null !== $data->getPorts()) { - $values = []; - foreach ($data->getPorts() as $key => $value) { -+ if (null === $value) { -+ $values[$key] = null; -+ continue; -+ } - $values_1 = []; - foreach ($value as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); diff --git a/app/vendor/beluga-php/docker-php-api/spec/v1.36.json b/app/vendor/beluga-php/docker-php-api/spec/v1.36.json deleted file mode 100644 index ee306135a..000000000 --- a/app/vendor/beluga-php/docker-php-api/spec/v1.36.json +++ /dev/null @@ -1,15417 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Docker Engine API", - "description": "The Engine API is an HTTP API served by Docker Engine. It is the API the Docker client uses to communicate with the Engine, so everything the Docker client can do can be done with the API.\n\nMost of the client's commands map directly to API endpoints (e.g. `docker ps` is `GET /containers/json`). The notable exception is running containers, which consists of several API calls.\n\n# Errors\n\nThe API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following format:\n\n```\n{\n \"message\": \"page not found\"\n}\n```\n\n# Versioning\n\nThe API is usually changed in each release, so API calls are versioned to\nensure that clients don't break. To lock to a specific version of the API,\nyou prefix the URL with its version, for example, call `/v1.30/info` to use\nthe v1.30 version of the `/info` endpoint. If the API version specified in\nthe URL is not supported by the daemon, a HTTP `400 Bad Request` error message\nis returned.\n\nIf you omit the version-prefix, the current version of the API (v1.36) is used.\nFor example, calling `/info` is the same as calling `/v1.36/info`. Using the\nAPI without a version-prefix is deprecated and will be removed in a future release.\n\nEngine releases in the near future should support this version of the API,\nso your client will continue to work even if it is talking to a newer Engine.\n\nThe API uses an open schema model, which means server may add extra properties\nto responses. Likewise, the server will ignore any extra query parameters and\nrequest body properties. When you write clients, you need to ignore additional\nproperties in responses to ensure they do not break when talking to newer\ndaemons.\n\n\n# Authentication\n\nAuthentication for registries is handled client side. The client has to send authentication details to various endpoints that need to communicate with registries, such as `POST /images/(name)/push`. These are sent as `X-Registry-Auth` header as a Base64 encoded (JSON) string with the following structure:\n\n```\n{\n \"username\": \"string\",\n \"password\": \"string\",\n \"email\": \"string\",\n \"serveraddress\": \"string\"\n}\n```\n\nThe `serveraddress` is a domain/IP without a protocol. Throughout this structure, double quotes are required.\n\nIf you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth), you can just pass this instead of credentials:\n\n```\n{\n \"identitytoken\": \"9cbaf023786cd7...\"\n}\n```\n", - "version": "1.36", - "x-logo": { - "url": "https://docs.docker.com/images/logo-docker-main.png" - } - }, - "servers": [ - { - "url": "/v1.36" - } - ], - "tags": [ - { - "name": "Container", - "description": "Create and manage containers.\n", - "x-displayName": "Containers" - }, - { - "name": "Image", - "x-displayName": "Images" - }, - { - "name": "Network", - "description": "Networks are user-defined networks that containers can be attached to. See the [networking documentation](https://docs.docker.com/engine/userguide/networking/) for more information.\n", - "x-displayName": "Networks" - }, - { - "name": "Volume", - "description": "Create and manage persistent storage that can be attached to containers.\n", - "x-displayName": "Volumes" - }, - { - "name": "Exec", - "description": "Run new commands inside running containers. See the [command-line reference](https://docs.docker.com/engine/reference/commandline/exec/) for more information.\n\nTo exec a command in a container, you first need to create an exec instance, then start it. These two API endpoints are wrapped up in a single command-line command, `docker exec`.\n", - "x-displayName": "Exec" - }, - { - "name": "Swarm", - "description": "Engines can be clustered together in a swarm. See [the swarm mode documentation](https://docs.docker.com/engine/swarm/) for more information.\n", - "x-displayName": "Swarm" - }, - { - "name": "Node", - "description": "Nodes are instances of the Engine participating in a swarm. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Nodes" - }, - { - "name": "Service", - "description": "Services are the definitions of tasks to run on a swarm. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Services" - }, - { - "name": "Task", - "description": "A task is a container running on a swarm. It is the atomic scheduling unit of swarm. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Tasks" - }, - { - "name": "Secret", - "description": "Secrets are sensitive data that can be used by services. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Secrets" - }, - { - "name": "Config", - "description": "Configs are application configurations that can be used by services. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Configs" - }, - { - "name": "Plugin", - "x-displayName": "Plugins" - }, - { - "name": "System", - "x-displayName": "System" - } - ], - "paths": { - "/containers/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "List containers", - "description": "Returns a list of containers. For details on the format, see [the inspect endpoint](#operation/ContainerInspect).\n\nNote that it uses a different, smaller representation of a container than inspecting a single container. For example,\nthe list of linked containers is not propagated .\n", - "operationId": "ContainerList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Return all containers. By default, only running containers are shown", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "limit", - "in": "query", - "description": "Return this number of most recently created containers, including non-running ones.", - "schema": { - "type": "integer" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "Filters to process on the container list, encoded as JSON (a `map[string][]string`). For example, `{\"status\": [\"paused\"]}` will only return paused containers. Available filters:\n\n- `ancestor`=(`[:]`, ``, or ``)\n- `before`=(`` or ``)\n- `expose`=(`[/]`|`/[]`)\n- `exited=` containers with exit code of ``\n- `health`=(`starting`|`healthy`|`unhealthy`|`none`)\n- `id=` a container's ID\n- `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)\n- `is-task=`(`true`|`false`)\n- `label=key` or `label=\"key=value\"` of a container label\n- `name=` a container's name\n- `network`=(`` or ``)\n- `publish`=(`[/]`|`/[]`)\n- `since`=(`` or ``)\n- `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)\n- `volume`=(`` or ``)\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerSummary" - }, - "example": [ - { - "Id": "8dfafdbc3a40", - "Names": [ - "/boring_feynman" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 1", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [ - { - "PrivatePort": 2222, - "PublicPort": 3333, - "Type": "tcp" - } - ], - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:02" - } - } - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - }, - { - "Id": "9cd87474be90", - "Names": [ - "/coolName" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 222222", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.8", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:08" - } - } - }, - "Mounts": [] - }, - { - "Id": "3176a2479c92", - "Names": [ - "/sleepy_dog" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 3333333333333333", - "Created": 1367854154, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.6", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:06" - } - } - }, - "Mounts": [] - }, - { - "Id": "4cb07b47f9fb", - "Names": [ - "/running_cat" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 444444444444444444444444444444444", - "Created": 1367854152, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.5", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:05" - } - } - }, - "Mounts": [] - } - ] - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/create": { - "post": { - "tags": [ - "Container" - ], - "summary": "Create a container", - "operationId": "ContainerCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Assign the specified name to the container. Must match `/?[a-zA-Z0-9_-]+`.", - "schema": { - "pattern": "/?[a-zA-Z0-9_-]+", - "type": "string" - } - } - ], - "requestBody": { - "description": "Container to create", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "type": "object", - "properties": { - "EndpointsConfig": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "A mapping of network name to endpoint configuration for that network." - } - }, - "description": "This container's networking configuration." - } - } - } - ] - } - }, - "application/octet-stream": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "type": "object", - "properties": { - "EndpointsConfig": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "A mapping of network name to endpoint configuration for that network." - } - }, - "description": "This container's networking configuration." - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "Container created successfully", - "content": { - "application/json": { - "schema": { - "title": "ContainerCreateResponse", - "required": [ - "Id", - "Warnings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created container", - "nullable": false - }, - "Warnings": { - "type": "array", - "description": "Warnings encountered when creating the container", - "nullable": false, - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerCreate operation" - }, - "example": { - "Id": "e90e34656806", - "Warnings": [] - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/containers/{id}/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "Inspect a container", - "description": "Return low-level information about a container.", - "operationId": "ContainerInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerInspectResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the container" - }, - "Created": { - "type": "string", - "description": "The time the container was created" - }, - "Path": { - "type": "string", - "description": "The path to the command being run" - }, - "Args": { - "type": "array", - "description": "The arguments to the command being run", - "items": { - "type": "string" - } - }, - "State": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "The status of the container. For example, `\"running\"` or `\"exited\"`.\n", - "enum": [ - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - }, - "Running": { - "type": "boolean", - "description": "Whether this container is running.\n\nNote that a running container can be _paused_. The `Running` and `Paused`\nbooleans are not mutually exclusive:\n\nWhen pausing a container (on Linux), the cgroups freezer is used to suspend\nall processes in the container. Freezing the process requires the process to\nbe running. As a result, paused containers are both `Running` _and_ `Paused`.\n\nUse the `Status` field instead to determine if a container's state is \"running\".\n" - }, - "Paused": { - "type": "boolean", - "description": "Whether this container is paused." - }, - "Restarting": { - "type": "boolean", - "description": "Whether this container is restarting." - }, - "OOMKilled": { - "type": "boolean", - "description": "Whether this container has been killed because it ran out of memory." - }, - "Dead": { - "type": "boolean" - }, - "Pid": { - "type": "integer", - "description": "The process ID of this container" - }, - "ExitCode": { - "type": "integer", - "description": "The last exit code of this container" - }, - "Error": { - "type": "string" - }, - "StartedAt": { - "type": "string", - "description": "The time when this container was last started." - }, - "FinishedAt": { - "type": "string", - "description": "The time when this container last exited." - } - }, - "description": "The state of the container." - }, - "Image": { - "type": "string", - "description": "The container's image" - }, - "ResolvConfPath": { - "type": "string" - }, - "HostnamePath": { - "type": "string" - }, - "HostsPath": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "Node": { - "type": "object", - "properties": {}, - "description": "TODO" - }, - "Name": { - "type": "string" - }, - "RestartCount": { - "type": "integer" - }, - "Driver": { - "type": "string" - }, - "MountLabel": { - "type": "string" - }, - "ProcessLabel": { - "type": "string" - }, - "AppArmorProfile": { - "type": "string" - }, - "ExecIDs": { - "type": "string" - }, - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this container.", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container.", - "format": "int64" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "NetworkSettings": { - "$ref": "#/components/schemas/NetworkSettings" - } - } - }, - "example": { - "AppArmorProfile": "", - "Args": [ - "-c", - "exit 9" - ], - "Config": { - "AttachStderr": true, - "AttachStdin": false, - "AttachStdout": true, - "Cmd": [ - "/bin/sh", - "-c", - "exit 9" - ], - "Domainname": "", - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Hostname": "ba033ac44011", - "Image": "ubuntu", - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "MacAddress": "", - "NetworkDisabled": false, - "OpenStdin": false, - "StdinOnce": false, - "Tty": false, - "User": "", - "Volumes": { - "/volumes/data": {} - }, - "WorkingDir": "", - "StopSignal": "SIGTERM", - "StopTimeout": 10 - }, - "Created": "2015-01-06T15:47:31.485331387Z", - "Driver": "devicemapper", - "HostConfig": { - "MaximumIOps": 0, - "MaximumIOBps": 0, - "BlkioWeight": 0, - "BlkioWeightDevice": [ - {} - ], - "BlkioDeviceReadBps": [ - {} - ], - "BlkioDeviceWriteBps": [ - {} - ], - "BlkioDeviceReadIOps": [ - {} - ], - "BlkioDeviceWriteIOps": [ - {} - ], - "ContainerIDFile": "", - "CpusetCpus": "", - "CpusetMems": "", - "CpuPercent": 80, - "CpuShares": 0, - "CpuPeriod": 100000, - "CpuRealtimePeriod": 1000000, - "CpuRealtimeRuntime": 10000, - "Devices": [], - "IpcMode": "", - "LxcConf": [], - "Memory": 0, - "MemorySwap": 0, - "MemoryReservation": 0, - "KernelMemory": 0, - "OomKillDisable": false, - "OomScoreAdj": 500, - "NetworkMode": "bridge", - "PidMode": "", - "PortBindings": {}, - "Privileged": false, - "ReadonlyRootfs": false, - "PublishAllPorts": false, - "RestartPolicy": { - "MaximumRetryCount": 2, - "Name": "on-failure" - }, - "LogConfig": { - "Type": "json-file" - }, - "Sysctls": { - "net.ipv4.ip_forward": "1" - }, - "Ulimits": [ - {} - ], - "VolumeDriver": "", - "ShmSize": 67108864 - }, - "HostnamePath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname", - "HostsPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts", - "LogPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log", - "Id": "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39", - "Image": "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2", - "MountLabel": "", - "Name": "/boring_euclid", - "NetworkSettings": { - "Bridge": "", - "SandboxID": "", - "HairpinMode": false, - "LinkLocalIPv6Address": "", - "LinkLocalIPv6PrefixLen": 0, - "SandboxKey": "", - "EndpointID": "", - "Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "IPAddress": "", - "IPPrefixLen": 0, - "IPv6Gateway": "", - "MacAddress": "", - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Path": "/bin/sh", - "ProcessLabel": "", - "ResolvConfPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf", - "RestartCount": 1, - "State": { - "Error": "", - "ExitCode": 9, - "FinishedAt": "2015-01-06T15:47:32.080254511Z", - "OOMKilled": false, - "Dead": false, - "Paused": false, - "Pid": 0, - "Restarting": false, - "Running": true, - "StartedAt": "2015-01-06T15:47:32.072697474Z", - "Status": "running" - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/top": { - "get": { - "tags": [ - "Container" - ], - "summary": "List processes running inside a container", - "description": "On Unix systems, this is done by running the `ps` command. This endpoint is not supported on Windows.", - "operationId": "ContainerTop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ps_args", - "in": "query", - "description": "The arguments to pass to `ps`. For example, `aux`", - "schema": { - "type": "string", - "default": "-ef" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process is an array of values corresponding to the titles", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - }, - "example": { - "Titles": [ - "UID", - "PID", - "PPID", - "C", - "STIME", - "TTY", - "TIME", - "CMD" - ], - "Processes": [ - [ - "root", - "13642", - "882", - "0", - "17:03", - "pts/0", - "00:00:00", - "/bin/bash" - ], - [ - "root", - "13735", - "13642", - "0", - "17:06", - "pts/0", - "00:00:00", - "sleep 10" - ] - ] - } - }, - "text/plain": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process is an array of values corresponding to the titles", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/logs": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container logs", - "description": "Get `stdout` and `stderr` logs from a container.\n\nNote: This endpoint works only for containers with the `json-file` or `journald` logging driver.\n", - "operationId": "ContainerLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "follow", - "in": "query", - "description": "Return the logs as a stream.\n\nThis will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "until", - "in": "query", - "description": "Only return logs before this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines.", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "101": { - "description": "logs returned as a stream", - "content": { - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/plain": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "200": { - "description": "logs returned as a string in response body", - "content": { - "application/json": { - "schema": { - "type": "string" - } - }, - "text/plain": { - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/changes": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get changes on a container’s filesystem", - "description": "Returns which files in a container's filesystem have been added, deleted,\nor modified. The `Kind` of modification can be one of:\n\n- `0`: Modified\n- `1`: Added\n- `2`: Deleted\n", - "operationId": "ContainerChanges", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "The list of changes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ContainerChangeResponseItem", - "required": [ - "Kind", - "Path" - ], - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Path to file that has changed", - "nullable": false - }, - "Kind": { - "type": "integer", - "description": "Kind of change", - "format": "uint8", - "nullable": false - } - }, - "description": "change item in response to ContainerChanges operation", - "x-go-name": "ContainerChangeResponseItem" - } - }, - "example": [ - { - "Path": "/dev", - "Kind": 0 - }, - { - "Path": "/dev/kmsg", - "Kind": 1 - }, - { - "Path": "/test", - "Kind": 1 - } - ] - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/export": { - "get": { - "tags": [ - "Container" - ], - "summary": "Export a container", - "description": "Export the contents of a container as a tarball.", - "operationId": "ContainerExport", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stats": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container stats based on resource usage", - "description": "This endpoint returns a live stream of a container’s resource usage\nstatistics.\n\nThe `precpu_stats` is the CPU statistic of last read, which is used\nfor calculating the CPU usage percentage. It is not the same as the\n`cpu_stats` field.\n\nIf either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is\nnil then for compatibility with older daemons the length of the\ncorresponding `cpu_usage.percpu_usage` array should be used.\n", - "operationId": "ContainerStats", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream the output. If false, the stats will be output once and then it will disconnect.", - "schema": { - "type": "boolean", - "default": true - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "read": "2015-01-08T22:57:31.547920715Z", - "pids_stats": { - "current": 3 - }, - "networks": { - "eth0": { - "rx_bytes": 5338, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 36, - "tx_bytes": 648, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 8 - }, - "eth5": { - "rx_bytes": 4641, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 26, - "tx_bytes": 690, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 9 - } - }, - "memory_stats": { - "stats": { - "total_pgmajfault": 0, - "cache": 0, - "mapped_file": 0, - "total_inactive_file": 0, - "pgpgout": 414, - "rss": 6537216, - "total_mapped_file": 0, - "writeback": 0, - "unevictable": 0, - "pgpgin": 477, - "total_unevictable": 0, - "pgmajfault": 0, - "total_rss": 6537216, - "total_rss_huge": 6291456, - "total_writeback": 0, - "total_inactive_anon": 0, - "rss_huge": 6291456, - "hierarchical_memory_limit": 67108864, - "total_pgfault": 964, - "total_active_file": 0, - "active_anon": 6537216, - "total_active_anon": 6537216, - "total_pgpgout": 414, - "total_cache": 0, - "inactive_anon": 0, - "active_file": 0, - "pgfault": 964, - "inactive_file": 0, - "total_pgpgin": 477 - }, - "max_usage": 6651904, - "usage": 6537216, - "failcnt": 0, - "limit": 67108864 - }, - "blkio_stats": {}, - "cpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24472255, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100215355, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 739306590000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - }, - "precpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24350896, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100093996, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 9492140000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - } - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/resize": { - "post": { - "tags": [ - "Container" - ], - "summary": "Resize a container TTY", - "description": "Resize the TTY for a container. You must restart the container for the resize to take effect.", - "operationId": "ContainerResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the tty session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the tty session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "cannot resize container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/start": { - "post": { - "tags": [ - "Container" - ], - "summary": "Start a container", - "operationId": "ContainerStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container. Format is a single character `[a-Z]` or `ctrl-` where `` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already started", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stop": { - "post": { - "tags": [ - "Container" - ], - "summary": "Stop a container", - "operationId": "ContainerStop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already stopped", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/restart": { - "post": { - "tags": [ - "Container" - ], - "summary": "Restart a container", - "operationId": "ContainerRestart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/kill": { - "post": { - "tags": [ - "Container" - ], - "summary": "Kill a container", - "description": "Send a POSIX signal to a container, defaulting to killing to the container.", - "operationId": "ContainerKill", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`)", - "schema": { - "type": "string", - "default": "SIGKILL" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/update": { - "post": { - "tags": [ - "Container" - ], - "summary": "Update a container", - "description": "Change various configuration options of a container without having to recreate it.", - "operationId": "ContainerUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The container has been updated.", - "content": { - "application/json": { - "schema": { - "title": "ContainerUpdateResponse", - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerUpdate operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "update" - } - }, - "/containers/{id}/rename": { - "post": { - "tags": [ - "Container" - ], - "summary": "Rename a container", - "operationId": "ContainerRename", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "New name for the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name already in use", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/pause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Pause a container", - "description": "Use the cgroups freezer to suspend all processes in a container.\n\nTraditionally, when suspending a process the `SIGSTOP` signal is used, which is observable by the process being suspended. With the cgroups freezer the process is unaware, and unable to capture, that it is being suspended, and subsequently resumed.\n", - "operationId": "ContainerPause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/unpause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Unpause a container", - "description": "Resume a container which has been paused.", - "operationId": "ContainerUnpause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach": { - "post": { - "tags": [ - "Container" - ], - "summary": "Attach to a container", - "description": "Attach to a container to read its output or send it input. You can attach to the same container multiple times and you can reattach to containers that have been detached.\n\nEither the `stream` or `logs` parameter must be `true` for this endpoint to do anything.\n\nSee [the documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/) for more details.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, and `stderr` on the same socket.\n\nThis is the response from the daemon for an attach request:\n\n```\nHTTP/1.1 200 OK\nContent-Type: application/vnd.docker.raw-stream\n\n[STREAM]\n```\n\nAfter the headers and two new lines, the TCP connection can now be used for raw, bidirectional communication between the client and server.\n\nTo hint potential proxies about connection hijacking, the Docker client can also optionally send connection upgrade headers.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1\nUpgrade: tcp\nConnection: Upgrade\n```\n\nThe Docker daemon will respond with a `101 UPGRADED` response, and will similarly follow with the raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nContent-Type: application/vnd.docker.raw-stream\nConnection: Upgrade\nUpgrade: tcp\n\n[STREAM]\n```\n\n### Stream format\n\nWhen the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate), the stream over the hijacked connected is multiplexed to separate out `stdout` and `stderr`. The stream consists of a series of frames, each containing a header and a payload.\n\nThe header contains the information which the stream writes (`stdout` or `stderr`). It also contains the size of the associated frame encoded in the last four bytes (`uint32`).\n\nIt is encoded on the first eight bytes like this:\n\n```go\nheader := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}\n```\n\n`STREAM_TYPE` can be:\n\n- 0: `stdin` (is written on `stdout`)\n- 1: `stdout`\n- 2: `stderr`\n\n`SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size encoded as big endian.\n\nFollowing the header is the payload, which is the specified number of bytes of `STREAM_TYPE`.\n\nThe simplest way to implement this protocol is the following:\n\n1. Read 8 bytes.\n2. Choose `stdout` or `stderr` depending on the first byte.\n3. Extract the frame size from the last four bytes.\n4. Read the extracted size and output it on the correct output.\n5. Goto 1.\n\n### Stream format when using a TTY\n\nWhen the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate), the stream is not multiplexed. The data exchanged over the hijacked connection is simply the raw data from the process PTY and client's `stdin`.\n", - "operationId": "ContainerAttach", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single character `[a-Z]` or `ctrl-` where `` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`.", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Replay previous logs from the container.\n\nThis is useful for attaching to a container that has started and you want to output everything since the container started.\n\nIf `stream` is also enabled, once all the previous output has been returned, it will seamlessly transition into streaming current output.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream attached streams from the time the request was made onwards", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach/ws": { - "get": { - "tags": [ - "Container" - ], - "summary": "Attach to a container via a websocket", - "operationId": "ContainerAttachWebsocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single character `[a-Z]` or `ctrl-` where `` is one of: `a-z`, `@`, `^`, `[`, `,`, or `_`.", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Return logs", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Return stream", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/wait": { - "post": { - "tags": [ - "Container" - ], - "summary": "Wait for a container", - "description": "Block until a container stops, then returns the exit code.", - "operationId": "ContainerWait", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "condition", - "in": "query", - "description": "Wait until a container state reaches the given condition, either 'not-running' (default), 'next-exit', or 'removed'.", - "schema": { - "type": "string", - "default": "not-running" - } - } - ], - "responses": { - "200": { - "description": "The container has exit.", - "content": { - "application/json": { - "schema": { - "title": "ContainerWaitResponse", - "required": [ - "StatusCode" - ], - "type": "object", - "properties": { - "StatusCode": { - "type": "integer", - "description": "Exit code of the container", - "nullable": false - }, - "Error": { - "type": "object", - "properties": { - "Message": { - "type": "string", - "description": "Details of an error" - } - }, - "description": "container waiting error, if any" - } - }, - "description": "OK response to ContainerWait operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}": { - "delete": { - "tags": [ - "Container" - ], - "summary": "Remove a container", - "operationId": "ContainerDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "v", - "in": "query", - "description": "Remove the volumes associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "force", - "in": "query", - "description": "If the container is running, kill it before removing it.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "link", - "in": "query", - "description": "Remove the specified link associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "You cannot remove a running container: c2ada9df5af8. Stop the container before attempting removal or force remove" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/archive": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get an archive of a filesystem resource in a container", - "description": "Get a tar archive of a resource in the filesystem of container id.", - "operationId": "ContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/x-tar": { - "schema": { - "type": "object", - "properties": { - "ErrorResponse": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "message": { - "type": "string", - "description": "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file).", - "nullable": false - } - } - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Container" - ], - "summary": "Extract an archive of files or folders to a directory in a container", - "description": "Upload a tar archive to be extracted to a path in the filesystem of container id.", - "operationId": "PutContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Path to a directory in the container to extract the archive’s contents into. ", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "noOverwriteDirNonDir", - "in": "query", - "description": "If “1”, “true”, or “True” then it will be an error if unpacking the given content would cause an existing directory to be replaced with a non-directory and vice versa.", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz.", - "content": { - "application/x-tar": { - "schema": { - "type": "string" - } - }, - "application/octet-stream": { - "schema": { - "type": "string" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The content was extracted successfully", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Permission denied, the volume or container rootfs is marked as read-only.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such container or path does not exist inside the container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - }, - "head": { - "tags": [ - "Container" - ], - "summary": "Get information about files in a container", - "description": "A response header `X-Docker-Container-Path-Stat` is return containing a base64 - encoded JSON object with some filesystem header information about the path.", - "operationId": "ContainerArchiveInfo", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "headers": { - "X-Docker-Container-Path-Stat": { - "description": "TODO", - "schema": { - "type": "string" - } - } - }, - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ErrorResponse": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "message": { - "type": "string", - "description": "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file).", - "nullable": false - } - } - } - }, - "text/plain": { - "schema": { - "type": "object", - "properties": { - "ErrorResponse": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "message": { - "type": "string", - "description": "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file).", - "nullable": false - } - } - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/prune": { - "post": { - "tags": [ - "Container" - ], - "summary": "Delete stopped containers", - "operationId": "ContainerPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ContainerPruneResponse", - "type": "object", - "properties": { - "ContainersDeleted": { - "type": "array", - "description": "Container IDs that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "List Images", - "description": "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image.", - "operationId": "ImageList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Show all images. Only images from a final layer (no children) are shown by default.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:\n\n- `before`=(`[:]`, `` or ``)\n- `dangling=true`\n- `label=key` or `label=\"key=value\"` of an image label\n- `reference`=(`[:]`)\n- `since`=(`[:]`, `` or ``)\n", - "schema": { - "type": "string" - } - }, - { - "name": "digests", - "in": "query", - "description": "Show digest information as a `RepoDigests` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "Summary image data for the images matching the query", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "example": [ - { - "Id": "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8", - "ParentId": "", - "RepoTags": [ - "ubuntu:12.04", - "ubuntu:precise" - ], - "RepoDigests": [ - "ubuntu@sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787" - ], - "Created": 1474925151, - "Size": 103579269, - "VirtualSize": 103579269, - "SharedSize": 0, - "Labels": {}, - "Containers": 2 - }, - { - "Id": "sha256:3e314f95dcace0f5e4fd37b10862fe8398e3c60ed36600bc0ca5fda78b087175", - "ParentId": "", - "RepoTags": [ - "ubuntu:12.10", - "ubuntu:quantal" - ], - "RepoDigests": [ - "ubuntu@sha256:002fba3e3255af10be97ea26e476692a7ebed0bb074a9ab960b2e7a1526b15d7", - "ubuntu@sha256:68ea0200f0b90df725d99d823905b04cf844f6039ef60c60bf3e019915017bd3" - ], - "Created": 1403128455, - "Size": 172064416, - "VirtualSize": 172064416, - "SharedSize": 0, - "Labels": {}, - "Containers": 5 - } - ] - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/build": { - "post": { - "tags": [ - "Image" - ], - "summary": "Build an image", - "description": "Build an image from a tar archive with a `Dockerfile` in it.\n\nThe `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/).\n\nThe Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output.\n\nThe build is canceled if the client drops the connection by quitting or being killed.\n", - "operationId": "ImageBuild", - "parameters": [ - { - "name": "dockerfile", - "in": "query", - "description": "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`.", - "schema": { - "type": "string", - "default": "Dockerfile" - } - }, - { - "name": "t", - "in": "query", - "description": "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters.", - "schema": { - "type": "string" - } - }, - { - "name": "extrahosts", - "in": "query", - "description": "Extra hosts to add to /etc/hosts", - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball.", - "schema": { - "type": "string" - } - }, - { - "name": "q", - "in": "query", - "description": "Suppress verbose build output.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "nocache", - "in": "query", - "description": "Do not use the cache when building the image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "cachefrom", - "in": "query", - "description": "JSON array of images used for build cache resolution.", - "schema": { - "type": "string" - } - }, - { - "name": "pull", - "in": "query", - "description": "Attempt to pull the image even if an older image exists locally.", - "schema": { - "type": "string" - } - }, - { - "name": "rm", - "in": "query", - "description": "Remove intermediate containers after a successful build.", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "forcerm", - "in": "query", - "description": "Always remove intermediate containers, even upon failure.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "memory", - "in": "query", - "description": "Set memory limit for build.", - "schema": { - "type": "integer" - } - }, - { - "name": "memswap", - "in": "query", - "description": "Total memory (memory + swap). Set as `-1` to disable swap.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpushares", - "in": "query", - "description": "CPU shares (relative weight).", - "schema": { - "type": "integer" - } - }, - { - "name": "cpusetcpus", - "in": "query", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).", - "schema": { - "type": "string" - } - }, - { - "name": "cpuperiod", - "in": "query", - "description": "The length of a CPU period in microseconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpuquota", - "in": "query", - "description": "Microseconds of CPU time that the container can get in a CPU period.", - "schema": { - "type": "integer" - } - }, - { - "name": "buildargs", - "in": "query", - "description": "JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values. [Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)", - "schema": { - "type": "string" - } - }, - { - "name": "shmsize", - "in": "query", - "description": "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB.", - "schema": { - "type": "integer" - } - }, - { - "name": "squash", - "in": "query", - "description": "Squash the resulting images layers into a single layer. *(Experimental release only.)*", - "schema": { - "type": "boolean" - } - }, - { - "name": "labels", - "in": "query", - "description": "Arbitrary key/value labels to set on the image, as a JSON map of string pairs.", - "schema": { - "type": "string" - } - }, - { - "name": "networkmode", - "in": "query", - "description": "Sets the networking mode for the run commands during build. Supported standard values are: `bridge`, `host`, `none`, and `container:`. Any other value is taken as a custom network's name to which this container should connect to.", - "schema": { - "type": "string" - } - }, - { - "name": "Content-type", - "in": "header", - "schema": { - "type": "string", - "default": "application/x-tar", - "enum": [ - "application/x-tar" - ] - } - }, - { - "name": "X-Registry-Config", - "in": "header", - "description": "This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.\n\nThe key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:\n\n```\n{\n \"docker.example.com\": {\n \"username\": \"janedoe\",\n \"password\": \"hunter2\"\n },\n \"https://index.docker.io/v1/\": {\n \"username\": \"mobydock\",\n \"password\": \"conta1n3rize14\"\n }\n}\n```\n\nOnly the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API.\n", - "schema": { - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]]", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz.", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - } - }, - "/build/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete builder cache", - "operationId": "BuildPrune", - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "BuildPruneResponse", - "type": "object", - "properties": { - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/create": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create an image", - "description": "Create an image by either pulling it from a registry or importing it.", - "operationId": "ImageCreate", - "parameters": [ - { - "name": "fromImage", - "in": "query", - "description": "Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed.", - "schema": { - "type": "string" - } - }, - { - "name": "fromSrc", - "in": "query", - "description": "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)", - "schema": { - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]]", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Image content if the value `-` has been specified in fromSrc query parameter", - "content": { - "text/plain": { - "schema": { - "type": "string" - } - }, - "application/octet-stream": { - "schema": { - "type": "string" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "repository does not exist or no read access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputImage" - } - }, - "/images/{name}/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "Inspect an image", - "description": "Return low-level information about an image.", - "operationId": "ImageInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Image" - }, - "example": { - "Id": "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c", - "Container": "cb91e48a60d01f1e27028b4fc6819f4f290b3cf12496c8176ec714d0d390984a", - "Comment": "", - "Os": "linux", - "Architecture": "amd64", - "Parent": "sha256:91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c", - "ContainerConfig": { - "Tty": false, - "Hostname": "e611e15f9c9d", - "Domainname": "", - "AttachStdout": false, - "PublishService": "", - "AttachStdin": false, - "OpenStdin": false, - "StdinOnce": false, - "NetworkDisabled": false, - "OnBuild": [], - "Image": "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c", - "User": "", - "WorkingDir": "", - "MacAddress": "", - "AttachStderr": false, - "Labels": { - "com.example.license": "GPL", - "com.example.version": "1.0", - "com.example.vendor": "Acme" - }, - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Cmd": [ - "/bin/sh", - "-c", - "#(nop) LABEL com.example.vendor=Acme com.example.license=GPL com.example.version=1.0" - ] - }, - "DockerVersion": "1.9.0-dev", - "VirtualSize": 188359297, - "Size": 0, - "Author": "", - "Created": "2015-09-10T08:30:53.26995814Z", - "GraphDriver": { - "Name": "aufs", - "Data": {} - }, - "RepoDigests": [ - "localhost:5000/test/busybox/example@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf" - ], - "RepoTags": [ - "example:1.0", - "example:latest", - "example:stable" - ], - "Config": { - "Image": "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c", - "NetworkDisabled": false, - "OnBuild": [], - "StdinOnce": false, - "PublishService": "", - "AttachStdin": false, - "OpenStdin": false, - "Domainname": "", - "AttachStdout": false, - "Tty": false, - "Hostname": "e611e15f9c9d", - "Cmd": [ - "/bin/bash" - ], - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Labels": { - "com.example.vendor": "Acme", - "com.example.version": "1.0", - "com.example.license": "GPL" - }, - "MacAddress": "", - "AttachStderr": false, - "WorkingDir": "", - "User": "" - }, - "RootFS": { - "Type": "layers", - "Layers": [ - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6", - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" - ] - } - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/history": { - "get": { - "tags": [ - "Image" - ], - "summary": "Get the history of an image", - "description": "Return parent layers of an image.", - "operationId": "ImageHistory", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List of image layers", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "HistoryResponseItem", - "required": [ - "Comment", - "Created", - "CreatedBy", - "Id", - "Size", - "Tags" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "Created": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "CreatedBy": { - "type": "string", - "nullable": false - }, - "Tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "Size": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "Comment": { - "type": "string", - "nullable": false - } - }, - "description": "individual image layer information in response to ImageHistory operation", - "x-go-name": "HistoryResponseItem" - } - }, - "example": [ - { - "Id": "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710", - "Created": 1398108230, - "CreatedBy": "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /", - "Tags": [ - "ubuntu:lucid", - "ubuntu:10.04" - ], - "Size": 182964289, - "Comment": "" - }, - { - "Id": "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8", - "Created": 1398108222, - "CreatedBy": "/bin/sh -c #(nop) MAINTAINER Tianon Gravi - mkimage-debootstrap.sh -i iproute,iputils-ping,ubuntu-minimal -t lucid.tar.xz lucid http://archive.ubuntu.com/ubuntu/", - "Tags": [], - "Size": 0, - "Comment": "" - }, - { - "Id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158", - "Created": 1371157430, - "CreatedBy": "", - "Tags": [ - "scratch12:latest", - "scratch:latest" - ], - "Size": 0, - "Comment": "Imported from -" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/push": { - "post": { - "tags": [ - "Image" - ], - "summary": "Push an image", - "description": "Push an image to a registry.\n\nIf you wish to push an image on to a private registry, that image must already have a tag which references the registry. For example, `registry.example.com/myimage:latest`.\n\nThe push is cancelled if the HTTP connection is closed.\n", - "operationId": "ImagePush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The tag to associate with the image on the registry.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/tag": { - "post": { - "tags": [ - "Image" - ], - "summary": "Tag an image", - "description": "Tag an image so that it becomes part of a repository.", - "operationId": "ImageTag", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID to tag.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "The repository to tag in. For example, `someuser/someimage`.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The name of the new tag.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "No error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}": { - "delete": { - "tags": [ - "Image" - ], - "summary": "Remove an image", - "description": "Remove an image, along with any untagged parent images that were\nreferenced by that image.\n\nImages can't be removed if they have descendant images, are being\nused by a running container or are being used by a build.\n", - "operationId": "ImageDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Remove the image even if it is being used by stopped containers or has other tags", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "noprune", - "in": "query", - "description": "Do not delete untagged parent images", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "The image was deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "example": [ - { - "Untagged": "3e2f21a89f" - }, - { - "Deleted": "3e2f21a89f" - }, - { - "Deleted": "53b4f83ac9" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/search": { - "get": { - "tags": [ - "Image" - ], - "summary": "Search images", - "description": "Search for an image on Docker Hub.", - "operationId": "ImageSearch", - "parameters": [ - { - "name": "term", - "in": "query", - "description": "Term to search", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Maximum number of results to return", - "schema": { - "type": "integer" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:\n\n- `is-automated=(true|false)`\n- `is-official=(true|false)`\n- `stars=` Matches images that has at least 'number' stars.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ImageSearchResponseItem", - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "is_official": { - "type": "boolean" - }, - "is_automated": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "star_count": { - "type": "integer" - } - } - } - }, - "example": [ - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "wma55/u1210sshd", - "star_count": 0 - }, - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "jdswinbank/sshd", - "star_count": 0 - }, - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "vgauthier/sshd", - "star_count": 0 - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete unused images", - "operationId": "ImagePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:\n\n- `dangling=` When set to `true` (or `1`), prune only\n unused *and* untagged images. When set to `false`\n (or `0`), all unused images are pruned.\n- `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ImagePruneResponse", - "type": "object", - "properties": { - "ImagesDeleted": { - "type": "array", - "description": "Images that were deleted", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/auth": { - "post": { - "tags": [ - "System" - ], - "summary": "Check auth configuration", - "description": "Validate credentials for a registry and, if available, get an identity token for accessing the registry without password.", - "operationId": "SystemAuth", - "requestBody": { - "description": "Authentication to check", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthConfig" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "An identity token was generated successfully.", - "content": { - "application/json": { - "schema": { - "title": "SystemAuthResponse", - "required": [ - "Status" - ], - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "The status of the authentication", - "nullable": false - }, - "IdentityToken": { - "type": "string", - "description": "An opaque token used to authenticate a user after a successful login", - "nullable": false - } - } - }, - "example": { - "Status": "Login Succeeded", - "IdentityToken": "9cbaf023786cd7..." - } - } - } - }, - "204": { - "description": "No error", - "content": {} - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "authConfig" - } - }, - "/info": { - "get": { - "tags": [ - "System" - ], - "summary": "Get system information", - "operationId": "SystemInfo", - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemInfo" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/version": { - "get": { - "tags": [ - "System" - ], - "summary": "Get version", - "description": "Returns the version of Docker that is running and various information about the system that Docker is running on.", - "operationId": "SystemVersion", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemVersionResponse", - "type": "object", - "properties": { - "Platform": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string" - } - } - }, - "Components": { - "type": "array", - "items": { - "required": [ - "Name", - "Version" - ], - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string", - "nullable": false - }, - "Details": { - "type": "object", - "properties": {}, - "nullable": true - } - }, - "x-go-name": "ComponentVersion" - } - }, - "Version": { - "type": "string" - }, - "ApiVersion": { - "type": "string" - }, - "MinAPIVersion": { - "type": "string" - }, - "GitCommit": { - "type": "string" - }, - "GoVersion": { - "type": "string" - }, - "Os": { - "type": "string" - }, - "Arch": { - "type": "string" - }, - "KernelVersion": { - "type": "string" - }, - "Experimental": { - "type": "boolean" - }, - "BuildTime": { - "type": "string" - } - } - }, - "example": { - "Version": "17.04.0", - "Os": "linux", - "KernelVersion": "3.19.0-23-generic", - "GoVersion": "go1.7.5", - "GitCommit": "deadbee", - "Arch": "amd64", - "ApiVersion": "1.27", - "MinAPIVersion": "1.12", - "BuildTime": "2016-06-14T07:09:13.444803460+00:00", - "Experimental": true - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/_ping": { - "get": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPing", - "responses": { - "200": { - "description": "no error", - "headers": { - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "OK" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/commit": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create a new image from a container", - "operationId": "ImageCommit", - "parameters": [ - { - "name": "container", - "in": "query", - "description": "The ID or name of the container to commit", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name for the created image", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag name for the create image", - "schema": { - "type": "string" - } - }, - { - "name": "comment", - "in": "query", - "description": "Commit message", - "schema": { - "type": "string" - } - }, - { - "name": "author", - "in": "query", - "description": "Author of the image (e.g., `John Hannibal Smith `)", - "schema": { - "type": "string" - } - }, - { - "name": "pause", - "in": "query", - "description": "Whether to pause the container before committing", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "changes", - "in": "query", - "description": "`Dockerfile` instructions to apply while committing", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The container configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerConfig" - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "containerConfig" - } - }, - "/events": { - "get": { - "tags": [ - "System" - ], - "summary": "Monitor events", - "description": "Stream real-time events from the server.\n\nVarious objects within Docker report events when something happens to them.\n\nContainers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, and `update`\n\nImages report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, and `untag`\n\nVolumes report these events: `create`, `mount`, `unmount`, and `destroy`\n\nNetworks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, and `remove`\n\nThe Docker daemon reports these events: `reload`\n\nServices report these events: `create`, `update`, and `remove`\n\nNodes report these events: `create`, `update`, and `remove`\n\nSecrets report these events: `create`, `update`, and `remove`\n\nConfigs report these events: `create`, `update`, and `remove`\n", - "operationId": "SystemEvents", - "parameters": [ - { - "name": "since", - "in": "query", - "description": "Show events created since this timestamp then stream new events.", - "schema": { - "type": "string" - } - }, - { - "name": "until", - "in": "query", - "description": "Show events created until this timestamp then stop streaming.", - "schema": { - "type": "string" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:\n\n- `config=` config name or ID\n- `container=` container name or ID\n- `daemon=` daemon name or ID\n- `event=` event type\n- `image=` image name or ID\n- `label=` image or container label\n- `network=` network name or ID\n- `node=` node ID\n- `plugin`= plugin name or ID\n- `scope`= local or swarm\n- `secret=` secret name or ID\n- `service=` service name or ID\n- `type=` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config`\n- `volume=` volume name\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemEventsResponse", - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The type of object emitting the event" - }, - "Action": { - "type": "string", - "description": "The type of event" - }, - "Actor": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the object emitting the event" - }, - "Attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Various key/value attributes of the object, depending on its type" - } - } - }, - "time": { - "type": "integer", - "description": "Timestamp of event" - }, - "timeNano": { - "type": "integer", - "description": "Timestamp of event, with nanosecond accuracy", - "format": "int64" - } - } - }, - "example": { - "Type": "container", - "Action": "create", - "Actor": { - "ID": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743", - "Attributes": { - "com.example.some-label": "some-label-value", - "image": "alpine", - "name": "my-container" - } - }, - "time": 1461943101 - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/system/df": { - "get": { - "tags": [ - "System" - ], - "summary": "Get data usage information", - "operationId": "SystemDataUsage", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "VirtualSize": 1092588, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ] - } - } - }, - "text/plain": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "VirtualSize": 1092588, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ] - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export an image", - "description": "Get a tarball containing all images and metadata for a repository.\n\nIf `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced.\n\n### Image tarball format\n\nAn image tarball contains one directory per image layer (named using its long ID), each containing these files:\n\n- `VERSION`: currently `1.0` - the file format version\n- `json`: detailed layer information, similar to `docker inspect layer_id`\n- `layer.tar`: A tarfile containing the filesystem changes in this layer\n\nThe `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.\n\nIf the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs.\n\n```json\n{\n \"hello-world\": {\n \"latest\": \"565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1\"\n }\n}\n```\n", - "operationId": "ImageGet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export several images", - "description": "Get a tarball containing all images and metadata for several image repositories.\n\nFor each value of the `names` parameter: if it is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned; if it is an image ID, similarly only that image (and its parents) are returned and there would be no names referenced in the 'repositories' file for this image ID.\n\nFor details on the format, see [the export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageGetAll", - "parameters": [ - { - "name": "names", - "in": "query", - "description": "Image names to filter by", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/load": { - "post": { - "tags": [ - "Image" - ], - "summary": "Import images", - "description": "Load a set of images and tags into a repository.\n\nFor details on the format, see [the export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageLoad", - "parameters": [ - { - "name": "quiet", - "in": "query", - "description": "Suppress progress details during load.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "description": "Tar archive containing images", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "imagesTarball" - } - }, - "/containers/{id}/exec": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Create an exec instance", - "description": "Run a command inside a running container.", - "operationId": "ContainerExec", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Exec configuration", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "AttachStdin": { - "type": "boolean", - "description": "Attach to `stdin` of the exec command." - }, - "AttachStdout": { - "type": "boolean", - "description": "Attach to `stdout` of the exec command." - }, - "AttachStderr": { - "type": "boolean", - "description": "Attach to `stderr` of the exec command." - }, - "DetachKeys": { - "type": "string", - "description": "Override the key sequence for detaching a container. Format is a single character `[a-Z]` or `ctrl-` where `` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`." - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `[\"VAR=value\", ...]`.", - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run, as a string or array of strings.", - "items": { - "type": "string" - } - }, - "Privileged": { - "type": "boolean", - "description": "Runs the exec process with extended privileges.", - "default": false - }, - "User": { - "type": "string", - "description": "The user, and optionally, group to run the exec process inside the container. Format is one of: `user`, `user:group`, `uid`, or `uid:gid`." - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for the exec process inside the container." - } - }, - "example": { - "AttachStdin": false, - "AttachStdout": true, - "AttachStderr": true, - "DetachKeys": "ctrl-p,ctrl-q", - "Tty": false, - "Cmd": [ - "date" - ], - "Env": [ - "FOO=bar", - "BAZ=quux" - ] - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "container is paused", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execConfig" - } - }, - "/exec/{id}/start": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Start an exec instance", - "description": "Starts a previously set up exec instance. If detach is true, this endpoint returns immediately after starting the command. Otherwise, it sets up an interactive session with the command.", - "operationId": "ExecStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Detach": { - "type": "boolean", - "description": "Detach from the command." - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - } - }, - "example": { - "Detach": false, - "Tty": false - } - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such exec instance", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Container is stopped or paused", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execStartConfig" - } - }, - "/exec/{id}/resize": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Resize an exec instance", - "description": "Resize the TTY session used by an exec instance. This endpoint only works if `tty` was specified as part of creating and starting the exec instance.", - "operationId": "ExecResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "201": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/exec/{id}/json": { - "get": { - "tags": [ - "Exec" - ], - "summary": "Inspect an exec instance", - "description": "Return low-level information about an exec instance.", - "operationId": "ExecInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ExecInspectResponse", - "type": "object", - "properties": { - "CanRemove": { - "type": "boolean" - }, - "DetachKeys": { - "type": "string" - }, - "ID": { - "type": "string" - }, - "Running": { - "type": "boolean" - }, - "ExitCode": { - "type": "integer" - }, - "ProcessConfig": { - "$ref": "#/components/schemas/ProcessConfig" - }, - "OpenStdin": { - "type": "boolean" - }, - "OpenStderr": { - "type": "boolean" - }, - "OpenStdout": { - "type": "boolean" - }, - "ContainerID": { - "type": "string" - }, - "Pid": { - "type": "integer", - "description": "The system process ID for the exec process." - } - } - }, - "example": { - "CanRemove": false, - "ContainerID": "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126", - "DetachKeys": "", - "ExitCode": 2, - "ID": "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b", - "OpenStderr": true, - "OpenStdin": true, - "OpenStdout": true, - "ProcessConfig": { - "arguments": [ - "-c", - "exit 2" - ], - "entrypoint": "sh", - "privileged": false, - "tty": true, - "user": "1000" - }, - "Running": false, - "Pid": 42000 - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes": { - "get": { - "tags": [ - "Volume" - ], - "summary": "List volumes", - "operationId": "VolumeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the volumes list. Available filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n volumes that are not in use by a container. When set to `false`\n (or `0`), only volumes that are in use by one or more\n containers are returned.\n- `driver=` Matches volumes based on their driver.\n- `label=` or `label=:` Matches volumes based on\n the presence of a `label` alone or a `label` and a value.\n- `name=` Matches all or part of a volume name.\n", - "schema": { - "type": "string", - "format": "json" - } - } - ], - "responses": { - "200": { - "description": "Summary volume data that matches the query", - "content": { - "application/json": { - "schema": { - "title": "VolumeListResponse", - "required": [ - "Volumes", - "Warnings" - ], - "type": "object", - "properties": { - "Volumes": { - "type": "array", - "description": "List of volumes", - "nullable": false, - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "Warnings": { - "type": "array", - "description": "Warnings that occurred when fetching the list of volumes", - "nullable": false, - "items": { - "type": "string" - } - } - } - }, - "example": { - "Volumes": [ - { - "CreatedAt": "2017-07-19T12:00:26Z", - "Name": "tardis", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/tardis", - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - }, - "Scope": "local", - "Options": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - } - ], - "Warnings": [] - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/create": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Create a volume", - "operationId": "VolumeCreate", - "requestBody": { - "description": "Volume configuration", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The new volume's name. If not specified, Docker generates a name.", - "nullable": false - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver to use.", - "nullable": false, - "default": "local" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A mapping of driver options and values. These options are passed directly to the driver and are driver specific." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - } - }, - "example": { - "Name": "tardis", - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - }, - "Driver": "custom" - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "The volume was created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "volumeConfig" - } - }, - "/volumes/{name}": { - "get": { - "tags": [ - "Volume" - ], - "summary": "Inspect a volume", - "operationId": "VolumeInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "404": { - "description": "No such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Volume" - ], - "summary": "Remove a volume", - "description": "Instruct the driver to remove the volume.", - "operationId": "VolumeDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force the removal of the volume", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "The volume was removed", - "content": {} - }, - "404": { - "description": "No such volume or volume driver", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Volume is in use and cannot be removed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/prune": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Delete unused volumes", - "operationId": "VolumePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "VolumePruneResponse", - "type": "object", - "properties": { - "VolumesDeleted": { - "type": "array", - "description": "Volumes that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks": { - "get": { - "tags": [ - "Network" - ], - "summary": "List networks", - "description": "Returns a list of networks. For details on the format, see [the network inspect endpoint](#operation/NetworkInspect).\n\nNote that it uses a different, smaller representation of a network than inspecting a single network. For example,\nthe list of containers attached to the network is not propagated in API versions 1.28 and up.\n", - "operationId": "NetworkList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to process on the networks list. Available filters:\n\n- `driver=` Matches a network's driver.\n- `id=` Matches all or part of a network ID.\n- `label=` or `label==` of a network label.\n- `name=` Matches all or part of a network name.\n- `scope=[\"swarm\"|\"global\"|\"local\"]` Filters networks by scope (`swarm`, `global`, or `local`).\n- `type=[\"custom\"|\"builtin\"]` Filters networks by type. The `custom` keyword returns all user-defined networks.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Network" - } - }, - "example": [ - { - "Name": "bridge", - "Id": "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566", - "Created": "2016-10-19T06:21:00.416543526Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.17.0.0/16" - } - ] - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - } - }, - { - "Name": "none", - "Id": "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "null", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - }, - { - "Name": "host", - "Id": "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "host", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/{id}": { - "get": { - "tags": [ - "Network" - ], - "summary": "Inspect a network", - "operationId": "NetworkInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "verbose", - "in": "query", - "description": "Detailed inspect output for troubleshooting", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "scope", - "in": "query", - "description": "Filter the network by scope (swarm, global, or local)", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Network" - } - } - } - }, - "404": { - "description": "Network not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Network" - ], - "summary": "Remove a network", - "operationId": "NetworkDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such network", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/create": { - "post": { - "tags": [ - "Network" - ], - "summary": "Create a network", - "operationId": "NetworkCreate", - "requestBody": { - "description": "Network configuration", - "content": { - "application/json": { - "schema": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The network's name." - }, - "CheckDuplicate": { - "type": "boolean", - "description": "Check for networks with duplicate names. Since Network is primarily keyed based on a random ID and not on the name, and network name is strictly a user-friendly alias to the network which is uniquely identified using ID, there is no guaranteed way to check for duplicates. CheckDuplicate is there to provide a best effort checking of any networks which has the same name but it is not guaranteed to catch all name collisions." - }, - "Driver": { - "type": "string", - "description": "Name of the network driver plugin to use.", - "default": "bridge" - }, - "Internal": { - "type": "boolean", - "description": "Restrict external access to the network." - }, - "Attachable": { - "type": "boolean", - "description": "Globally scoped network is manually attachable by regular containers from workers in swarm mode." - }, - "Ingress": { - "type": "boolean", - "description": "Ingress network is the network which provides the routing-mesh in swarm mode." - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "EnableIPv6": { - "type": "boolean", - "description": "Enable IPv6 on the network." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Network specific options to be used by the drivers." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - } - }, - "example": { - "Name": "isolated_nw", - "CheckDuplicate": false, - "Driver": "bridge", - "EnableIPv6": true, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.20.0.0/16", - "IPRange": "172.20.10.0/24", - "Gateway": "172.20.10.11" - }, - { - "Subnet": "2001:db8:abcd::/64", - "Gateway": "2001:db8:abcd::1011" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": true, - "Attachable": false, - "Ingress": false, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created network." - }, - "Warning": { - "type": "string" - } - }, - "example": { - "Id": "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30", - "Warning": "" - } - } - } - } - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "plugin not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "networkConfig" - } - }, - "/networks/{id}/connect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Connect a container to a network", - "operationId": "NetworkConnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to connect to the network." - }, - "EndpointConfig": { - "$ref": "#/components/schemas/EndpointSettings" - } - }, - "example": { - "Container": "3613f73ba0e4", - "EndpointConfig": { - "IPAMConfig": { - "IPv4Address": "172.24.56.89", - "IPv6Address": "2001:db8::5689" - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/{id}/disconnect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Disconnect a container from a network", - "operationId": "NetworkDisconnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to disconnect from the network." - }, - "Force": { - "type": "boolean", - "description": "Force the container to disconnect from the network." - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/prune": { - "post": { - "tags": [ - "Network" - ], - "summary": "Delete unused networks", - "operationId": "NetworkPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkPruneResponse", - "type": "object", - "properties": { - "NetworksDeleted": { - "type": "array", - "description": "Networks that were deleted", - "items": { - "type": "string" - } - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "List plugins", - "description": "Returns information about installed plugins.", - "operationId": "PluginList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the plugin list. Available filters:\n\n- `capability=`\n- `enable=|`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plugin" - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/privileges": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Get plugin privileges", - "operationId": "GetPluginPrivileges", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "title": "PluginPrivilegeItem", - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission the user has to accept upon installing the plugin." - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "title": "PluginPrivilegeItem", - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission the user has to accept upon installing the plugin." - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/pull": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Install a plugin", - "description": "Pulls and installs a plugin. After the plugin is installed, it can be enabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).\n", - "operationId": "PluginPull", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "Remote reference for plugin to install.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "Local name for the pulled plugin.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the plugin." - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the plugin." - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/{name}/json": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Inspect a plugin", - "operationId": "PluginInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}": { - "delete": { - "tags": [ - "Plugin" - ], - "summary": "Remove a plugin", - "operationId": "PluginDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Disable the plugin before removing. This may result in issues if the plugin is in use by a container.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/enable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Enable a plugin", - "operationId": "PluginEnable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "timeout", - "in": "query", - "description": "Set the HTTP client timeout (in seconds)", - "schema": { - "type": "integer", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/disable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Disable a plugin", - "operationId": "PluginDisable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/upgrade": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Upgrade a plugin", - "operationId": "PluginUpgrade", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "Remote reference to upgrade to.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the plugin." - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the plugin." - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/create": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Create a plugin", - "operationId": "PluginCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Path to tar containing plugin rootfs and manifest", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "tarContext" - } - }, - "/plugins/{name}/push": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Push a plugin", - "description": "Push a plugin to the registry.\n", - "operationId": "PluginPush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/set": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Configure a plugin", - "operationId": "PluginSet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the default if omitted.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - "DEBUG=1" - ], - "items": { - "type": "string" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "404": { - "description": "Plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/nodes": { - "get": { - "tags": [ - "Node" - ], - "summary": "List nodes", - "operationId": "NodeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `id=`\n- `label=`\n- `membership=`(`accepted`|`pending`)`\n- `name=`\n- `role=`(`manager`|`worker`)`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}": { - "get": { - "tags": [ - "Node" - ], - "summary": "Inspect a node", - "operationId": "NodeInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Node" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Node" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Node" - ], - "summary": "Delete a node", - "operationId": "NodeDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force remove a node from the swarm", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}/update": { - "post": { - "tags": [ - "Node" - ], - "summary": "Update a node", - "operationId": "NodeUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the node object being updated. This is required to avoid conflicting writes.", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Inspect swarm", - "operationId": "SwarmInspect", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - } - } - }, - "404": { - "description": "no such swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/init": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Initialize a new swarm", - "operationId": "SwarmInit", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well as determining the networking interface used for the VXLAN Tunnel Endpoint (VTEP). This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the default swarm listening port is used." - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the port number from the listen address is used. If `AdvertiseAddr` is not specified, it will be automatically detected when possible." - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format: ``), for example, `192.168.1.1`,\nor an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr`\nis used.\n\nThe `DataPathAddr` specifies the address that global scope network drivers will publish towards other\nnodes in order to reach the containers running on this node. Using this parameter it is possible to\nseparate the container data traffic from the management traffic of the cluster.\n" - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - }, - "text/plain": { - "schema": { - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well as determining the networking interface used for the VXLAN Tunnel Endpoint (VTEP). This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the default swarm listening port is used." - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the port number from the listen address is used. If `AdvertiseAddr` is not specified, it will be automatically detected when possible." - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format: ``), for example, `192.168.1.1`,\nor an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr`\nis used.\n\nThe `DataPathAddr` specifies the address that global scope network drivers will publish towards other\nnodes in order to reach the containers running on this node. Using this parameter it is possible to\nseparate the container data traffic from the management traffic of the cluster.\n" - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - }, - "text/plain": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/join": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Join an existing swarm", - "operationId": "SwarmJoin", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node gets promoted to manager, as well as determining the networking interface used for the VXLAN Tunnel Endpoint (VTEP)." - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the port number from the listen address is used. If `AdvertiseAddr` is not specified, it will be automatically detected when possible." - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format: ``), for example, `192.168.1.1`,\nor an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr`\nis used.\n\nThe `DataPathAddr` specifies the address that global scope network drivers will publish towards other\nnodes in order to reach the containers running on this node. Using this parameter it is possible to\nseparate the container data traffic from the management traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "string", - "description": "Addresses of manager nodes already participating in the swarm." - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - }, - "text/plain": { - "schema": { - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node gets promoted to manager, as well as determining the networking interface used for the VXLAN Tunnel Endpoint (VTEP)." - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the port number from the listen address is used. If `AdvertiseAddr` is not specified, it will be automatically detected when possible." - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format: ``), for example, `192.168.1.1`,\nor an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr`\nis used.\n\nThe `DataPathAddr` specifies the address that global scope network drivers will publish towards other\nnodes in order to reach the containers running on this node. Using this parameter it is possible to\nseparate the container data traffic from the management traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "string", - "description": "Addresses of manager nodes already participating in the swarm." - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/leave": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Leave a swarm", - "operationId": "SwarmLeave", - "parameters": [ - { - "name": "force", - "in": "query", - "description": "Force leave swarm, even if this is the last manager or that it will break the cluster.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/update": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Update a swarm", - "operationId": "SwarmUpdate", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "The version number of the swarm object being updated. This is required to avoid conflicting writes.", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "rotateWorkerToken", - "in": "query", - "description": "Rotate the worker join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerToken", - "in": "query", - "description": "Rotate the manager join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerUnlockKey", - "in": "query", - "description": "Rotate the manager unlock key.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/unlockkey": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Get the unlock key", - "operationId": "SwarmUnlockkey", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - }, - "text/plain": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/unlock": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Unlock a locked manager", - "operationId": "SwarmUnlock", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services": { - "get": { - "tags": [ - "Service" - ], - "summary": "List services", - "operationId": "ServiceList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the services list. Available filters:\n\n- `id=`\n- `label=`\n- `mode=[\"replicated\"|\"global\"]`\n- `name=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/create": { - "post": { - "tags": [ - "Service" - ], - "summary": "Create a service", - "operationId": "ServiceCreate", - "parameters": [ - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "web", - "TaskTemplate": { - "ContainerSpec": { - "Image": "nginx:alpine", - "Mounts": [ - { - "ReadOnly": true, - "Source": "web-data", - "Target": "/usr/share/nginx/html", - "Type": "volume", - "VolumeOptions": { - "DriverConfig": {}, - "Labels": { - "com.example.something": "something-value" - } - } - } - ], - "Hosts": [ - "10.10.10.10 host1", - "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2" - ], - "User": "33", - "DNSConfig": { - "Nameservers": [ - "8.8.8.8" - ], - "Search": [ - "example.org" - ], - "Options": [ - "timeout:3" - ] - }, - "Secrets": [ - { - "File": { - "Name": "www.example.org.key", - "UID": "33", - "GID": "33", - "Mode": 384 - }, - "SecretID": "fpjqlhnwb19zds35k8wn80lq9", - "SecretName": "example_org_domain_key" - } - ] - }, - "LogDriver": { - "Name": "json-file", - "Options": { - "max-file": "3", - "max-size": "10M" - } - }, - "Placement": {}, - "Resources": { - "Limits": { - "MemoryBytes": 104857600 - }, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "on-failure", - "Delay": 10000000000, - "MaxAttempts": 10 - } - }, - "Mode": { - "Replicated": { - "Replicas": 4 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Ports": [ - { - "Protocol": "tcp", - "PublishedPort": 8080, - "TargetPort": 80 - } - ] - }, - "Labels": { - "foo": "bar" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ServiceCreateResponse", - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the created service." - }, - "Warning": { - "type": "string", - "description": "Optional warning message" - } - }, - "example": { - "ID": "ak7w3gjqoa3kuz8xcpnyy0pvl", - "Warning": "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - } - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "network is not eligible for services", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}": { - "get": { - "tags": [ - "Service" - ], - "summary": "Inspect a service", - "operationId": "ServiceInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "insertDefaults", - "in": "query", - "description": "Fill empty fields with default values.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Service" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Service" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Service" - ], - "summary": "Delete a service", - "operationId": "ServiceDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/{id}/update": { - "post": { - "tags": [ - "Service" - ], - "summary": "Update a service", - "operationId": "ServiceUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the service object being updated. This is required to avoid conflicting writes.", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "registryAuthFrom", - "in": "query", - "description": "If the X-Registry-Auth header is not specified, this parameter indicates where to find registry authorization credentials. The valid values are `spec` and `previous-spec`.", - "schema": { - "type": "string", - "default": "spec" - } - }, - { - "name": "rollback", - "in": "query", - "description": "Set to this parameter to `previous` to cause a server-side rollback to the previous service spec. The supplied spec will be ignored in this case.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "top", - "TaskTemplate": { - "ContainerSpec": { - "Image": "busybox", - "Args": [ - "top" - ] - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceUpdateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}/logs": { - "get": { - "tags": [ - "Service" - ], - "summary": "Get service logs", - "description": "Get `stdout` and `stderr` logs from a service.\n\n**Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers.\n", - "operationId": "ServiceLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the service", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show service context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Return the logs as a stream.\n\nThis will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines.", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "101": { - "description": "logs returned as a stream", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "200": { - "description": "logs returned as a string in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string" - } - }, - "application/json": { - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such service: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks": { - "get": { - "tags": [ - "Task" - ], - "summary": "List tasks", - "operationId": "TaskList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the tasks list. Available filters:\n\n- `desired-state=(running | shutdown | accepted)`\n- `id=`\n- `label=key` or `label=\"key=value\"`\n- `name=`\n- `node=`\n- `service=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ] - }, - { - "ID": "1yljwbmlr8er2waf8orvqpwms", - "Version": { - "Index": 30 - }, - "CreatedAt": "2016-06-07T21:07:30.019104782Z", - "UpdatedAt": "2016-06-07T21:07:30.231958098Z", - "Name": "hopeful_cori", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:30.202183143Z", - "State": "shutdown", - "Message": "shutdown", - "ContainerStatus": { - "ContainerID": "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" - } - }, - "DesiredState": "shutdown", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.5/16" - ] - } - ] - } - ], - "items": { - "$ref": "#/components/schemas/Task" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}": { - "get": { - "tags": [ - "Task" - ], - "summary": "Inspect a task", - "operationId": "TaskInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Task" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}/logs": { - "get": { - "summary": "Get task logs", - "description": "Get `stdout` and `stderr` logs from a task.\n\n**Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers.\n", - "operationId": "TaskLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show task context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Return the logs as a stream.\n\nThis will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines.", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "101": { - "description": "logs returned as a stream", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "200": { - "description": "logs returned as a string in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string" - } - }, - "application/json": { - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such task: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets": { - "get": { - "tags": [ - "Secret" - ], - "summary": "List secrets", - "operationId": "SecretList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Available filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "blt1owaxmitz71s9v5zh81zun", - "Version": { - "Index": 85 - }, - "CreatedAt": "2017-07-20T13:55:28.678958722Z", - "UpdatedAt": "2017-07-20T13:55:28.678958722Z", - "Spec": { - "Name": "mysql-passwd", - "Labels": { - "some.label": "some.value" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - }, - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - } - } - } - ], - "items": { - "$ref": "#/components/schemas/Secret" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/create": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Create a secret", - "operationId": "SecretCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/SecretSpec" - }, - { - "type": "object", - "example": { - "Name": "app-key.crt", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==", - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/secrets/{id}": { - "get": { - "tags": [ - "Secret" - ], - "summary": "Inspect a secret", - "operationId": "SecretInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Secret" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - } - } - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Secret" - ], - "summary": "Delete a secret", - "operationId": "SecretDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/{id}/update": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Update a Secret", - "operationId": "SecretUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the secret", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the secret object being updated. This is required to avoid conflicting writes.", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the secret to update. Currently, only the Labels field can be updated. All other fields must remain unchanged from the [SecretInspect endpoint](#operation/SecretInspect) response values.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such secret", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs": { - "get": { - "tags": [ - "Config" - ], - "summary": "List configs", - "operationId": "ConfigList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the configs list. Available filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "server.conf" - } - } - ], - "items": { - "$ref": "#/components/schemas/Config" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/create": { - "post": { - "tags": [ - "Config" - ], - "summary": "Create a config", - "operationId": "ConfigCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ConfigSpec" - }, - { - "type": "object", - "example": { - "Name": "server.conf", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs/{id}": { - "get": { - "tags": [ - "Config" - ], - "summary": "Inspect a config", - "operationId": "ConfigInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Config" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt" - } - } - } - } - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Config" - ], - "summary": "Delete a config", - "operationId": "ConfigDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/{id}/update": { - "post": { - "tags": [ - "Config" - ], - "summary": "Update a Config", - "operationId": "ConfigUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the config", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the config object being updated. This is required to avoid conflicting writes.", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the config to update. Currently, only the Labels field can be updated. All other fields must remain unchanged from the [ConfigInspect endpoint](#operation/ConfigInspect) response values.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such config", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/distribution/{name}/json": { - "get": { - "tags": [ - "Distribution" - ], - "summary": "Get image information from the registry", - "description": "Return image digest and platform information by contacting the registry.", - "operationId": "DistributionInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "descriptor and platform information", - "content": { - "application/json": { - "schema": { - "title": "DistributionInspectResponse", - "required": [ - "Descriptor", - "Platforms" - ], - "type": "object", - "properties": { - "Descriptor": { - "type": "object", - "properties": { - "MediaType": { - "type": "string" - }, - "Size": { - "type": "integer", - "format": "int64" - }, - "Digest": { - "type": "string" - }, - "URLs": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "A descriptor struct containing digest, media type, and size" - }, - "Platforms": { - "type": "array", - "description": "An array containing all platforms supported by the image", - "items": { - "type": "object", - "properties": { - "Architecture": { - "type": "string" - }, - "OS": { - "type": "string" - }, - "OSVersion": { - "type": "string" - }, - "OSFeatures": { - "type": "array", - "items": { - "type": "string" - } - }, - "Variant": { - "type": "string" - }, - "Features": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "x-go-name": "DistributionInspect" - }, - "example": { - "Descriptor": { - "MediaType": "application/vnd.docker.distribution.manifest.v2+json", - "Digest": "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96", - "Size": 3987495, - "URLs": [ - "" - ] - }, - "Platforms": [ - { - "Architecture": "amd64", - "OS": "linux", - "OSVersion": "", - "OSFeatures": [ - "" - ], - "Variant": "", - "Features": [ - "" - ] - } - ] - } - } - } - }, - "401": { - "description": "Failed authentication or no image found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/session": { - "post": { - "tags": [ - "Session (experimental)" - ], - "summary": "Initialize interactive session", - "description": "Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities.\n\n> **Note**: This endpoint is *experimental* and only available if the daemon is started with experimental\n> features enabled. The specifications for this endpoint may still change in a future version of the API.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /session HTTP/1.1\nUpgrade: h2c\nConnection: Upgrade\n```\n\nThe Docker daemon will respond with a `101 UPGRADED` response follow with the raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nConnection: Upgrade\nUpgrade: h2c\n```\n", - "operationId": "Session", - "responses": { - "101": { - "description": "no error, hijacking successful", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Port": { - "required": [ - "PrivatePort", - "Type" - ], - "type": "object", - "properties": { - "IP": { - "type": "string", - "format": "ip-address" - }, - "PrivatePort": { - "type": "integer", - "description": "Port on the container", - "format": "uint16", - "nullable": false - }, - "PublicPort": { - "type": "integer", - "description": "Port exposed on the host", - "format": "uint16" - }, - "Type": { - "type": "string", - "nullable": false, - "enum": [ - "tcp", - "udp" - ] - } - }, - "description": "An open port on a container", - "example": { - "PrivatePort": 8080, - "PublicPort": 80, - "Type": "tcp" - } - }, - "MountPoint": { - "type": "object", - "properties": { - "Type": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Destination": { - "type": "string" - }, - "Driver": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "RW": { - "type": "boolean" - }, - "Propagation": { - "type": "string" - } - }, - "description": "A mount point inside a container" - }, - "DeviceMapping": { - "type": "object", - "properties": { - "PathOnHost": { - "type": "string" - }, - "PathInContainer": { - "type": "string" - }, - "CgroupPermissions": { - "type": "string" - } - }, - "description": "A device mapping between the host and container", - "example": { - "PathOnHost": "/dev/deviceName", - "PathInContainer": "/dev/deviceName", - "CgroupPermissions": "mrw" - } - }, - "ThrottleDevice": { - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Device path" - }, - "Rate": { - "minimum": 0, - "type": "integer", - "description": "Rate", - "format": "int64" - } - } - }, - "Mount": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "Container path." - }, - "Source": { - "type": "string", - "description": "Mount source (e.g. a volume name, a host path)." - }, - "Type": { - "type": "string", - "description": "The mount type. Available types:\n\n- `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.\n- `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed.\n- `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.\n", - "enum": [ - "bind", - "volume", - "tmpfs" - ] - }, - "ReadOnly": { - "type": "boolean", - "description": "Whether the mount should be read-only." - }, - "Consistency": { - "type": "string", - "description": "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`." - }, - "BindOptions": { - "type": "object", - "properties": { - "Propagation": { - "type": "string", - "description": "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.", - "enum": [ - "private", - "rprivate", - "shared", - "rshared", - "slave", - "rslave" - ] - } - }, - "description": "Optional configuration for the `bind` type." - }, - "VolumeOptions": { - "type": "object", - "properties": { - "NoCopy": { - "type": "boolean", - "description": "Populate volume with data from the target.", - "default": false - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "DriverConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver to use to create the volume." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "key/value map of driver specific options." - } - }, - "description": "Map of driver specific options" - } - }, - "description": "Optional configuration for the `volume` type." - }, - "TmpfsOptions": { - "type": "object", - "properties": { - "SizeBytes": { - "type": "integer", - "description": "The size for the tmpfs mount in bytes.", - "format": "int64" - }, - "Mode": { - "type": "integer", - "description": "The permission mode for the tmpfs mount in an integer." - } - }, - "description": "Optional configuration for the `tmpfs` type." - } - } - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "- Empty string means not to restart\n- `always` Always restart\n- `unless-stopped` Restart always except when the user has manually stopped the container\n- `on-failure` Restart only when the container exit code is non-zero\n", - "enum": [ - "", - "always", - "unless-stopped", - "on-failure" - ] - }, - "MaximumRetryCount": { - "type": "integer", - "description": "If `on-failure` is used, the number of times to retry before giving up" - } - }, - "description": "The behavior to apply when the container exits. The default is not to restart.\n\nAn ever increasing delay (double the previous delay, starting at 100ms) is added before each restart to prevent flooding the server.\n" - }, - "Resources": { - "type": "object", - "properties": { - "CpuShares": { - "type": "integer", - "description": "An integer value representing this container's relative CPU weight versus other containers." - }, - "Memory": { - "type": "integer", - "description": "Memory limit in bytes.", - "format": "int64", - "default": 0 - }, - "CgroupParent": { - "type": "string", - "description": "Path to `cgroups` under which the container's `cgroup` is created. If the path is not absolute, the path is considered to be relative to the `cgroups` path of the init process. Cgroups are created if they do not already exist." - }, - "BlkioWeight": { - "maximum": 1000, - "minimum": 0, - "type": "integer", - "description": "Block IO weight (relative weight)." - }, - "BlkioWeightDevice": { - "type": "array", - "description": "Block IO weight (relative device weight) in the form `[{\"Path\": \"device_path\", \"Weight\": weight}]`.\n", - "items": { - "type": "object", - "properties": { - "Path": { - "type": "string" - }, - "Weight": { - "minimum": 0, - "type": "integer" - } - } - } - }, - "BlkioDeviceReadBps": { - "type": "array", - "description": "Limit read rate (bytes per second) from a device, in the form `[{\"Path\": \"device_path\", \"Rate\": rate}]`.\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteBps": { - "type": "array", - "description": "Limit write rate (bytes per second) to a device, in the form `[{\"Path\": \"device_path\", \"Rate\": rate}]`.\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceReadIOps": { - "type": "array", - "description": "Limit read rate (IO per second) from a device, in the form `[{\"Path\": \"device_path\", \"Rate\": rate}]`.\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteIOps": { - "type": "array", - "description": "Limit write rate (IO per second) to a device, in the form `[{\"Path\": \"device_path\", \"Rate\": rate}]`.\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "CpuPeriod": { - "type": "integer", - "description": "The length of a CPU period in microseconds.", - "format": "int64" - }, - "CpuQuota": { - "type": "integer", - "description": "Microseconds of CPU time that the container can get in a CPU period.", - "format": "int64" - }, - "CpuRealtimePeriod": { - "type": "integer", - "description": "The length of a CPU real-time period in microseconds. Set to 0 to allocate no time allocated to real-time tasks.", - "format": "int64" - }, - "CpuRealtimeRuntime": { - "type": "integer", - "description": "The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no time allocated to real-time tasks.", - "format": "int64" - }, - "CpusetCpus": { - "type": "string", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`)", - "example": "0-3" - }, - "CpusetMems": { - "type": "string", - "description": "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems." - }, - "Devices": { - "type": "array", - "description": "A list of devices to add to the container.", - "items": { - "$ref": "#/components/schemas/DeviceMapping" - } - }, - "DeviceCgroupRules": { - "type": "array", - "description": "a list of cgroup rules to apply to the container", - "items": { - "type": "string", - "example": "c 13:* rwm" - } - }, - "DiskQuota": { - "type": "integer", - "description": "Disk limit (in bytes).", - "format": "int64" - }, - "KernelMemory": { - "type": "integer", - "description": "Kernel memory limit in bytes.", - "format": "int64" - }, - "MemoryReservation": { - "type": "integer", - "description": "Memory soft limit in bytes.", - "format": "int64" - }, - "MemorySwap": { - "type": "integer", - "description": "Total memory limit (memory + swap). Set as `-1` to enable unlimited swap.", - "format": "int64" - }, - "MemorySwappiness": { - "maximum": 100, - "minimum": 0, - "type": "integer", - "description": "Tune a container's memory swappiness behavior. Accepts an integer between 0 and 100.", - "format": "int64" - }, - "NanoCPUs": { - "type": "integer", - "description": "CPU quota in units of 10-9 CPUs.", - "format": "int64" - }, - "OomKillDisable": { - "type": "boolean", - "description": "Disable OOM Killer for the container." - }, - "PidsLimit": { - "type": "integer", - "description": "Tune a container's pids limit. Set -1 for unlimited.", - "format": "int64" - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example: `{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}`\"\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - }, - "CpuCount": { - "type": "integer", - "description": "The number of usable CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "CpuPercent": { - "type": "integer", - "description": "The usable percentage of the available CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "IOMaximumIOps": { - "type": "integer", - "description": "Maximum IOps for the container system drive (Windows only)", - "format": "int64" - }, - "IOMaximumBandwidth": { - "type": "integer", - "description": "Maximum IO in bytes per second for the container system drive (Windows only)", - "format": "int64" - } - }, - "description": "A container's resources (cgroups config, ulimits, etc)" - }, - "ResourceObject": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - } - }, - "description": "An object describing the resources which can be advertised by a node and requested by a task" - }, - "GenericResources": { - "type": "array", - "description": "User-defined resources can be either Integer resources (e.g, `SSD=3`) or String resources (e.g, `GPU=UUID1`)", - "example": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ], - "items": { - "type": "object", - "properties": { - "NamedResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "string" - } - } - }, - "DiscreteResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "integer", - "format": "int64" - } - } - } - } - } - }, - "HealthConfig": { - "type": "object", - "properties": { - "Test": { - "type": "array", - "description": "The test to perform. Possible values are:\n\n- `[]` inherit healthcheck from image or parent image\n- `[\"NONE\"]` disable healthcheck\n- `[\"CMD\", args...]` exec arguments directly\n- `[\"CMD-SHELL\", command]` run command with system's default shell\n", - "items": { - "type": "string" - } - }, - "Interval": { - "type": "integer", - "description": "The time to wait between checks in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit." - }, - "Timeout": { - "type": "integer", - "description": "The time to wait before considering the check to have hung. It should be 0 or at least 1000000 (1 ms). 0 means inherit." - }, - "Retries": { - "type": "integer", - "description": "The number of consecutive failures needed to consider a container as unhealthy. 0 means inherit." - }, - "StartPeriod": { - "type": "integer", - "description": "Start period for the container to initialize before starting health-retries countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit." - } - }, - "description": "A test to perform to check that the container is healthy." - }, - "HostConfig": { - "description": "Container configuration that depends on the host we are running on", - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "Binds": { - "type": "array", - "description": "A list of volume bindings for this container. Each volume binding is a string in one of these forms:\n\n- `host-src:container-dest` to bind-mount a host path into the container. Both `host-src`, and `container-dest` must be an _absolute_ path.\n- `host-src:container-dest:ro` to make the bind mount read-only inside the container. Both `host-src`, and `container-dest` must be an _absolute_ path.\n- `volume-name:container-dest` to bind-mount a volume managed by a volume driver into the container. `container-dest` must be an _absolute_ path.\n- `volume-name:container-dest:ro` to mount the volume read-only inside the container. `container-dest` must be an _absolute_ path.\n", - "items": { - "type": "string" - } - }, - "ContainerIDFile": { - "type": "string", - "description": "Path to a file where the container ID is written" - }, - "LogConfig": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "json-file", - "syslog", - "journald", - "gelf", - "fluentd", - "awslogs", - "splunk", - "etwlogs", - "none" - ] - }, - "Config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "The logging configuration for this container" - }, - "NetworkMode": { - "type": "string", - "description": "Network mode to use for this container. Supported standard values are: `bridge`, `host`, `none`, and `container:`. Any other value is taken as a custom network's name to which this container should connect to." - }, - "PortBindings": { - "$ref": "#/components/schemas/PortMap" - }, - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - }, - "AutoRemove": { - "type": "boolean", - "description": "Automatically remove the container when the container's process exits. This has no effect if `RestartPolicy` is set." - }, - "VolumeDriver": { - "type": "string", - "description": "Driver that this container uses to mount volumes." - }, - "VolumesFrom": { - "type": "array", - "description": "A list of volumes to inherit from another container, specified in the form `[:]`.", - "items": { - "type": "string" - } - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to the container.", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "CapAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the container.", - "items": { - "type": "string" - } - }, - "CapDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the container.", - "items": { - "type": "string" - } - }, - "Dns": { - "type": "array", - "description": "A list of DNS servers for the container to use.", - "items": { - "type": "string" - } - }, - "DnsOptions": { - "type": "array", - "description": "A list of DNS options.", - "items": { - "type": "string" - } - }, - "DnsSearch": { - "type": "array", - "description": "A list of DNS search domains.", - "items": { - "type": "string" - } - }, - "ExtraHosts": { - "type": "array", - "description": "A list of hostnames/IP mappings to add to the container's `/etc/hosts` file. Specified in the form `[\"hostname:IP\"]`.\n", - "items": { - "type": "string" - } - }, - "GroupAdd": { - "type": "array", - "description": "A list of additional groups that the container process will run as.", - "items": { - "type": "string" - } - }, - "IpcMode": { - "type": "string", - "description": "IPC sharing mode for the container. Possible values are:\n\n- `\"none\"`: own private IPC namespace, with /dev/shm not mounted\n- `\"private\"`: own private IPC namespace\n- `\"shareable\"`: own private IPC namespace, with a possibility to share it with other containers\n- `\"container:\"`: join another (shareable) container's IPC namespace\n- `\"host\"`: use the host system's IPC namespace\n\nIf not specified, daemon default is used, which can either be `\"private\"`\nor `\"shareable\"`, depending on daemon version and configuration.\n" - }, - "Cgroup": { - "type": "string", - "description": "Cgroup to use for the container." - }, - "Links": { - "type": "array", - "description": "A list of links for the container in the form `container_name:alias`.", - "items": { - "type": "string" - } - }, - "OomScoreAdj": { - "type": "integer", - "description": "An integer value containing the score given to the container in order to tune OOM killer preferences.", - "example": 500 - }, - "PidMode": { - "type": "string", - "description": "Set the PID (Process) Namespace mode for the container. It can be either:\n\n- `\"container:\"`: joins another container's PID namespace\n- `\"host\"`: use the host's PID namespace inside the container\n" - }, - "Privileged": { - "type": "boolean", - "description": "Gives the container full access to the host." - }, - "PublishAllPorts": { - "type": "boolean", - "description": "Allocates an ephemeral host port for all of a container's\nexposed ports.\n\nPorts are de-allocated when the container stops and allocated when the container starts.\nThe allocated port might be changed when restarting the container.\n\nThe port is selected from the ephemeral port range that depends on the kernel.\nFor example, on Linux the range is defined by `/proc/sys/net/ipv4/ip_local_port_range`.\n" - }, - "ReadonlyRootfs": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "SecurityOpt": { - "type": "array", - "description": "A list of string values to customize labels for MLS systems, such as SELinux.", - "items": { - "type": "string" - } - }, - "StorageOpt": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Storage driver options for this container, in the form `{\"size\": \"120G\"}`.\n" - }, - "Tmpfs": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of container directories which should be replaced by tmpfs mounts, and their corresponding mount options. For example: `{ \"/run\": \"rw,noexec,nosuid,size=65536k\" }`.\n" - }, - "UTSMode": { - "type": "string", - "description": "UTS namespace to use for the container." - }, - "UsernsMode": { - "type": "string", - "description": "Sets the usernamespace mode for the container when usernamespace remapping option is enabled." - }, - "ShmSize": { - "minimum": 0, - "type": "integer", - "description": "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB." - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A list of kernel parameters (sysctls) to set in the container. For example: `{\"net.ipv4.ip_forward\": \"1\"}`\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime to use with this container." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array. (Windows only)", - "items": { - "minimum": 0, - "type": "integer" - } - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the container. (Windows only)", - "enum": [ - "default", - "process", - "hyperv" - ] - } - } - } - ] - }, - "ContainerConfig": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid RFC 1123 hostname." - }, - "Domainname": { - "type": "string", - "description": "The domain name to use for the container." - }, - "User": { - "type": "string", - "description": "The user that commands are run as inside the container." - }, - "AttachStdin": { - "type": "boolean", - "description": "Whether to attach to `stdin`.", - "default": false - }, - "AttachStdout": { - "type": "boolean", - "description": "Whether to attach to `stdout`.", - "default": true - }, - "AttachStderr": { - "type": "boolean", - "description": "Whether to attach to `stderr`.", - "default": true - }, - "ExposedPorts": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping ports to an empty object in the form:\n\n`{\"/\": {}}`\n" - }, - "Tty": { - "type": "boolean", - "description": "Attach standard streams to a TTY, including `stdin` if it is not closed.", - "default": false - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`", - "default": false - }, - "StdinOnce": { - "type": "boolean", - "description": "Close `stdin` after one attached client disconnects", - "default": false - }, - "Env": { - "type": "array", - "description": "A list of environment variables to set inside the container in the form `[\"VAR=value\", ...]`. A variable without `=` is removed from the environment, rather than to have an empty value.\n", - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run specified as a string or an array of strings.", - "items": { - "type": "string" - } - }, - "Healthcheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "ArgsEscaped": { - "type": "boolean", - "description": "Command is already escaped (Windows only)" - }, - "Image": { - "type": "string", - "description": "The name of the image to use when creating the container" - }, - "Volumes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping mount point paths inside the container to empty objects." - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for commands to run in." - }, - "Entrypoint": { - "type": "array", - "description": "The entry point for the container as a string or an array of strings.\n\nIf the array consists of exactly one empty string (`[\"\"]`) then the entry point is reset to system default (i.e., the entry point used by docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`).\n", - "items": { - "type": "string" - } - }, - "NetworkDisabled": { - "type": "boolean", - "description": "Disable networking for the container." - }, - "MacAddress": { - "type": "string", - "description": "MAC address of the container." - }, - "OnBuild": { - "type": "array", - "description": "`ONBUILD` metadata that were defined in the image's `Dockerfile`.", - "items": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop a container as a string or unsigned integer.", - "default": "SIGTERM" - }, - "StopTimeout": { - "type": "integer", - "description": "Timeout to stop a container in seconds." - }, - "Shell": { - "type": "array", - "description": "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.", - "items": { - "type": "string" - } - } - }, - "description": "Configuration for a container that is portable between hosts" - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Bridge": { - "type": "string", - "description": "Name of the network'a bridge (for example, `docker0`).", - "example": "docker0" - }, - "SandboxID": { - "type": "string", - "description": "SandboxID uniquely represents a container's network stack.", - "example": "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3" - }, - "HairpinMode": { - "type": "boolean", - "description": "Indicates if hairpin NAT should be enabled on the virtual interface.\n", - "example": false - }, - "LinkLocalIPv6Address": { - "type": "string", - "description": "IPv6 unicast address using the link-local prefix.", - "example": "fe80::42:acff:fe11:1" - }, - "LinkLocalIPv6PrefixLen": { - "type": "integer", - "description": "Prefix length of the IPv6 unicast address.", - "example": 64 - }, - "Ports": { - "$ref": "#/components/schemas/PortMap" - }, - "SandboxKey": { - "type": "string", - "description": "SandboxKey identifies the sandbox", - "example": "/var/run/docker/netns/8ab54b426c38" - }, - "SecondaryIPAddresses": { - "type": "array", - "description": "", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "SecondaryIPv6Addresses": { - "type": "array", - "description": "", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "EndpointID": { - "type": "string", - "description": "EndpointID uniquely represents a service endpoint in a Sandbox.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.1" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 64 - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address for this network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8:2::100" - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the container on the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "02:42:ac:11:00:04" - }, - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "Information about all networks that the container is connected to.\n" - } - }, - "description": "NetworkSettings exposes the network settings in the API" - }, - "Address": { - "type": "object", - "properties": { - "Addr": { - "type": "string", - "description": "IP address." - }, - "PrefixLen": { - "type": "integer", - "description": "Mask length of the IP address." - } - }, - "description": "Address represents an IPv4 or IPv6 IP address." - }, - "PortMap": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PortBinding" - } - }, - "description": "PortMap describes the mapping of container ports to host ports, using the\ncontainer's port-number and protocol as key in the format `/`,\nfor example, `80/udp`.\n\nIf a container's port is mapped for both `tcp` and `udp`, two separate\nentries are added to the mapping table.\n", - "example": { - "443/tcp": [ - { - "HostIp": "127.0.0.1", - "HostPort": "4443" - } - ], - "80/tcp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - }, - { - "HostIp": "0.0.0.0", - "HostPort": "8080" - } - ], - "80/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - } - ], - "53/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "53" - } - ] - } - }, - "PortBinding": { - "type": "object", - "properties": { - "HostIp": { - "type": "string", - "description": "Host IP address that the container's port is mapped to.", - "example": "127.0.0.1" - }, - "HostPort": { - "type": "string", - "description": "Host port number that the container's port is mapped to.", - "example": "4443" - } - }, - "description": "PortBinding represents a binding between a host IP address and a host\nport.\n", - "nullable": true, - "x-nullable": true - }, - "GraphDriverData": { - "required": [ - "Data", - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Data": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "nullable": false - } - }, - "description": "Information about a container's graph driver." - }, - "Image": { - "required": [ - "Architecture", - "Author", - "Comment", - "Container", - "Created", - "DockerVersion", - "GraphDriver", - "Id", - "Os", - "Parent", - "RootFS", - "Size", - "VirtualSize" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "RepoTags": { - "type": "array", - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "items": { - "type": "string" - } - }, - "Parent": { - "type": "string", - "nullable": false - }, - "Comment": { - "type": "string", - "nullable": false - }, - "Created": { - "type": "string", - "nullable": false - }, - "Container": { - "type": "string", - "nullable": false - }, - "ContainerConfig": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "DockerVersion": { - "type": "string", - "nullable": false - }, - "Author": { - "type": "string", - "nullable": false - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "Architecture": { - "type": "string", - "nullable": false - }, - "Os": { - "type": "string", - "nullable": false - }, - "OsVersion": { - "type": "string" - }, - "Size": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "VirtualSize": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "RootFS": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false - }, - "Layers": { - "type": "array", - "items": { - "type": "string" - } - }, - "BaseLayer": { - "type": "string" - } - } - }, - "Metadata": { - "type": "object", - "properties": { - "LastTagTime": { - "type": "string", - "format": "dateTime" - } - } - } - } - }, - "ImageSummary": { - "required": [ - "Containers", - "Created", - "Id", - "Labels", - "ParentId", - "RepoDigests", - "RepoTags", - "SharedSize", - "Size", - "VirtualSize" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "ParentId": { - "type": "string", - "nullable": false - }, - "RepoTags": { - "type": "array", - "nullable": false, - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "nullable": false, - "items": { - "type": "string" - } - }, - "Created": { - "type": "integer", - "nullable": false - }, - "Size": { - "type": "integer", - "nullable": false - }, - "SharedSize": { - "type": "integer", - "nullable": false - }, - "VirtualSize": { - "type": "integer", - "nullable": false - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "nullable": false - }, - "Containers": { - "type": "integer", - "nullable": false - } - } - }, - "AuthConfig": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "email": { - "type": "string" - }, - "serveraddress": { - "type": "string" - } - }, - "example": { - "username": "hannibal", - "password": "xxxx", - "serveraddress": "https://index.docker.io/v1/" - } - }, - "ProcessConfig": { - "type": "object", - "properties": { - "privileged": { - "type": "boolean" - }, - "user": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "entrypoint": { - "type": "string" - }, - "arguments": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Volume": { - "required": [ - "Driver", - "Labels", - "Mountpoint", - "Name", - "Options", - "Scope" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the volume.", - "nullable": false - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver used by the volume.", - "nullable": false - }, - "Mountpoint": { - "type": "string", - "description": "Mount path of the volume on the host.", - "nullable": false - }, - "CreatedAt": { - "type": "string", - "description": "Date/Time the volume was created.", - "format": "dateTime" - }, - "Status": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "Low-level details about the volume, provided by the volume driver.\nDetails are returned as a map with key/value pairs:\n`{\"key\":\"value\",\"key2\":\"value2\"}`.\n\nThe `Status` field is optional, and is omitted if the volume driver\ndoes not support this feature.\n" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false - }, - "Scope": { - "type": "string", - "description": "The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level.", - "nullable": false, - "default": "local", - "enum": [ - "local", - "global" - ] - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The driver specific options used when creating the volume." - }, - "UsageData": { - "required": [ - "RefCount", - "Size" - ], - "type": "object", - "properties": { - "Size": { - "type": "integer", - "description": "Amount of disk space used by the volume (in bytes). This information\nis only available for volumes created with the `\"local\"` volume\ndriver. For volumes created with other volume drivers, this field\nis set to `-1` (\"not available\")\n", - "nullable": false - }, - "RefCount": { - "type": "integer", - "description": "The number of containers referencing this volume. This field\nis set to `-1` if the reference-count is not available.\n", - "nullable": false - } - }, - "description": "Usage details about the volume. This information is used by the\n`GET /system/df` endpoint, and omitted in other endpoints.\n", - "nullable": true - } - }, - "example": { - "Name": "tardis", - "Driver": "custom", - "Mountpoint": "/var/lib/docker/volumes/tardis", - "Status": { - "hello": "world" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - }, - "Scope": "local", - "CreatedAt": "2016-06-07T20:31:11.853781916Z" - } - }, - "Network": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Created": { - "type": "string", - "format": "dateTime" - }, - "Scope": { - "type": "string" - }, - "Driver": { - "type": "string" - }, - "EnableIPv6": { - "type": "boolean" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "Internal": { - "type": "boolean" - }, - "Attachable": { - "type": "boolean" - }, - "Ingress": { - "type": "boolean" - }, - "Containers": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/NetworkContainer" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "example": { - "Name": "net01", - "Id": "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99", - "Created": "2016-10-19T04:33:30.360899459Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.19.0.0/16", - "Gateway": "172.19.0.1" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": false, - "Attachable": false, - "Ingress": false, - "Containers": { - "19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c": { - "Name": "test", - "EndpointID": "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a", - "MacAddress": "02:42:ac:13:00:02", - "IPv4Address": "172.19.0.2/16", - "IPv6Address": "" - } - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "IPAM": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "description": "Name of the IPAM driver to use.", - "default": "default" - }, - "Config": { - "type": "array", - "description": "List of IPAM configuration options, specified as a map: `{\"Subnet\": , \"IPRange\": , \"Gateway\": , \"AuxAddress\": }`", - "items": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "Options": { - "type": "array", - "description": "Driver-specific options, specified as a map.", - "items": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - } - }, - "NetworkContainer": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "EndpointID": { - "type": "string" - }, - "MacAddress": { - "type": "string" - }, - "IPv4Address": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - } - } - }, - "BuildInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "stream": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - }, - "aux": { - "$ref": "#/components/schemas/ImageID" - } - } - }, - "ImageID": { - "type": "object", - "properties": { - "ID": { - "type": "string" - } - }, - "description": "Image ID or Digest", - "example": { - "ID": "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" - } - }, - "CreateImageInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "error": { - "type": "string" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "PushImageInfo": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "ErrorDetail": { - "type": "object", - "properties": { - "code": { - "type": "integer" - }, - "message": { - "type": "string" - } - } - }, - "ProgressDetail": { - "type": "object", - "properties": { - "current": { - "type": "integer" - }, - "total": { - "type": "integer" - } - } - }, - "ErrorResponse": { - "required": [ - "message" - ], - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The error message.", - "nullable": false - } - }, - "description": "Represents an error.", - "example": { - "message": "Something went wrong." - } - }, - "IdResponse": { - "required": [ - "Id" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The id of the newly created object.", - "nullable": false - } - }, - "description": "Response to an API call that returns just an Id" - }, - "EndpointSettings": { - "type": "object", - "properties": { - "IPAMConfig": { - "$ref": "#/components/schemas/EndpointIPAMConfig" - }, - "Links": { - "type": "array", - "example": [ - "container_1", - "container_2" - ], - "items": { - "type": "string" - } - }, - "Aliases": { - "type": "array", - "example": [ - "server_x", - "server_y" - ], - "items": { - "type": "string" - } - }, - "NetworkID": { - "type": "string", - "description": "Unique ID of the network.\n", - "example": "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a" - }, - "EndpointID": { - "type": "string", - "description": "Unique ID for the service endpoint in a Sandbox.\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for this network.\n", - "example": "172.17.0.1" - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address.\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address.\n", - "example": "2001:db8:2::100" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address.\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n", - "format": "int64", - "example": 64 - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the endpoint on this network.\n", - "example": "02:42:ac:11:00:04" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "DriverOpts is a mapping of driver options and values. These options\nare passed directly to the driver and are driver specific.\n", - "nullable": true, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "description": "Configuration for a network endpoint." - }, - "EndpointIPAMConfig": { - "type": "object", - "properties": { - "IPv4Address": { - "type": "string", - "example": "172.20.30.33" - }, - "IPv6Address": { - "type": "string", - "example": "2001:db8:abcd::3033" - }, - "LinkLocalIPs": { - "type": "array", - "example": [ - "169.254.34.68", - "fe80::3468" - ], - "items": { - "type": "string" - } - } - }, - "description": "EndpointIPAMConfig represents an endpoint's IPAM configuration.\n", - "nullable": true, - "x-nullable": true - }, - "PluginMount": { - "required": [ - "Description", - "Destination", - "Name", - "Options", - "Settable", - "Source", - "Type" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "some-mount" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "This is a mount that's used by the plugin." - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Source": { - "type": "string", - "example": "/var/lib/docker/plugins/" - }, - "Destination": { - "type": "string", - "nullable": false, - "example": "/mnt/state" - }, - "Type": { - "type": "string", - "nullable": false, - "example": "bind" - }, - "Options": { - "type": "array", - "example": [ - "rbind", - "rw" - ], - "items": { - "type": "string" - } - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginDevice": { - "required": [ - "Description", - "Name", - "Path", - "Settable" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Path": { - "type": "string", - "example": "/dev/fuse" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginEnv": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "string" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginInterfaceType": { - "required": [ - "Capability", - "Prefix", - "Version" - ], - "type": "object", - "properties": { - "Prefix": { - "type": "string", - "nullable": false - }, - "Capability": { - "type": "string", - "nullable": false - }, - "Version": { - "type": "string", - "nullable": false - } - }, - "nullable": false, - "x-nullable": false - }, - "Plugin": { - "required": [ - "Config", - "Enabled", - "Name", - "Settings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "example": "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" - }, - "Name": { - "type": "string", - "nullable": false, - "example": "tiborvass/sample-volume-plugin" - }, - "Enabled": { - "type": "boolean", - "description": "True if the plugin is running. False if the plugin is not running, only installed.", - "nullable": false, - "example": true - }, - "Settings": { - "required": [ - "Args", - "Devices", - "Env", - "Mounts" - ], - "type": "object", - "properties": { - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - "DEBUG=0" - ], - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "items": { - "type": "string" - } - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "description": "Settings that can be modified by users.", - "nullable": false - }, - "PluginReference": { - "type": "string", - "description": "plugin remote reference used to push/pull the plugin", - "nullable": false, - "example": "localhost:5000/tiborvass/sample-volume-plugin:latest" - }, - "Config": { - "required": [ - "Args", - "Description", - "Documentation", - "Entrypoint", - "Env", - "Interface", - "IpcHost", - "Linux", - "Mounts", - "Network", - "PidHost", - "PropagatedMount", - "WorkDir" - ], - "type": "object", - "properties": { - "DockerVersion": { - "type": "string", - "description": "Docker Version used to create the plugin", - "nullable": false, - "example": "17.06.0-ce" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "A sample volume plugin for Docker" - }, - "Documentation": { - "type": "string", - "nullable": false, - "example": "https://docs.docker.com/engine/extend/plugins/" - }, - "Interface": { - "required": [ - "Socket", - "Types" - ], - "type": "object", - "properties": { - "Types": { - "type": "array", - "example": [ - "docker.volumedriver/1.0" - ], - "items": { - "$ref": "#/components/schemas/PluginInterfaceType" - } - }, - "Socket": { - "type": "string", - "nullable": false, - "example": "plugins.sock" - } - }, - "description": "The interface between Docker and the plugin", - "nullable": false - }, - "Entrypoint": { - "type": "array", - "example": [ - "/usr/bin/sample-volume-plugin", - "/data" - ], - "items": { - "type": "string" - } - }, - "WorkDir": { - "type": "string", - "nullable": false, - "example": "/bin/" - }, - "User": { - "type": "object", - "properties": { - "UID": { - "type": "integer", - "format": "uint32", - "example": 1000 - }, - "GID": { - "type": "integer", - "format": "uint32", - "example": 1000 - } - }, - "nullable": false - }, - "Network": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "host" - } - }, - "nullable": false - }, - "Linux": { - "required": [ - "AllowAllDevices", - "Capabilities", - "Devices" - ], - "type": "object", - "properties": { - "Capabilities": { - "type": "array", - "example": [ - "CAP_SYS_ADMIN", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "AllowAllDevices": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "nullable": false - }, - "PropagatedMount": { - "type": "string", - "nullable": false, - "example": "/mnt/volumes" - }, - "IpcHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "PidHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - { - "Name": "DEBUG", - "Description": "If set, prints debug messages", - "Value": "0" - } - ], - "items": { - "$ref": "#/components/schemas/PluginEnv" - } - }, - "Args": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "args" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "command line arguments" - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "nullable": false - }, - "rootfs": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "layers" - }, - "diff_ids": { - "type": "array", - "example": [ - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887", - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" - ], - "items": { - "type": "string" - } - } - } - } - }, - "description": "The config of a plugin.", - "nullable": false - } - }, - "description": "A plugin for the Engine API" - }, - "ObjectVersion": { - "type": "object", - "properties": { - "Index": { - "type": "integer", - "format": "uint64", - "example": 373531 - } - }, - "description": "The version number of the object such as node, service, etc. This is needed to avoid conflicting writes.\nThe client must send the version number along with the modified specification when updating these objects.\nThis approach ensures safe concurrency and determinism in that the change on the object\nmay not be applied if the version number has changed from the last read. In other words,\nif two update requests specify the same base version, only one of the requests can succeed.\nAs a result, two separate update requests that happen at the same time will not\nunintentionally overwrite each other.\n" - }, - "NodeSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name for the node.", - "example": "my-node" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Role": { - "type": "string", - "description": "Role of the node.", - "example": "manager", - "enum": [ - "worker", - "manager" - ] - }, - "Availability": { - "type": "string", - "description": "Availability of the node.", - "example": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "example": { - "Availability": "active", - "Name": "node-name", - "Role": "manager", - "Labels": { - "foo": "bar" - } - } - }, - "Node": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "24ifsmvkjbyhk" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the node was added to the swarm in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the node was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/NodeSpec" - }, - "Description": { - "$ref": "#/components/schemas/NodeDescription" - }, - "Status": { - "$ref": "#/components/schemas/NodeStatus" - }, - "ManagerStatus": { - "$ref": "#/components/schemas/ManagerStatus" - } - } - }, - "NodeDescription": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "example": "bf3067039e47" - }, - "Platform": { - "$ref": "#/components/schemas/Platform" - }, - "Resources": { - "$ref": "#/components/schemas/ResourceObject" - }, - "Engine": { - "$ref": "#/components/schemas/EngineDescription" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - } - }, - "description": "NodeDescription encapsulates the properties of the Node as reported by the\nagent.\n" - }, - "Platform": { - "type": "object", - "properties": { - "Architecture": { - "type": "string", - "description": "Architecture represents the hardware architecture (for example,\n`x86_64`).\n", - "example": "x86_64" - }, - "OS": { - "type": "string", - "description": "OS represents the Operating System (for example, `linux` or `windows`).\n", - "example": "linux" - } - }, - "description": "Platform represents the platform (Arch/OS).\n" - }, - "EngineDescription": { - "type": "object", - "properties": { - "EngineVersion": { - "type": "string", - "example": "17.06.0" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "example": { - "foo": "bar" - } - }, - "Plugins": { - "type": "array", - "example": [ - { - "Type": "Log", - "Name": "awslogs" - }, - { - "Type": "Log", - "Name": "fluentd" - }, - { - "Type": "Log", - "Name": "gcplogs" - }, - { - "Type": "Log", - "Name": "gelf" - }, - { - "Type": "Log", - "Name": "journald" - }, - { - "Type": "Log", - "Name": "json-file" - }, - { - "Type": "Log", - "Name": "logentries" - }, - { - "Type": "Log", - "Name": "splunk" - }, - { - "Type": "Log", - "Name": "syslog" - }, - { - "Type": "Network", - "Name": "bridge" - }, - { - "Type": "Network", - "Name": "host" - }, - { - "Type": "Network", - "Name": "ipvlan" - }, - { - "Type": "Network", - "Name": "macvlan" - }, - { - "Type": "Network", - "Name": "null" - }, - { - "Type": "Network", - "Name": "overlay" - }, - { - "Type": "Volume", - "Name": "local" - }, - { - "Type": "Volume", - "Name": "localhost:5000/vieux/sshfs:latest" - }, - { - "Type": "Volume", - "Name": "vieux/sshfs:latest" - } - ], - "items": { - "type": "object", - "properties": { - "Type": { - "type": "string" - }, - "Name": { - "type": "string" - } - } - } - } - }, - "description": "EngineDescription provides information about an engine." - }, - "TLSInfo": { - "type": "object", - "properties": { - "TrustRoot": { - "type": "string", - "description": "The root CA certificate(s) that are used to validate leaf TLS certificates" - }, - "CertIssuerSubject": { - "type": "string", - "description": "The base64-url-safe-encoded raw subject bytes of the issuer" - }, - "CertIssuerPublicKey": { - "type": "string", - "description": "The base64-url-safe-encoded raw public key bytes of the issuer" - } - }, - "description": "Information about the issuer of leaf TLS certificates and the trusted root CA certificate", - "example": { - "TrustRoot": "-----BEGIN CERTIFICATE-----\nMIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw\nEzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0\nMzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf\n3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO\nPQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz\npxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H\n-----END CERTIFICATE-----\n", - "CertIssuerSubject": "MBMxETAPBgNVBAMTCHN3YXJtLWNh", - "CertIssuerPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A==" - } - }, - "NodeStatus": { - "type": "object", - "properties": { - "State": { - "$ref": "#/components/schemas/NodeState" - }, - "Message": { - "type": "string", - "example": "" - }, - "Addr": { - "type": "string", - "description": "IP address of the node.", - "example": "172.17.0.2" - } - }, - "description": "NodeStatus represents the status of a node.\n\nIt provides the current status of the node, as seen by the manager.\n" - }, - "NodeState": { - "type": "string", - "description": "NodeState represents the state of a node.", - "example": "ready", - "enum": [ - "unknown", - "down", - "ready", - "disconnected" - ] - }, - "ManagerStatus": { - "type": "object", - "properties": { - "Leader": { - "type": "boolean", - "example": true, - "default": false - }, - "Reachability": { - "$ref": "#/components/schemas/Reachability" - }, - "Addr": { - "type": "string", - "description": "The IP address and port at which the manager is reachable.\n", - "example": "10.0.0.46:2377" - } - }, - "description": "ManagerStatus represents the status of a manager.\n\nIt provides the current status of a node's manager component, if the node\nis a manager.\n", - "nullable": true, - "x-nullable": true - }, - "Reachability": { - "type": "string", - "description": "Reachability represents the reachability of a node.", - "example": "reachable", - "enum": [ - "unknown", - "unreachable", - "reachable" - ] - }, - "SwarmSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the swarm.", - "example": "default" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.corp.type": "production", - "com.example.corp.department": "engineering" - } - }, - "Orchestration": { - "type": "object", - "properties": { - "TaskHistoryRetentionLimit": { - "type": "integer", - "description": "The number of historic tasks to keep per instance or node. If negative, never remove completed or failed tasks.", - "format": "int64", - "example": 10 - } - }, - "description": "Orchestration configuration.", - "nullable": true - }, - "Raft": { - "type": "object", - "properties": { - "SnapshotInterval": { - "type": "integer", - "description": "The number of log entries between snapshots.", - "format": "uint64", - "example": 10000 - }, - "KeepOldSnapshots": { - "type": "integer", - "description": "The number of snapshots to keep beyond the current snapshot.", - "format": "uint64" - }, - "LogEntriesForSlowFollowers": { - "type": "integer", - "description": "The number of log entries to keep around to sync up slow followers after a snapshot is created.", - "format": "uint64", - "example": 500 - }, - "ElectionTick": { - "type": "integer", - "description": "The number of ticks that a follower will wait for a message from the leader before becoming a candidate and starting an election. `ElectionTick` must be greater than `HeartbeatTick`.\n\nA tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.\n", - "example": 3 - }, - "HeartbeatTick": { - "type": "integer", - "description": "The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader will send a heartbeat to the followers.\n\nA tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.\n", - "example": 1 - } - }, - "description": "Raft configuration." - }, - "Dispatcher": { - "type": "object", - "properties": { - "HeartbeatPeriod": { - "type": "integer", - "description": "The delay for an agent to send a heartbeat to the dispatcher.", - "format": "int64", - "example": 5000000000 - } - }, - "description": "Dispatcher configuration.", - "nullable": true - }, - "CAConfig": { - "type": "object", - "properties": { - "NodeCertExpiry": { - "type": "integer", - "description": "The duration node certificates are issued for.", - "format": "int64", - "example": 7776000000000000 - }, - "ExternalCAs": { - "type": "array", - "description": "Configuration for forwarding signing requests to an external certificate authority.", - "items": { - "type": "object", - "properties": { - "Protocol": { - "type": "string", - "description": "Protocol for communication with the external CA (currently only `cfssl` is supported).", - "default": "cfssl", - "enum": [ - "cfssl" - ] - }, - "URL": { - "type": "string", - "description": "URL where certificate signing requests should be sent." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "An object with key/value pairs that are interpreted as protocol-specific options for the external CA driver." - }, - "CACert": { - "type": "string", - "description": "The root CA certificate (in PEM format) this external CA uses to issue TLS certificates (assumed to be to the current swarm root CA certificate if not provided)." - } - } - } - }, - "SigningCACert": { - "type": "string", - "description": "The desired signing CA certificate for all swarm node TLS leaf certificates, in PEM format." - }, - "SigningCAKey": { - "type": "string", - "description": "The desired signing CA key for all swarm node TLS leaf certificates, in PEM format." - }, - "ForceRotate": { - "type": "integer", - "description": "An integer whose purpose is to force swarm to generate a new signing CA certificate and key, if none have been specified in `SigningCACert` and `SigningCAKey`", - "format": "uint64" - } - }, - "description": "CA configuration.", - "nullable": true - }, - "EncryptionConfig": { - "type": "object", - "properties": { - "AutoLockManagers": { - "type": "boolean", - "description": "If set, generate a key and use it to lock data stored on the managers.", - "example": false - } - }, - "description": "Parameters related to encryption-at-rest." - }, - "TaskDefaults": { - "type": "object", - "properties": { - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The log driver to use as a default for new tasks.\n", - "example": "json-file" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options for the selectd log driver, specified\nas key/value pairs.\n", - "example": { - "max-file": "10", - "max-size": "100m" - } - } - }, - "description": "The log driver to use for tasks created in the orchestrator if\nunspecified by a service.\n\nUpdating this value only affects new tasks. Existing tasks continue\nto use their previously configured log driver until recreated.\n" - } - }, - "description": "Defaults for creating tasks in this cluster." - } - }, - "description": "User modifiable swarm configuration." - }, - "ClusterInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the swarm.", - "example": "abajmipo7b4xz5ip2nrla6b11" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the swarm was initialised in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the swarm was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - }, - "RootRotationInProgress": { - "type": "boolean", - "description": "Whether there is currently a root CA rotation in progress for the swarm", - "example": false - } - }, - "description": "ClusterInfo represents information about the swarm as is returned by the\n\"/info\" endpoint. Join-tokens are not included.\n", - "nullable": true, - "x-nullable": true - }, - "JoinTokens": { - "type": "object", - "properties": { - "Worker": { - "type": "string", - "description": "The token workers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx" - }, - "Manager": { - "type": "string", - "description": "The token managers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - }, - "description": "JoinTokens contains the tokens workers and managers need to join the swarm.\n" - }, - "Swarm": { - "allOf": [ - { - "$ref": "#/components/schemas/ClusterInfo" - }, - { - "type": "object", - "properties": { - "JoinTokens": { - "$ref": "#/components/schemas/JoinTokens" - } - } - } - ] - }, - "TaskSpec": { - "type": "object", - "properties": { - "PluginSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The name or 'alias' to use for the plugin." - }, - "Remote": { - "type": "string", - "description": "The plugin image reference to use." - }, - "Disabled": { - "type": "boolean", - "description": "Disable the plugin once scheduled." - }, - "PluginPrivilege": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the plugin." - } - } - }, - "description": "Invalid when specified with `ContainerSpec`. *(Experimental release only.)*" - }, - "ContainerSpec": { - "type": "object", - "properties": { - "Image": { - "type": "string", - "description": "The image name to use for the container" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value data." - }, - "Command": { - "type": "array", - "description": "The command to be run in the image.", - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "description": "Arguments to the command.", - "items": { - "type": "string" - } - }, - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid RFC 1123 hostname." - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `VAR=value`.", - "items": { - "type": "string" - } - }, - "Dir": { - "type": "string", - "description": "The working directory for commands to run in." - }, - "User": { - "type": "string", - "description": "The user inside the container." - }, - "Groups": { - "type": "array", - "description": "A list of additional groups that the container process will run as.", - "items": { - "type": "string" - } - }, - "Privileges": { - "type": "object", - "properties": { - "CredentialSpec": { - "type": "object", - "properties": { - "File": { - "type": "string", - "description": "Load credential spec from this file. The file is read by the daemon, and must be present in the\n`CredentialSpecs` subdirectory in the docker data directory, which defaults to\n`C:\\ProgramData\\Docker\\` on Windows.\n\nFor example, specifying `spec.json` loads `C:\\ProgramData\\Docker\\CredentialSpecs\\spec.json`.\n\n


\n\n> **Note**: `CredentialSpec.File` and `CredentialSpec.Registry` are mutually exclusive.\n" - }, - "Registry": { - "type": "string", - "description": "Load credential spec from this value in the Windows registry. The specified registry value must be\nlocated in:\n\n`HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Virtualization\\Containers\\CredentialSpecs`\n\n


\n\n\n> **Note**: `CredentialSpec.File` and `CredentialSpec.Registry` are mutually exclusive.\n" - } - }, - "description": "CredentialSpec for managed service account (Windows only)" - }, - "SELinuxContext": { - "type": "object", - "properties": { - "Disable": { - "type": "boolean", - "description": "Disable SELinux" - }, - "User": { - "type": "string", - "description": "SELinux user label" - }, - "Role": { - "type": "string", - "description": "SELinux role label" - }, - "Type": { - "type": "string", - "description": "SELinux type label" - }, - "Level": { - "type": "string", - "description": "SELinux level label" - } - }, - "description": "SELinux labels of the container" - } - }, - "description": "Security options for the container" - }, - "TTY": { - "type": "boolean", - "description": "Whether a pseudo-TTY should be allocated." - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`" - }, - "ReadOnly": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to containers created as part of the service.", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop the container." - }, - "StopGracePeriod": { - "type": "integer", - "description": "Amount of time to wait for the container to terminate before forcefully killing it.", - "format": "int64" - }, - "HealthCheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "Hosts": { - "type": "array", - "description": "A list of hostname/IP mappings to add to the container's `hosts`\nfile. The format of extra hosts is specified in the\n[hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html)\nman page:\n\n IP_address canonical_hostname [aliases...]\n", - "items": { - "type": "string" - } - }, - "DNSConfig": { - "type": "object", - "properties": { - "Nameservers": { - "type": "array", - "description": "The IP addresses of the name servers.", - "items": { - "type": "string" - } - }, - "Search": { - "type": "array", - "description": "A search list for host-name lookup.", - "items": { - "type": "string" - } - }, - "Options": { - "type": "array", - "description": "A list of internal resolver variables to be modified (e.g., `debug`, `ndots:3`, etc.).", - "items": { - "type": "string" - } - } - }, - "description": "Specification for DNS related configurations in resolver configuration file (`resolv.conf`)." - }, - "Secrets": { - "type": "array", - "description": "Secrets contains references to zero or more secrets that will be exposed to the service.", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem." - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file." - }, - "SecretID": { - "type": "string", - "description": "SecretID represents the ID of the specific secret that we're referencing." - }, - "SecretName": { - "type": "string", - "description": "SecretName is the name of the secret that this references, but this is just provided for\nlookup/display purposes. The secret in the reference will be identified by its ID.\n" - } - } - } - }, - "Configs": { - "type": "array", - "description": "Configs contains references to zero or more configs that will be exposed to the service.", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem." - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file." - }, - "ConfigID": { - "type": "string", - "description": "ConfigID represents the ID of the specific config that we're referencing." - }, - "ConfigName": { - "type": "string", - "description": "ConfigName is the name of the config that this references, but this is just provided for\nlookup/display purposes. The config in the reference will be identified by its ID.\n" - } - } - } - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the containers running the service. (Windows only)", - "enum": [ - "default", - "process", - "hyperv" - ] - } - }, - "description": "Invalid when specified with `PluginSpec`." - }, - "Resources": { - "type": "object", - "properties": { - "Limits": { - "$ref": "#/components/schemas/ResourceObject" - }, - "Reservation": { - "$ref": "#/components/schemas/ResourceObject" - } - }, - "description": "Resource requirements which apply to each individual container created as part of the service." - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Condition": { - "type": "string", - "description": "Condition for restart.", - "enum": [ - "none", - "on-failure", - "any" - ] - }, - "Delay": { - "type": "integer", - "description": "Delay between restart attempts.", - "format": "int64" - }, - "MaxAttempts": { - "type": "integer", - "description": "Maximum attempts to restart a given container before giving up (default value is 0, which is ignored).", - "format": "int64", - "default": 0 - }, - "Window": { - "type": "integer", - "description": "Windows is the time window used to evaluate the restart policy (default value is 0, which is unbounded).", - "format": "int64", - "default": 0 - } - }, - "description": "Specification for the restart policy which applies to containers created as part of this service." - }, - "Placement": { - "type": "object", - "properties": { - "Constraints": { - "type": "array", - "description": "An array of constraints.", - "example": [ - "node.hostname!=node3.corp.example.com", - "node.role!=manager", - "node.labels.type==production" - ], - "items": { - "type": "string" - } - }, - "Preferences": { - "type": "array", - "description": "Preferences provide a way to make the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence.", - "example": [ - { - "Spread": { - "SpreadDescriptor": "node.labels.datacenter" - } - }, - { - "Spread": { - "SpreadDescriptor": "node.labels.rack" - } - } - ], - "items": { - "type": "object", - "properties": { - "Spread": { - "type": "object", - "properties": { - "SpreadDescriptor": { - "type": "string", - "description": "label descriptor, such as engine.labels.az" - } - } - } - } - } - }, - "Platforms": { - "type": "array", - "description": "Platforms stores all the platforms that the service's image can\nrun on. This field is used in the platform filter for scheduling.\nIf empty, then the platform filter is off, meaning there are no\nscheduling restrictions.\n", - "items": { - "$ref": "#/components/schemas/Platform" - } - } - } - }, - "ForceUpdate": { - "type": "integer", - "description": "A counter that triggers an update even if no relevant parameters have been changed." - }, - "Runtime": { - "type": "string", - "description": "Runtime is the type of runtime specified for the task executor." - }, - "Networks": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Target": { - "type": "string" - }, - "Aliases": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "Specifies the log driver to use for tasks created from this spec. If not present, the default one for the swarm will be used, finally falling back to the engine default if not specified." - } - }, - "description": "User modifiable task configuration." - }, - "TaskState": { - "type": "string", - "enum": [ - "new", - "allocated", - "pending", - "assigned", - "accepted", - "preparing", - "ready", - "starting", - "running", - "complete", - "shutdown", - "failed", - "rejected" - ] - }, - "Task": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the task." - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Name": { - "type": "string", - "description": "Name of the task." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Spec": { - "$ref": "#/components/schemas/TaskSpec" - }, - "ServiceID": { - "type": "string", - "description": "The ID of the service this task is part of." - }, - "Slot": { - "type": "integer" - }, - "NodeID": { - "type": "string", - "description": "The ID of the node that this task is on." - }, - "AssignedGenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "Status": { - "type": "object", - "properties": { - "Timestamp": { - "type": "string", - "format": "dateTime" - }, - "State": { - "$ref": "#/components/schemas/TaskState" - }, - "Message": { - "type": "string" - }, - "Err": { - "type": "string" - }, - "ContainerStatus": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string" - }, - "PID": { - "type": "integer" - }, - "ExitCode": { - "type": "integer" - } - } - } - } - }, - "DesiredState": { - "$ref": "#/components/schemas/TaskState" - } - }, - "example": { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ], - "AssignedGenericResources": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ] - } - }, - "ServiceSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the service." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "TaskTemplate": { - "$ref": "#/components/schemas/TaskSpec" - }, - "Mode": { - "type": "object", - "properties": { - "Replicated": { - "type": "object", - "properties": { - "Replicas": { - "type": "integer", - "format": "int64" - } - } - }, - "Global": { - "type": "object", - "properties": {} - } - }, - "description": "Scheduling mode for the service." - }, - "UpdateConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be updated in one iteration (0 means unlimited parallelism).", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between updates, in nanoseconds.", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an updated task fails to run, or stops running during the update.", - "enum": [ - "continue", - "pause", - "rollback" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each updated task for failures, in nanoseconds.", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during an update before the failure action is invoked, specified as a floating point number between 0 and 1." - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling out an updated task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down.", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the update strategy of the service." - }, - "RollbackConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be rolled back in one iteration (0 means unlimited parallelism).", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between rollback iterations, in nanoseconds.", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an rolled back task fails to run, or stops running during the rollback.", - "enum": [ - "continue", - "pause" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each rolled back task for failures, in nanoseconds.", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during a rollback before the failure action is invoked, specified as a floating point number between 0 and 1." - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling back a task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down.", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the rollback strategy of the service." - }, - "Networks": { - "type": "array", - "description": "Array of network names or IDs to attach the service to.", - "items": { - "type": "object", - "properties": { - "Target": { - "type": "string" - }, - "Aliases": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "EndpointSpec": { - "$ref": "#/components/schemas/EndpointSpec" - } - }, - "description": "User modifiable configuration for a service." - }, - "EndpointPortConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string", - "enum": [ - "tcp", - "udp" - ] - }, - "TargetPort": { - "type": "integer", - "description": "The port inside the container." - }, - "PublishedPort": { - "type": "integer", - "description": "The port on the swarm hosts." - }, - "PublishMode": { - "type": "string", - "description": "The mode in which port is published.\n\n


\n\n- \"ingress\" makes the target port accessible on on every node,\n regardless of whether there is a task for the service running on\n that node or not.\n- \"host\" bypasses the routing mesh and publish the port directly on\n the swarm node where that service is running.\n", - "example": "ingress", - "default": "ingress", - "enum": [ - "ingress", - "host" - ] - } - } - }, - "EndpointSpec": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "description": "The mode of resolution to use for internal load balancing between tasks.", - "default": "vip", - "enum": [ - "vip", - "dnsrr" - ] - }, - "Ports": { - "type": "array", - "description": "List of exposed ports that this service is accessible on from the outside. Ports can only be provided if `vip` resolution mode is used.", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - } - }, - "description": "Properties that can be configured to access and load balance a service." - }, - "Service": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ServiceSpec" - }, - "Endpoint": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/EndpointSpec" - }, - "Ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - }, - "VirtualIPs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "NetworkID": { - "type": "string" - }, - "Addr": { - "type": "string" - } - } - } - } - } - }, - "UpdateStatus": { - "type": "object", - "properties": { - "State": { - "type": "string", - "enum": [ - "updating", - "paused", - "completed" - ] - }, - "StartedAt": { - "type": "string", - "format": "dateTime" - }, - "CompletedAt": { - "type": "string", - "format": "dateTime" - }, - "Message": { - "type": "string" - } - }, - "description": "The status of a service update." - } - }, - "example": { - "ID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Version": { - "Index": 19 - }, - "CreatedAt": "2016-06-07T21:05:51.880065305Z", - "UpdatedAt": "2016-06-07T21:07:29.962229872Z", - "Spec": { - "Name": "hopeful_cori", - "TaskTemplate": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - } - }, - "Endpoint": { - "Spec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - }, - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ], - "VirtualIPs": [ - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.2/16" - }, - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.3/16" - } - ] - } - } - }, - "ImageDeleteResponseItem": { - "type": "object", - "properties": { - "Untagged": { - "type": "string", - "description": "The image ID of an image that was untagged" - }, - "Deleted": { - "type": "string", - "description": "The image ID of an image that was deleted" - } - } - }, - "ServiceUpdateResponse": { - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "description": "Optional warning messages", - "items": { - "type": "string" - } - } - }, - "example": { - "Warning": "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - } - }, - "ContainerSummary": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of this container", - "x-go-name": "ID" - }, - "Names": { - "type": "array", - "description": "The names that this container has been given", - "items": { - "type": "string" - } - }, - "Image": { - "type": "string", - "description": "The name of the image used when creating this container" - }, - "ImageID": { - "type": "string", - "description": "The ID of the image that this container was created from" - }, - "Command": { - "type": "string", - "description": "Command to run when starting the container" - }, - "Created": { - "type": "integer", - "description": "When the container was created", - "format": "int64" - }, - "Ports": { - "type": "array", - "description": "The ports exposed by this container", - "items": { - "$ref": "#/components/schemas/Port" - } - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this container", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container", - "format": "int64" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "State": { - "type": "string", - "description": "The state of this container (e.g. `Exited`)" - }, - "Status": { - "type": "string", - "description": "Additional human-readable status of this container (e.g. `Exit 0`)" - }, - "HostConfig": { - "type": "object", - "properties": { - "NetworkMode": { - "type": "string" - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - } - } - }, - "description": "A summary of the container's network settings" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Mount" - } - } - } - } - }, - "Driver": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver.", - "nullable": false, - "example": "some-driver" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Key/value map of driver-specific options.", - "nullable": false, - "example": { - "OptionA": "value for driver-specific option A", - "OptionB": "value for driver-specific option B" - } - } - }, - "description": "Driver represents a driver (network, logging, secrets)." - }, - "SecretSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the secret." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2))\ndata to store as secret.\n\nThis field is only used to _create_ a secret, and is not returned by\nother endpoints.\n", - "example": "" - }, - "Driver": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Secret": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "blt1owaxmitz71s9v5zh81zun" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "Spec": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "ConfigSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the config." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2))\nconfig data.\n" - } - } - }, - "Config": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "SystemInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique identifier of the daemon.\n\n


\n\n> **Note**: The format of the ID itself is not part of the API, and\n> should not be considered stable.\n", - "example": "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS" - }, - "Containers": { - "type": "integer", - "description": "Total number of containers on the host.", - "example": 14 - }, - "ContainersRunning": { - "type": "integer", - "description": "Number of containers with status `\"running\"`.\n", - "example": 3 - }, - "ContainersPaused": { - "type": "integer", - "description": "Number of containers with status `\"paused\"`.\n", - "example": 1 - }, - "ContainersStopped": { - "type": "integer", - "description": "Number of containers with status `\"stopped\"`.\n", - "example": 10 - }, - "Images": { - "type": "integer", - "description": "Total number of images on the host.\n\nBoth _tagged_ and _untagged_ (dangling) images are counted.\n", - "example": 508 - }, - "Driver": { - "type": "string", - "description": "Name of the storage driver in use.", - "example": "overlay2" - }, - "DriverStatus": { - "type": "array", - "description": "Information specific to the storage driver, provided as\n\"label\" / \"value\" pairs.\n\nThis information is provided by the storage driver, and formatted\nin a way consistent with the output of `docker info` on the command\nline.\n\n


\n\n> **Note**: The information returned in this field, including the\n> formatting of values and labels, should not be considered stable,\n> and may change without notice.\n", - "example": [ - [ - "Backing Filesystem", - "extfs" - ], - [ - "Supports d_type", - "true" - ], - [ - "Native Overlay Diff", - "true" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "DockerRootDir": { - "type": "string", - "description": "Root directory of persistent Docker state.\n\nDefaults to `/var/lib/docker` on Linux, and `C:\\ProgramData\\docker`\non Windows.\n", - "example": "/var/lib/docker" - }, - "SystemStatus": { - "type": "array", - "description": "Status information about this node (standalone Swarm API).\n\n


\n\n> **Note**: The information returned in this field is only propagated\n> by the Swarm standalone API, and is empty (`null`) when using\n> built-in swarm mode.\n", - "example": [ - [ - "Role", - "primary" - ], - [ - "State", - "Healthy" - ], - [ - "Strategy", - "spread" - ], - [ - "Filters", - "health, port, containerslots, dependency, affinity, constraint, whitelist" - ], - [ - "Nodes", - "2" - ], - [ - " swarm-agent-00", - "192.168.99.102:2376" - ], - [ - " └ ID", - "5CT6:FBGO:RVGO:CZL4:PB2K:WCYN:2JSV:KSHH:GGFW:QOPG:6J5Q:IOZ2|192.168.99.102:2376" - ], - [ - " └ Status", - "Healthy" - ], - [ - " └ Containers", - "1 (1 Running, 0 Paused, 0 Stopped)" - ], - [ - " └ Reserved CPUs", - "0 / 1" - ], - [ - " └ Reserved Memory", - "0 B / 1.021 GiB" - ], - [ - " └ Labels", - "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs" - ], - [ - " └ UpdatedAt", - "2017-08-09T10:03:46Z" - ], - [ - " └ ServerVersion", - "17.06.0-ce" - ], - [ - " swarm-manager", - "192.168.99.101:2376" - ], - [ - " └ ID", - "TAMD:7LL3:SEF7:LW2W:4Q2X:WVFH:RTXX:JSYS:XY2P:JEHL:ZMJK:JGIW|192.168.99.101:2376" - ], - [ - " └ Status", - "Healthy" - ], - [ - " └ Containers", - "2 (2 Running, 0 Paused, 0 Stopped)" - ], - [ - " └ Reserved CPUs", - "0 / 1" - ], - [ - " └ Reserved Memory", - "0 B / 1.021 GiB" - ], - [ - " └ Labels", - "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs" - ], - [ - " └ UpdatedAt", - "2017-08-09T10:04:11Z" - ], - [ - " └ ServerVersion", - "17.06.0-ce" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Plugins": { - "$ref": "#/components/schemas/PluginsInfo" - }, - "MemoryLimit": { - "type": "boolean", - "description": "Indicates if the host has memory limit support enabled.", - "example": true - }, - "SwapLimit": { - "type": "boolean", - "description": "Indicates if the host has memory swap limit support enabled.", - "example": true - }, - "KernelMemory": { - "type": "boolean", - "description": "Indicates if the host has kernel memory limit support enabled.", - "example": true - }, - "CpuCfsPeriod": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by the host.", - "example": true - }, - "CpuCfsQuota": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by the host.", - "example": true - }, - "CPUShares": { - "type": "boolean", - "description": "Indicates if CPU Shares limiting is supported by the host.", - "example": true - }, - "CPUSet": { - "type": "boolean", - "description": "Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.\n\nSee [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)\n", - "example": true - }, - "OomKillDisable": { - "type": "boolean", - "description": "Indicates if OOM killer disable is supported on the host." - }, - "IPv4Forwarding": { - "type": "boolean", - "description": "Indicates IPv4 forwarding is enabled.", - "example": true - }, - "BridgeNfIptables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-iptables` is available on the host.", - "example": true - }, - "BridgeNfIp6tables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-ip6tables` is available on the host.", - "example": true - }, - "Debug": { - "type": "boolean", - "description": "Indicates if the daemon is running in debug-mode / with debug-level logging enabled.", - "example": true - }, - "NFd": { - "type": "integer", - "description": "The total number of file Descriptors in use by the daemon process.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 64 - }, - "NGoroutines": { - "type": "integer", - "description": "The number of goroutines that currently exist.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 174 - }, - "SystemTime": { - "type": "string", - "description": "Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat with nano-seconds.\n", - "example": "2017-08-08T20:28:29.06202363Z" - }, - "LoggingDriver": { - "type": "string", - "description": "The logging driver to use as a default for new containers.\n" - }, - "CgroupDriver": { - "type": "string", - "description": "The driver to use for managing cgroups.\n", - "example": "cgroupfs", - "default": "cgroupfs", - "enum": [ - "cgroupfs", - "systemd" - ] - }, - "NEventsListener": { - "type": "integer", - "description": "Number of event listeners subscribed.", - "example": 30 - }, - "KernelVersion": { - "type": "string", - "description": "Kernel version of the host.\n\nOn Linux, this information obtained from `uname`. On Windows this\ninformation is queried from the HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\\nregistry value, for example _\"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)\"_.\n", - "example": "4.9.38-moby" - }, - "OperatingSystem": { - "type": "string", - "description": "Name of the host's operating system, for example: \"Ubuntu 16.04.2 LTS\"\nor \"Windows Server 2016 Datacenter\"\n", - "example": "Alpine Linux v3.5" - }, - "OSType": { - "type": "string", - "description": "Generic type of the operating system of the host, as returned by the\nGo runtime (`GOOS`).\n\nCurrently returned values are \"linux\" and \"windows\". A full list of\npossible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).\n", - "example": "linux" - }, - "Architecture": { - "type": "string", - "description": "Hardware architecture of the host, as returned by the Go runtime\n(`GOARCH`).\n\nA full list of possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).\n", - "example": "x86_64" - }, - "NCPU": { - "type": "integer", - "description": "The number of logical CPUs usable by the daemon.\n\nThe number of available CPUs is checked by querying the operating\nsystem when the daemon starts. Changes to operating system CPU\nallocation after the daemon is started are not reflected.\n", - "example": 4 - }, - "MemTotal": { - "type": "integer", - "description": "Total amount of physical memory available on the host, in kilobytes (kB).\n", - "format": "int64", - "example": 2095882240 - }, - "IndexServerAddress": { - "type": "string", - "description": "Address / URL of the index server that is used for image search,\nand as a default for user authentication for Docker Hub and Docker Cloud.\n", - "example": "https://index.docker.io/v1/", - "default": "https://index.docker.io/v1/" - }, - "RegistryConfig": { - "$ref": "#/components/schemas/RegistryServiceConfig" - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "HttpProxy": { - "type": "string", - "description": "HTTP-proxy configured for the daemon. This value is obtained from the\n[`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\n\nContainers do not automatically inherit this configuration.\n", - "example": "http://user:pass@proxy.corp.example.com:8080" - }, - "HttpsProxy": { - "type": "string", - "description": "HTTPS-proxy configured for the daemon. This value is obtained from the\n[`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\n\nContainers do not automatically inherit this configuration.\n", - "example": "https://user:pass@proxy.corp.example.com:4443" - }, - "NoProxy": { - "type": "string", - "description": "Comma-separated list of domain extensions for which no proxy should be\nused. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)\nenvironment variable.\n\nContainers do not automatically inherit this configuration.\n", - "example": "*.local, 169.254/16" - }, - "Name": { - "type": "string", - "description": "Hostname of the host.", - "example": "node5.corp.example.com" - }, - "Labels": { - "type": "array", - "description": "User-defined labels (key/value metadata) as set on the daemon.\n\n


\n\n> **Note**: When part of a Swarm, nodes can both have _daemon_ labels,\n> set through the daemon configuration, and _node_ labels, set from a\n> manager node in the Swarm. Node labels are not included in this\n> field. Node labels can be retrieved using the `/nodes/(id)` endpoint\n> on a manager node in the Swarm.\n", - "example": [ - "storage=ssd", - "production" - ], - "items": { - "type": "string" - } - }, - "ExperimentalBuild": { - "type": "boolean", - "description": "Indicates if experimental features are enabled on the daemon.\n", - "example": true - }, - "ServerVersion": { - "type": "string", - "description": "Version string of the daemon.\n\n> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)\n> returns the Swarm version instead of the daemon version, for example\n> `swarm/1.2.8`.\n", - "example": "17.06.0-ce" - }, - "ClusterStore": { - "type": "string", - "description": "URL of the distributed storage backend.\n\n\nThe storage backend is used for multihost networking (to store\nnetwork and endpoint information) and by the node discovery mechanism.\n\n


\n\n> **Note**: This field is only propagated when using standalone Swarm\n> mode, and overlay networking using an external k/v store. Overlay\n> networks with Swarm mode enabled use the built-in raft store, and\n> this field will be empty.\n", - "example": "consul://consul.corp.example.com:8600/some/path" - }, - "ClusterAdvertise": { - "type": "string", - "description": "The network endpoint that the Engine advertises for the purpose of\nnode discovery. ClusterAdvertise is a `host:port` combination on which\nthe daemon is reachable by other hosts.\n\n


\n\n> **Note**: This field is only propagated when using standalone Swarm\n> mode, and overlay networking using an external k/v store. Overlay\n> networks with Swarm mode enabled use the built-in raft store, and\n> this field will be empty.\n", - "example": "node5.corp.example.com:8000" - }, - "Runtimes": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Runtime" - }, - "description": "List of [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntimes configured on the daemon. Keys hold the \"name\" used to\nreference the runtime.\n\nThe Docker daemon relies on an OCI compliant runtime (invoked via the\n`containerd` daemon) as its interface to the Linux kernel namespaces,\ncgroups, and SELinux.\n\nThe default runtime is `runc`, and automatically configured. Additional\nruntimes can be configured by the user and will be listed here.\n", - "example": { - "runc": { - "path": "docker-runc" - }, - "runc-master": { - "path": "/go/bin/runc" - }, - "custom": { - "path": "/usr/local/bin/my-oci-runtime", - "runtimeArgs": [ - "--debug", - "--systemd-cgroup=false" - ] - } - } - }, - "DefaultRuntime": { - "type": "string", - "description": "Name of the default OCI runtime that is used when starting containers.\n\nThe default can be overridden per-container at create time.\n", - "example": "runc", - "default": "runc" - }, - "Swarm": { - "$ref": "#/components/schemas/SwarmInfo" - }, - "LiveRestoreEnabled": { - "type": "boolean", - "description": "Indicates if live restore is enabled.\n\nIf enabled, containers are kept running when the daemon is shutdown\nor upon daemon start if running containers are detected.\n", - "example": false, - "default": false - }, - "Isolation": { - "type": "string", - "description": "Represents the isolation technology to use as a default for containers.\nThe supported values are platform-specific.\n\nIf no isolation value is specified on daemon start, on Windows client,\nthe default is `hyperv`, and on Windows server, the default is `process`.\n\nThis option is currently not used on other platforms.\n", - "default": "default", - "enum": [ - "default", - "hyperv", - "process" - ] - }, - "InitBinary": { - "type": "string", - "description": "Name and, optional, path of the the `docker-init` binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "docker-init" - }, - "ContainerdCommit": { - "$ref": "#/components/schemas/Commit" - }, - "RuncCommit": { - "$ref": "#/components/schemas/Commit" - }, - "InitCommit": { - "$ref": "#/components/schemas/Commit" - }, - "SecurityOptions": { - "type": "array", - "description": "List of security features that are enabled on the daemon, such as\napparmor, seccomp, SELinux, and user-namespaces (userns).\n\nAdditional configuration options for each security feature may\nbe present, and are included as a comma-separated list of key/value\npairs.\n", - "example": [ - "name=apparmor", - "name=seccomp,profile=default", - "name=selinux", - "name=userns" - ], - "items": { - "type": "string" - } - } - } - }, - "PluginsInfo": { - "type": "object", - "properties": { - "Volume": { - "type": "array", - "description": "Names of available volume-drivers, and network-driver plugins.", - "example": [ - "local" - ], - "items": { - "type": "string" - } - }, - "Network": { - "type": "array", - "description": "Names of available network-drivers, and network-driver plugins.", - "example": [ - "bridge", - "host", - "ipvlan", - "macvlan", - "null", - "overlay" - ], - "items": { - "type": "string" - } - }, - "Authorization": { - "type": "array", - "description": "Names of available authorization plugins.", - "example": [ - "img-authz-plugin", - "hbm" - ], - "items": { - "type": "string" - } - }, - "Log": { - "type": "array", - "description": "Names of available logging-drivers, and logging-driver plugins.", - "example": [ - "awslogs", - "fluentd", - "gcplogs", - "gelf", - "journald", - "json-file", - "logentries", - "splunk", - "syslog" - ], - "items": { - "type": "string" - } - } - }, - "description": "Available plugins per type.\n\n


\n\n> **Note**: Only unmanaged (V1) plugins are included in this list.\n> V1 plugins are \"lazily\" loaded, and are not returned in this list\n> if there is no resource using the plugin.\n" - }, - "RegistryServiceConfig": { - "type": "object", - "properties": { - "AllowNondistributableArtifactsCIDRs": { - "type": "array", - "description": "List of IP ranges to which nondistributable artifacts can be pushed,\nusing the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632).\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior, and enables the daemon to\npush nondistributable artifacts to all registries whose resolved IP\naddress is within the subnet described by the CIDR syntax.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "AllowNondistributableArtifactsHostnames": { - "type": "array", - "description": "List of registry hostnames to which nondistributable artifacts can be\npushed, using the format `[:]` or `[:]`.\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior for the specified\nregistries.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "registry.internal.corp.example.com:3000", - "[2001:db8:a0b:12f0::1]:443" - ], - "items": { - "type": "string" - } - }, - "InsecureRegistryCIDRs": { - "type": "array", - "description": "List of IP ranges of insecure registries, using the CIDR syntax\n([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries\naccept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates\nfrom unknown CAs) communication.\n\nBy default, local registries (`127.0.0.0/8`) are configured as\ninsecure. All other registries are secure. Communicating with an\ninsecure registry is not possible if the daemon assumes that registry\nis secure.\n\nThis configuration override this behavior, insecure communication with\nregistries whose resolved IP address is within the subnet described by\nthe CIDR syntax.\n\nRegistries can also be marked insecure by hostname. Those registries\nare listed under `IndexConfigs` and have their `Secure` field set to\n`false`.\n\n> **Warning**: Using this option can be useful when running a local\n> registry, but introduces security vulnerabilities. This option\n> should therefore ONLY be used for testing purposes. For increased\n> security, users should add their CA to their system's list of trusted\n> CAs instead of enabling this option.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "IndexConfigs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/IndexInfo" - }, - "example": { - "127.0.0.1:5000": { - "Name": "127.0.0.1:5000", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "[2001:db8:a0b:12f0::1]:80": { - "Name": "[2001:db8:a0b:12f0::1]:80", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "docker.io": { - "Name": "docker.io", - "Mirrors": [ - "https://hub-mirror.corp.example.com:5000/" - ], - "Secure": true, - "Official": true - }, - "registry.internal.corp.example.com:3000": { - "Name": "registry.internal.corp.example.com:3000", - "Mirrors": [], - "Secure": false, - "Official": false - } - } - }, - "Mirrors": { - "type": "array", - "description": "List of registry URLs that act as a mirror for the official\n(`docker.io`) registry.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://[2001:db8:a0b:12f0::1]/" - ], - "items": { - "type": "string" - } - } - }, - "description": "RegistryServiceConfig stores daemon registry services configuration.\n", - "nullable": true, - "x-nullable": true - }, - "IndexInfo": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the registry, such as \"docker.io\".\n", - "example": "docker.io" - }, - "Mirrors": { - "type": "array", - "description": "List of mirrors, expressed as URIs.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://registry-2.docker.io/", - "https://registry-3.docker.io/" - ], - "items": { - "type": "string" - } - }, - "Secure": { - "type": "boolean", - "description": "Indicates if the the registry is part of the list of insecure\nregistries.\n\nIf `false`, the registry is insecure. Insecure registries accept\nun-encrypted (HTTP) and/or untrusted (HTTPS with certificates from\nunknown CAs) communication.\n\n> **Warning**: Insecure registries can be useful when running a local\n> registry. However, because its use creates security vulnerabilities\n> it should ONLY be enabled for testing purposes. For increased\n> security, users should add their CA to their system's list of\n> trusted CAs instead of enabling this option.\n", - "example": true - }, - "Official": { - "type": "boolean", - "description": "Indicates whether this is an official registry (i.e., Docker Hub / docker.io)\n", - "example": true - } - }, - "description": "IndexInfo contains information about a registry.", - "nullable": true, - "x-nullable": true - }, - "Runtime": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Name and, optional, path, of the OCI executable binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "/usr/local/bin/my-oci-runtime" - }, - "runtimeArgs": { - "type": "array", - "description": "List of command-line arguments to pass to the runtime when invoked.\n", - "nullable": true, - "example": [ - "--debug", - "--systemd-cgroup=false" - ], - "items": { - "type": "string" - } - } - }, - "description": "Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntime.\n\nThe runtime is invoked by the daemon via the `containerd` daemon. OCI\nruntimes act as an interface to the Linux kernel namespaces, cgroups,\nand SELinux.\n" - }, - "Commit": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Actual commit ID of external tool.", - "example": "cfb82a876ecc11b5ca0977d1733adbe58599088a" - }, - "Expected": { - "type": "string", - "description": "Commit ID of external tool expected by dockerd as set at build time.\n", - "example": "2d41c047c83e09a6d61d464906feb2a2f3c52aa4" - } - }, - "description": "Commit holds the Git-commit (SHA1) that a binary was built from, as\nreported in the version-string of external tools, such as `containerd`,\nor `runC`.\n" - }, - "SwarmInfo": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm.", - "example": "k67qz4598weg5unwwffg6z1m1", - "default": "" - }, - "NodeAddr": { - "type": "string", - "description": "IP address at which this node can be reached by other nodes in the\nswarm.\n", - "example": "10.0.0.46", - "default": "" - }, - "LocalNodeState": { - "$ref": "#/components/schemas/LocalNodeState" - }, - "ControlAvailable": { - "type": "boolean", - "example": true, - "default": false - }, - "Error": { - "type": "string", - "default": "" - }, - "RemoteManagers": { - "type": "array", - "description": "List of ID's and addresses of other managers in the swarm.\n", - "nullable": true, - "example": [ - { - "NodeID": "71izy0goik036k48jg985xnds", - "Addr": "10.0.0.158:2377" - }, - { - "NodeID": "79y6h1o4gv8n120drcprv5nmc", - "Addr": "10.0.0.159:2377" - }, - { - "NodeID": "k67qz4598weg5unwwffg6z1m1", - "Addr": "10.0.0.46:2377" - } - ], - "items": { - "$ref": "#/components/schemas/PeerNode" - } - }, - "Nodes": { - "type": "integer", - "description": "Total number of nodes in the swarm.", - "nullable": true, - "example": 4 - }, - "Managers": { - "type": "integer", - "description": "Total number of managers in the swarm.", - "nullable": true, - "example": 3 - }, - "Cluster": { - "$ref": "#/components/schemas/ClusterInfo" - } - }, - "description": "Represents generic information about swarm.\n" - }, - "LocalNodeState": { - "type": "string", - "description": "Current local status of this node.", - "example": "active", - "default": "", - "enum": [ - "", - "inactive", - "pending", - "active", - "error", - "locked" - ] - }, - "PeerNode": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm." - }, - "Addr": { - "type": "string", - "description": "IP address and ports at which this node can be reached.\n" - } - }, - "description": "Represents a peer-node in the swarm" - } - } - } -} \ No newline at end of file diff --git a/app/vendor/beluga-php/docker-php-api/spec/v1.41.json b/app/vendor/beluga-php/docker-php-api/spec/v1.41.json deleted file mode 100644 index 5b645f059..000000000 --- a/app/vendor/beluga-php/docker-php-api/spec/v1.41.json +++ /dev/null @@ -1,16074 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Docker Engine API", - "description": "The Engine API is an HTTP API served by Docker Engine. It is the API the\nDocker client uses to communicate with the Engine, so everything the Docker\nclient can do can be done with the API.\n\nMost of the client's commands map directly to API endpoints (e.g. `docker ps`\nis `GET /containers/json`). The notable exception is running containers,\nwhich consists of several API calls.\n\n# Errors\n\nThe API uses standard HTTP status codes to indicate the success or failure\nof the API call. The body of the response will be JSON in the following\nformat:\n\n```\n{\n \"message\": \"page not found\"\n}\n```\n\n# Versioning\n\nThe API is usually changed in each release, so API calls are versioned to\nensure that clients don't break. To lock to a specific version of the API,\nyou prefix the URL with its version, for example, call `/v1.30/info` to use\nthe v1.30 version of the `/info` endpoint. If the API version specified in\nthe URL is not supported by the daemon, a HTTP `400 Bad Request` error message\nis returned.\n\nIf you omit the version-prefix, the current version of the API (v1.41) is used.\nFor example, calling `/info` is the same as calling `/v1.41/info`. Using the\nAPI without a version-prefix is deprecated and will be removed in a future release.\n\nEngine releases in the near future should support this version of the API,\nso your client will continue to work even if it is talking to a newer Engine.\n\nThe API uses an open schema model, which means server may add extra properties\nto responses. Likewise, the server will ignore any extra query parameters and\nrequest body properties. When you write clients, you need to ignore additional\nproperties in responses to ensure they do not break when talking to newer\ndaemons.\n\n\n# Authentication\n\nAuthentication for registries is handled client side. The client has to send\nauthentication details to various endpoints that need to communicate with\nregistries, such as `POST /images/(name)/push`. These are sent as\n`X-Registry-Auth` header as a [base64url encoded](https://tools.ietf.org/html/rfc4648#section-5)\n(JSON) string with the following structure:\n\n```\n{\n \"username\": \"string\",\n \"password\": \"string\",\n \"email\": \"string\",\n \"serveraddress\": \"string\"\n}\n```\n\nThe `serveraddress` is a domain/IP without a protocol. Throughout this\nstructure, double quotes are required.\n\nIf you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth),\nyou can just pass this instead of credentials:\n\n```\n{\n \"identitytoken\": \"9cbaf023786cd7...\"\n}\n```\n", - "version": "1.41", - "x-logo": { - "url": "https://docs.docker.com/images/logo-docker-main.png" - } - }, - "servers": [ - { - "url": "/v1.41" - } - ], - "tags": [ - { - "name": "Container", - "description": "Create and manage containers.\n", - "x-displayName": "Containers" - }, - { - "name": "Image", - "x-displayName": "Images" - }, - { - "name": "Network", - "description": "Networks are user-defined networks that containers can be attached to.\nSee the [networking documentation](https://docs.docker.com/network/)\nfor more information.\n", - "x-displayName": "Networks" - }, - { - "name": "Volume", - "description": "Create and manage persistent storage that can be attached to containers.\n", - "x-displayName": "Volumes" - }, - { - "name": "Exec", - "description": "Run new commands inside running containers. Refer to the\n[command-line reference](https://docs.docker.com/engine/reference/commandline/exec/)\nfor more information.\n\nTo exec a command in a container, you first need to create an exec instance,\nthen start it. These two API endpoints are wrapped up in a single command-line\ncommand, `docker exec`.\n", - "x-displayName": "Exec" - }, - { - "name": "Swarm", - "description": "Engines can be clustered together in a swarm. Refer to the\n[swarm mode documentation](https://docs.docker.com/engine/swarm/)\nfor more information.\n", - "x-displayName": "Swarm" - }, - { - "name": "Node", - "description": "Nodes are instances of the Engine participating in a swarm. Swarm mode\nmust be enabled for these endpoints to work.\n", - "x-displayName": "Nodes" - }, - { - "name": "Service", - "description": "Services are the definitions of tasks to run on a swarm. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Services" - }, - { - "name": "Task", - "description": "A task is a container running on a swarm. It is the atomic scheduling unit\nof swarm. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Tasks" - }, - { - "name": "Secret", - "description": "Secrets are sensitive data that can be used by services. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Secrets" - }, - { - "name": "Config", - "description": "Configs are application configurations that can be used by services. Swarm\nmode must be enabled for these endpoints to work.\n", - "x-displayName": "Configs" - }, - { - "name": "Plugin", - "x-displayName": "Plugins" - }, - { - "name": "System", - "x-displayName": "System" - } - ], - "paths": { - "/containers/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "List containers", - "description": "Returns a list of containers. For details on the format, see the\n[inspect endpoint](#operation/ContainerInspect).\n\nNote that it uses a different, smaller representation of a container\nthan inspecting a single container. For example, the list of linked\ncontainers is not propagated .\n", - "operationId": "ContainerList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Return all containers. By default, only running containers are shown.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "limit", - "in": "query", - "description": "Return this number of most recently created containers, including\nnon-running ones.\n", - "schema": { - "type": "integer" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "Filters to process on the container list, encoded as JSON (a\n`map[string][]string`). For example, `{\"status\": [\"paused\"]}` will\nonly return paused containers.\n\nAvailable filters:\n\n- `ancestor`=(`[:]`, ``, or ``)\n- `before`=(`` or ``)\n- `expose`=(`[/]`|`/[]`)\n- `exited=` containers with exit code of ``\n- `health`=(`starting`|`healthy`|`unhealthy`|`none`)\n- `id=` a container's ID\n- `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)\n- `is-task=`(`true`|`false`)\n- `label=key` or `label=\"key=value\"` of a container label\n- `name=` a container's name\n- `network`=(`` or ``)\n- `publish`=(`[/]`|`/[]`)\n- `since`=(`` or ``)\n- `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)\n- `volume`=(`` or ``)\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerSummary" - }, - "example": [ - { - "Id": "8dfafdbc3a40", - "Names": [ - "/boring_feynman" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 1", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [ - { - "PrivatePort": 2222, - "PublicPort": 3333, - "Type": "tcp" - } - ], - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:02" - } - } - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - }, - { - "Id": "9cd87474be90", - "Names": [ - "/coolName" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 222222", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.8", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:08" - } - } - }, - "Mounts": [] - }, - { - "Id": "3176a2479c92", - "Names": [ - "/sleepy_dog" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 3333333333333333", - "Created": 1367854154, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.6", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:06" - } - } - }, - "Mounts": [] - }, - { - "Id": "4cb07b47f9fb", - "Names": [ - "/running_cat" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 444444444444444444444444444444444", - "Created": 1367854152, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.5", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:05" - } - } - }, - "Mounts": [] - } - ] - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/create": { - "post": { - "tags": [ - "Container" - ], - "summary": "Create a container", - "operationId": "ContainerCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Assign the specified name to the container. Must match\n`/?[a-zA-Z0-9][a-zA-Z0-9_.-]+`.\n", - "schema": { - "pattern": "^/?[a-zA-Z0-9][a-zA-Z0-9_.-]+$", - "type": "string" - } - } - ], - "requestBody": { - "description": "Container to create", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - }, - "application/octet-stream": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "Container created successfully", - "content": { - "application/json": { - "schema": { - "title": "ContainerCreateResponse", - "required": [ - "Id", - "Warnings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created container", - "nullable": false - }, - "Warnings": { - "type": "array", - "description": "Warnings encountered when creating the container", - "nullable": false, - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerCreate operation" - }, - "example": { - "Id": "e90e34656806", - "Warnings": [] - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/containers/{id}/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "Inspect a container", - "description": "Return low-level information about a container.", - "operationId": "ContainerInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerInspectResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the container" - }, - "Created": { - "type": "string", - "description": "The time the container was created" - }, - "Path": { - "type": "string", - "description": "The path to the command being run" - }, - "Args": { - "type": "array", - "description": "The arguments to the command being run", - "items": { - "type": "string" - } - }, - "State": { - "$ref": "#/components/schemas/ContainerState" - }, - "Image": { - "type": "string", - "description": "The container's image ID" - }, - "ResolvConfPath": { - "type": "string" - }, - "HostnamePath": { - "type": "string" - }, - "HostsPath": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestartCount": { - "type": "integer" - }, - "Driver": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "MountLabel": { - "type": "string" - }, - "ProcessLabel": { - "type": "string" - }, - "AppArmorProfile": { - "type": "string" - }, - "ExecIDs": { - "type": "array", - "description": "IDs of exec instances that are running in the container.", - "nullable": true, - "items": { - "type": "string" - } - }, - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this\ncontainer.\n", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container.", - "format": "int64" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "NetworkSettings": { - "$ref": "#/components/schemas/NetworkSettings" - } - } - }, - "example": { - "AppArmorProfile": "", - "Args": [ - "-c", - "exit 9" - ], - "Config": { - "AttachStderr": true, - "AttachStdin": false, - "AttachStdout": true, - "Cmd": [ - "/bin/sh", - "-c", - "exit 9" - ], - "Domainname": "", - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Healthcheck": { - "Test": [ - "CMD-SHELL", - "exit 0" - ] - }, - "Hostname": "ba033ac44011", - "Image": "ubuntu", - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "MacAddress": "", - "NetworkDisabled": false, - "OpenStdin": false, - "StdinOnce": false, - "Tty": false, - "User": "", - "Volumes": { - "/volumes/data": {} - }, - "WorkingDir": "", - "StopSignal": "SIGTERM", - "StopTimeout": 10 - }, - "Created": "2015-01-06T15:47:31.485331387Z", - "Driver": "devicemapper", - "ExecIDs": [ - "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca", - "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4" - ], - "HostConfig": { - "MaximumIOps": 0, - "MaximumIOBps": 0, - "BlkioWeight": 0, - "BlkioWeightDevice": [ - {} - ], - "BlkioDeviceReadBps": [ - {} - ], - "BlkioDeviceWriteBps": [ - {} - ], - "BlkioDeviceReadIOps": [ - {} - ], - "BlkioDeviceWriteIOps": [ - {} - ], - "ContainerIDFile": "", - "CpusetCpus": "", - "CpusetMems": "", - "CpuPercent": 80, - "CpuShares": 0, - "CpuPeriod": 100000, - "CpuRealtimePeriod": 1000000, - "CpuRealtimeRuntime": 10000, - "Devices": [], - "DeviceRequests": [ - { - "Driver": "nvidia", - "Count": -1, - "DeviceIDs\"": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "Capabilities": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "Options": { - "property1": "string", - "property2": "string" - } - } - ], - "IpcMode": "", - "LxcConf": [], - "Memory": 0, - "MemorySwap": 0, - "MemoryReservation": 0, - "KernelMemory": 0, - "OomKillDisable": false, - "OomScoreAdj": 500, - "NetworkMode": "bridge", - "PidMode": "", - "PortBindings": {}, - "Privileged": false, - "ReadonlyRootfs": false, - "PublishAllPorts": false, - "RestartPolicy": { - "MaximumRetryCount": 2, - "Name": "on-failure" - }, - "LogConfig": { - "Type": "json-file" - }, - "Sysctls": { - "net.ipv4.ip_forward": "1" - }, - "Ulimits": [ - {} - ], - "VolumeDriver": "", - "ShmSize": 67108864 - }, - "HostnamePath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname", - "HostsPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts", - "LogPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log", - "Id": "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39", - "Image": "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2", - "MountLabel": "", - "Name": "/boring_euclid", - "NetworkSettings": { - "Bridge": "", - "SandboxID": "", - "HairpinMode": false, - "LinkLocalIPv6Address": "", - "LinkLocalIPv6PrefixLen": 0, - "SandboxKey": "", - "EndpointID": "", - "Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "IPAddress": "", - "IPPrefixLen": 0, - "IPv6Gateway": "", - "MacAddress": "", - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Path": "/bin/sh", - "ProcessLabel": "", - "ResolvConfPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf", - "RestartCount": 1, - "State": { - "Error": "", - "ExitCode": 9, - "FinishedAt": "2015-01-06T15:47:32.080254511Z", - "Health": { - "Status": "healthy", - "FailingStreak": 0, - "Log": [ - { - "Start": "2019-12-22T10:59:05.6385933Z", - "End": "2019-12-22T10:59:05.8078452Z", - "ExitCode": 0, - "Output": "" - } - ] - }, - "OOMKilled": false, - "Dead": false, - "Paused": false, - "Pid": 0, - "Restarting": false, - "Running": true, - "StartedAt": "2015-01-06T15:47:32.072697474Z", - "Status": "running" - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/top": { - "get": { - "tags": [ - "Container" - ], - "summary": "List processes running inside a container", - "description": "On Unix systems, this is done by running the `ps` command. This endpoint\nis not supported on Windows.\n", - "operationId": "ContainerTop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ps_args", - "in": "query", - "description": "The arguments to pass to `ps`. For example, `aux`", - "schema": { - "type": "string", - "default": "-ef" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - }, - "example": { - "Titles": [ - "UID", - "PID", - "PPID", - "C", - "STIME", - "TTY", - "TIME", - "CMD" - ], - "Processes": [ - [ - "root", - "13642", - "882", - "0", - "17:03", - "pts/0", - "00:00:00", - "/bin/bash" - ], - [ - "root", - "13735", - "13642", - "0", - "17:06", - "pts/0", - "00:00:00", - "sleep 10" - ] - ] - } - }, - "text/plain": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/logs": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container logs", - "description": "Get `stdout` and `stderr` logs from a container.\n\nNote: This endpoint works only for containers with the `json-file` or\n`journald` logging driver.\n", - "operationId": "ContainerLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "until", - "in": "query", - "description": "Only return logs before this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body.\nFor the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).\nNote that unlike the attach endpoint, the logs endpoint does not\nupgrade the connection and does not set Content-Type.\n", - "content": { - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/plain": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/changes": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get changes on a container’s filesystem", - "description": "Returns which files in a container's filesystem have been added, deleted,\nor modified. The `Kind` of modification can be one of:\n\n- `0`: Modified\n- `1`: Added\n- `2`: Deleted\n", - "operationId": "ContainerChanges", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "The list of changes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ContainerChangeResponseItem", - "required": [ - "Kind", - "Path" - ], - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Path to file that has changed", - "nullable": false - }, - "Kind": { - "type": "integer", - "description": "Kind of change", - "format": "uint8", - "nullable": false - } - }, - "description": "change item in response to ContainerChanges operation", - "x-go-name": "ContainerChangeResponseItem" - } - }, - "example": [ - { - "Path": "/dev", - "Kind": 0 - }, - { - "Path": "/dev/kmsg", - "Kind": 1 - }, - { - "Path": "/test", - "Kind": 1 - } - ] - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/export": { - "get": { - "tags": [ - "Container" - ], - "summary": "Export a container", - "description": "Export the contents of a container as a tarball.", - "operationId": "ContainerExport", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stats": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container stats based on resource usage", - "description": "This endpoint returns a live stream of a container’s resource usage\nstatistics.\n\nThe `precpu_stats` is the CPU statistic of the *previous* read, and is\nused to calculate the CPU usage percentage. It is not an exact copy\nof the `cpu_stats` field.\n\nIf either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is\nnil then for compatibility with older daemons the length of the\ncorresponding `cpu_usage.percpu_usage` array should be used.\n\nOn a cgroup v2 host, the following fields are not set\n* `blkio_stats`: all fields other than `io_service_bytes_recursive`\n* `cpu_stats`: `cpu_usage.percpu_usage`\n* `memory_stats`: `max_usage` and `failcnt`\nAlso, `memory_stats.stats` fields are incompatible with cgroup v1.\n\nTo calculate the values shown by the `stats` command of the docker cli tool\nthe following formulas can be used:\n* used_memory = `memory_stats.usage - memory_stats.stats.cache`\n* available_memory = `memory_stats.limit`\n* Memory usage % = `(used_memory / available_memory) * 100.0`\n* cpu_delta = `cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage`\n* system_cpu_delta = `cpu_stats.system_cpu_usage - precpu_stats.system_cpu_usage`\n* number_cpus = `lenght(cpu_stats.cpu_usage.percpu_usage)` or `cpu_stats.online_cpus`\n* CPU usage % = `(cpu_delta / system_cpu_delta) * number_cpus * 100.0`\n", - "operationId": "ContainerStats", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream the output. If false, the stats will be output once and then\nit will disconnect.\n", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "one-shot", - "in": "query", - "description": "Only get a single stat instead of waiting for 2 cycles. Must be used\nwith `stream=false`.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "read": "2015-01-08T22:57:31.547920715Z", - "pids_stats": { - "current": 3 - }, - "networks": { - "eth0": { - "rx_bytes": 5338, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 36, - "tx_bytes": 648, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 8 - }, - "eth5": { - "rx_bytes": 4641, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 26, - "tx_bytes": 690, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 9 - } - }, - "memory_stats": { - "stats": { - "total_pgmajfault": 0, - "cache": 0, - "mapped_file": 0, - "total_inactive_file": 0, - "pgpgout": 414, - "rss": 6537216, - "total_mapped_file": 0, - "writeback": 0, - "unevictable": 0, - "pgpgin": 477, - "total_unevictable": 0, - "pgmajfault": 0, - "total_rss": 6537216, - "total_rss_huge": 6291456, - "total_writeback": 0, - "total_inactive_anon": 0, - "rss_huge": 6291456, - "hierarchical_memory_limit": 67108864, - "total_pgfault": 964, - "total_active_file": 0, - "active_anon": 6537216, - "total_active_anon": 6537216, - "total_pgpgout": 414, - "total_cache": 0, - "inactive_anon": 0, - "active_file": 0, - "pgfault": 964, - "inactive_file": 0, - "total_pgpgin": 477 - }, - "max_usage": 6651904, - "usage": 6537216, - "failcnt": 0, - "limit": 67108864 - }, - "blkio_stats": {}, - "cpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24472255, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100215355, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 739306590000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - }, - "precpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24350896, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100093996, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 9492140000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - } - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/resize": { - "post": { - "tags": [ - "Container" - ], - "summary": "Resize a container TTY", - "description": "Resize the TTY for a container.", - "operationId": "ContainerResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "cannot resize container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/start": { - "post": { - "tags": [ - "Container" - ], - "summary": "Start a container", - "operationId": "ContainerStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container. Format is a\nsingle character `[a-Z]` or `ctrl-` where `` is one\nof: `a-z`, `@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already started", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stop": { - "post": { - "tags": [ - "Container" - ], - "summary": "Stop a container", - "operationId": "ContainerStop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already stopped", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/restart": { - "post": { - "tags": [ - "Container" - ], - "summary": "Restart a container", - "operationId": "ContainerRestart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/kill": { - "post": { - "tags": [ - "Container" - ], - "summary": "Kill a container", - "description": "Send a POSIX signal to a container, defaulting to killing to the\ncontainer.\n", - "operationId": "ContainerKill", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`)", - "schema": { - "type": "string", - "default": "SIGKILL" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "container is not running", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Container d37cde0fe4ad63c3a7252023b2f9800282894247d145cb5933ddf6e52cc03a28 is not running" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/update": { - "post": { - "tags": [ - "Container" - ], - "summary": "Update a container", - "description": "Change various configuration options of a container without having to\nrecreate it.\n", - "operationId": "ContainerUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The container has been updated.", - "content": { - "application/json": { - "schema": { - "title": "ContainerUpdateResponse", - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerUpdate operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "update" - } - }, - "/containers/{id}/rename": { - "post": { - "tags": [ - "Container" - ], - "summary": "Rename a container", - "operationId": "ContainerRename", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "New name for the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name already in use", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/pause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Pause a container", - "description": "Use the freezer cgroup to suspend all processes in a container.\n\nTraditionally, when suspending a process the `SIGSTOP` signal is used,\nwhich is observable by the process being suspended. With the freezer\ncgroup the process is unaware, and unable to capture, that it is being\nsuspended, and subsequently resumed.\n", - "operationId": "ContainerPause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/unpause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Unpause a container", - "description": "Resume a container which has been paused.", - "operationId": "ContainerUnpause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach": { - "post": { - "tags": [ - "Container" - ], - "summary": "Attach to a container", - "description": "Attach to a container to read its output or send it input. You can attach\nto the same container multiple times and you can reattach to containers\nthat have been detached.\n\nEither the `stream` or `logs` parameter must be `true` for this endpoint\nto do anything.\n\nSee the [documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/)\nfor more details.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to transport `stdin`, `stdout`,\nand `stderr` on the same socket.\n\nThis is the response from the daemon for an attach request:\n\n```\nHTTP/1.1 200 OK\nContent-Type: application/vnd.docker.raw-stream\n\n[STREAM]\n```\n\nAfter the headers and two new lines, the TCP connection can now be used\nfor raw, bidirectional communication between the client and server.\n\nTo hint potential proxies about connection hijacking, the Docker client\ncan also optionally send connection upgrade headers.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1\nUpgrade: tcp\nConnection: Upgrade\n```\n\nThe Docker daemon will respond with a `101 UPGRADED` response, and will\nsimilarly follow with the raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nContent-Type: application/vnd.docker.raw-stream\nConnection: Upgrade\nUpgrade: tcp\n\n[STREAM]\n```\n\n### Stream format\n\nWhen the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe stream over the hijacked connected is multiplexed to separate out\n`stdout` and `stderr`. The stream consists of a series of frames, each\ncontaining a header and a payload.\n\nThe header contains the information which the stream writes (`stdout` or\n`stderr`). It also contains the size of the associated frame encoded in\nthe last four bytes (`uint32`).\n\nIt is encoded on the first eight bytes like this:\n\n```go\nheader := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}\n```\n\n`STREAM_TYPE` can be:\n\n- 0: `stdin` (is written on `stdout`)\n- 1: `stdout`\n- 2: `stderr`\n\n`SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size\nencoded as big endian.\n\nFollowing the header is the payload, which is the specified number of\nbytes of `STREAM_TYPE`.\n\nThe simplest way to implement this protocol is the following:\n\n1. Read 8 bytes.\n2. Choose `stdout` or `stderr` depending on the first byte.\n3. Extract the frame size from the last four bytes.\n4. Read the extracted size and output it on the correct output.\n5. Goto 1.\n\n### Stream format when using a TTY\n\nWhen the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe stream is not multiplexed. The data exchanged over the hijacked\nconnection is simply the raw data from the process PTY and client's\n`stdin`.\n", - "operationId": "ContainerAttach", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Replay previous logs from the container.\n\nThis is useful for attaching to a container that has started and you\nwant to output everything since the container started.\n\nIf `stream` is also enabled, once all the previous output has been\nreturned, it will seamlessly transition into streaming current\noutput.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream attached streams from the time the request was made onwards.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach/ws": { - "get": { - "tags": [ - "Container" - ], - "summary": "Attach to a container via a websocket", - "operationId": "ContainerAttachWebsocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,`, or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Return logs", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Return stream", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/wait": { - "post": { - "tags": [ - "Container" - ], - "summary": "Wait for a container", - "description": "Block until a container stops, then returns the exit code.", - "operationId": "ContainerWait", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "condition", - "in": "query", - "description": "Wait until a container state reaches the given condition, either\n'not-running' (default), 'next-exit', or 'removed'.\n", - "schema": { - "type": "string", - "default": "not-running" - } - } - ], - "responses": { - "200": { - "description": "The container has exit.", - "content": { - "application/json": { - "schema": { - "title": "ContainerWaitResponse", - "required": [ - "StatusCode" - ], - "type": "object", - "properties": { - "StatusCode": { - "type": "integer", - "description": "Exit code of the container", - "nullable": false - }, - "Error": { - "type": "object", - "properties": { - "Message": { - "type": "string", - "description": "Details of an error" - } - }, - "description": "container waiting error, if any" - } - }, - "description": "OK response to ContainerWait operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}": { - "delete": { - "tags": [ - "Container" - ], - "summary": "Remove a container", - "operationId": "ContainerDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "v", - "in": "query", - "description": "Remove anonymous volumes associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "force", - "in": "query", - "description": "If the container is running, kill it before removing it.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "link", - "in": "query", - "description": "Remove the specified link associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "You cannot remove a running container: c2ada9df5af8. Stop the\ncontainer before attempting removal or force remove\n" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/archive": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get an archive of a filesystem resource in a container", - "description": "Get a tar archive of a resource in the filesystem of container id.", - "operationId": "ContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/x-tar": { - "schema": { - "type": "object", - "properties": { - "ErrorResponse": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "message": { - "type": "string", - "description": "The error message. Either \"must specify path parameter\"\n(path cannot be empty) or \"not a directory\" (path was\nasserted to be a directory but exists as a file).\n", - "nullable": false - } - } - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Container" - ], - "summary": "Extract an archive of files or folders to a directory in a container", - "description": "Upload a tar archive to be extracted to a path in the filesystem of container id.", - "operationId": "PutContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Path to a directory in the container to extract the archive’s contents into. ", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "noOverwriteDirNonDir", - "in": "query", - "description": "If `1`, `true`, or `True` then it will be an error if unpacking the\ngiven content would cause an existing directory to be replaced with\na non-directory and vice versa.\n", - "schema": { - "type": "string" - } - }, - { - "name": "copyUIDGID", - "in": "query", - "description": "If `1`, `true`, then it will copy UID/GID maps to the dest file or\ndir\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The input stream must be a tar archive compressed with one of the\nfollowing algorithms: `identity` (no compression), `gzip`, `bzip2`,\nor `xz`.\n", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The content was extracted successfully", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Permission denied, the volume or container rootfs is marked as read-only.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such container or path does not exist inside the container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - }, - "head": { - "tags": [ - "Container" - ], - "summary": "Get information about files in a container", - "description": "A response header `X-Docker-Container-Path-Stat` is returned, containing\na base64 - encoded JSON object with some filesystem header information\nabout the path.\n", - "operationId": "ContainerArchiveInfo", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "headers": { - "X-Docker-Container-Path-Stat": { - "description": "A base64 - encoded JSON object with some filesystem header\ninformation about the path\n", - "schema": { - "type": "string" - } - } - }, - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ErrorResponse": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "message": { - "type": "string", - "description": "The error message. Either \"must specify path parameter\"\n(path cannot be empty) or \"not a directory\" (path was\nasserted to be a directory but exists as a file).\n", - "nullable": false - } - } - } - }, - "text/plain": { - "schema": { - "type": "object", - "properties": { - "ErrorResponse": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "message": { - "type": "string", - "description": "The error message. Either \"must specify path parameter\"\n(path cannot be empty) or \"not a directory\" (path was\nasserted to be a directory but exists as a file).\n", - "nullable": false - } - } - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/prune": { - "post": { - "tags": [ - "Container" - ], - "summary": "Delete stopped containers", - "operationId": "ContainerPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ContainerPruneResponse", - "type": "object", - "properties": { - "ContainersDeleted": { - "type": "array", - "description": "Container IDs that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "List Images", - "description": "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image.", - "operationId": "ImageList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Show all images. Only images from a final layer (no children) are shown by default.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the images list.\n\nAvailable filters:\n\n- `before`=(`[:]`, `` or ``)\n- `dangling=true`\n- `label=key` or `label=\"key=value\"` of an image label\n- `reference`=(`[:]`)\n- `since`=(`[:]`, `` or ``)\n", - "schema": { - "type": "string" - } - }, - { - "name": "digests", - "in": "query", - "description": "Show digest information as a `RepoDigests` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "Summary image data for the images matching the query", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "example": [ - { - "Id": "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8", - "ParentId": "", - "RepoTags": [ - "ubuntu:12.04", - "ubuntu:precise" - ], - "RepoDigests": [ - "ubuntu@sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787" - ], - "Created": 1474925151, - "Size": 103579269, - "VirtualSize": 103579269, - "SharedSize": 0, - "Labels": {}, - "Containers": 2 - }, - { - "Id": "sha256:3e314f95dcace0f5e4fd37b10862fe8398e3c60ed36600bc0ca5fda78b087175", - "ParentId": "", - "RepoTags": [ - "ubuntu:12.10", - "ubuntu:quantal" - ], - "RepoDigests": [ - "ubuntu@sha256:002fba3e3255af10be97ea26e476692a7ebed0bb074a9ab960b2e7a1526b15d7", - "ubuntu@sha256:68ea0200f0b90df725d99d823905b04cf844f6039ef60c60bf3e019915017bd3" - ], - "Created": 1403128455, - "Size": 172064416, - "VirtualSize": 172064416, - "SharedSize": 0, - "Labels": {}, - "Containers": 5 - } - ] - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/build": { - "post": { - "tags": [ - "Image" - ], - "summary": "Build an image", - "description": "Build an image from a tar archive with a `Dockerfile` in it.\n\nThe `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/).\n\nThe Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output.\n\nThe build is canceled if the client drops the connection by quitting or being killed.\n", - "operationId": "ImageBuild", - "parameters": [ - { - "name": "dockerfile", - "in": "query", - "description": "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`.", - "schema": { - "type": "string", - "default": "Dockerfile" - } - }, - { - "name": "t", - "in": "query", - "description": "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters.", - "schema": { - "type": "string" - } - }, - { - "name": "extrahosts", - "in": "query", - "description": "Extra hosts to add to /etc/hosts", - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball.", - "schema": { - "type": "string" - } - }, - { - "name": "q", - "in": "query", - "description": "Suppress verbose build output.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "nocache", - "in": "query", - "description": "Do not use the cache when building the image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "cachefrom", - "in": "query", - "description": "JSON array of images used for build cache resolution.", - "schema": { - "type": "string" - } - }, - { - "name": "pull", - "in": "query", - "description": "Attempt to pull the image even if an older image exists locally.", - "schema": { - "type": "string" - } - }, - { - "name": "rm", - "in": "query", - "description": "Remove intermediate containers after a successful build.", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "forcerm", - "in": "query", - "description": "Always remove intermediate containers, even upon failure.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "memory", - "in": "query", - "description": "Set memory limit for build.", - "schema": { - "type": "integer" - } - }, - { - "name": "memswap", - "in": "query", - "description": "Total memory (memory + swap). Set as `-1` to disable swap.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpushares", - "in": "query", - "description": "CPU shares (relative weight).", - "schema": { - "type": "integer" - } - }, - { - "name": "cpusetcpus", - "in": "query", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).", - "schema": { - "type": "string" - } - }, - { - "name": "cpuperiod", - "in": "query", - "description": "The length of a CPU period in microseconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpuquota", - "in": "query", - "description": "Microseconds of CPU time that the container can get in a CPU period.", - "schema": { - "type": "integer" - } - }, - { - "name": "buildargs", - "in": "query", - "description": "JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values.\n\nFor example, the build arg `FOO=bar` would become `{\"FOO\":\"bar\"}` in JSON. This would result in the the query parameter `buildargs={\"FOO\":\"bar\"}`. Note that `{\"FOO\":\"bar\"}` should be URI component encoded.\n\n[Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)\n", - "schema": { - "type": "string" - } - }, - { - "name": "shmsize", - "in": "query", - "description": "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB.", - "schema": { - "type": "integer" - } - }, - { - "name": "squash", - "in": "query", - "description": "Squash the resulting images layers into a single layer. *(Experimental release only.)*", - "schema": { - "type": "boolean" - } - }, - { - "name": "labels", - "in": "query", - "description": "Arbitrary key/value labels to set on the image, as a JSON map of string pairs.", - "schema": { - "type": "string" - } - }, - { - "name": "networkmode", - "in": "query", - "description": "Sets the networking mode for the run commands during build. Supported\nstandard values are: `bridge`, `host`, `none`, and `container:`.\nAny other value is taken as a custom network's name or ID to which this\ncontainer should connect to.\n", - "schema": { - "type": "string" - } - }, - { - "name": "Content-type", - "in": "header", - "schema": { - "type": "string", - "default": "application/x-tar", - "enum": [ - "application/x-tar" - ] - } - }, - { - "name": "X-Registry-Config", - "in": "header", - "description": "This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.\n\nThe key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:\n\n```\n{\n \"docker.example.com\": {\n \"username\": \"janedoe\",\n \"password\": \"hunter2\"\n },\n \"https://index.docker.io/v1/\": {\n \"username\": \"mobydock\",\n \"password\": \"conta1n3rize14\"\n }\n}\n```\n\nOnly the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API.\n", - "schema": { - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]]", - "schema": { - "type": "string" - } - }, - { - "name": "target", - "in": "query", - "description": "Target build stage", - "schema": { - "type": "string" - } - }, - { - "name": "outputs", - "in": "query", - "description": "BuildKit output configuration", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz.", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - } - }, - "/build/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete builder cache", - "operationId": "BuildPrune", - "parameters": [ - { - "name": "keep-storage", - "in": "query", - "description": "Amount of disk space in bytes to keep for cache", - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "all", - "in": "query", - "description": "Remove all types of build cache", - "schema": { - "type": "boolean" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the list of build cache objects.\n\nAvailable filters:\n\n- `until=`: duration relative to daemon's time, during which build cache was not used, in Go's duration format (e.g., '24h')\n- `id=`\n- `parent=`\n- `type=`\n- `description=`\n- `inuse`\n- `shared`\n- `private`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "BuildPruneResponse", - "type": "object", - "properties": { - "CachesDeleted": { - "type": "array", - "items": { - "type": "string", - "description": "ID of build cache object" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/create": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create an image", - "description": "Create an image by either pulling it from a registry or importing it.", - "operationId": "ImageCreate", - "parameters": [ - { - "name": "fromImage", - "in": "query", - "description": "Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed.", - "schema": { - "type": "string" - } - }, - { - "name": "fromSrc", - "in": "query", - "description": "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled.", - "schema": { - "type": "string" - } - }, - { - "name": "message", - "in": "query", - "description": "Set commit message for imported image.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]]", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Image content if the value `-` has been specified in fromSrc query parameter", - "content": { - "text/plain": { - "schema": { - "type": "string" - } - }, - "application/octet-stream": { - "schema": { - "type": "string" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "repository does not exist or no read access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputImage" - } - }, - "/images/{name}/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "Inspect an image", - "description": "Return low-level information about an image.", - "operationId": "ImageInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Image" - }, - "example": { - "Id": "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c", - "Container": "cb91e48a60d01f1e27028b4fc6819f4f290b3cf12496c8176ec714d0d390984a", - "Comment": "", - "Os": "linux", - "Architecture": "amd64", - "Parent": "sha256:91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c", - "ContainerConfig": { - "Tty": false, - "Hostname": "e611e15f9c9d", - "Domainname": "", - "AttachStdout": false, - "PublishService": "", - "AttachStdin": false, - "OpenStdin": false, - "StdinOnce": false, - "NetworkDisabled": false, - "OnBuild": [], - "Image": "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c", - "User": "", - "WorkingDir": "", - "MacAddress": "", - "AttachStderr": false, - "Labels": { - "com.example.license": "GPL", - "com.example.version": "1.0", - "com.example.vendor": "Acme" - }, - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Cmd": [ - "/bin/sh", - "-c", - "#(nop) LABEL com.example.vendor=Acme com.example.license=GPL com.example.version=1.0" - ] - }, - "DockerVersion": "1.9.0-dev", - "VirtualSize": 188359297, - "Size": 0, - "Author": "", - "Created": "2015-09-10T08:30:53.26995814Z", - "GraphDriver": { - "Name": "aufs", - "Data": {} - }, - "RepoDigests": [ - "localhost:5000/test/busybox/example@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf" - ], - "RepoTags": [ - "example:1.0", - "example:latest", - "example:stable" - ], - "Config": { - "Image": "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c", - "NetworkDisabled": false, - "OnBuild": [], - "StdinOnce": false, - "PublishService": "", - "AttachStdin": false, - "OpenStdin": false, - "Domainname": "", - "AttachStdout": false, - "Tty": false, - "Hostname": "e611e15f9c9d", - "Cmd": [ - "/bin/bash" - ], - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Labels": { - "com.example.vendor": "Acme", - "com.example.version": "1.0", - "com.example.license": "GPL" - }, - "MacAddress": "", - "AttachStderr": false, - "WorkingDir": "", - "User": "" - }, - "RootFS": { - "Type": "layers", - "Layers": [ - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6", - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" - ] - } - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/history": { - "get": { - "tags": [ - "Image" - ], - "summary": "Get the history of an image", - "description": "Return parent layers of an image.", - "operationId": "ImageHistory", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List of image layers", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "HistoryResponseItem", - "required": [ - "Comment", - "Created", - "CreatedBy", - "Id", - "Size", - "Tags" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "Created": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "CreatedBy": { - "type": "string", - "nullable": false - }, - "Tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "Size": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "Comment": { - "type": "string", - "nullable": false - } - }, - "description": "individual image layer information in response to ImageHistory operation", - "x-go-name": "HistoryResponseItem" - } - }, - "example": [ - { - "Id": "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710", - "Created": 1398108230, - "CreatedBy": "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /", - "Tags": [ - "ubuntu:lucid", - "ubuntu:10.04" - ], - "Size": 182964289, - "Comment": "" - }, - { - "Id": "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8", - "Created": 1398108222, - "CreatedBy": "/bin/sh -c #(nop) MAINTAINER Tianon Gravi - mkimage-debootstrap.sh -i iproute,iputils-ping,ubuntu-minimal -t lucid.tar.xz lucid http://archive.ubuntu.com/ubuntu/", - "Tags": [], - "Size": 0, - "Comment": "" - }, - { - "Id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158", - "Created": 1371157430, - "CreatedBy": "", - "Tags": [ - "scratch12:latest", - "scratch:latest" - ], - "Size": 0, - "Comment": "Imported from -" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/push": { - "post": { - "tags": [ - "Image" - ], - "summary": "Push an image", - "description": "Push an image to a registry.\n\nIf you wish to push an image on to a private registry, that image must\nalready have a tag which references the registry. For example,\n`registry.example.com/myimage:latest`.\n\nThe push is cancelled if the HTTP connection is closed.\n", - "operationId": "ImagePush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The tag to associate with the image on the registry.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/tag": { - "post": { - "tags": [ - "Image" - ], - "summary": "Tag an image", - "description": "Tag an image so that it becomes part of a repository.", - "operationId": "ImageTag", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID to tag.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "The repository to tag in. For example, `someuser/someimage`.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The name of the new tag.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "No error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}": { - "delete": { - "tags": [ - "Image" - ], - "summary": "Remove an image", - "description": "Remove an image, along with any untagged parent images that were\nreferenced by that image.\n\nImages can't be removed if they have descendant images, are being\nused by a running container or are being used by a build.\n", - "operationId": "ImageDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Remove the image even if it is being used by stopped containers or has other tags", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "noprune", - "in": "query", - "description": "Do not delete untagged parent images", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "The image was deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "example": [ - { - "Untagged": "3e2f21a89f" - }, - { - "Deleted": "3e2f21a89f" - }, - { - "Deleted": "53b4f83ac9" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/search": { - "get": { - "tags": [ - "Image" - ], - "summary": "Search images", - "description": "Search for an image on Docker Hub.", - "operationId": "ImageSearch", - "parameters": [ - { - "name": "term", - "in": "query", - "description": "Term to search", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Maximum number of results to return", - "schema": { - "type": "integer" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:\n\n- `is-automated=(true|false)`\n- `is-official=(true|false)`\n- `stars=` Matches images that has at least 'number' stars.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ImageSearchResponseItem", - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "is_official": { - "type": "boolean" - }, - "is_automated": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "star_count": { - "type": "integer" - } - } - } - }, - "example": [ - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "wma55/u1210sshd", - "star_count": 0 - }, - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "jdswinbank/sshd", - "star_count": 0 - }, - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "vgauthier/sshd", - "star_count": 0 - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete unused images", - "operationId": "ImagePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:\n\n- `dangling=` When set to `true` (or `1`), prune only\n unused *and* untagged images. When set to `false`\n (or `0`), all unused images are pruned.\n- `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ImagePruneResponse", - "type": "object", - "properties": { - "ImagesDeleted": { - "type": "array", - "description": "Images that were deleted", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/auth": { - "post": { - "tags": [ - "System" - ], - "summary": "Check auth configuration", - "description": "Validate credentials for a registry and, if available, get an identity\ntoken for accessing the registry without password.\n", - "operationId": "SystemAuth", - "requestBody": { - "description": "Authentication to check", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthConfig" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "An identity token was generated successfully.", - "content": { - "application/json": { - "schema": { - "title": "SystemAuthResponse", - "required": [ - "Status" - ], - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "The status of the authentication", - "nullable": false - }, - "IdentityToken": { - "type": "string", - "description": "An opaque token used to authenticate a user after a successful login", - "nullable": false - } - } - }, - "example": { - "Status": "Login Succeeded", - "IdentityToken": "9cbaf023786cd7..." - } - } - } - }, - "204": { - "description": "No error", - "content": {} - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "authConfig" - } - }, - "/info": { - "get": { - "tags": [ - "System" - ], - "summary": "Get system information", - "operationId": "SystemInfo", - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemInfo" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/version": { - "get": { - "tags": [ - "System" - ], - "summary": "Get version", - "description": "Returns the version of Docker that is running and various information about the system that Docker is running on.", - "operationId": "SystemVersion", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemVersion" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/_ping": { - "get": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPing", - "responses": { - "200": { - "description": "no error", - "headers": { - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "OK" - } - } - } - }, - "500": { - "description": "server error", - "headers": { - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "head": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPingHead", - "responses": { - "200": { - "description": "no error", - "headers": { - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "(empty)" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/commit": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create a new image from a container", - "operationId": "ImageCommit", - "parameters": [ - { - "name": "container", - "in": "query", - "description": "The ID or name of the container to commit", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name for the created image", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag name for the create image", - "schema": { - "type": "string" - } - }, - { - "name": "comment", - "in": "query", - "description": "Commit message", - "schema": { - "type": "string" - } - }, - { - "name": "author", - "in": "query", - "description": "Author of the image (e.g., `John Hannibal Smith `)", - "schema": { - "type": "string" - } - }, - { - "name": "pause", - "in": "query", - "description": "Whether to pause the container before committing", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "changes", - "in": "query", - "description": "`Dockerfile` instructions to apply while committing", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The container configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerConfig" - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "containerConfig" - } - }, - "/events": { - "get": { - "tags": [ - "System" - ], - "summary": "Monitor events", - "description": "Stream real-time events from the server.\n\nVarious objects within Docker report events when something happens to them.\n\nContainers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, `update`, and `prune`\n\nImages report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune`\n\nVolumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune`\n\nNetworks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, `remove`, and `prune`\n\nThe Docker daemon reports these events: `reload`\n\nServices report these events: `create`, `update`, and `remove`\n\nNodes report these events: `create`, `update`, and `remove`\n\nSecrets report these events: `create`, `update`, and `remove`\n\nConfigs report these events: `create`, `update`, and `remove`\n\nThe Builder reports `prune` events\n", - "operationId": "SystemEvents", - "parameters": [ - { - "name": "since", - "in": "query", - "description": "Show events created since this timestamp then stream new events.", - "schema": { - "type": "string" - } - }, - { - "name": "until", - "in": "query", - "description": "Show events created until this timestamp then stop streaming.", - "schema": { - "type": "string" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:\n\n- `config=` config name or ID\n- `container=` container name or ID\n- `daemon=` daemon name or ID\n- `event=` event type\n- `image=` image name or ID\n- `label=` image or container label\n- `network=` network name or ID\n- `node=` node ID\n- `plugin`= plugin name or ID\n- `scope`= local or swarm\n- `secret=` secret name or ID\n- `service=` service name or ID\n- `type=` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config`\n- `volume=` volume name\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemEventsResponse", - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The type of object emitting the event" - }, - "Action": { - "type": "string", - "description": "The type of event" - }, - "Actor": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the object emitting the event" - }, - "Attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Various key/value attributes of the object, depending on its type" - } - } - }, - "time": { - "type": "integer", - "description": "Timestamp of event" - }, - "timeNano": { - "type": "integer", - "description": "Timestamp of event, with nanosecond accuracy", - "format": "int64" - } - } - }, - "example": { - "Type": "container", - "Action": "create", - "Actor": { - "ID": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743", - "Attributes": { - "com.example.some-label": "some-label-value", - "image": "alpine", - "name": "my-container" - } - }, - "time": 1461943101 - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/system/df": { - "get": { - "tags": [ - "System" - ], - "summary": "Get data usage information", - "operationId": "SystemDataUsage", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "VirtualSize": 1092588, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ] - } - } - }, - "text/plain": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "VirtualSize": 1092588, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ] - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export an image", - "description": "Get a tarball containing all images and metadata for a repository.\n\nIf `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced.\n\n### Image tarball format\n\nAn image tarball contains one directory per image layer (named using its long ID), each containing these files:\n\n- `VERSION`: currently `1.0` - the file format version\n- `json`: detailed layer information, similar to `docker inspect layer_id`\n- `layer.tar`: A tarfile containing the filesystem changes in this layer\n\nThe `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.\n\nIf the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs.\n\n```json\n{\n \"hello-world\": {\n \"latest\": \"565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1\"\n }\n}\n```\n", - "operationId": "ImageGet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export several images", - "description": "Get a tarball containing all images and metadata for several image\nrepositories.\n\nFor each value of the `names` parameter: if it is a specific name and\ntag (e.g. `ubuntu:latest`), then only that image (and its parents) are\nreturned; if it is an image ID, similarly only that image (and its parents)\nare returned and there would be no names referenced in the 'repositories'\nfile for this image ID.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageGetAll", - "parameters": [ - { - "name": "names", - "in": "query", - "description": "Image names to filter by", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/load": { - "post": { - "tags": [ - "Image" - ], - "summary": "Import images", - "description": "Load a set of images and tags into a repository.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageLoad", - "parameters": [ - { - "name": "quiet", - "in": "query", - "description": "Suppress progress details during load.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "description": "Tar archive containing images", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "imagesTarball" - } - }, - "/containers/{id}/exec": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Create an exec instance", - "description": "Run a command inside a running container.", - "operationId": "ContainerExec", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Exec configuration", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "AttachStdin": { - "type": "boolean", - "description": "Attach to `stdin` of the exec command." - }, - "AttachStdout": { - "type": "boolean", - "description": "Attach to `stdout` of the exec command." - }, - "AttachStderr": { - "type": "boolean", - "description": "Attach to `stderr` of the exec command." - }, - "DetachKeys": { - "type": "string", - "description": "Override the key sequence for detaching a container. Format is\na single character `[a-Z]` or `ctrl-` where ``\nis one of: `a-z`, `@`, `^`, `[`, `,` or `_`.\n" - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `[\"VAR=value\", ...]`.\n", - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run, as a string or array of strings.", - "items": { - "type": "string" - } - }, - "Privileged": { - "type": "boolean", - "description": "Runs the exec process with extended privileges.", - "default": false - }, - "User": { - "type": "string", - "description": "The user, and optionally, group to run the exec process inside\nthe container. Format is one of: `user`, `user:group`, `uid`,\nor `uid:gid`.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for the exec process inside the container.\n" - } - }, - "example": { - "AttachStdin": false, - "AttachStdout": true, - "AttachStderr": true, - "DetachKeys": "ctrl-p,ctrl-q", - "Tty": false, - "Cmd": [ - "date" - ], - "Env": [ - "FOO=bar", - "BAZ=quux" - ] - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "container is paused", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execConfig" - } - }, - "/exec/{id}/start": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Start an exec instance", - "description": "Starts a previously set up exec instance. If detach is true, this endpoint\nreturns immediately after starting the command. Otherwise, it sets up an\ninteractive session with the command.\n", - "operationId": "ExecStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Detach": { - "type": "boolean", - "description": "Detach from the command." - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - } - }, - "example": { - "Detach": false, - "Tty": false - } - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such exec instance", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Container is stopped or paused", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execStartConfig" - } - }, - "/exec/{id}/resize": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Resize an exec instance", - "description": "Resize the TTY session used by an exec instance. This endpoint only works\nif `tty` was specified as part of creating and starting the exec instance.\n", - "operationId": "ExecResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "201": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/exec/{id}/json": { - "get": { - "tags": [ - "Exec" - ], - "summary": "Inspect an exec instance", - "description": "Return low-level information about an exec instance.", - "operationId": "ExecInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ExecInspectResponse", - "type": "object", - "properties": { - "CanRemove": { - "type": "boolean" - }, - "DetachKeys": { - "type": "string" - }, - "ID": { - "type": "string" - }, - "Running": { - "type": "boolean" - }, - "ExitCode": { - "type": "integer" - }, - "ProcessConfig": { - "$ref": "#/components/schemas/ProcessConfig" - }, - "OpenStdin": { - "type": "boolean" - }, - "OpenStderr": { - "type": "boolean" - }, - "OpenStdout": { - "type": "boolean" - }, - "ContainerID": { - "type": "string" - }, - "Pid": { - "type": "integer", - "description": "The system process ID for the exec process." - } - } - }, - "example": { - "CanRemove": false, - "ContainerID": "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126", - "DetachKeys": "", - "ExitCode": 2, - "ID": "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b", - "OpenStderr": true, - "OpenStdin": true, - "OpenStdout": true, - "ProcessConfig": { - "arguments": [ - "-c", - "exit 2" - ], - "entrypoint": "sh", - "privileged": false, - "tty": true, - "user": "1000" - }, - "Running": false, - "Pid": 42000 - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes": { - "get": { - "tags": [ - "Volume" - ], - "summary": "List volumes", - "operationId": "VolumeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the volumes list. Available filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n volumes that are not in use by a container. When set to `false`\n (or `0`), only volumes that are in use by one or more\n containers are returned.\n- `driver=` Matches volumes based on their driver.\n- `label=` or `label=:` Matches volumes based on\n the presence of a `label` alone or a `label` and a value.\n- `name=` Matches all or part of a volume name.\n", - "schema": { - "type": "string", - "format": "json" - } - } - ], - "responses": { - "200": { - "description": "Summary volume data that matches the query", - "content": { - "application/json": { - "schema": { - "title": "VolumeListResponse", - "required": [ - "Volumes", - "Warnings" - ], - "type": "object", - "properties": { - "Volumes": { - "type": "array", - "description": "List of volumes", - "nullable": false, - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "Warnings": { - "type": "array", - "description": "Warnings that occurred when fetching the list of volumes.\n", - "nullable": false, - "items": { - "type": "string" - } - } - }, - "description": "Volume list response" - }, - "example": { - "Volumes": [ - { - "CreatedAt": "2017-07-19T12:00:26Z", - "Name": "tardis", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/tardis", - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - }, - "Scope": "local", - "Options": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - } - ], - "Warnings": [] - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/create": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Create a volume", - "operationId": "VolumeCreate", - "requestBody": { - "description": "Volume configuration", - "content": { - "application/json": { - "schema": { - "title": "VolumeConfig", - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The new volume's name. If not specified, Docker generates a name.\n", - "nullable": false - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver to use.", - "nullable": false, - "default": "local" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A mapping of driver options and values. These options are\npassed directly to the driver and are driver specific.\n" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - } - }, - "description": "Volume configuration", - "example": { - "Name": "tardis", - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - }, - "Driver": "custom" - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "The volume was created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "volumeConfig" - } - }, - "/volumes/{name}": { - "get": { - "tags": [ - "Volume" - ], - "summary": "Inspect a volume", - "operationId": "VolumeInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "404": { - "description": "No such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Volume" - ], - "summary": "Remove a volume", - "description": "Instruct the driver to remove the volume.", - "operationId": "VolumeDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force the removal of the volume", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "The volume was removed", - "content": {} - }, - "404": { - "description": "No such volume or volume driver", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Volume is in use and cannot be removed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/prune": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Delete unused volumes", - "operationId": "VolumePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "VolumePruneResponse", - "type": "object", - "properties": { - "VolumesDeleted": { - "type": "array", - "description": "Volumes that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks": { - "get": { - "tags": [ - "Network" - ], - "summary": "List networks", - "description": "Returns a list of networks. For details on the format, see the\n[network inspect endpoint](#operation/NetworkInspect).\n\nNote that it uses a different, smaller representation of a network than\ninspecting a single network. For example, the list of containers attached\nto the network is not propagated in API versions 1.28 and up.\n", - "operationId": "NetworkList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to process\non the networks list.\n\nAvailable filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n networks that are not in use by a container. When set to `false`\n (or `0`), only networks that are in use by one or more\n containers are returned.\n- `driver=` Matches a network's driver.\n- `id=` Matches all or part of a network ID.\n- `label=` or `label==` of a network label.\n- `name=` Matches all or part of a network name.\n- `scope=[\"swarm\"|\"global\"|\"local\"]` Filters networks by scope (`swarm`, `global`, or `local`).\n- `type=[\"custom\"|\"builtin\"]` Filters networks by type. The `custom` keyword returns all user-defined networks.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Network" - } - }, - "example": [ - { - "Name": "bridge", - "Id": "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566", - "Created": "2016-10-19T06:21:00.416543526Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.17.0.0/16" - } - ] - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - } - }, - { - "Name": "none", - "Id": "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "null", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - }, - { - "Name": "host", - "Id": "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "host", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/{id}": { - "get": { - "tags": [ - "Network" - ], - "summary": "Inspect a network", - "operationId": "NetworkInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "verbose", - "in": "query", - "description": "Detailed inspect output for troubleshooting", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "scope", - "in": "query", - "description": "Filter the network by scope (swarm, global, or local)", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Network" - } - } - } - }, - "404": { - "description": "Network not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Network" - ], - "summary": "Remove a network", - "operationId": "NetworkDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such network", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/create": { - "post": { - "tags": [ - "Network" - ], - "summary": "Create a network", - "operationId": "NetworkCreate", - "requestBody": { - "description": "Network configuration", - "content": { - "application/json": { - "schema": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The network's name." - }, - "CheckDuplicate": { - "type": "boolean", - "description": "Check for networks with duplicate names. Since Network is\nprimarily keyed based on a random ID and not on the name, and\nnetwork name is strictly a user-friendly alias to the network\nwhich is uniquely identified using ID, there is no guaranteed\nway to check for duplicates. CheckDuplicate is there to provide\na best effort checking of any networks which has the same name\nbut it is not guaranteed to catch all name collisions.\n" - }, - "Driver": { - "type": "string", - "description": "Name of the network driver plugin to use.", - "default": "bridge" - }, - "Internal": { - "type": "boolean", - "description": "Restrict external access to the network." - }, - "Attachable": { - "type": "boolean", - "description": "Globally scoped network is manually attachable by regular\ncontainers from workers in swarm mode.\n" - }, - "Ingress": { - "type": "boolean", - "description": "Ingress network is the network which provides the routing-mesh\nin swarm mode.\n" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "EnableIPv6": { - "type": "boolean", - "description": "Enable IPv6 on the network." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Network specific options to be used by the drivers." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - } - }, - "example": { - "Name": "isolated_nw", - "CheckDuplicate": false, - "Driver": "bridge", - "EnableIPv6": true, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.20.0.0/16", - "IPRange": "172.20.10.0/24", - "Gateway": "172.20.10.11" - }, - { - "Subnet": "2001:db8:abcd::/64", - "Gateway": "2001:db8:abcd::1011" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": true, - "Attachable": false, - "Ingress": false, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created network." - }, - "Warning": { - "type": "string" - } - }, - "example": { - "Id": "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30", - "Warning": "" - } - } - } - } - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "plugin not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "networkConfig" - } - }, - "/networks/{id}/connect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Connect a container to a network", - "operationId": "NetworkConnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to connect to the network." - }, - "EndpointConfig": { - "$ref": "#/components/schemas/EndpointSettings" - } - }, - "example": { - "Container": "3613f73ba0e4", - "EndpointConfig": { - "IPAMConfig": { - "IPv4Address": "172.24.56.89", - "IPv6Address": "2001:db8::5689" - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/{id}/disconnect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Disconnect a container from a network", - "operationId": "NetworkDisconnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to disconnect from the network.\n" - }, - "Force": { - "type": "boolean", - "description": "Force the container to disconnect from the network.\n" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/prune": { - "post": { - "tags": [ - "Network" - ], - "summary": "Delete unused networks", - "operationId": "NetworkPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkPruneResponse", - "type": "object", - "properties": { - "NetworksDeleted": { - "type": "array", - "description": "Networks that were deleted", - "items": { - "type": "string" - } - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "List plugins", - "description": "Returns information about installed plugins.", - "operationId": "PluginList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the plugin list.\n\nAvailable filters:\n\n- `capability=`\n- `enable=|`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plugin" - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/privileges": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Get plugin privileges", - "operationId": "GetPluginPrivileges", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "title": "PluginPrivilegeItem", - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission the user has to accept upon installing\nthe plugin.\n" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "title": "PluginPrivilegeItem", - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission the user has to accept upon installing\nthe plugin.\n" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/pull": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Install a plugin", - "description": "Pulls and installs a plugin. After the plugin is installed, it can be\nenabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).\n", - "operationId": "PluginPull", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "Remote reference for plugin to install.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "Local name for the pulled plugin.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the\nplugin.\n" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the\nplugin.\n" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/{name}/json": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Inspect a plugin", - "operationId": "PluginInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}": { - "delete": { - "tags": [ - "Plugin" - ], - "summary": "Remove a plugin", - "operationId": "PluginDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Disable the plugin before removing. This may result in issues if the\nplugin is in use by a container.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/enable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Enable a plugin", - "operationId": "PluginEnable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "timeout", - "in": "query", - "description": "Set the HTTP client timeout (in seconds)", - "schema": { - "type": "integer", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/disable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Disable a plugin", - "operationId": "PluginDisable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/upgrade": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Upgrade a plugin", - "operationId": "PluginUpgrade", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "Remote reference to upgrade to.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the\nplugin.\n" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the\nplugin.\n" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/create": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Create a plugin", - "operationId": "PluginCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Path to tar containing plugin rootfs and manifest", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "tarContext" - } - }, - "/plugins/{name}/push": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Push a plugin", - "description": "Push a plugin to the registry.\n", - "operationId": "PluginPush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/set": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Configure a plugin", - "operationId": "PluginSet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - "DEBUG=1" - ], - "items": { - "type": "string" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "404": { - "description": "Plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/nodes": { - "get": { - "tags": [ - "Node" - ], - "summary": "List nodes", - "operationId": "NodeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `id=`\n- `label=`\n- `membership=`(`accepted`|`pending`)`\n- `name=`\n- `node.label=`\n- `role=`(`manager`|`worker`)`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}": { - "get": { - "tags": [ - "Node" - ], - "summary": "Inspect a node", - "operationId": "NodeInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Node" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Node" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Node" - ], - "summary": "Delete a node", - "operationId": "NodeDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force remove a node from the swarm", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}/update": { - "post": { - "tags": [ - "Node" - ], - "summary": "Update a node", - "operationId": "NodeUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the node object being updated. This is required\nto avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Inspect swarm", - "operationId": "SwarmInspect", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - } - } - }, - "404": { - "description": "no such swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/init": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Initialize a new swarm", - "operationId": "SwarmInit", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - }, - "text/plain": { - "schema": { - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - }, - "text/plain": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/join": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Join an existing swarm", - "operationId": "SwarmJoin", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same addres\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - }, - "text/plain": { - "schema": { - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same addres\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/leave": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Leave a swarm", - "operationId": "SwarmLeave", - "parameters": [ - { - "name": "force", - "in": "query", - "description": "Force leave swarm, even if this is the last manager or that it will\nbreak the cluster.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/update": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Update a swarm", - "operationId": "SwarmUpdate", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "The version number of the swarm object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "rotateWorkerToken", - "in": "query", - "description": "Rotate the worker join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerToken", - "in": "query", - "description": "Rotate the manager join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerUnlockKey", - "in": "query", - "description": "Rotate the manager unlock key.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/unlockkey": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Get the unlock key", - "operationId": "SwarmUnlockkey", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - }, - "text/plain": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/unlock": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Unlock a locked manager", - "operationId": "SwarmUnlock", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services": { - "get": { - "tags": [ - "Service" - ], - "summary": "List services", - "operationId": "ServiceList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the services list.\n\nAvailable filters:\n\n- `id=`\n- `label=`\n- `mode=[\"replicated\"|\"global\"]`\n- `name=`\n", - "schema": { - "type": "string" - } - }, - { - "name": "status", - "in": "query", - "description": "Include service status, with count of running and desired tasks.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/create": { - "post": { - "tags": [ - "Service" - ], - "summary": "Create a service", - "operationId": "ServiceCreate", - "parameters": [ - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "web", - "TaskTemplate": { - "ContainerSpec": { - "Image": "nginx:alpine", - "Mounts": [ - { - "ReadOnly": true, - "Source": "web-data", - "Target": "/usr/share/nginx/html", - "Type": "volume", - "VolumeOptions": { - "DriverConfig": {}, - "Labels": { - "com.example.something": "something-value" - } - } - } - ], - "Hosts": [ - "10.10.10.10 host1", - "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2" - ], - "User": "33", - "DNSConfig": { - "Nameservers": [ - "8.8.8.8" - ], - "Search": [ - "example.org" - ], - "Options": [ - "timeout:3" - ] - }, - "Secrets": [ - { - "File": { - "Name": "www.example.org.key", - "UID": "33", - "GID": "33", - "Mode": 384 - }, - "SecretID": "fpjqlhnwb19zds35k8wn80lq9", - "SecretName": "example_org_domain_key" - } - ] - }, - "LogDriver": { - "Name": "json-file", - "Options": { - "max-file": "3", - "max-size": "10M" - } - }, - "Placement": {}, - "Resources": { - "Limits": { - "MemoryBytes": 104857600 - }, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "on-failure", - "Delay": 10000000000, - "MaxAttempts": 10 - } - }, - "Mode": { - "Replicated": { - "Replicas": 4 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Ports": [ - { - "Protocol": "tcp", - "PublishedPort": 8080, - "TargetPort": 80 - } - ] - }, - "Labels": { - "foo": "bar" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ServiceCreateResponse", - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the created service." - }, - "Warning": { - "type": "string", - "description": "Optional warning message" - } - }, - "example": { - "ID": "ak7w3gjqoa3kuz8xcpnyy0pvl", - "Warning": "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - } - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "network is not eligible for services", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}": { - "get": { - "tags": [ - "Service" - ], - "summary": "Inspect a service", - "operationId": "ServiceInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "insertDefaults", - "in": "query", - "description": "Fill empty fields with default values.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Service" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Service" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Service" - ], - "summary": "Delete a service", - "operationId": "ServiceDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/{id}/update": { - "post": { - "tags": [ - "Service" - ], - "summary": "Update a service", - "operationId": "ServiceUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the service object being updated. This is\nrequired to avoid conflicting writes.\nThis version number should be the value as currently set on the\nservice *before* the update. You can find the current version by\ncalling `GET /services/{id}`\n", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "registryAuthFrom", - "in": "query", - "description": "If the `X-Registry-Auth` header is not specified, this parameter\nindicates where to find registry authorization credentials.\n", - "schema": { - "type": "string", - "default": "spec", - "enum": [ - "spec", - "previous-spec" - ] - } - }, - { - "name": "rollback", - "in": "query", - "description": "Set to this parameter to `previous` to cause a server-side rollback\nto the previous service spec. The supplied spec will be ignored in\nthis case.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "top", - "TaskTemplate": { - "ContainerSpec": { - "Image": "busybox", - "Args": [ - "top" - ] - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceUpdateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}/logs": { - "get": { - "tags": [ - "Service" - ], - "summary": "Get service logs", - "description": "Get `stdout` and `stderr` logs from a service. See also\n[`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "ServiceLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the service", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show service context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/plain": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such service: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks": { - "get": { - "tags": [ - "Task" - ], - "summary": "List tasks", - "operationId": "TaskList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the tasks list.\n\nAvailable filters:\n\n- `desired-state=(running | shutdown | accepted)`\n- `id=`\n- `label=key` or `label=\"key=value\"`\n- `name=`\n- `node=`\n- `service=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ] - }, - { - "ID": "1yljwbmlr8er2waf8orvqpwms", - "Version": { - "Index": 30 - }, - "CreatedAt": "2016-06-07T21:07:30.019104782Z", - "UpdatedAt": "2016-06-07T21:07:30.231958098Z", - "Name": "hopeful_cori", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:30.202183143Z", - "State": "shutdown", - "Message": "shutdown", - "ContainerStatus": { - "ContainerID": "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" - } - }, - "DesiredState": "shutdown", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.5/16" - ] - } - ] - } - ], - "items": { - "$ref": "#/components/schemas/Task" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}": { - "get": { - "tags": [ - "Task" - ], - "summary": "Inspect a task", - "operationId": "TaskInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Task" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}/logs": { - "get": { - "tags": [ - "Task" - ], - "summary": "Get task logs", - "description": "Get `stdout` and `stderr` logs from a task.\nSee also [`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "TaskLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show task context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/plain": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such task: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets": { - "get": { - "tags": [ - "Secret" - ], - "summary": "List secrets", - "operationId": "SecretList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the secrets list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "blt1owaxmitz71s9v5zh81zun", - "Version": { - "Index": 85 - }, - "CreatedAt": "2017-07-20T13:55:28.678958722Z", - "UpdatedAt": "2017-07-20T13:55:28.678958722Z", - "Spec": { - "Name": "mysql-passwd", - "Labels": { - "some.label": "some.value" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - }, - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - } - } - } - ], - "items": { - "$ref": "#/components/schemas/Secret" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/create": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Create a secret", - "operationId": "SecretCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/SecretSpec" - }, - { - "type": "object", - "example": { - "Name": "app-key.crt", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==", - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/secrets/{id}": { - "get": { - "tags": [ - "Secret" - ], - "summary": "Inspect a secret", - "operationId": "SecretInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Secret" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - } - } - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Secret" - ], - "summary": "Delete a secret", - "operationId": "SecretDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/{id}/update": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Update a Secret", - "operationId": "SecretUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the secret", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the secret object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the secret to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[SecretInspect endpoint](#operation/SecretInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such secret", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs": { - "get": { - "tags": [ - "Config" - ], - "summary": "List configs", - "operationId": "ConfigList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the configs list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "server.conf" - } - } - ], - "items": { - "$ref": "#/components/schemas/Config" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/create": { - "post": { - "tags": [ - "Config" - ], - "summary": "Create a config", - "operationId": "ConfigCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ConfigSpec" - }, - { - "type": "object", - "example": { - "Name": "server.conf", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs/{id}": { - "get": { - "tags": [ - "Config" - ], - "summary": "Inspect a config", - "operationId": "ConfigInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Config" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt" - } - } - } - } - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Config" - ], - "summary": "Delete a config", - "operationId": "ConfigDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/{id}/update": { - "post": { - "tags": [ - "Config" - ], - "summary": "Update a Config", - "operationId": "ConfigUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the config", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the config object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the config to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[ConfigInspect endpoint](#operation/ConfigInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such config", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/distribution/{name}/json": { - "get": { - "tags": [ - "Distribution" - ], - "summary": "Get image information from the registry", - "description": "Return image digest and platform information by contacting the registry.\n", - "operationId": "DistributionInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "descriptor and platform information", - "content": { - "application/json": { - "schema": { - "title": "DistributionInspectResponse", - "required": [ - "Descriptor", - "Platforms" - ], - "type": "object", - "properties": { - "Descriptor": { - "type": "object", - "properties": { - "MediaType": { - "type": "string" - }, - "Size": { - "type": "integer", - "format": "int64" - }, - "Digest": { - "type": "string" - }, - "URLs": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "A descriptor struct containing digest, media type, and size.\n" - }, - "Platforms": { - "type": "array", - "description": "An array containing all platforms supported by the image.\n", - "items": { - "type": "object", - "properties": { - "Architecture": { - "type": "string" - }, - "OS": { - "type": "string" - }, - "OSVersion": { - "type": "string" - }, - "OSFeatures": { - "type": "array", - "items": { - "type": "string" - } - }, - "Variant": { - "type": "string" - }, - "Features": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "x-go-name": "DistributionInspect" - }, - "example": { - "Descriptor": { - "MediaType": "application/vnd.docker.distribution.manifest.v2+json", - "Digest": "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96", - "Size": 3987495, - "URLs": [ - "" - ] - }, - "Platforms": [ - { - "Architecture": "amd64", - "OS": "linux", - "OSVersion": "", - "OSFeatures": [ - "" - ], - "Variant": "", - "Features": [ - "" - ] - } - ] - } - } - } - }, - "401": { - "description": "Failed authentication or no image found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/session": { - "post": { - "tags": [ - "Session" - ], - "summary": "Initialize interactive session", - "description": "Start a new interactive session with a server. Session allows server to\ncall back to the client for advanced capabilities.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to HTTP2 transport that allows\nthe client to expose gPRC services on that connection.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /session HTTP/1.1\nUpgrade: h2c\nConnection: Upgrade\n```\n\nThe Docker daemon responds with a `101 UPGRADED` response follow with\nthe raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nConnection: Upgrade\nUpgrade: h2c\n```\n", - "operationId": "Session", - "responses": { - "101": { - "description": "no error, hijacking successful", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Port": { - "required": [ - "PrivatePort", - "Type" - ], - "type": "object", - "properties": { - "IP": { - "type": "string", - "description": "Host IP address that the container's port is mapped to", - "format": "ip-address" - }, - "PrivatePort": { - "type": "integer", - "description": "Port on the container", - "format": "uint16", - "nullable": false - }, - "PublicPort": { - "type": "integer", - "description": "Port exposed on the host", - "format": "uint16" - }, - "Type": { - "type": "string", - "nullable": false, - "enum": [ - "tcp", - "udp", - "sctp" - ] - } - }, - "description": "An open port on a container", - "example": { - "PrivatePort": 8080, - "PublicPort": 80, - "Type": "tcp" - } - }, - "MountPoint": { - "type": "object", - "properties": { - "Type": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Destination": { - "type": "string" - }, - "Driver": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "RW": { - "type": "boolean" - }, - "Propagation": { - "type": "string" - } - }, - "description": "A mount point inside a container" - }, - "DeviceMapping": { - "type": "object", - "properties": { - "PathOnHost": { - "type": "string" - }, - "PathInContainer": { - "type": "string" - }, - "CgroupPermissions": { - "type": "string" - } - }, - "description": "A device mapping between the host and container", - "example": { - "PathOnHost": "/dev/deviceName", - "PathInContainer": "/dev/deviceName", - "CgroupPermissions": "mrw" - } - }, - "DeviceRequest": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "example": "nvidia" - }, - "Count": { - "type": "integer", - "example": -1 - }, - "DeviceIDs": { - "type": "array", - "example": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "items": { - "type": "string" - } - }, - "Capabilities": { - "type": "array", - "description": "A list of capabilities; an OR list of AND lists of capabilities.\n", - "example": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a key/value pairs. These options\nare passed directly to the driver.\n" - } - }, - "description": "A request for devices to be sent to device drivers" - }, - "ThrottleDevice": { - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Device path" - }, - "Rate": { - "minimum": 0, - "type": "integer", - "description": "Rate", - "format": "int64" - } - } - }, - "Mount": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "Container path." - }, - "Source": { - "type": "string", - "description": "Mount source (e.g. a volume name, a host path)." - }, - "Type": { - "type": "string", - "description": "The mount type. Available types:\n\n- `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.\n- `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed.\n- `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.\n- `npipe` Mounts a named pipe from the host into the container. Must exist prior to creating the container.\n", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe" - ] - }, - "ReadOnly": { - "type": "boolean", - "description": "Whether the mount should be read-only." - }, - "Consistency": { - "type": "string", - "description": "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`." - }, - "BindOptions": { - "type": "object", - "properties": { - "Propagation": { - "type": "string", - "description": "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.", - "enum": [ - "private", - "rprivate", - "shared", - "rshared", - "slave", - "rslave" - ] - }, - "NonRecursive": { - "type": "boolean", - "description": "Disable recursive bind mount.", - "default": false - } - }, - "description": "Optional configuration for the `bind` type." - }, - "VolumeOptions": { - "type": "object", - "properties": { - "NoCopy": { - "type": "boolean", - "description": "Populate volume with data from the target.", - "default": false - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "DriverConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver to use to create the volume." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "key/value map of driver specific options." - } - }, - "description": "Map of driver specific options" - } - }, - "description": "Optional configuration for the `volume` type." - }, - "TmpfsOptions": { - "type": "object", - "properties": { - "SizeBytes": { - "type": "integer", - "description": "The size for the tmpfs mount in bytes.", - "format": "int64" - }, - "Mode": { - "type": "integer", - "description": "The permission mode for the tmpfs mount in an integer." - } - }, - "description": "Optional configuration for the `tmpfs` type." - } - } - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "- Empty string means not to restart\n- `always` Always restart\n- `unless-stopped` Restart always except when the user has manually stopped the container\n- `on-failure` Restart only when the container exit code is non-zero\n", - "enum": [ - "", - "always", - "unless-stopped", - "on-failure" - ] - }, - "MaximumRetryCount": { - "type": "integer", - "description": "If `on-failure` is used, the number of times to retry before giving up.\n" - } - }, - "description": "The behavior to apply when the container exits. The default is not to\nrestart.\n\nAn ever increasing delay (double the previous delay, starting at 100ms) is\nadded before each restart to prevent flooding the server.\n" - }, - "Resources": { - "type": "object", - "properties": { - "CpuShares": { - "type": "integer", - "description": "An integer value representing this container's relative CPU weight\nversus other containers.\n" - }, - "Memory": { - "type": "integer", - "description": "Memory limit in bytes.", - "format": "int64", - "default": 0 - }, - "CgroupParent": { - "type": "string", - "description": "Path to `cgroups` under which the container's `cgroup` is created. If\nthe path is not absolute, the path is considered to be relative to the\n`cgroups` path of the init process. Cgroups are created if they do not\nalready exist.\n" - }, - "BlkioWeight": { - "maximum": 1000, - "minimum": 0, - "type": "integer", - "description": "Block IO weight (relative weight)." - }, - "BlkioWeightDevice": { - "type": "array", - "description": "Block IO weight (relative device weight) in the form:\n\n```\n[{\"Path\": \"device_path\", \"Weight\": weight}]\n```\n", - "items": { - "type": "object", - "properties": { - "Path": { - "type": "string" - }, - "Weight": { - "minimum": 0, - "type": "integer" - } - } - } - }, - "BlkioDeviceReadBps": { - "type": "array", - "description": "Limit read rate (bytes per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteBps": { - "type": "array", - "description": "Limit write rate (bytes per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceReadIOps": { - "type": "array", - "description": "Limit read rate (IO per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteIOps": { - "type": "array", - "description": "Limit write rate (IO per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "CpuPeriod": { - "type": "integer", - "description": "The length of a CPU period in microseconds.", - "format": "int64" - }, - "CpuQuota": { - "type": "integer", - "description": "Microseconds of CPU time that the container can get in a CPU period.\n", - "format": "int64" - }, - "CpuRealtimePeriod": { - "type": "integer", - "description": "The length of a CPU real-time period in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpuRealtimeRuntime": { - "type": "integer", - "description": "The length of a CPU real-time runtime in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpusetCpus": { - "type": "string", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).\n", - "example": "0-3" - }, - "CpusetMems": { - "type": "string", - "description": "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only\neffective on NUMA systems.\n" - }, - "Devices": { - "type": "array", - "description": "A list of devices to add to the container.", - "items": { - "$ref": "#/components/schemas/DeviceMapping" - } - }, - "DeviceCgroupRules": { - "type": "array", - "description": "a list of cgroup rules to apply to the container", - "items": { - "type": "string", - "example": "c 13:* rwm" - } - }, - "DeviceRequests": { - "type": "array", - "description": "A list of requests for devices to be sent to device drivers.\n", - "items": { - "$ref": "#/components/schemas/DeviceRequest" - } - }, - "KernelMemory": { - "type": "integer", - "description": "Kernel memory limit in bytes.\n\n


\n\n> **Deprecated**: This field is deprecated as the kernel 5.4 deprecated\n> `kmem.limit_in_bytes`.\n", - "format": "int64", - "example": 209715200 - }, - "KernelMemoryTCP": { - "type": "integer", - "description": "Hard limit for kernel TCP buffer memory (in bytes).", - "format": "int64" - }, - "MemoryReservation": { - "type": "integer", - "description": "Memory soft limit in bytes.", - "format": "int64" - }, - "MemorySwap": { - "type": "integer", - "description": "Total memory limit (memory + swap). Set as `-1` to enable unlimited\nswap.\n", - "format": "int64" - }, - "MemorySwappiness": { - "maximum": 100, - "minimum": 0, - "type": "integer", - "description": "Tune a container's memory swappiness behavior. Accepts an integer\nbetween 0 and 100.\n", - "format": "int64" - }, - "NanoCPUs": { - "type": "integer", - "description": "CPU quota in units of 10-9 CPUs.", - "format": "int64" - }, - "OomKillDisable": { - "type": "boolean", - "description": "Disable OOM Killer for the container." - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "PidsLimit": { - "type": "integer", - "description": "Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null`\nto not change.\n", - "format": "int64", - "nullable": true - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example:\n\n```\n{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}\n```\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - }, - "CpuCount": { - "type": "integer", - "description": "The number of usable CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "CpuPercent": { - "type": "integer", - "description": "The usable percentage of the available CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "IOMaximumIOps": { - "type": "integer", - "description": "Maximum IOps for the container system drive (Windows only)", - "format": "int64" - }, - "IOMaximumBandwidth": { - "type": "integer", - "description": "Maximum IO in bytes per second for the container system drive\n(Windows only).\n", - "format": "int64" - } - }, - "description": "A container's resources (cgroups config, ulimits, etc)" - }, - "Limit": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "Pids": { - "type": "integer", - "description": "Limits the maximum number of PIDs in the container. Set `0` for unlimited.\n", - "format": "int64", - "example": 100, - "default": 0 - } - }, - "description": "An object describing a limit on resources which can be requested by a task.\n" - }, - "ResourceObject": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - } - }, - "description": "An object describing the resources which can be advertised by a node and\nrequested by a task.\n" - }, - "GenericResources": { - "type": "array", - "description": "User-defined resources can be either Integer resources (e.g, `SSD=3`) or\nString resources (e.g, `GPU=UUID1`).\n", - "example": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ], - "items": { - "type": "object", - "properties": { - "NamedResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "string" - } - } - }, - "DiscreteResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "integer", - "format": "int64" - } - } - } - } - } - }, - "HealthConfig": { - "type": "object", - "properties": { - "Test": { - "type": "array", - "description": "The test to perform. Possible values are:\n\n- `[]` inherit healthcheck from image or parent image\n- `[\"NONE\"]` disable healthcheck\n- `[\"CMD\", args...]` exec arguments directly\n- `[\"CMD-SHELL\", command]` run command with system's default shell\n", - "items": { - "type": "string" - } - }, - "Interval": { - "type": "integer", - "description": "The time to wait between checks in nanoseconds. It should be 0 or at\nleast 1000000 (1 ms). 0 means inherit.\n" - }, - "Timeout": { - "type": "integer", - "description": "The time to wait before considering the check to have hung. It should\nbe 0 or at least 1000000 (1 ms). 0 means inherit.\n" - }, - "Retries": { - "type": "integer", - "description": "The number of consecutive failures needed to consider a container as\nunhealthy. 0 means inherit.\n" - }, - "StartPeriod": { - "type": "integer", - "description": "Start period for the container to initialize before starting\nhealth-retries countdown in nanoseconds. It should be 0 or at least\n1000000 (1 ms). 0 means inherit.\n" - } - }, - "description": "A test to perform to check that the container is healthy." - }, - "Health": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "Status is one of `none`, `starting`, `healthy` or `unhealthy`\n\n- \"none\" Indicates there is no healthcheck\n- \"starting\" Starting indicates that the container is not yet ready\n- \"healthy\" Healthy indicates that the container is running correctly\n- \"unhealthy\" Unhealthy indicates that the container has a problem\n", - "example": "healthy", - "enum": [ - "none", - "starting", - "healthy", - "unhealthy" - ] - }, - "FailingStreak": { - "type": "integer", - "description": "FailingStreak is the number of consecutive failures", - "example": 0 - }, - "Log": { - "type": "array", - "description": "Log contains the last few results (oldest first)\n", - "items": { - "$ref": "#/components/schemas/HealthcheckResult" - } - } - }, - "description": "Health stores information about the container's healthcheck results.\n" - }, - "HealthcheckResult": { - "type": "object", - "properties": { - "Start": { - "type": "string", - "description": "Date and time at which this check started in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "date-time", - "example": "2020-01-04T10:44:24.496525531Z" - }, - "End": { - "type": "string", - "description": "Date and time at which this check ended in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2020-01-04T10:45:21.364524523Z" - }, - "ExitCode": { - "type": "integer", - "description": "ExitCode meanings:\n\n- `0` healthy\n- `1` unhealthy\n- `2` reserved (considered unhealthy)\n- other values: error running probe\n", - "example": 0 - }, - "Output": { - "type": "string", - "description": "Output from last check" - } - }, - "description": "HealthcheckResult stores information about a single run of a healthcheck probe\n" - }, - "HostConfig": { - "description": "Container configuration that depends on the host we are running on", - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "Binds": { - "type": "array", - "description": "A list of volume bindings for this container. Each volume binding\nis a string in one of these forms:\n\n- `host-src:container-dest[:options]` to bind-mount a host path\n into the container. Both `host-src`, and `container-dest` must\n be an _absolute_ path.\n- `volume-name:container-dest[:options]` to bind-mount a volume\n managed by a volume driver into the container. `container-dest`\n must be an _absolute_ path.\n\n`options` is an optional, comma-delimited list of:\n\n- `nocopy` disables automatic copying of data from the container\n path to the volume. The `nocopy` flag only applies to named volumes.\n- `[ro|rw]` mounts a volume read-only or read-write, respectively.\n If omitted or set to `rw`, volumes are mounted read-write.\n- `[z|Z]` applies SELinux labels to allow or deny multiple containers\n to read and write to the same volume.\n - `z`: a _shared_ content label is applied to the content. This\n label indicates that multiple containers can share the volume\n content, for both reading and writing.\n - `Z`: a _private unshared_ label is applied to the content.\n This label indicates that only the current container can use\n a private volume. Labeling systems such as SELinux require\n proper labels to be placed on volume content that is mounted\n into a container. Without a label, the security system can\n prevent a container's processes from using the content. By\n default, the labels set by the host operating system are not\n modified.\n- `[[r]shared|[r]slave|[r]private]` specifies mount\n [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).\n This only applies to bind-mounted volumes, not internal volumes\n or named volumes. Mount propagation requires the source mount\n point (the location where the source directory is mounted in the\n host operating system) to have the correct propagation properties.\n For shared volumes, the source mount point must be set to `shared`.\n For slave volumes, the mount must be set to either `shared` or\n `slave`.\n", - "items": { - "type": "string" - } - }, - "ContainerIDFile": { - "type": "string", - "description": "Path to a file where the container ID is written" - }, - "LogConfig": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "json-file", - "syslog", - "journald", - "gelf", - "fluentd", - "awslogs", - "splunk", - "etwlogs", - "none" - ] - }, - "Config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "The logging configuration for this container" - }, - "NetworkMode": { - "type": "string", - "description": "Network mode to use for this container. Supported standard values\nare: `bridge`, `host`, `none`, and `container:`. Any\nother value is taken as a custom network's name to which this\ncontainer should connect to.\n" - }, - "PortBindings": { - "$ref": "#/components/schemas/PortMap" - }, - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - }, - "AutoRemove": { - "type": "boolean", - "description": "Automatically remove the container when the container's process\nexits. This has no effect if `RestartPolicy` is set.\n" - }, - "VolumeDriver": { - "type": "string", - "description": "Driver that this container uses to mount volumes." - }, - "VolumesFrom": { - "type": "array", - "description": "A list of volumes to inherit from another container, specified in\nthe form `[:]`.\n", - "items": { - "type": "string" - } - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to the container.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "CapAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CapDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CgroupnsMode": { - "type": "string", - "description": "cgroup namespace mode for the container. Possible values are:\n\n- `\"private\"`: the container runs in its own private cgroup namespace\n- `\"host\"`: use the host system's cgroup namespace\n\nIf not specified, the daemon default is used, which can either be `\"private\"`\nor `\"host\"`, depending on daemon version, kernel support and configuration.\n", - "enum": [ - "private", - "host" - ] - }, - "Dns": { - "type": "array", - "description": "A list of DNS servers for the container to use.", - "items": { - "type": "string" - } - }, - "DnsOptions": { - "type": "array", - "description": "A list of DNS options.", - "items": { - "type": "string" - } - }, - "DnsSearch": { - "type": "array", - "description": "A list of DNS search domains.", - "items": { - "type": "string" - } - }, - "ExtraHosts": { - "type": "array", - "description": "A list of hostnames/IP mappings to add to the container's `/etc/hosts`\nfile. Specified in the form `[\"hostname:IP\"]`.\n", - "items": { - "type": "string" - } - }, - "GroupAdd": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "IpcMode": { - "type": "string", - "description": "IPC sharing mode for the container. Possible values are:\n\n- `\"none\"`: own private IPC namespace, with /dev/shm not mounted\n- `\"private\"`: own private IPC namespace\n- `\"shareable\"`: own private IPC namespace, with a possibility to share it with other containers\n- `\"container:\"`: join another (shareable) container's IPC namespace\n- `\"host\"`: use the host system's IPC namespace\n\nIf not specified, daemon default is used, which can either be `\"private\"`\nor `\"shareable\"`, depending on daemon version and configuration.\n" - }, - "Cgroup": { - "type": "string", - "description": "Cgroup to use for the container." - }, - "Links": { - "type": "array", - "description": "A list of links for the container in the form `container_name:alias`.\n", - "items": { - "type": "string" - } - }, - "OomScoreAdj": { - "type": "integer", - "description": "An integer value containing the score given to the container in\norder to tune OOM killer preferences.\n", - "example": 500 - }, - "PidMode": { - "type": "string", - "description": "Set the PID (Process) Namespace mode for the container. It can be\neither:\n\n- `\"container:\"`: joins another container's PID namespace\n- `\"host\"`: use the host's PID namespace inside the container\n" - }, - "Privileged": { - "type": "boolean", - "description": "Gives the container full access to the host." - }, - "PublishAllPorts": { - "type": "boolean", - "description": "Allocates an ephemeral host port for all of a container's\nexposed ports.\n\nPorts are de-allocated when the container stops and allocated when\nthe container starts. The allocated port might be changed when\nrestarting the container.\n\nThe port is selected from the ephemeral port range that depends on\nthe kernel. For example, on Linux the range is defined by\n`/proc/sys/net/ipv4/ip_local_port_range`.\n" - }, - "ReadonlyRootfs": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "SecurityOpt": { - "type": "array", - "description": "A list of string values to customize labels for MLS systems, such as SELinux.", - "items": { - "type": "string" - } - }, - "StorageOpt": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Storage driver options for this container, in the form `{\"size\": \"120G\"}`.\n" - }, - "Tmpfs": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of container directories which should be replaced by tmpfs\nmounts, and their corresponding mount options. For example:\n\n```\n{ \"/run\": \"rw,noexec,nosuid,size=65536k\" }\n```\n" - }, - "UTSMode": { - "type": "string", - "description": "UTS namespace to use for the container." - }, - "UsernsMode": { - "type": "string", - "description": "Sets the usernamespace mode for the container when usernamespace\nremapping option is enabled.\n" - }, - "ShmSize": { - "minimum": 0, - "type": "integer", - "description": "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.\n" - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A list of kernel parameters (sysctls) to set in the container.\nFor example:\n\n```\n{\"net.ipv4.ip_forward\": \"1\"}\n```\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime to use with this container." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array. (Windows only)\n", - "items": { - "minimum": 0, - "type": "integer" - } - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the container. (Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "MaskedPaths": { - "type": "array", - "description": "The list of paths to be masked inside the container (this overrides\nthe default set of paths).\n", - "items": { - "type": "string" - } - }, - "ReadonlyPaths": { - "type": "array", - "description": "The list of paths to be set as read-only inside the container\n(this overrides the default set of paths).\n", - "items": { - "type": "string" - } - } - } - } - ] - }, - "ContainerConfig": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid RFC 1123 hostname." - }, - "Domainname": { - "type": "string", - "description": "The domain name to use for the container." - }, - "User": { - "type": "string", - "description": "The user that commands are run as inside the container." - }, - "AttachStdin": { - "type": "boolean", - "description": "Whether to attach to `stdin`.", - "default": false - }, - "AttachStdout": { - "type": "boolean", - "description": "Whether to attach to `stdout`.", - "default": true - }, - "AttachStderr": { - "type": "boolean", - "description": "Whether to attach to `stderr`.", - "default": true - }, - "ExposedPorts": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping ports to an empty object in the form:\n\n`{\"/\": {}}`\n" - }, - "Tty": { - "type": "boolean", - "description": "Attach standard streams to a TTY, including `stdin` if it is not closed.\n", - "default": false - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`", - "default": false - }, - "StdinOnce": { - "type": "boolean", - "description": "Close `stdin` after one attached client disconnects", - "default": false - }, - "Env": { - "type": "array", - "description": "A list of environment variables to set inside the container in the\nform `[\"VAR=value\", ...]`. A variable without `=` is removed from the\nenvironment, rather than to have an empty value.\n", - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run specified as a string or an array of strings.\n", - "items": { - "type": "string" - } - }, - "Healthcheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "ArgsEscaped": { - "type": "boolean", - "description": "Command is already escaped (Windows only)" - }, - "Image": { - "type": "string", - "description": "The name of the image to use when creating the container/\n" - }, - "Volumes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping mount point paths inside the container to empty\nobjects.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for commands to run in." - }, - "Entrypoint": { - "type": "array", - "description": "The entry point for the container as a string or an array of strings.\n\nIf the array consists of exactly one empty string (`[\"\"]`) then the\nentry point is reset to system default (i.e., the entry point used by\ndocker when there is no `ENTRYPOINT` instruction in the `Dockerfile`).\n", - "items": { - "type": "string" - } - }, - "NetworkDisabled": { - "type": "boolean", - "description": "Disable networking for the container." - }, - "MacAddress": { - "type": "string", - "description": "MAC address of the container." - }, - "OnBuild": { - "type": "array", - "description": "`ONBUILD` metadata that were defined in the image's `Dockerfile`.\n", - "items": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop a container as a string or unsigned integer.\n", - "default": "SIGTERM" - }, - "StopTimeout": { - "type": "integer", - "description": "Timeout to stop a container in seconds." - }, - "Shell": { - "type": "array", - "description": "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.\n", - "items": { - "type": "string" - } - } - }, - "description": "Configuration for a container that is portable between hosts" - }, - "NetworkingConfig": { - "type": "object", - "properties": { - "EndpointsConfig": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "A mapping of network name to endpoint configuration for that network.\n" - } - }, - "description": "NetworkingConfig represents the container's networking configuration for\neach of its interfaces.\nIt is used for the networking configs specified in the `docker create`\nand `docker network connect` commands.\n", - "example": { - "EndpointsConfig": { - "isolated_nw": { - "IPAMConfig": { - "IPv4Address": "172.20.30.33", - "IPv6Address": "2001:db8:abcd::3033", - "LinkLocalIPs": [ - "169.254.34.68", - "fe80::3468" - ] - }, - "Links": [ - "container_1", - "container_2" - ], - "Aliases": [ - "server_x", - "server_y" - ] - } - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Bridge": { - "type": "string", - "description": "Name of the network'a bridge (for example, `docker0`).", - "example": "docker0" - }, - "SandboxID": { - "type": "string", - "description": "SandboxID uniquely represents a container's network stack.", - "example": "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3" - }, - "HairpinMode": { - "type": "boolean", - "description": "Indicates if hairpin NAT should be enabled on the virtual interface.\n", - "example": false - }, - "LinkLocalIPv6Address": { - "type": "string", - "description": "IPv6 unicast address using the link-local prefix.", - "example": "fe80::42:acff:fe11:1" - }, - "LinkLocalIPv6PrefixLen": { - "type": "integer", - "description": "Prefix length of the IPv6 unicast address.", - "example": 64 - }, - "Ports": { - "$ref": "#/components/schemas/PortMap" - }, - "SandboxKey": { - "type": "string", - "description": "SandboxKey identifies the sandbox", - "example": "/var/run/docker/netns/8ab54b426c38" - }, - "SecondaryIPAddresses": { - "type": "array", - "description": "", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "SecondaryIPv6Addresses": { - "type": "array", - "description": "", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "EndpointID": { - "type": "string", - "description": "EndpointID uniquely represents a service endpoint in a Sandbox.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.1" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 64 - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address for this network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8:2::100" - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the container on the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "02:42:ac:11:00:04" - }, - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "Information about all networks that the container is connected to.\n" - } - }, - "description": "NetworkSettings exposes the network settings in the API" - }, - "Address": { - "type": "object", - "properties": { - "Addr": { - "type": "string", - "description": "IP address." - }, - "PrefixLen": { - "type": "integer", - "description": "Mask length of the IP address." - } - }, - "description": "Address represents an IPv4 or IPv6 IP address." - }, - "PortMap": { - "type": "object", - "additionalProperties": { - "type": "array", - "nullable": true, - "items": { - "$ref": "#/components/schemas/PortBinding" - } - }, - "description": "PortMap describes the mapping of container ports to host ports, using the\ncontainer's port-number and protocol as key in the format `/`,\nfor example, `80/udp`.\n\nIf a container's port is mapped for multiple protocols, separate entries\nare added to the mapping table.\n", - "example": { - "443/tcp": [ - { - "HostIp": "127.0.0.1", - "HostPort": "4443" - } - ], - "80/tcp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - }, - { - "HostIp": "0.0.0.0", - "HostPort": "8080" - } - ], - "80/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - } - ], - "53/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "53" - } - ] - } - }, - "PortBinding": { - "type": "object", - "properties": { - "HostIp": { - "type": "string", - "description": "Host IP address that the container's port is mapped to.", - "example": "127.0.0.1" - }, - "HostPort": { - "type": "string", - "description": "Host port number that the container's port is mapped to.", - "example": "4443" - } - }, - "description": "PortBinding represents a binding between a host IP address and a host\nport.\n" - }, - "GraphDriverData": { - "required": [ - "Data", - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Data": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "nullable": false - } - }, - "description": "Information about a container's graph driver." - }, - "Image": { - "required": [ - "Architecture", - "Author", - "Comment", - "Container", - "Created", - "DockerVersion", - "GraphDriver", - "Id", - "Os", - "Parent", - "RootFS", - "Size", - "VirtualSize" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "RepoTags": { - "type": "array", - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "items": { - "type": "string" - } - }, - "Parent": { - "type": "string", - "nullable": false - }, - "Comment": { - "type": "string", - "nullable": false - }, - "Created": { - "type": "string", - "nullable": false - }, - "Container": { - "type": "string", - "nullable": false - }, - "ContainerConfig": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "DockerVersion": { - "type": "string", - "nullable": false - }, - "Author": { - "type": "string", - "nullable": false - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "Architecture": { - "type": "string", - "nullable": false - }, - "Os": { - "type": "string", - "nullable": false - }, - "OsVersion": { - "type": "string" - }, - "Size": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "VirtualSize": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "RootFS": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false - }, - "Layers": { - "type": "array", - "items": { - "type": "string" - } - }, - "BaseLayer": { - "type": "string" - } - } - }, - "Metadata": { - "type": "object", - "properties": { - "LastTagTime": { - "type": "string", - "format": "dateTime" - } - } - } - } - }, - "ImageSummary": { - "required": [ - "Containers", - "Created", - "Id", - "Labels", - "ParentId", - "RepoDigests", - "RepoTags", - "SharedSize", - "Size", - "VirtualSize" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "ParentId": { - "type": "string", - "nullable": false - }, - "RepoTags": { - "type": "array", - "nullable": false, - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "nullable": false, - "items": { - "type": "string" - } - }, - "Created": { - "type": "integer", - "nullable": false - }, - "Size": { - "type": "integer", - "nullable": false - }, - "SharedSize": { - "type": "integer", - "nullable": false - }, - "VirtualSize": { - "type": "integer", - "nullable": false - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "nullable": false - }, - "Containers": { - "type": "integer", - "nullable": false - } - } - }, - "AuthConfig": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "email": { - "type": "string" - }, - "serveraddress": { - "type": "string" - } - }, - "example": { - "username": "hannibal", - "password": "xxxx", - "serveraddress": "https://index.docker.io/v1/" - } - }, - "ProcessConfig": { - "type": "object", - "properties": { - "privileged": { - "type": "boolean" - }, - "user": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "entrypoint": { - "type": "string" - }, - "arguments": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Volume": { - "required": [ - "Driver", - "Labels", - "Mountpoint", - "Name", - "Options", - "Scope" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the volume.", - "nullable": false - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver used by the volume.", - "nullable": false - }, - "Mountpoint": { - "type": "string", - "description": "Mount path of the volume on the host.", - "nullable": false - }, - "CreatedAt": { - "type": "string", - "description": "Date/Time the volume was created.", - "format": "dateTime" - }, - "Status": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "Low-level details about the volume, provided by the volume driver.\nDetails are returned as a map with key/value pairs:\n`{\"key\":\"value\",\"key2\":\"value2\"}`.\n\nThe `Status` field is optional, and is omitted if the volume driver\ndoes not support this feature.\n" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false - }, - "Scope": { - "type": "string", - "description": "The level at which the volume exists. Either `global` for cluster-wide,\nor `local` for machine level.\n", - "nullable": false, - "default": "local", - "enum": [ - "local", - "global" - ] - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The driver specific options used when creating the volume.\n" - }, - "UsageData": { - "required": [ - "RefCount", - "Size" - ], - "type": "object", - "properties": { - "Size": { - "type": "integer", - "description": "Amount of disk space used by the volume (in bytes). This information\nis only available for volumes created with the `\"local\"` volume\ndriver. For volumes created with other volume drivers, this field\nis set to `-1` (\"not available\")\n", - "nullable": false - }, - "RefCount": { - "type": "integer", - "description": "The number of containers referencing this volume. This field\nis set to `-1` if the reference-count is not available.\n", - "nullable": false - } - }, - "description": "Usage details about the volume. This information is used by the\n`GET /system/df` endpoint, and omitted in other endpoints.\n", - "nullable": true - } - }, - "example": { - "Name": "tardis", - "Driver": "custom", - "Mountpoint": "/var/lib/docker/volumes/tardis", - "Status": { - "hello": "world" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - }, - "Scope": "local", - "CreatedAt": "2016-06-07T20:31:11.853781916Z" - } - }, - "Network": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Created": { - "type": "string", - "format": "dateTime" - }, - "Scope": { - "type": "string" - }, - "Driver": { - "type": "string" - }, - "EnableIPv6": { - "type": "boolean" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "Internal": { - "type": "boolean" - }, - "Attachable": { - "type": "boolean" - }, - "Ingress": { - "type": "boolean" - }, - "Containers": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/NetworkContainer" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "example": { - "Name": "net01", - "Id": "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99", - "Created": "2016-10-19T04:33:30.360899459Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.19.0.0/16", - "Gateway": "172.19.0.1" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": false, - "Attachable": false, - "Ingress": false, - "Containers": { - "19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c": { - "Name": "test", - "EndpointID": "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a", - "MacAddress": "02:42:ac:13:00:02", - "IPv4Address": "172.19.0.2/16", - "IPv6Address": "" - } - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "IPAM": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "description": "Name of the IPAM driver to use.", - "default": "default" - }, - "Config": { - "type": "array", - "description": "List of IPAM configuration options, specified as a map:\n\n```\n{\"Subnet\": , \"IPRange\": , \"Gateway\": , \"AuxAddress\": }\n```\n", - "items": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a map." - } - } - }, - "NetworkContainer": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "EndpointID": { - "type": "string" - }, - "MacAddress": { - "type": "string" - }, - "IPv4Address": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - } - } - }, - "BuildInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "stream": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - }, - "aux": { - "$ref": "#/components/schemas/ImageID" - } - } - }, - "BuildCache": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Parent": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "InUse": { - "type": "boolean" - }, - "Shared": { - "type": "boolean" - }, - "Size": { - "type": "integer", - "description": "Amount of disk space used by the build cache (in bytes).\n" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the build cache was created in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "LastUsedAt": { - "type": "string", - "description": "Date and time at which the build cache was last used in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "nullable": true, - "example": "2017-08-09T07:09:37.632105588Z" - }, - "UsageCount": { - "type": "integer" - } - } - }, - "ImageID": { - "type": "object", - "properties": { - "ID": { - "type": "string" - } - }, - "description": "Image ID or Digest", - "example": { - "ID": "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" - } - }, - "CreateImageInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "error": { - "type": "string" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "PushImageInfo": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "ErrorDetail": { - "type": "object", - "properties": { - "code": { - "type": "integer" - }, - "message": { - "type": "string" - } - } - }, - "ProgressDetail": { - "type": "object", - "properties": { - "current": { - "type": "integer" - }, - "total": { - "type": "integer" - } - } - }, - "ErrorResponse": { - "required": [ - "message" - ], - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The error message.", - "nullable": false - } - }, - "description": "Represents an error.", - "example": { - "message": "Something went wrong." - } - }, - "IdResponse": { - "required": [ - "Id" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The id of the newly created object.", - "nullable": false - } - }, - "description": "Response to an API call that returns just an Id" - }, - "EndpointSettings": { - "type": "object", - "properties": { - "IPAMConfig": { - "$ref": "#/components/schemas/EndpointIPAMConfig" - }, - "Links": { - "type": "array", - "example": [ - "container_1", - "container_2" - ], - "items": { - "type": "string" - } - }, - "Aliases": { - "type": "array", - "example": [ - "server_x", - "server_y" - ], - "items": { - "type": "string" - } - }, - "NetworkID": { - "type": "string", - "description": "Unique ID of the network.\n", - "example": "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a" - }, - "EndpointID": { - "type": "string", - "description": "Unique ID for the service endpoint in a Sandbox.\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for this network.\n", - "example": "172.17.0.1" - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address.\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address.\n", - "example": "2001:db8:2::100" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address.\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n", - "format": "int64", - "example": 64 - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the endpoint on this network.\n", - "example": "02:42:ac:11:00:04" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "DriverOpts is a mapping of driver options and values. These options\nare passed directly to the driver and are driver specific.\n", - "nullable": true, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "description": "Configuration for a network endpoint." - }, - "EndpointIPAMConfig": { - "type": "object", - "properties": { - "IPv4Address": { - "type": "string", - "example": "172.20.30.33" - }, - "IPv6Address": { - "type": "string", - "example": "2001:db8:abcd::3033" - }, - "LinkLocalIPs": { - "type": "array", - "example": [ - "169.254.34.68", - "fe80::3468" - ], - "items": { - "type": "string" - } - } - }, - "description": "EndpointIPAMConfig represents an endpoint's IPAM configuration.\n", - "nullable": true, - "x-nullable": true - }, - "PluginMount": { - "required": [ - "Description", - "Destination", - "Name", - "Options", - "Settable", - "Source", - "Type" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "some-mount" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "This is a mount that's used by the plugin." - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Source": { - "type": "string", - "example": "/var/lib/docker/plugins/" - }, - "Destination": { - "type": "string", - "nullable": false, - "example": "/mnt/state" - }, - "Type": { - "type": "string", - "nullable": false, - "example": "bind" - }, - "Options": { - "type": "array", - "example": [ - "rbind", - "rw" - ], - "items": { - "type": "string" - } - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginDevice": { - "required": [ - "Description", - "Name", - "Path", - "Settable" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Path": { - "type": "string", - "example": "/dev/fuse" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginEnv": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "string" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginInterfaceType": { - "required": [ - "Capability", - "Prefix", - "Version" - ], - "type": "object", - "properties": { - "Prefix": { - "type": "string", - "nullable": false - }, - "Capability": { - "type": "string", - "nullable": false - }, - "Version": { - "type": "string", - "nullable": false - } - }, - "nullable": false, - "x-nullable": false - }, - "Plugin": { - "required": [ - "Config", - "Enabled", - "Name", - "Settings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "example": "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" - }, - "Name": { - "type": "string", - "nullable": false, - "example": "tiborvass/sample-volume-plugin" - }, - "Enabled": { - "type": "boolean", - "description": "True if the plugin is running. False if the plugin is not running, only installed.", - "nullable": false, - "example": true - }, - "Settings": { - "required": [ - "Args", - "Devices", - "Env", - "Mounts" - ], - "type": "object", - "properties": { - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - "DEBUG=0" - ], - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "items": { - "type": "string" - } - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "description": "Settings that can be modified by users.", - "nullable": false - }, - "PluginReference": { - "type": "string", - "description": "plugin remote reference used to push/pull the plugin", - "nullable": false, - "example": "localhost:5000/tiborvass/sample-volume-plugin:latest" - }, - "Config": { - "required": [ - "Args", - "Description", - "Documentation", - "Entrypoint", - "Env", - "Interface", - "IpcHost", - "Linux", - "Mounts", - "Network", - "PidHost", - "PropagatedMount", - "WorkDir" - ], - "type": "object", - "properties": { - "DockerVersion": { - "type": "string", - "description": "Docker Version used to create the plugin", - "nullable": false, - "example": "17.06.0-ce" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "A sample volume plugin for Docker" - }, - "Documentation": { - "type": "string", - "nullable": false, - "example": "https://docs.docker.com/engine/extend/plugins/" - }, - "Interface": { - "required": [ - "Socket", - "Types" - ], - "type": "object", - "properties": { - "Types": { - "type": "array", - "example": [ - "docker.volumedriver/1.0" - ], - "items": { - "$ref": "#/components/schemas/PluginInterfaceType" - } - }, - "Socket": { - "type": "string", - "nullable": false, - "example": "plugins.sock" - }, - "ProtocolScheme": { - "type": "string", - "description": "Protocol to use for clients connecting to the plugin.", - "example": "some.protocol/v1.0", - "enum": [ - "", - "moby.plugins.http/v1" - ] - } - }, - "description": "The interface between Docker and the plugin", - "nullable": false - }, - "Entrypoint": { - "type": "array", - "example": [ - "/usr/bin/sample-volume-plugin", - "/data" - ], - "items": { - "type": "string" - } - }, - "WorkDir": { - "type": "string", - "nullable": false, - "example": "/bin/" - }, - "User": { - "type": "object", - "properties": { - "UID": { - "type": "integer", - "format": "uint32", - "example": 1000 - }, - "GID": { - "type": "integer", - "format": "uint32", - "example": 1000 - } - }, - "nullable": false - }, - "Network": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "host" - } - }, - "nullable": false - }, - "Linux": { - "required": [ - "AllowAllDevices", - "Capabilities", - "Devices" - ], - "type": "object", - "properties": { - "Capabilities": { - "type": "array", - "example": [ - "CAP_SYS_ADMIN", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "AllowAllDevices": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "nullable": false - }, - "PropagatedMount": { - "type": "string", - "nullable": false, - "example": "/mnt/volumes" - }, - "IpcHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "PidHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - { - "Name": "DEBUG", - "Description": "If set, prints debug messages", - "Value": "0" - } - ], - "items": { - "$ref": "#/components/schemas/PluginEnv" - } - }, - "Args": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "args" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "command line arguments" - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "nullable": false - }, - "rootfs": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "layers" - }, - "diff_ids": { - "type": "array", - "example": [ - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887", - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" - ], - "items": { - "type": "string" - } - } - } - } - }, - "description": "The config of a plugin.", - "nullable": false - } - }, - "description": "A plugin for the Engine API" - }, - "ObjectVersion": { - "type": "object", - "properties": { - "Index": { - "type": "integer", - "format": "uint64", - "example": 373531 - } - }, - "description": "The version number of the object such as node, service, etc. This is needed\nto avoid conflicting writes. The client must send the version number along\nwith the modified specification when updating these objects.\n\nThis approach ensures safe concurrency and determinism in that the change\non the object may not be applied if the version number has changed from the\nlast read. In other words, if two update requests specify the same base\nversion, only one of the requests can succeed. As a result, two separate\nupdate requests that happen at the same time will not unintentionally\noverwrite each other.\n" - }, - "NodeSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name for the node.", - "example": "my-node" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Role": { - "type": "string", - "description": "Role of the node.", - "example": "manager", - "enum": [ - "worker", - "manager" - ] - }, - "Availability": { - "type": "string", - "description": "Availability of the node.", - "example": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "example": { - "Availability": "active", - "Name": "node-name", - "Role": "manager", - "Labels": { - "foo": "bar" - } - } - }, - "Node": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "24ifsmvkjbyhk" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the node was added to the swarm in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the node was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/NodeSpec" - }, - "Description": { - "$ref": "#/components/schemas/NodeDescription" - }, - "Status": { - "$ref": "#/components/schemas/NodeStatus" - }, - "ManagerStatus": { - "$ref": "#/components/schemas/ManagerStatus" - } - } - }, - "NodeDescription": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "example": "bf3067039e47" - }, - "Platform": { - "$ref": "#/components/schemas/Platform" - }, - "Resources": { - "$ref": "#/components/schemas/ResourceObject" - }, - "Engine": { - "$ref": "#/components/schemas/EngineDescription" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - } - }, - "description": "NodeDescription encapsulates the properties of the Node as reported by the\nagent.\n" - }, - "Platform": { - "type": "object", - "properties": { - "Architecture": { - "type": "string", - "description": "Architecture represents the hardware architecture (for example,\n`x86_64`).\n", - "example": "x86_64" - }, - "OS": { - "type": "string", - "description": "OS represents the Operating System (for example, `linux` or `windows`).\n", - "example": "linux" - } - }, - "description": "Platform represents the platform (Arch/OS).\n" - }, - "EngineDescription": { - "type": "object", - "properties": { - "EngineVersion": { - "type": "string", - "example": "17.06.0" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "example": { - "foo": "bar" - } - }, - "Plugins": { - "type": "array", - "example": [ - { - "Type": "Log", - "Name": "awslogs" - }, - { - "Type": "Log", - "Name": "fluentd" - }, - { - "Type": "Log", - "Name": "gcplogs" - }, - { - "Type": "Log", - "Name": "gelf" - }, - { - "Type": "Log", - "Name": "journald" - }, - { - "Type": "Log", - "Name": "json-file" - }, - { - "Type": "Log", - "Name": "logentries" - }, - { - "Type": "Log", - "Name": "splunk" - }, - { - "Type": "Log", - "Name": "syslog" - }, - { - "Type": "Network", - "Name": "bridge" - }, - { - "Type": "Network", - "Name": "host" - }, - { - "Type": "Network", - "Name": "ipvlan" - }, - { - "Type": "Network", - "Name": "macvlan" - }, - { - "Type": "Network", - "Name": "null" - }, - { - "Type": "Network", - "Name": "overlay" - }, - { - "Type": "Volume", - "Name": "local" - }, - { - "Type": "Volume", - "Name": "localhost:5000/vieux/sshfs:latest" - }, - { - "Type": "Volume", - "Name": "vieux/sshfs:latest" - } - ], - "items": { - "type": "object", - "properties": { - "Type": { - "type": "string" - }, - "Name": { - "type": "string" - } - } - } - } - }, - "description": "EngineDescription provides information about an engine." - }, - "TLSInfo": { - "type": "object", - "properties": { - "TrustRoot": { - "type": "string", - "description": "The root CA certificate(s) that are used to validate leaf TLS\ncertificates.\n" - }, - "CertIssuerSubject": { - "type": "string", - "description": "The base64-url-safe-encoded raw subject bytes of the issuer." - }, - "CertIssuerPublicKey": { - "type": "string", - "description": "The base64-url-safe-encoded raw public key bytes of the issuer.\n" - } - }, - "description": "Information about the issuer of leaf TLS certificates and the trusted root\nCA certificate.\n", - "example": { - "TrustRoot": "-----BEGIN CERTIFICATE-----\nMIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw\nEzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0\nMzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf\n3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO\nPQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz\npxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H\n-----END CERTIFICATE-----\n", - "CertIssuerSubject": "MBMxETAPBgNVBAMTCHN3YXJtLWNh", - "CertIssuerPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A==" - } - }, - "NodeStatus": { - "type": "object", - "properties": { - "State": { - "$ref": "#/components/schemas/NodeState" - }, - "Message": { - "type": "string", - "example": "" - }, - "Addr": { - "type": "string", - "description": "IP address of the node.", - "example": "172.17.0.2" - } - }, - "description": "NodeStatus represents the status of a node.\n\nIt provides the current status of the node, as seen by the manager.\n" - }, - "NodeState": { - "type": "string", - "description": "NodeState represents the state of a node.", - "example": "ready", - "enum": [ - "unknown", - "down", - "ready", - "disconnected" - ] - }, - "ManagerStatus": { - "type": "object", - "properties": { - "Leader": { - "type": "boolean", - "example": true, - "default": false - }, - "Reachability": { - "$ref": "#/components/schemas/Reachability" - }, - "Addr": { - "type": "string", - "description": "The IP address and port at which the manager is reachable.\n", - "example": "10.0.0.46:2377" - } - }, - "description": "ManagerStatus represents the status of a manager.\n\nIt provides the current status of a node's manager component, if the node\nis a manager.\n", - "nullable": true, - "x-nullable": true - }, - "Reachability": { - "type": "string", - "description": "Reachability represents the reachability of a node.", - "example": "reachable", - "enum": [ - "unknown", - "unreachable", - "reachable" - ] - }, - "SwarmSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the swarm.", - "example": "default" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.corp.type": "production", - "com.example.corp.department": "engineering" - } - }, - "Orchestration": { - "type": "object", - "properties": { - "TaskHistoryRetentionLimit": { - "type": "integer", - "description": "The number of historic tasks to keep per instance or node. If\nnegative, never remove completed or failed tasks.\n", - "format": "int64", - "example": 10 - } - }, - "description": "Orchestration configuration.", - "nullable": true - }, - "Raft": { - "type": "object", - "properties": { - "SnapshotInterval": { - "type": "integer", - "description": "The number of log entries between snapshots.", - "format": "uint64", - "example": 10000 - }, - "KeepOldSnapshots": { - "type": "integer", - "description": "The number of snapshots to keep beyond the current snapshot.\n", - "format": "uint64" - }, - "LogEntriesForSlowFollowers": { - "type": "integer", - "description": "The number of log entries to keep around to sync up slow followers\nafter a snapshot is created.\n", - "format": "uint64", - "example": 500 - }, - "ElectionTick": { - "type": "integer", - "description": "The number of ticks that a follower will wait for a message from\nthe leader before becoming a candidate and starting an election.\n`ElectionTick` must be greater than `HeartbeatTick`.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 3 - }, - "HeartbeatTick": { - "type": "integer", - "description": "The number of ticks between heartbeats. Every HeartbeatTick ticks,\nthe leader will send a heartbeat to the followers.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 1 - } - }, - "description": "Raft configuration." - }, - "Dispatcher": { - "type": "object", - "properties": { - "HeartbeatPeriod": { - "type": "integer", - "description": "The delay for an agent to send a heartbeat to the dispatcher.\n", - "format": "int64", - "example": 5000000000 - } - }, - "description": "Dispatcher configuration.", - "nullable": true - }, - "CAConfig": { - "type": "object", - "properties": { - "NodeCertExpiry": { - "type": "integer", - "description": "The duration node certificates are issued for.", - "format": "int64", - "example": 7776000000000000 - }, - "ExternalCAs": { - "type": "array", - "description": "Configuration for forwarding signing requests to an external\ncertificate authority.\n", - "items": { - "type": "object", - "properties": { - "Protocol": { - "type": "string", - "description": "Protocol for communication with the external CA (currently\nonly `cfssl` is supported).\n", - "default": "cfssl", - "enum": [ - "cfssl" - ] - }, - "URL": { - "type": "string", - "description": "URL where certificate signing requests should be sent.\n" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "An object with key/value pairs that are interpreted as\nprotocol-specific options for the external CA driver.\n" - }, - "CACert": { - "type": "string", - "description": "The root CA certificate (in PEM format) this external CA uses\nto issue TLS certificates (assumed to be to the current swarm\nroot CA certificate if not provided).\n" - } - } - } - }, - "SigningCACert": { - "type": "string", - "description": "The desired signing CA certificate for all swarm node TLS leaf\ncertificates, in PEM format.\n" - }, - "SigningCAKey": { - "type": "string", - "description": "The desired signing CA key for all swarm node TLS leaf certificates,\nin PEM format.\n" - }, - "ForceRotate": { - "type": "integer", - "description": "An integer whose purpose is to force swarm to generate a new\nsigning CA certificate and key, if none have been specified in\n`SigningCACert` and `SigningCAKey`\n", - "format": "uint64" - } - }, - "description": "CA configuration.", - "nullable": true - }, - "EncryptionConfig": { - "type": "object", - "properties": { - "AutoLockManagers": { - "type": "boolean", - "description": "If set, generate a key and use it to lock data stored on the\nmanagers.\n", - "example": false - } - }, - "description": "Parameters related to encryption-at-rest." - }, - "TaskDefaults": { - "type": "object", - "properties": { - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The log driver to use as a default for new tasks.\n", - "example": "json-file" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options for the selectd log driver, specified\nas key/value pairs.\n", - "example": { - "max-file": "10", - "max-size": "100m" - } - } - }, - "description": "The log driver to use for tasks created in the orchestrator if\nunspecified by a service.\n\nUpdating this value only affects new tasks. Existing tasks continue\nto use their previously configured log driver until recreated.\n" - } - }, - "description": "Defaults for creating tasks in this cluster." - } - }, - "description": "User modifiable swarm configuration." - }, - "ClusterInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the swarm.", - "example": "abajmipo7b4xz5ip2nrla6b11" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the swarm was initialised in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the swarm was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - }, - "RootRotationInProgress": { - "type": "boolean", - "description": "Whether there is currently a root CA rotation in progress for the swarm\n", - "example": false - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nIf no port is set or is set to 0, the default port (4789) is used.\n", - "format": "uint32", - "example": 4789 - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global scope\nnetworks.\n", - "items": { - "type": "string", - "format": "CIDR", - "example": "" - } - }, - "SubnetSize": { - "maximum": 29, - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created from the\ndefault subnet pool.\n", - "format": "uint32", - "example": 24 - } - }, - "description": "ClusterInfo represents information about the swarm as is returned by the\n\"/info\" endpoint. Join-tokens are not included.\n", - "nullable": true, - "x-nullable": true - }, - "JoinTokens": { - "type": "object", - "properties": { - "Worker": { - "type": "string", - "description": "The token workers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx" - }, - "Manager": { - "type": "string", - "description": "The token managers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - }, - "description": "JoinTokens contains the tokens workers and managers need to join the swarm.\n" - }, - "Swarm": { - "allOf": [ - { - "$ref": "#/components/schemas/ClusterInfo" - }, - { - "type": "object", - "properties": { - "JoinTokens": { - "$ref": "#/components/schemas/JoinTokens" - } - } - } - ] - }, - "TaskSpec": { - "type": "object", - "properties": { - "PluginSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The name or 'alias' to use for the plugin." - }, - "Remote": { - "type": "string", - "description": "The plugin image reference to use." - }, - "Disabled": { - "type": "boolean", - "description": "Disable the plugin once scheduled." - }, - "PluginPrivilege": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission accepted by the user upon installing the\nplugin.\n" - } - } - }, - "description": "Plugin spec for the service. *(Experimental release only.)*\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "ContainerSpec": { - "type": "object", - "properties": { - "Image": { - "type": "string", - "description": "The image name to use for the container" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value data." - }, - "Command": { - "type": "array", - "description": "The command to be run in the image.", - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "description": "Arguments to the command.", - "items": { - "type": "string" - } - }, - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid\n[RFC 1123](https://tools.ietf.org/html/rfc1123) hostname.\n" - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `VAR=value`.\n", - "items": { - "type": "string" - } - }, - "Dir": { - "type": "string", - "description": "The working directory for commands to run in." - }, - "User": { - "type": "string", - "description": "The user inside the container." - }, - "Groups": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "Privileges": { - "type": "object", - "properties": { - "CredentialSpec": { - "type": "object", - "properties": { - "Config": { - "type": "string", - "description": "Load credential spec from a Swarm Config with the given ID.\nThe specified config must also be present in the Configs\nfield with the Runtime property set.\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "0bt9dmxjvjiqermk6xrop3ekq" - }, - "File": { - "type": "string", - "description": "Load credential spec from this file. The file is read by\nthe daemon, and must be present in the `CredentialSpecs`\nsubdirectory in the docker data directory, which defaults\nto `C:\\ProgramData\\Docker\\` on Windows.\n\nFor example, specifying `spec.json` loads\n`C:\\ProgramData\\Docker\\CredentialSpecs\\spec.json`.\n\n


\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "spec.json" - }, - "Registry": { - "type": "string", - "description": "Load credential spec from this value in the Windows\nregistry. The specified registry value must be located in:\n\n`HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Virtualization\\Containers\\CredentialSpecs`\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n" - } - }, - "description": "CredentialSpec for managed service account (Windows only)" - }, - "SELinuxContext": { - "type": "object", - "properties": { - "Disable": { - "type": "boolean", - "description": "Disable SELinux" - }, - "User": { - "type": "string", - "description": "SELinux user label" - }, - "Role": { - "type": "string", - "description": "SELinux role label" - }, - "Type": { - "type": "string", - "description": "SELinux type label" - }, - "Level": { - "type": "string", - "description": "SELinux level label" - } - }, - "description": "SELinux labels of the container" - } - }, - "description": "Security options for the container" - }, - "TTY": { - "type": "boolean", - "description": "Whether a pseudo-TTY should be allocated." - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`" - }, - "ReadOnly": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to containers created as part\nof the service.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop the container." - }, - "StopGracePeriod": { - "type": "integer", - "description": "Amount of time to wait for the container to terminate before\nforcefully killing it.\n", - "format": "int64" - }, - "HealthCheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "Hosts": { - "type": "array", - "description": "A list of hostname/IP mappings to add to the container's `hosts`\nfile. The format of extra hosts is specified in the\n[hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html)\nman page:\n\n IP_address canonical_hostname [aliases...]\n", - "items": { - "type": "string" - } - }, - "DNSConfig": { - "type": "object", - "properties": { - "Nameservers": { - "type": "array", - "description": "The IP addresses of the name servers.", - "items": { - "type": "string" - } - }, - "Search": { - "type": "array", - "description": "A search list for host-name lookup.", - "items": { - "type": "string" - } - }, - "Options": { - "type": "array", - "description": "A list of internal resolver variables to be modified (e.g.,\n`debug`, `ndots:3`, etc.).\n", - "items": { - "type": "string" - } - } - }, - "description": "Specification for DNS related configurations in resolver configuration\nfile (`resolv.conf`).\n" - }, - "Secrets": { - "type": "array", - "description": "Secrets contains references to zero or more secrets that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n" - }, - "SecretID": { - "type": "string", - "description": "SecretID represents the ID of the specific secret that we're\nreferencing.\n" - }, - "SecretName": { - "type": "string", - "description": "SecretName is the name of the secret that this references,\nbut this is just provided for lookup/display purposes. The\nsecret in the reference will be identified by its ID.\n" - } - } - } - }, - "Configs": { - "type": "array", - "description": "Configs contains references to zero or more configs that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually exclusive\n" - }, - "Runtime": { - "type": "object", - "properties": {}, - "description": "Runtime represents a target that is not mounted into the\ncontainer but is used by the task\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually\n> exclusive\n" - }, - "ConfigID": { - "type": "string", - "description": "ConfigID represents the ID of the specific config that we're\nreferencing.\n" - }, - "ConfigName": { - "type": "string", - "description": "ConfigName is the name of the config that this references,\nbut this is just provided for lookup/display purposes. The\nconfig in the reference will be identified by its ID.\n" - } - } - } - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the containers running the service.\n(Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Set kernel namedspaced parameters (sysctls) in the container.\nThe Sysctls option on services accepts the same sysctls as the\nare supported on containers. Note that while the same sysctls are\nsupported, no guarantees or checks are made about their\nsuitability for a clustered environment, and it's up to the user\nto determine whether a given sysctl will work properly in a\nService.\n" - }, - "CapabilityAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW", - "CAP_SYS_ADMIN", - "CAP_SYS_CHROOT", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "CapabilityDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW" - ], - "items": { - "type": "string" - } - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example: `{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}`\"\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - } - }, - "description": "Container spec for the service.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "NetworkAttachmentSpec": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string", - "description": "ID of the container represented by this task" - } - }, - "description": "Read-only spec type for non-swarm containers attached to swarm overlay\nnetworks.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "Resources": { - "type": "object", - "properties": { - "Limits": { - "$ref": "#/components/schemas/Limit" - }, - "Reservation": { - "$ref": "#/components/schemas/ResourceObject" - } - }, - "description": "Resource requirements which apply to each individual container created\nas part of the service.\n" - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Condition": { - "type": "string", - "description": "Condition for restart.", - "enum": [ - "none", - "on-failure", - "any" - ] - }, - "Delay": { - "type": "integer", - "description": "Delay between restart attempts.", - "format": "int64" - }, - "MaxAttempts": { - "type": "integer", - "description": "Maximum attempts to restart a given container before giving up\n(default value is 0, which is ignored).\n", - "format": "int64", - "default": 0 - }, - "Window": { - "type": "integer", - "description": "Windows is the time window used to evaluate the restart policy\n(default value is 0, which is unbounded).\n", - "format": "int64", - "default": 0 - } - }, - "description": "Specification for the restart policy which applies to containers\ncreated as part of this service.\n" - }, - "Placement": { - "type": "object", - "properties": { - "Constraints": { - "type": "array", - "description": "An array of constraint expressions to limit the set of nodes where\na task can be scheduled. Constraint expressions can either use a\n_match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find\nnodes that satisfy every expression (AND match). Constraints can\nmatch node or Docker Engine labels as follows:\n\nnode attribute | matches | example\n---------------------|--------------------------------|-----------------------------------------------\n`node.id` | Node ID | `node.id==2ivku8v2gvtg4`\n`node.hostname` | Node hostname | `node.hostname!=node-2`\n`node.role` | Node role (`manager`/`worker`) | `node.role==manager`\n`node.platform.os` | Node operating system | `node.platform.os==windows`\n`node.platform.arch` | Node architecture | `node.platform.arch==x86_64`\n`node.labels` | User-defined node labels | `node.labels.security==high`\n`engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04`\n\n`engine.labels` apply to Docker Engine labels like operating system,\ndrivers, etc. Swarm administrators add `node.labels` for operational\npurposes by using the [`node update endpoint`](#operation/NodeUpdate).\n", - "example": [ - "node.hostname!=node3.corp.example.com", - "node.role!=manager", - "node.labels.type==production", - "node.platform.os==linux", - "node.platform.arch==x86_64" - ], - "items": { - "type": "string" - } - }, - "Preferences": { - "type": "array", - "description": "Preferences provide a way to make the scheduler aware of factors\nsuch as topology. They are provided in order from highest to\nlowest precedence.\n", - "example": [ - { - "Spread": { - "SpreadDescriptor": "node.labels.datacenter" - } - }, - { - "Spread": { - "SpreadDescriptor": "node.labels.rack" - } - } - ], - "items": { - "type": "object", - "properties": { - "Spread": { - "type": "object", - "properties": { - "SpreadDescriptor": { - "type": "string", - "description": "label descriptor, such as `engine.labels.az`.\n" - } - } - } - } - } - }, - "MaxReplicas": { - "type": "integer", - "description": "Maximum number of replicas for per node (default value is 0, which\nis unlimited)\n", - "format": "int64", - "default": 0 - }, - "Platforms": { - "type": "array", - "description": "Platforms stores all the platforms that the service's image can\nrun on. This field is used in the platform filter for scheduling.\nIf empty, then the platform filter is off, meaning there are no\nscheduling restrictions.\n", - "items": { - "$ref": "#/components/schemas/Platform" - } - } - } - }, - "ForceUpdate": { - "type": "integer", - "description": "A counter that triggers an update even if no relevant parameters have\nbeen changed.\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime is the type of runtime specified for the task executor.\n" - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "Specifies the log driver to use for tasks created from this spec. If\nnot present, the default one for the swarm will be used, finally\nfalling back to the engine default if not specified.\n" - } - }, - "description": "User modifiable task configuration." - }, - "TaskState": { - "type": "string", - "enum": [ - "new", - "allocated", - "pending", - "assigned", - "accepted", - "preparing", - "ready", - "starting", - "running", - "complete", - "shutdown", - "failed", - "rejected", - "remove", - "orphaned" - ] - }, - "Task": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the task." - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Name": { - "type": "string", - "description": "Name of the task." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Spec": { - "$ref": "#/components/schemas/TaskSpec" - }, - "ServiceID": { - "type": "string", - "description": "The ID of the service this task is part of." - }, - "Slot": { - "type": "integer" - }, - "NodeID": { - "type": "string", - "description": "The ID of the node that this task is on." - }, - "AssignedGenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "Status": { - "type": "object", - "properties": { - "Timestamp": { - "type": "string", - "format": "dateTime" - }, - "State": { - "$ref": "#/components/schemas/TaskState" - }, - "Message": { - "type": "string" - }, - "Err": { - "type": "string" - }, - "ContainerStatus": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string" - }, - "PID": { - "type": "integer" - }, - "ExitCode": { - "type": "integer" - } - } - } - } - }, - "DesiredState": { - "$ref": "#/components/schemas/TaskState" - }, - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - } - }, - "example": { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ], - "AssignedGenericResources": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ] - } - }, - "ServiceSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the service." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "TaskTemplate": { - "$ref": "#/components/schemas/TaskSpec" - }, - "Mode": { - "type": "object", - "properties": { - "Replicated": { - "type": "object", - "properties": { - "Replicas": { - "type": "integer", - "format": "int64" - } - } - }, - "Global": { - "type": "object", - "properties": {} - }, - "ReplicatedJob": { - "type": "object", - "properties": { - "MaxConcurrent": { - "type": "integer", - "description": "The maximum number of replicas to run simultaneously.\n", - "format": "int64", - "default": 1 - }, - "TotalCompletions": { - "type": "integer", - "description": "The total number of replicas desired to reach the Completed\nstate. If unset, will default to the value of `MaxConcurrent`\n", - "format": "int64" - } - }, - "description": "The mode used for services with a finite number of tasks that run\nto a completed state.\n" - }, - "GlobalJob": { - "type": "object", - "properties": {}, - "description": "The mode used for services which run a task to the completed state\non each valid node.\n" - } - }, - "description": "Scheduling mode for the service." - }, - "UpdateConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be updated in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between updates, in nanoseconds.", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an updated task fails to run, or stops running\nduring the update.\n", - "enum": [ - "continue", - "pause", - "rollback" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each updated task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during an update before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling out an updated task. Either\nthe old task is shut down before the new task is started, or the\nnew task is started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the update strategy of the service." - }, - "RollbackConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be rolled back in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between rollback iterations, in nanoseconds.\n", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an rolled back task fails to run, or stops\nrunning during the rollback.\n", - "enum": [ - "continue", - "pause" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each rolled back task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during a rollback before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling back a task. Either the old\ntask is shut down before the new task is started, or the new task\nis started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the rollback strategy of the service." - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "EndpointSpec": { - "$ref": "#/components/schemas/EndpointSpec" - } - }, - "description": "User modifiable configuration for a service." - }, - "EndpointPortConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "sctp" - ] - }, - "TargetPort": { - "type": "integer", - "description": "The port inside the container." - }, - "PublishedPort": { - "type": "integer", - "description": "The port on the swarm hosts." - }, - "PublishMode": { - "type": "string", - "description": "The mode in which port is published.\n\n


\n\n- \"ingress\" makes the target port accessible on every node,\n regardless of whether there is a task for the service running on\n that node or not.\n- \"host\" bypasses the routing mesh and publish the port directly on\n the swarm node where that service is running.\n", - "example": "ingress", - "default": "ingress", - "enum": [ - "ingress", - "host" - ] - } - } - }, - "EndpointSpec": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "description": "The mode of resolution to use for internal load balancing between tasks.\n", - "default": "vip", - "enum": [ - "vip", - "dnsrr" - ] - }, - "Ports": { - "type": "array", - "description": "List of exposed ports that this service is accessible on from the\noutside. Ports can only be provided if `vip` resolution mode is used.\n", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - } - }, - "description": "Properties that can be configured to access and load balance a service." - }, - "Service": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ServiceSpec" - }, - "Endpoint": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/EndpointSpec" - }, - "Ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - }, - "VirtualIPs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "NetworkID": { - "type": "string" - }, - "Addr": { - "type": "string" - } - } - } - } - } - }, - "UpdateStatus": { - "type": "object", - "properties": { - "State": { - "type": "string", - "enum": [ - "updating", - "paused", - "completed" - ] - }, - "StartedAt": { - "type": "string", - "format": "dateTime" - }, - "CompletedAt": { - "type": "string", - "format": "dateTime" - }, - "Message": { - "type": "string" - } - }, - "description": "The status of a service update." - }, - "ServiceStatus": { - "type": "object", - "properties": { - "RunningTasks": { - "type": "integer", - "description": "The number of tasks for the service currently in the Running state.\n", - "format": "uint64", - "example": 7 - }, - "DesiredTasks": { - "type": "integer", - "description": "The number of tasks for the service desired to be running.\nFor replicated services, this is the replica count from the\nservice spec. For global services, this is computed by taking\ncount of all tasks for the service with a Desired State other\nthan Shutdown.\n", - "format": "uint64", - "example": 10 - }, - "CompletedTasks": { - "type": "integer", - "description": "The number of tasks for a job that are in the Completed state.\nThis field must be cross-referenced with the service type, as the\nvalue of 0 may mean the service is not in a job mode, or it may\nmean the job-mode service has no tasks yet Completed.\n", - "format": "uint64" - } - }, - "description": "The status of the service's tasks. Provided only when requested as\npart of a ServiceList operation.\n" - }, - "JobStatus": { - "type": "object", - "properties": { - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "LastExecution": { - "type": "string", - "description": "The last time, as observed by the server, that this job was\nstarted.\n", - "format": "dateTime" - } - }, - "description": "The status of the service when it is in one of ReplicatedJob or\nGlobalJob modes. Absent on Replicated and Global mode services. The\nJobIteration is an ObjectVersion, but unlike the Service's version,\ndoes not need to be sent with an update request.\n" - } - }, - "example": { - "ID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Version": { - "Index": 19 - }, - "CreatedAt": "2016-06-07T21:05:51.880065305Z", - "UpdatedAt": "2016-06-07T21:07:29.962229872Z", - "Spec": { - "Name": "hopeful_cori", - "TaskTemplate": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - } - }, - "Endpoint": { - "Spec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - }, - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ], - "VirtualIPs": [ - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.2/16" - }, - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.3/16" - } - ] - } - } - }, - "ImageDeleteResponseItem": { - "type": "object", - "properties": { - "Untagged": { - "type": "string", - "description": "The image ID of an image that was untagged" - }, - "Deleted": { - "type": "string", - "description": "The image ID of an image that was deleted" - } - } - }, - "ServiceUpdateResponse": { - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "description": "Optional warning messages", - "items": { - "type": "string" - } - } - }, - "example": { - "Warning": "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - } - }, - "ContainerSummary": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of this container", - "x-go-name": "ID" - }, - "Names": { - "type": "array", - "description": "The names that this container has been given", - "items": { - "type": "string" - } - }, - "Image": { - "type": "string", - "description": "The name of the image used when creating this container" - }, - "ImageID": { - "type": "string", - "description": "The ID of the image that this container was created from" - }, - "Command": { - "type": "string", - "description": "Command to run when starting the container" - }, - "Created": { - "type": "integer", - "description": "When the container was created", - "format": "int64" - }, - "Ports": { - "type": "array", - "description": "The ports exposed by this container", - "items": { - "$ref": "#/components/schemas/Port" - } - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this container", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container", - "format": "int64" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "State": { - "type": "string", - "description": "The state of this container (e.g. `Exited`)" - }, - "Status": { - "type": "string", - "description": "Additional human-readable status of this container (e.g. `Exit 0`)" - }, - "HostConfig": { - "type": "object", - "properties": { - "NetworkMode": { - "type": "string" - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - } - } - }, - "description": "A summary of the container's network settings" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Mount" - } - } - } - } - }, - "Driver": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver.", - "nullable": false, - "example": "some-driver" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Key/value map of driver-specific options.", - "nullable": false, - "example": { - "OptionA": "value for driver-specific option A", - "OptionB": "value for driver-specific option B" - } - } - }, - "description": "Driver represents a driver (network, logging, secrets)." - }, - "SecretSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the secret." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\ndata to store as secret.\n\nThis field is only used to _create_ a secret, and is not returned by\nother endpoints.\n", - "example": "" - }, - "Driver": { - "$ref": "#/components/schemas/Driver" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Secret": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "blt1owaxmitz71s9v5zh81zun" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "Spec": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "ConfigSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the config." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\nconfig data.\n" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Config": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "ContainerState": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "String representation of the container state. Can be one of \"created\",\n\"running\", \"paused\", \"restarting\", \"removing\", \"exited\", or \"dead\".\n", - "example": "running", - "enum": [ - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - }, - "Running": { - "type": "boolean", - "description": "Whether this container is running.\n\nNote that a running container can be _paused_. The `Running` and `Paused`\nbooleans are not mutually exclusive:\n\nWhen pausing a container (on Linux), the freezer cgroup is used to suspend\nall processes in the container. Freezing the process requires the process to\nbe running. As a result, paused containers are both `Running` _and_ `Paused`.\n\nUse the `Status` field instead to determine if a container's state is \"running\".\n", - "example": true - }, - "Paused": { - "type": "boolean", - "description": "Whether this container is paused.", - "example": false - }, - "Restarting": { - "type": "boolean", - "description": "Whether this container is restarting.", - "example": false - }, - "OOMKilled": { - "type": "boolean", - "description": "Whether this container has been killed because it ran out of memory.\n", - "example": false - }, - "Dead": { - "type": "boolean", - "example": false - }, - "Pid": { - "type": "integer", - "description": "The process ID of this container", - "example": 1234 - }, - "ExitCode": { - "type": "integer", - "description": "The last exit code of this container", - "example": 0 - }, - "Error": { - "type": "string" - }, - "StartedAt": { - "type": "string", - "description": "The time when this container was last started.", - "example": "2020-01-06T09:06:59.461876391Z" - }, - "FinishedAt": { - "type": "string", - "description": "The time when this container last exited.", - "example": "2020-01-06T09:07:59.461876391Z" - }, - "Health": { - "$ref": "#/components/schemas/Health" - } - }, - "description": "ContainerState stores container's running state. It's part of ContainerJSONBase\nand will be returned by the \"inspect\" command.\n" - }, - "SystemVersion": { - "type": "object", - "properties": { - "Platform": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string" - } - } - }, - "Components": { - "type": "array", - "description": "Information about system components\n", - "items": { - "required": [ - "Name", - "Version" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the component\n", - "example": "Engine" - }, - "Version": { - "type": "string", - "description": "Version of the component\n", - "nullable": false, - "example": "19.03.12" - }, - "Details": { - "type": "object", - "properties": {}, - "description": "Key/value pairs of strings with additional information about the\ncomponent. These values are intended for informational purposes\nonly, and their content is not defined, and not part of the API\nspecification.\n\nThese messages can be printed by the client as information to the user.\n", - "nullable": true - } - }, - "x-go-name": "ComponentVersion" - } - }, - "Version": { - "type": "string", - "description": "The version of the daemon", - "example": "19.03.12" - }, - "ApiVersion": { - "type": "string", - "description": "The default (and highest) API version that is supported by the daemon\n", - "example": "1.40" - }, - "MinAPIVersion": { - "type": "string", - "description": "The minimum API version that is supported by the daemon\n", - "example": "1.12" - }, - "GitCommit": { - "type": "string", - "description": "The Git commit of the source code that was used to build the daemon\n", - "example": "48a66213fe" - }, - "GoVersion": { - "type": "string", - "description": "The version Go used to compile the daemon, and the version of the Go\nruntime in use.\n", - "example": "go1.13.14" - }, - "Os": { - "type": "string", - "description": "The operating system that the daemon is running on (\"linux\" or \"windows\")\n", - "example": "linux" - }, - "Arch": { - "type": "string", - "description": "The architecture that the daemon is running on\n", - "example": "amd64" - }, - "KernelVersion": { - "type": "string", - "description": "The kernel version (`uname -r`) that the daemon is running on.\n\nThis field is omitted when empty.\n", - "example": "4.19.76-linuxkit" - }, - "Experimental": { - "type": "boolean", - "description": "Indicates if the daemon is started with experimental features enabled.\n\nThis field is omitted when empty / false.\n", - "example": true - }, - "BuildTime": { - "type": "string", - "description": "The date and time that the daemon was compiled.\n", - "example": "2020-06-22T15:49:27.000000000+00:00" - } - }, - "description": "Response of Engine API: GET \"/version\"\n" - }, - "SystemInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique identifier of the daemon.\n\n


\n\n> **Note**: The format of the ID itself is not part of the API, and\n> should not be considered stable.\n", - "example": "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS" - }, - "Containers": { - "type": "integer", - "description": "Total number of containers on the host.", - "example": 14 - }, - "ContainersRunning": { - "type": "integer", - "description": "Number of containers with status `\"running\"`.\n", - "example": 3 - }, - "ContainersPaused": { - "type": "integer", - "description": "Number of containers with status `\"paused\"`.\n", - "example": 1 - }, - "ContainersStopped": { - "type": "integer", - "description": "Number of containers with status `\"stopped\"`.\n", - "example": 10 - }, - "Images": { - "type": "integer", - "description": "Total number of images on the host.\n\nBoth _tagged_ and _untagged_ (dangling) images are counted.\n", - "example": 508 - }, - "Driver": { - "type": "string", - "description": "Name of the storage driver in use.", - "example": "overlay2" - }, - "DriverStatus": { - "type": "array", - "description": "Information specific to the storage driver, provided as\n\"label\" / \"value\" pairs.\n\nThis information is provided by the storage driver, and formatted\nin a way consistent with the output of `docker info` on the command\nline.\n\n


\n\n> **Note**: The information returned in this field, including the\n> formatting of values and labels, should not be considered stable,\n> and may change without notice.\n", - "example": [ - [ - "Backing Filesystem", - "extfs" - ], - [ - "Supports d_type", - "true" - ], - [ - "Native Overlay Diff", - "true" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "DockerRootDir": { - "type": "string", - "description": "Root directory of persistent Docker state.\n\nDefaults to `/var/lib/docker` on Linux, and `C:\\ProgramData\\docker`\non Windows.\n", - "example": "/var/lib/docker" - }, - "Plugins": { - "$ref": "#/components/schemas/PluginsInfo" - }, - "MemoryLimit": { - "type": "boolean", - "description": "Indicates if the host has memory limit support enabled.", - "example": true - }, - "SwapLimit": { - "type": "boolean", - "description": "Indicates if the host has memory swap limit support enabled.", - "example": true - }, - "KernelMemory": { - "type": "boolean", - "description": "Indicates if the host has kernel memory limit support enabled.\n\n


\n\n> **Deprecated**: This field is deprecated as the kernel 5.4 deprecated\n> `kmem.limit_in_bytes`.\n", - "example": true - }, - "CpuCfsPeriod": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by\nthe host.\n", - "example": true - }, - "CpuCfsQuota": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by\nthe host.\n", - "example": true - }, - "CPUShares": { - "type": "boolean", - "description": "Indicates if CPU Shares limiting is supported by the host.\n", - "example": true - }, - "CPUSet": { - "type": "boolean", - "description": "Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.\n\nSee [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)\n", - "example": true - }, - "PidsLimit": { - "type": "boolean", - "description": "Indicates if the host kernel has PID limit support enabled.", - "example": true - }, - "OomKillDisable": { - "type": "boolean", - "description": "Indicates if OOM killer disable is supported on the host." - }, - "IPv4Forwarding": { - "type": "boolean", - "description": "Indicates IPv4 forwarding is enabled.", - "example": true - }, - "BridgeNfIptables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-iptables` is available on the host.", - "example": true - }, - "BridgeNfIp6tables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-ip6tables` is available on the host.", - "example": true - }, - "Debug": { - "type": "boolean", - "description": "Indicates if the daemon is running in debug-mode / with debug-level\nlogging enabled.\n", - "example": true - }, - "NFd": { - "type": "integer", - "description": "The total number of file Descriptors in use by the daemon process.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 64 - }, - "NGoroutines": { - "type": "integer", - "description": "The number of goroutines that currently exist.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 174 - }, - "SystemTime": { - "type": "string", - "description": "Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat with nano-seconds.\n", - "example": "2017-08-08T20:28:29.06202363Z" - }, - "LoggingDriver": { - "type": "string", - "description": "The logging driver to use as a default for new containers.\n" - }, - "CgroupDriver": { - "type": "string", - "description": "The driver to use for managing cgroups.\n", - "example": "cgroupfs", - "default": "cgroupfs", - "enum": [ - "cgroupfs", - "systemd", - "none" - ] - }, - "CgroupVersion": { - "type": "string", - "description": "The version of the cgroup.\n", - "example": "1", - "default": "1", - "enum": [ - "1", - "2" - ] - }, - "NEventsListener": { - "type": "integer", - "description": "Number of event listeners subscribed.", - "example": 30 - }, - "KernelVersion": { - "type": "string", - "description": "Kernel version of the host.\n\nOn Linux, this information obtained from `uname`. On Windows this\ninformation is queried from the HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\\nregistry value, for example _\"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)\"_.\n", - "example": "4.9.38-moby" - }, - "OperatingSystem": { - "type": "string", - "description": "Name of the host's operating system, for example: \"Ubuntu 16.04.2 LTS\"\nor \"Windows Server 2016 Datacenter\"\n", - "example": "Alpine Linux v3.5" - }, - "OSVersion": { - "type": "string", - "description": "Version of the host's operating system\n\n


\n\n> **Note**: The information returned in this field, including its\n> very existence, and the formatting of values, should not be considered\n> stable, and may change without notice.\n", - "example": "16.04" - }, - "OSType": { - "type": "string", - "description": "Generic type of the operating system of the host, as returned by the\nGo runtime (`GOOS`).\n\nCurrently returned values are \"linux\" and \"windows\". A full list of\npossible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).\n", - "example": "linux" - }, - "Architecture": { - "type": "string", - "description": "Hardware architecture of the host, as returned by the Go runtime\n(`GOARCH`).\n\nA full list of possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).\n", - "example": "x86_64" - }, - "NCPU": { - "type": "integer", - "description": "The number of logical CPUs usable by the daemon.\n\nThe number of available CPUs is checked by querying the operating\nsystem when the daemon starts. Changes to operating system CPU\nallocation after the daemon is started are not reflected.\n", - "example": 4 - }, - "MemTotal": { - "type": "integer", - "description": "Total amount of physical memory available on the host, in bytes.\n", - "format": "int64", - "example": 2095882240 - }, - "IndexServerAddress": { - "type": "string", - "description": "Address / URL of the index server that is used for image search,\nand as a default for user authentication for Docker Hub and Docker Cloud.\n", - "example": "https://index.docker.io/v1/", - "default": "https://index.docker.io/v1/" - }, - "RegistryConfig": { - "$ref": "#/components/schemas/RegistryServiceConfig" - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "HttpProxy": { - "type": "string", - "description": "HTTP-proxy configured for the daemon. This value is obtained from the\n[`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "http://xxxxx:xxxxx@proxy.corp.example.com:8080" - }, - "HttpsProxy": { - "type": "string", - "description": "HTTPS-proxy configured for the daemon. This value is obtained from the\n[`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "https://xxxxx:xxxxx@proxy.corp.example.com:4443" - }, - "NoProxy": { - "type": "string", - "description": "Comma-separated list of domain extensions for which no proxy should be\nused. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)\nenvironment variable.\n\nContainers do not automatically inherit this configuration.\n", - "example": "*.local, 169.254/16" - }, - "Name": { - "type": "string", - "description": "Hostname of the host.", - "example": "node5.corp.example.com" - }, - "Labels": { - "type": "array", - "description": "User-defined labels (key/value metadata) as set on the daemon.\n\n


\n\n> **Note**: When part of a Swarm, nodes can both have _daemon_ labels,\n> set through the daemon configuration, and _node_ labels, set from a\n> manager node in the Swarm. Node labels are not included in this\n> field. Node labels can be retrieved using the `/nodes/(id)` endpoint\n> on a manager node in the Swarm.\n", - "example": [ - "storage=ssd", - "production" - ], - "items": { - "type": "string" - } - }, - "ExperimentalBuild": { - "type": "boolean", - "description": "Indicates if experimental features are enabled on the daemon.\n", - "example": true - }, - "ServerVersion": { - "type": "string", - "description": "Version string of the daemon.\n\n> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)\n> returns the Swarm version instead of the daemon version, for example\n> `swarm/1.2.8`.\n", - "example": "17.06.0-ce" - }, - "ClusterStore": { - "type": "string", - "description": "URL of the distributed storage backend.\n\n\nThe storage backend is used for multihost networking (to store\nnetwork and endpoint information) and by the node discovery mechanism.\n\n


\n\n> **Deprecated**: This field is only propagated when using standalone Swarm\n> mode, and overlay networking using an external k/v store. Overlay\n> networks with Swarm mode enabled use the built-in raft store, and\n> this field will be empty.\n", - "example": "consul://consul.corp.example.com:8600/some/path" - }, - "ClusterAdvertise": { - "type": "string", - "description": "The network endpoint that the Engine advertises for the purpose of\nnode discovery. ClusterAdvertise is a `host:port` combination on which\nthe daemon is reachable by other hosts.\n\n


\n\n> **Deprecated**: This field is only propagated when using standalone Swarm\n> mode, and overlay networking using an external k/v store. Overlay\n> networks with Swarm mode enabled use the built-in raft store, and\n> this field will be empty.\n", - "example": "node5.corp.example.com:8000" - }, - "Runtimes": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Runtime" - }, - "description": "List of [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntimes configured on the daemon. Keys hold the \"name\" used to\nreference the runtime.\n\nThe Docker daemon relies on an OCI compliant runtime (invoked via the\n`containerd` daemon) as its interface to the Linux kernel namespaces,\ncgroups, and SELinux.\n\nThe default runtime is `runc`, and automatically configured. Additional\nruntimes can be configured by the user and will be listed here.\n", - "example": { - "runc": { - "path": "runc" - }, - "runc-master": { - "path": "/go/bin/runc" - }, - "custom": { - "path": "/usr/local/bin/my-oci-runtime", - "runtimeArgs": [ - "--debug", - "--systemd-cgroup=false" - ] - } - } - }, - "DefaultRuntime": { - "type": "string", - "description": "Name of the default OCI runtime that is used when starting containers.\n\nThe default can be overridden per-container at create time.\n", - "example": "runc", - "default": "runc" - }, - "Swarm": { - "$ref": "#/components/schemas/SwarmInfo" - }, - "LiveRestoreEnabled": { - "type": "boolean", - "description": "Indicates if live restore is enabled.\n\nIf enabled, containers are kept running when the daemon is shutdown\nor upon daemon start if running containers are detected.\n", - "example": false, - "default": false - }, - "Isolation": { - "type": "string", - "description": "Represents the isolation technology to use as a default for containers.\nThe supported values are platform-specific.\n\nIf no isolation value is specified on daemon start, on Windows client,\nthe default is `hyperv`, and on Windows server, the default is `process`.\n\nThis option is currently not used on other platforms.\n", - "default": "default", - "enum": [ - "default", - "hyperv", - "process" - ] - }, - "InitBinary": { - "type": "string", - "description": "Name and, optional, path of the `docker-init` binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "docker-init" - }, - "ContainerdCommit": { - "$ref": "#/components/schemas/Commit" - }, - "RuncCommit": { - "$ref": "#/components/schemas/Commit" - }, - "InitCommit": { - "$ref": "#/components/schemas/Commit" - }, - "SecurityOptions": { - "type": "array", - "description": "List of security features that are enabled on the daemon, such as\napparmor, seccomp, SELinux, user-namespaces (userns), and rootless.\n\nAdditional configuration options for each security feature may\nbe present, and are included as a comma-separated list of key/value\npairs.\n", - "example": [ - "name=apparmor", - "name=seccomp,profile=default", - "name=selinux", - "name=userns", - "name=rootless" - ], - "items": { - "type": "string" - } - }, - "ProductLicense": { - "type": "string", - "description": "Reports a summary of the product license on the daemon.\n\nIf a commercial license has been applied to the daemon, information\nsuch as number of nodes, and expiration are included.\n", - "example": "Community Engine" - }, - "DefaultAddressPools": { - "type": "array", - "description": "List of custom default address pools for local networks, which can be\nspecified in the daemon.json file or dockerd option.\n\nExample: a Base \"10.10.0.0/16\" with Size 24 will define the set of 256\n10.10.[0-255].0/24 address pools.\n", - "items": { - "type": "object", - "properties": { - "Base": { - "type": "string", - "description": "The network address in CIDR format", - "example": "10.10.0.0/16" - }, - "Size": { - "type": "integer", - "description": "The network pool size", - "example": 24 - } - } - } - }, - "Warnings": { - "type": "array", - "description": "List of warnings / informational messages about missing features, or\nissues related to the daemon configuration.\n\nThese messages can be printed by the client as information to the user.\n", - "example": [ - "WARNING: No memory limit support", - "WARNING: bridge-nf-call-iptables is disabled", - "WARNING: bridge-nf-call-ip6tables is disabled" - ], - "items": { - "type": "string" - } - } - } - }, - "PluginsInfo": { - "type": "object", - "properties": { - "Volume": { - "type": "array", - "description": "Names of available volume-drivers, and network-driver plugins.", - "example": [ - "local" - ], - "items": { - "type": "string" - } - }, - "Network": { - "type": "array", - "description": "Names of available network-drivers, and network-driver plugins.", - "example": [ - "bridge", - "host", - "ipvlan", - "macvlan", - "null", - "overlay" - ], - "items": { - "type": "string" - } - }, - "Authorization": { - "type": "array", - "description": "Names of available authorization plugins.", - "example": [ - "img-authz-plugin", - "hbm" - ], - "items": { - "type": "string" - } - }, - "Log": { - "type": "array", - "description": "Names of available logging-drivers, and logging-driver plugins.", - "example": [ - "awslogs", - "fluentd", - "gcplogs", - "gelf", - "journald", - "json-file", - "logentries", - "splunk", - "syslog" - ], - "items": { - "type": "string" - } - } - }, - "description": "Available plugins per type.\n\n


\n\n> **Note**: Only unmanaged (V1) plugins are included in this list.\n> V1 plugins are \"lazily\" loaded, and are not returned in this list\n> if there is no resource using the plugin.\n" - }, - "RegistryServiceConfig": { - "type": "object", - "properties": { - "AllowNondistributableArtifactsCIDRs": { - "type": "array", - "description": "List of IP ranges to which nondistributable artifacts can be pushed,\nusing the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632).\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior, and enables the daemon to\npush nondistributable artifacts to all registries whose resolved IP\naddress is within the subnet described by the CIDR syntax.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "AllowNondistributableArtifactsHostnames": { - "type": "array", - "description": "List of registry hostnames to which nondistributable artifacts can be\npushed, using the format `[:]` or `[:]`.\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior for the specified\nregistries.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "registry.internal.corp.example.com:3000", - "[2001:db8:a0b:12f0::1]:443" - ], - "items": { - "type": "string" - } - }, - "InsecureRegistryCIDRs": { - "type": "array", - "description": "List of IP ranges of insecure registries, using the CIDR syntax\n([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries\naccept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates\nfrom unknown CAs) communication.\n\nBy default, local registries (`127.0.0.0/8`) are configured as\ninsecure. All other registries are secure. Communicating with an\ninsecure registry is not possible if the daemon assumes that registry\nis secure.\n\nThis configuration override this behavior, insecure communication with\nregistries whose resolved IP address is within the subnet described by\nthe CIDR syntax.\n\nRegistries can also be marked insecure by hostname. Those registries\nare listed under `IndexConfigs` and have their `Secure` field set to\n`false`.\n\n> **Warning**: Using this option can be useful when running a local\n> registry, but introduces security vulnerabilities. This option\n> should therefore ONLY be used for testing purposes. For increased\n> security, users should add their CA to their system's list of trusted\n> CAs instead of enabling this option.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "IndexConfigs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/IndexInfo" - }, - "example": { - "127.0.0.1:5000": { - "Name": "127.0.0.1:5000", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "[2001:db8:a0b:12f0::1]:80": { - "Name": "[2001:db8:a0b:12f0::1]:80", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "docker.io": { - "Name": "docker.io", - "Mirrors": [ - "https://hub-mirror.corp.example.com:5000/" - ], - "Secure": true, - "Official": true - }, - "registry.internal.corp.example.com:3000": { - "Name": "registry.internal.corp.example.com:3000", - "Mirrors": [], - "Secure": false, - "Official": false - } - } - }, - "Mirrors": { - "type": "array", - "description": "List of registry URLs that act as a mirror for the official\n(`docker.io`) registry.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://[2001:db8:a0b:12f0::1]/" - ], - "items": { - "type": "string" - } - } - }, - "description": "RegistryServiceConfig stores daemon registry services configuration.\n", - "nullable": true, - "x-nullable": true - }, - "IndexInfo": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the registry, such as \"docker.io\".\n", - "example": "docker.io" - }, - "Mirrors": { - "type": "array", - "description": "List of mirrors, expressed as URIs.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://registry-2.docker.io/", - "https://registry-3.docker.io/" - ], - "items": { - "type": "string" - } - }, - "Secure": { - "type": "boolean", - "description": "Indicates if the registry is part of the list of insecure\nregistries.\n\nIf `false`, the registry is insecure. Insecure registries accept\nun-encrypted (HTTP) and/or untrusted (HTTPS with certificates from\nunknown CAs) communication.\n\n> **Warning**: Insecure registries can be useful when running a local\n> registry. However, because its use creates security vulnerabilities\n> it should ONLY be enabled for testing purposes. For increased\n> security, users should add their CA to their system's list of\n> trusted CAs instead of enabling this option.\n", - "example": true - }, - "Official": { - "type": "boolean", - "description": "Indicates whether this is an official registry (i.e., Docker Hub / docker.io)\n", - "example": true - } - }, - "description": "IndexInfo contains information about a registry.", - "nullable": true, - "x-nullable": true - }, - "Runtime": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Name and, optional, path, of the OCI executable binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "/usr/local/bin/my-oci-runtime" - }, - "runtimeArgs": { - "type": "array", - "description": "List of command-line arguments to pass to the runtime when invoked.\n", - "nullable": true, - "example": [ - "--debug", - "--systemd-cgroup=false" - ], - "items": { - "type": "string" - } - } - }, - "description": "Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntime.\n\nThe runtime is invoked by the daemon via the `containerd` daemon. OCI\nruntimes act as an interface to the Linux kernel namespaces, cgroups,\nand SELinux.\n" - }, - "Commit": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Actual commit ID of external tool.", - "example": "cfb82a876ecc11b5ca0977d1733adbe58599088a" - }, - "Expected": { - "type": "string", - "description": "Commit ID of external tool expected by dockerd as set at build time.\n", - "example": "2d41c047c83e09a6d61d464906feb2a2f3c52aa4" - } - }, - "description": "Commit holds the Git-commit (SHA1) that a binary was built from, as\nreported in the version-string of external tools, such as `containerd`,\nor `runC`.\n" - }, - "SwarmInfo": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm.", - "example": "k67qz4598weg5unwwffg6z1m1", - "default": "" - }, - "NodeAddr": { - "type": "string", - "description": "IP address at which this node can be reached by other nodes in the\nswarm.\n", - "example": "10.0.0.46", - "default": "" - }, - "LocalNodeState": { - "$ref": "#/components/schemas/LocalNodeState" - }, - "ControlAvailable": { - "type": "boolean", - "example": true, - "default": false - }, - "Error": { - "type": "string", - "default": "" - }, - "RemoteManagers": { - "type": "array", - "description": "List of ID's and addresses of other managers in the swarm.\n", - "nullable": true, - "example": [ - { - "NodeID": "71izy0goik036k48jg985xnds", - "Addr": "10.0.0.158:2377" - }, - { - "NodeID": "79y6h1o4gv8n120drcprv5nmc", - "Addr": "10.0.0.159:2377" - }, - { - "NodeID": "k67qz4598weg5unwwffg6z1m1", - "Addr": "10.0.0.46:2377" - } - ], - "items": { - "$ref": "#/components/schemas/PeerNode" - } - }, - "Nodes": { - "type": "integer", - "description": "Total number of nodes in the swarm.", - "nullable": true, - "example": 4 - }, - "Managers": { - "type": "integer", - "description": "Total number of managers in the swarm.", - "nullable": true, - "example": 3 - }, - "Cluster": { - "$ref": "#/components/schemas/ClusterInfo" - } - }, - "description": "Represents generic information about swarm.\n" - }, - "LocalNodeState": { - "type": "string", - "description": "Current local status of this node.", - "example": "active", - "default": "", - "enum": [ - "", - "inactive", - "pending", - "active", - "error", - "locked" - ] - }, - "PeerNode": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm." - }, - "Addr": { - "type": "string", - "description": "IP address and ports at which this node can be reached.\n" - } - }, - "description": "Represents a peer-node in the swarm" - }, - "NetworkAttachmentConfig": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "The target network for attachment. Must be a network name or ID.\n" - }, - "Aliases": { - "type": "array", - "description": "Discoverable alternate names for the service on this network.\n", - "items": { - "type": "string" - } - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver attachment options for the network target.\n" - } - }, - "description": "Specifies how a service should be attached to a particular network.\n" - } - } - } -} \ No newline at end of file diff --git a/app/vendor/beluga-php/docker-php-api/spec/v1.42.json b/app/vendor/beluga-php/docker-php-api/spec/v1.42.json deleted file mode 100644 index 541cb2159..000000000 --- a/app/vendor/beluga-php/docker-php-api/spec/v1.42.json +++ /dev/null @@ -1,16631 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Docker Engine API", - "description": "The Engine API is an HTTP API served by Docker Engine. It is the API the\nDocker client uses to communicate with the Engine, so everything the Docker\nclient can do can be done with the API.\n\nMost of the client's commands map directly to API endpoints (e.g. `docker ps`\nis `GET /containers/json`). The notable exception is running containers,\nwhich consists of several API calls.\n\n# Errors\n\nThe API uses standard HTTP status codes to indicate the success or failure\nof the API call. The body of the response will be JSON in the following\nformat:\n\n```\n{\n \"message\": \"page not found\"\n}\n```\n\n# Versioning\n\nThe API is usually changed in each release, so API calls are versioned to\nensure that clients don't break. To lock to a specific version of the API,\nyou prefix the URL with its version, for example, call `/v1.30/info` to use\nthe v1.30 version of the `/info` endpoint. If the API version specified in\nthe URL is not supported by the daemon, a HTTP `400 Bad Request` error message\nis returned.\n\nIf you omit the version-prefix, the current version of the API (v1.42) is used.\nFor example, calling `/info` is the same as calling `/v1.42/info`. Using the\nAPI without a version-prefix is deprecated and will be removed in a future release.\n\nEngine releases in the near future should support this version of the API,\nso your client will continue to work even if it is talking to a newer Engine.\n\nThe API uses an open schema model, which means server may add extra properties\nto responses. Likewise, the server will ignore any extra query parameters and\nrequest body properties. When you write clients, you need to ignore additional\nproperties in responses to ensure they do not break when talking to newer\ndaemons.\n\n\n# Authentication\n\nAuthentication for registries is handled client side. The client has to send\nauthentication details to various endpoints that need to communicate with\nregistries, such as `POST /images/(name)/push`. These are sent as\n`X-Registry-Auth` header as a [base64url encoded](https://tools.ietf.org/html/rfc4648#section-5)\n(JSON) string with the following structure:\n\n```\n{\n \"username\": \"string\",\n \"password\": \"string\",\n \"email\": \"string\",\n \"serveraddress\": \"string\"\n}\n```\n\nThe `serveraddress` is a domain/IP without a protocol. Throughout this\nstructure, double quotes are required.\n\nIf you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth),\nyou can just pass this instead of credentials:\n\n```\n{\n \"identitytoken\": \"9cbaf023786cd7...\"\n}\n```\n", - "version": "1.42", - "x-logo": { - "url": "https://docs.docker.com/assets/images/logo-docker-main.png" - } - }, - "servers": [ - { - "url": "/v1.42" - } - ], - "tags": [ - { - "name": "Container", - "description": "Create and manage containers.\n", - "x-displayName": "Containers" - }, - { - "name": "Image", - "x-displayName": "Images" - }, - { - "name": "Network", - "description": "Networks are user-defined networks that containers can be attached to.\nSee the [networking documentation](https://docs.docker.com/network/)\nfor more information.\n", - "x-displayName": "Networks" - }, - { - "name": "Volume", - "description": "Create and manage persistent storage that can be attached to containers.\n", - "x-displayName": "Volumes" - }, - { - "name": "Exec", - "description": "Run new commands inside running containers. Refer to the\n[command-line reference](https://docs.docker.com/engine/reference/commandline/exec/)\nfor more information.\n\nTo exec a command in a container, you first need to create an exec instance,\nthen start it. These two API endpoints are wrapped up in a single command-line\ncommand, `docker exec`.\n", - "x-displayName": "Exec" - }, - { - "name": "Swarm", - "description": "Engines can be clustered together in a swarm. Refer to the\n[swarm mode documentation](https://docs.docker.com/engine/swarm/)\nfor more information.\n", - "x-displayName": "Swarm" - }, - { - "name": "Node", - "description": "Nodes are instances of the Engine participating in a swarm. Swarm mode\nmust be enabled for these endpoints to work.\n", - "x-displayName": "Nodes" - }, - { - "name": "Service", - "description": "Services are the definitions of tasks to run on a swarm. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Services" - }, - { - "name": "Task", - "description": "A task is a container running on a swarm. It is the atomic scheduling unit\nof swarm. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Tasks" - }, - { - "name": "Secret", - "description": "Secrets are sensitive data that can be used by services. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Secrets" - }, - { - "name": "Config", - "description": "Configs are application configurations that can be used by services. Swarm\nmode must be enabled for these endpoints to work.\n", - "x-displayName": "Configs" - }, - { - "name": "Plugin", - "x-displayName": "Plugins" - }, - { - "name": "System", - "x-displayName": "System" - } - ], - "paths": { - "/containers/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "List containers", - "description": "Returns a list of containers. For details on the format, see the\n[inspect endpoint](#operation/ContainerInspect).\n\nNote that it uses a different, smaller representation of a container\nthan inspecting a single container. For example, the list of linked\ncontainers is not propagated .\n", - "operationId": "ContainerList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Return all containers. By default, only running containers are shown.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "limit", - "in": "query", - "description": "Return this number of most recently created containers, including\nnon-running ones.\n", - "schema": { - "type": "integer" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "Filters to process on the container list, encoded as JSON (a\n`map[string][]string`). For example, `{\"status\": [\"paused\"]}` will\nonly return paused containers.\n\nAvailable filters:\n\n- `ancestor`=(`[:]`, ``, or ``)\n- `before`=(`` or ``)\n- `expose`=(`[/]`|`/[]`)\n- `exited=` containers with exit code of ``\n- `health`=(`starting`|`healthy`|`unhealthy`|`none`)\n- `id=` a container's ID\n- `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)\n- `is-task=`(`true`|`false`)\n- `label=key` or `label=\"key=value\"` of a container label\n- `name=` a container's name\n- `network`=(`` or ``)\n- `publish`=(`[/]`|`/[]`)\n- `since`=(`` or ``)\n- `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)\n- `volume`=(`` or ``)\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "example": [ - { - "Id": "8dfafdbc3a40", - "Names": [ - "/boring_feynman" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 1", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [ - { - "PrivatePort": 2222, - "PublicPort": 3333, - "Type": "tcp" - } - ], - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:02" - } - } - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - }, - { - "Id": "9cd87474be90", - "Names": [ - "/coolName" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 222222", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.8", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:08" - } - } - }, - "Mounts": [] - }, - { - "Id": "3176a2479c92", - "Names": [ - "/sleepy_dog" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 3333333333333333", - "Created": 1367854154, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.6", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:06" - } - } - }, - "Mounts": [] - }, - { - "Id": "4cb07b47f9fb", - "Names": [ - "/running_cat" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 444444444444444444444444444444444", - "Created": 1367854152, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.5", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:05" - } - } - }, - "Mounts": [] - } - ] - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/create": { - "post": { - "tags": [ - "Container" - ], - "summary": "Create a container", - "operationId": "ContainerCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Assign the specified name to the container. Must match\n`/?[a-zA-Z0-9][a-zA-Z0-9_.-]+`.\n", - "schema": { - "pattern": "^/?[a-zA-Z0-9][a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format `os[/arch[/variant]]` used for image lookup.\n\nWhen specified, the daemon checks if the requested image is present\nin the local image cache with the given OS and Architecture, and\notherwise returns a `404` status.\n\nIf the option is not set, the host's native OS and Architecture are\nused to look up the image in the image cache. However, if no platform\nis passed and the given image does exist in the local image cache,\nbut its OS or architecture does not match, the container is created\nwith the available image, and a warning is added to the `Warnings`\nfield in the response, for example;\n\n WARNING: The requested image's platform (linux/arm64/v8) does not\n match the detected host platform (linux/amd64) and no\n specific platform was requested\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Container to create", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - }, - "application/octet-stream": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "Container created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerCreateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/containers/{id}/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "Inspect a container", - "description": "Return low-level information about a container.", - "operationId": "ContainerInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerInspectResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the container" - }, - "Created": { - "type": "string", - "description": "The time the container was created" - }, - "Path": { - "type": "string", - "description": "The path to the command being run" - }, - "Args": { - "type": "array", - "description": "The arguments to the command being run", - "items": { - "type": "string" - } - }, - "State": { - "$ref": "#/components/schemas/ContainerState" - }, - "Image": { - "type": "string", - "description": "The container's image ID" - }, - "ResolvConfPath": { - "type": "string" - }, - "HostnamePath": { - "type": "string" - }, - "HostsPath": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestartCount": { - "type": "integer" - }, - "Driver": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "MountLabel": { - "type": "string" - }, - "ProcessLabel": { - "type": "string" - }, - "AppArmorProfile": { - "type": "string" - }, - "ExecIDs": { - "type": "array", - "description": "IDs of exec instances that are running in the container.", - "nullable": true, - "items": { - "type": "string" - } - }, - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this\ncontainer.\n", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container.", - "format": "int64" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "NetworkSettings": { - "$ref": "#/components/schemas/NetworkSettings" - } - } - }, - "example": { - "AppArmorProfile": "", - "Args": [ - "-c", - "exit 9" - ], - "Config": { - "AttachStderr": true, - "AttachStdin": false, - "AttachStdout": true, - "Cmd": [ - "/bin/sh", - "-c", - "exit 9" - ], - "Domainname": "", - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Healthcheck": { - "Test": [ - "CMD-SHELL", - "exit 0" - ] - }, - "Hostname": "ba033ac44011", - "Image": "ubuntu", - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "MacAddress": "", - "NetworkDisabled": false, - "OpenStdin": false, - "StdinOnce": false, - "Tty": false, - "User": "", - "Volumes": { - "/volumes/data": {} - }, - "WorkingDir": "", - "StopSignal": "SIGTERM", - "StopTimeout": 10 - }, - "Created": "2015-01-06T15:47:31.485331387Z", - "Driver": "devicemapper", - "ExecIDs": [ - "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca", - "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4" - ], - "HostConfig": { - "MaximumIOps": 0, - "MaximumIOBps": 0, - "BlkioWeight": 0, - "BlkioWeightDevice": [ - {} - ], - "BlkioDeviceReadBps": [ - {} - ], - "BlkioDeviceWriteBps": [ - {} - ], - "BlkioDeviceReadIOps": [ - {} - ], - "BlkioDeviceWriteIOps": [ - {} - ], - "ContainerIDFile": "", - "CpusetCpus": "", - "CpusetMems": "", - "CpuPercent": 80, - "CpuShares": 0, - "CpuPeriod": 100000, - "CpuRealtimePeriod": 1000000, - "CpuRealtimeRuntime": 10000, - "Devices": [], - "DeviceRequests": [ - { - "Driver": "nvidia", - "Count": -1, - "DeviceIDs\"": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "Capabilities": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "Options": { - "property1": "string", - "property2": "string" - } - } - ], - "IpcMode": "", - "Memory": 0, - "MemorySwap": 0, - "MemoryReservation": 0, - "OomKillDisable": false, - "OomScoreAdj": 500, - "NetworkMode": "bridge", - "PidMode": "", - "PortBindings": {}, - "Privileged": false, - "ReadonlyRootfs": false, - "PublishAllPorts": false, - "RestartPolicy": { - "MaximumRetryCount": 2, - "Name": "on-failure" - }, - "LogConfig": { - "Type": "json-file" - }, - "Sysctls": { - "net.ipv4.ip_forward": "1" - }, - "Ulimits": [ - {} - ], - "VolumeDriver": "", - "ShmSize": 67108864 - }, - "HostnamePath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname", - "HostsPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts", - "LogPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log", - "Id": "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39", - "Image": "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2", - "MountLabel": "", - "Name": "/boring_euclid", - "NetworkSettings": { - "Bridge": "", - "SandboxID": "", - "HairpinMode": false, - "LinkLocalIPv6Address": "", - "LinkLocalIPv6PrefixLen": 0, - "SandboxKey": "", - "EndpointID": "", - "Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "IPAddress": "", - "IPPrefixLen": 0, - "IPv6Gateway": "", - "MacAddress": "", - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Path": "/bin/sh", - "ProcessLabel": "", - "ResolvConfPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf", - "RestartCount": 1, - "State": { - "Error": "", - "ExitCode": 9, - "FinishedAt": "2015-01-06T15:47:32.080254511Z", - "Health": { - "Status": "healthy", - "FailingStreak": 0, - "Log": [ - { - "Start": "2019-12-22T10:59:05.6385933Z", - "End": "2019-12-22T10:59:05.8078452Z", - "ExitCode": 0, - "Output": "" - } - ] - }, - "OOMKilled": false, - "Dead": false, - "Paused": false, - "Pid": 0, - "Restarting": false, - "Running": true, - "StartedAt": "2015-01-06T15:47:32.072697474Z", - "Status": "running" - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/top": { - "get": { - "tags": [ - "Container" - ], - "summary": "List processes running inside a container", - "description": "On Unix systems, this is done by running the `ps` command. This endpoint\nis not supported on Windows.\n", - "operationId": "ContainerTop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ps_args", - "in": "query", - "description": "The arguments to pass to `ps`. For example, `aux`", - "schema": { - "type": "string", - "default": "-ef" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - }, - "example": { - "Titles": [ - "UID", - "PID", - "PPID", - "C", - "STIME", - "TTY", - "TIME", - "CMD" - ], - "Processes": [ - [ - "root", - "13642", - "882", - "0", - "17:03", - "pts/0", - "00:00:00", - "/bin/bash" - ], - [ - "root", - "13735", - "13642", - "0", - "17:06", - "pts/0", - "00:00:00", - "sleep 10" - ] - ] - } - }, - "text/plain": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/logs": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container logs", - "description": "Get `stdout` and `stderr` logs from a container.\n\nNote: This endpoint works only for containers with the `json-file` or\n`journald` logging driver.\n", - "operationId": "ContainerLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "until", - "in": "query", - "description": "Only return logs before this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body.\nFor the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).\nNote that unlike the attach endpoint, the logs endpoint does not\nupgrade the connection and does not set Content-Type.\n", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/changes": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get changes on a container’s filesystem", - "description": "Returns which files in a container's filesystem have been added, deleted,\nor modified. The `Kind` of modification can be one of:\n\n- `0`: Modified\n- `1`: Added\n- `2`: Deleted\n", - "operationId": "ContainerChanges", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "The list of changes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ContainerChangeResponseItem", - "required": [ - "Kind", - "Path" - ], - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Path to file that has changed", - "nullable": false - }, - "Kind": { - "type": "integer", - "description": "Kind of change", - "format": "uint8", - "nullable": false - } - }, - "description": "change item in response to ContainerChanges operation", - "x-go-name": "ContainerChangeResponseItem" - } - }, - "example": [ - { - "Path": "/dev", - "Kind": 0 - }, - { - "Path": "/dev/kmsg", - "Kind": 1 - }, - { - "Path": "/test", - "Kind": 1 - } - ] - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/export": { - "get": { - "tags": [ - "Container" - ], - "summary": "Export a container", - "description": "Export the contents of a container as a tarball.", - "operationId": "ContainerExport", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stats": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container stats based on resource usage", - "description": "This endpoint returns a live stream of a container’s resource usage\nstatistics.\n\nThe `precpu_stats` is the CPU statistic of the *previous* read, and is\nused to calculate the CPU usage percentage. It is not an exact copy\nof the `cpu_stats` field.\n\nIf either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is\nnil then for compatibility with older daemons the length of the\ncorresponding `cpu_usage.percpu_usage` array should be used.\n\nOn a cgroup v2 host, the following fields are not set\n* `blkio_stats`: all fields other than `io_service_bytes_recursive`\n* `cpu_stats`: `cpu_usage.percpu_usage`\n* `memory_stats`: `max_usage` and `failcnt`\nAlso, `memory_stats.stats` fields are incompatible with cgroup v1.\n\nTo calculate the values shown by the `stats` command of the docker cli tool\nthe following formulas can be used:\n* used_memory = `memory_stats.usage - memory_stats.stats.cache`\n* available_memory = `memory_stats.limit`\n* Memory usage % = `(used_memory / available_memory) * 100.0`\n* cpu_delta = `cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage`\n* system_cpu_delta = `cpu_stats.system_cpu_usage - precpu_stats.system_cpu_usage`\n* number_cpus = `lenght(cpu_stats.cpu_usage.percpu_usage)` or `cpu_stats.online_cpus`\n* CPU usage % = `(cpu_delta / system_cpu_delta) * number_cpus * 100.0`\n", - "operationId": "ContainerStats", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream the output. If false, the stats will be output once and then\nit will disconnect.\n", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "one-shot", - "in": "query", - "description": "Only get a single stat instead of waiting for 2 cycles. Must be used\nwith `stream=false`.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "read": "2015-01-08T22:57:31.547920715Z", - "pids_stats": { - "current": 3 - }, - "networks": { - "eth0": { - "rx_bytes": 5338, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 36, - "tx_bytes": 648, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 8 - }, - "eth5": { - "rx_bytes": 4641, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 26, - "tx_bytes": 690, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 9 - } - }, - "memory_stats": { - "stats": { - "total_pgmajfault": 0, - "cache": 0, - "mapped_file": 0, - "total_inactive_file": 0, - "pgpgout": 414, - "rss": 6537216, - "total_mapped_file": 0, - "writeback": 0, - "unevictable": 0, - "pgpgin": 477, - "total_unevictable": 0, - "pgmajfault": 0, - "total_rss": 6537216, - "total_rss_huge": 6291456, - "total_writeback": 0, - "total_inactive_anon": 0, - "rss_huge": 6291456, - "hierarchical_memory_limit": 67108864, - "total_pgfault": 964, - "total_active_file": 0, - "active_anon": 6537216, - "total_active_anon": 6537216, - "total_pgpgout": 414, - "total_cache": 0, - "inactive_anon": 0, - "active_file": 0, - "pgfault": 964, - "inactive_file": 0, - "total_pgpgin": 477 - }, - "max_usage": 6651904, - "usage": 6537216, - "failcnt": 0, - "limit": 67108864 - }, - "blkio_stats": {}, - "cpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24472255, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100215355, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 739306590000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - }, - "precpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24350896, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100093996, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 9492140000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - } - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/resize": { - "post": { - "tags": [ - "Container" - ], - "summary": "Resize a container TTY", - "description": "Resize the TTY for a container.", - "operationId": "ContainerResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "cannot resize container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/start": { - "post": { - "tags": [ - "Container" - ], - "summary": "Start a container", - "operationId": "ContainerStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container. Format is a\nsingle character `[a-Z]` or `ctrl-` where `` is one\nof: `a-z`, `@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already started", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stop": { - "post": { - "tags": [ - "Container" - ], - "summary": "Stop a container", - "operationId": "ContainerStop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already stopped", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/restart": { - "post": { - "tags": [ - "Container" - ], - "summary": "Restart a container", - "operationId": "ContainerRestart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/kill": { - "post": { - "tags": [ - "Container" - ], - "summary": "Kill a container", - "description": "Send a POSIX signal to a container, defaulting to killing to the\ncontainer.\n", - "operationId": "ContainerKill", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string", - "default": "SIGKILL" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "container is not running", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Container d37cde0fe4ad63c3a7252023b2f9800282894247d145cb5933ddf6e52cc03a28 is not running" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/update": { - "post": { - "tags": [ - "Container" - ], - "summary": "Update a container", - "description": "Change various configuration options of a container without having to\nrecreate it.\n", - "operationId": "ContainerUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The container has been updated.", - "content": { - "application/json": { - "schema": { - "title": "ContainerUpdateResponse", - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerUpdate operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "update" - } - }, - "/containers/{id}/rename": { - "post": { - "tags": [ - "Container" - ], - "summary": "Rename a container", - "operationId": "ContainerRename", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "New name for the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name already in use", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/pause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Pause a container", - "description": "Use the freezer cgroup to suspend all processes in a container.\n\nTraditionally, when suspending a process the `SIGSTOP` signal is used,\nwhich is observable by the process being suspended. With the freezer\ncgroup the process is unaware, and unable to capture, that it is being\nsuspended, and subsequently resumed.\n", - "operationId": "ContainerPause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/unpause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Unpause a container", - "description": "Resume a container which has been paused.", - "operationId": "ContainerUnpause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach": { - "post": { - "tags": [ - "Container" - ], - "summary": "Attach to a container", - "description": "Attach to a container to read its output or send it input. You can attach\nto the same container multiple times and you can reattach to containers\nthat have been detached.\n\nEither the `stream` or `logs` parameter must be `true` for this endpoint\nto do anything.\n\nSee the [documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/)\nfor more details.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to transport `stdin`, `stdout`,\nand `stderr` on the same socket.\n\nThis is the response from the daemon for an attach request:\n\n```\nHTTP/1.1 200 OK\nContent-Type: application/vnd.docker.raw-stream\n\n[STREAM]\n```\n\nAfter the headers and two new lines, the TCP connection can now be used\nfor raw, bidirectional communication between the client and server.\n\nTo hint potential proxies about connection hijacking, the Docker client\ncan also optionally send connection upgrade headers.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1\nUpgrade: tcp\nConnection: Upgrade\n```\n\nThe Docker daemon will respond with a `101 UPGRADED` response, and will\nsimilarly follow with the raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nContent-Type: application/vnd.docker.raw-stream\nConnection: Upgrade\nUpgrade: tcp\n\n[STREAM]\n```\n\n### Stream format\n\nWhen the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe HTTP Content-Type header is set to application/vnd.docker.multiplexed-stream\nand the stream over the hijacked connected is multiplexed to separate out\n`stdout` and `stderr`. The stream consists of a series of frames, each\ncontaining a header and a payload.\n\nThe header contains the information which the stream writes (`stdout` or\n`stderr`). It also contains the size of the associated frame encoded in\nthe last four bytes (`uint32`).\n\nIt is encoded on the first eight bytes like this:\n\n```go\nheader := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}\n```\n\n`STREAM_TYPE` can be:\n\n- 0: `stdin` (is written on `stdout`)\n- 1: `stdout`\n- 2: `stderr`\n\n`SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size\nencoded as big endian.\n\nFollowing the header is the payload, which is the specified number of\nbytes of `STREAM_TYPE`.\n\nThe simplest way to implement this protocol is the following:\n\n1. Read 8 bytes.\n2. Choose `stdout` or `stderr` depending on the first byte.\n3. Extract the frame size from the last four bytes.\n4. Read the extracted size and output it on the correct output.\n5. Goto 1.\n\n### Stream format when using a TTY\n\nWhen the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe stream is not multiplexed. The data exchanged over the hijacked\nconnection is simply the raw data from the process PTY and client's\n`stdin`.\n", - "operationId": "ContainerAttach", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Replay previous logs from the container.\n\nThis is useful for attaching to a container that has started and you\nwant to output everything since the container started.\n\nIf `stream` is also enabled, once all the previous output has been\nreturned, it will seamlessly transition into streaming current\noutput.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream attached streams from the time the request was made onwards.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach/ws": { - "get": { - "tags": [ - "Container" - ], - "summary": "Attach to a container via a websocket", - "operationId": "ContainerAttachWebsocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,`, or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Return logs", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Return stream", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/wait": { - "post": { - "tags": [ - "Container" - ], - "summary": "Wait for a container", - "description": "Block until a container stops, then returns the exit code.", - "operationId": "ContainerWait", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "condition", - "in": "query", - "description": "Wait until a container state reaches the given condition.\n\nDefaults to `not-running` if omitted or empty.\n", - "schema": { - "type": "string", - "default": "not-running", - "enum": [ - "not-running", - "next-exit", - "removed" - ] - } - } - ], - "responses": { - "200": { - "description": "The container has exit.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerWaitResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}": { - "delete": { - "tags": [ - "Container" - ], - "summary": "Remove a container", - "operationId": "ContainerDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "v", - "in": "query", - "description": "Remove anonymous volumes associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "force", - "in": "query", - "description": "If the container is running, kill it before removing it.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "link", - "in": "query", - "description": "Remove the specified link associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "You cannot remove a running container: c2ada9df5af8. Stop the\ncontainer before attempting removal or force remove\n" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/archive": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get an archive of a filesystem resource in a container", - "description": "Get a tar archive of a resource in the filesystem of container id.", - "operationId": "ContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Container" - ], - "summary": "Extract an archive of files or folders to a directory in a container", - "description": "Upload a tar archive to be extracted to a path in the filesystem of container id.\n`path` parameter is asserted to be a directory. If it exists as a file, 400 error\nwill be returned with message \"not a directory\".\n", - "operationId": "PutContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Path to a directory in the container to extract the archive’s contents into. ", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "noOverwriteDirNonDir", - "in": "query", - "description": "If `1`, `true`, or `True` then it will be an error if unpacking the\ngiven content would cause an existing directory to be replaced with\na non-directory and vice versa.\n", - "schema": { - "type": "string" - } - }, - { - "name": "copyUIDGID", - "in": "query", - "description": "If `1`, `true`, then it will copy UID/GID maps to the dest file or\ndir\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The input stream must be a tar archive compressed with one of the\nfollowing algorithms: `identity` (no compression), `gzip`, `bzip2`,\nor `xz`.\n", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The content was extracted successfully", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "not a directory" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Permission denied, the volume or container rootfs is marked as read-only.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such container or path does not exist inside the container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - }, - "head": { - "tags": [ - "Container" - ], - "summary": "Get information about files in a container", - "description": "A response header `X-Docker-Container-Path-Stat` is returned, containing\na base64 - encoded JSON object with some filesystem header information\nabout the path.\n", - "operationId": "ContainerArchiveInfo", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "headers": { - "X-Docker-Container-Path-Stat": { - "description": "A base64 - encoded JSON object with some filesystem header\ninformation about the path\n", - "schema": { - "type": "string" - } - } - }, - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/prune": { - "post": { - "tags": [ - "Container" - ], - "summary": "Delete stopped containers", - "operationId": "ContainerPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ContainerPruneResponse", - "type": "object", - "properties": { - "ContainersDeleted": { - "type": "array", - "description": "Container IDs that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "List Images", - "description": "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image.", - "operationId": "ImageList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Show all images. Only images from a final layer (no children) are shown by default.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the images list.\n\nAvailable filters:\n\n- `before`=(`[:]`, `` or ``)\n- `dangling=true`\n- `label=key` or `label=\"key=value\"` of an image label\n- `reference`=(`[:]`)\n- `since`=(`[:]`, `` or ``)\n", - "schema": { - "type": "string" - } - }, - { - "name": "shared-size", - "in": "query", - "description": "Compute and show shared size as a `SharedSize` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "digests", - "in": "query", - "description": "Show digest information as a `RepoDigests` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "Summary image data for the images matching the query", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/build": { - "post": { - "tags": [ - "Image" - ], - "summary": "Build an image", - "description": "Build an image from a tar archive with a `Dockerfile` in it.\n\nThe `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/).\n\nThe Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output.\n\nThe build is canceled if the client drops the connection by quitting or being killed.\n", - "operationId": "ImageBuild", - "parameters": [ - { - "name": "dockerfile", - "in": "query", - "description": "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`.", - "schema": { - "type": "string", - "default": "Dockerfile" - } - }, - { - "name": "t", - "in": "query", - "description": "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters.", - "schema": { - "type": "string" - } - }, - { - "name": "extrahosts", - "in": "query", - "description": "Extra hosts to add to /etc/hosts", - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball.", - "schema": { - "type": "string" - } - }, - { - "name": "q", - "in": "query", - "description": "Suppress verbose build output.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "nocache", - "in": "query", - "description": "Do not use the cache when building the image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "cachefrom", - "in": "query", - "description": "JSON array of images used for build cache resolution.", - "schema": { - "type": "string" - } - }, - { - "name": "pull", - "in": "query", - "description": "Attempt to pull the image even if an older image exists locally.", - "schema": { - "type": "string" - } - }, - { - "name": "rm", - "in": "query", - "description": "Remove intermediate containers after a successful build.", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "forcerm", - "in": "query", - "description": "Always remove intermediate containers, even upon failure.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "memory", - "in": "query", - "description": "Set memory limit for build.", - "schema": { - "type": "integer" - } - }, - { - "name": "memswap", - "in": "query", - "description": "Total memory (memory + swap). Set as `-1` to disable swap.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpushares", - "in": "query", - "description": "CPU shares (relative weight).", - "schema": { - "type": "integer" - } - }, - { - "name": "cpusetcpus", - "in": "query", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).", - "schema": { - "type": "string" - } - }, - { - "name": "cpuperiod", - "in": "query", - "description": "The length of a CPU period in microseconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpuquota", - "in": "query", - "description": "Microseconds of CPU time that the container can get in a CPU period.", - "schema": { - "type": "integer" - } - }, - { - "name": "buildargs", - "in": "query", - "description": "JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values.\n\nFor example, the build arg `FOO=bar` would become `{\"FOO\":\"bar\"}` in JSON. This would result in the query parameter `buildargs={\"FOO\":\"bar\"}`. Note that `{\"FOO\":\"bar\"}` should be URI component encoded.\n\n[Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)\n", - "schema": { - "type": "string" - } - }, - { - "name": "shmsize", - "in": "query", - "description": "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB.", - "schema": { - "type": "integer" - } - }, - { - "name": "squash", - "in": "query", - "description": "Squash the resulting images layers into a single layer. *(Experimental release only.)*", - "schema": { - "type": "boolean" - } - }, - { - "name": "labels", - "in": "query", - "description": "Arbitrary key/value labels to set on the image, as a JSON map of string pairs.", - "schema": { - "type": "string" - } - }, - { - "name": "networkmode", - "in": "query", - "description": "Sets the networking mode for the run commands during build. Supported\nstandard values are: `bridge`, `host`, `none`, and `container:`.\nAny other value is taken as a custom network's name or ID to which this\ncontainer should connect to.\n", - "schema": { - "type": "string" - } - }, - { - "name": "Content-type", - "in": "header", - "schema": { - "type": "string", - "default": "application/x-tar", - "enum": [ - "application/x-tar" - ] - } - }, - { - "name": "X-Registry-Config", - "in": "header", - "description": "This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.\n\nThe key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:\n\n```\n{\n \"docker.example.com\": {\n \"username\": \"janedoe\",\n \"password\": \"hunter2\"\n },\n \"https://index.docker.io/v1/\": {\n \"username\": \"mobydock\",\n \"password\": \"conta1n3rize14\"\n }\n}\n```\n\nOnly the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API.\n", - "schema": { - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]]", - "schema": { - "type": "string" - } - }, - { - "name": "target", - "in": "query", - "description": "Target build stage", - "schema": { - "type": "string" - } - }, - { - "name": "outputs", - "in": "query", - "description": "BuildKit output configuration", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz.", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - } - }, - "/build/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete builder cache", - "operationId": "BuildPrune", - "parameters": [ - { - "name": "keep-storage", - "in": "query", - "description": "Amount of disk space in bytes to keep for cache", - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "all", - "in": "query", - "description": "Remove all types of build cache", - "schema": { - "type": "boolean" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the list of build cache objects.\n\nAvailable filters:\n\n- `until=`: duration relative to daemon's time, during which build cache was not used, in Go's duration format (e.g., '24h')\n- `id=`\n- `parent=`\n- `type=`\n- `description=`\n- `inuse`\n- `shared`\n- `private`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "BuildPruneResponse", - "type": "object", - "properties": { - "CachesDeleted": { - "type": "array", - "items": { - "type": "string", - "description": "ID of build cache object" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/create": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create an image", - "description": "Create an image by either pulling it from a registry or importing it.", - "operationId": "ImageCreate", - "parameters": [ - { - "name": "fromImage", - "in": "query", - "description": "Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed.", - "schema": { - "type": "string" - } - }, - { - "name": "fromSrc", - "in": "query", - "description": "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled.", - "schema": { - "type": "string" - } - }, - { - "name": "message", - "in": "query", - "description": "Set commit message for imported image.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - }, - { - "name": "changes", - "in": "query", - "description": "Apply `Dockerfile` instructions to the image that is created,\nfor example: `changes=ENV DEBUG=true`.\nNote that `ENV DEBUG=true` should be URI component encoded.\n\nSupported `Dockerfile` instructions:\n`CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`\n", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]].\n\nWhen used in combination with the `fromImage` option, the daemon checks\nif the given image is present in the local image cache with the given\nOS and Architecture, and otherwise attempts to pull the image. If the\noption is not set, the host's native OS and Architecture are used.\nIf the given image does not exist in the local image cache, the daemon\nattempts to pull the image with the host's native OS and Architecture.\nIf the given image does exists in the local image cache, but its OS or\narchitecture does not match, a warning is produced.\n\nWhen used with the `fromSrc` option to import an image from an archive,\nthis option sets the platform information for the imported image. If\nthe option is not set, the host's native OS and Architecture are used\nfor the imported image.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Image content if the value `-` has been specified in fromSrc query parameter", - "content": { - "text/plain": { - "schema": { - "type": "string" - } - }, - "application/octet-stream": { - "schema": { - "type": "string" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "repository does not exist or no read access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputImage" - } - }, - "/images/{name}/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "Inspect an image", - "description": "Return low-level information about an image.", - "operationId": "ImageInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImageInspect" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/history": { - "get": { - "tags": [ - "Image" - ], - "summary": "Get the history of an image", - "description": "Return parent layers of an image.", - "operationId": "ImageHistory", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List of image layers", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "HistoryResponseItem", - "required": [ - "Comment", - "Created", - "CreatedBy", - "Id", - "Size", - "Tags" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "Created": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "CreatedBy": { - "type": "string", - "nullable": false - }, - "Tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "Size": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "Comment": { - "type": "string", - "nullable": false - } - }, - "description": "individual image layer information in response to ImageHistory operation", - "x-go-name": "HistoryResponseItem" - } - }, - "example": [ - { - "Id": "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710", - "Created": 1398108230, - "CreatedBy": "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /", - "Tags": [ - "ubuntu:lucid", - "ubuntu:10.04" - ], - "Size": 182964289, - "Comment": "" - }, - { - "Id": "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8", - "Created": 1398108222, - "CreatedBy": "/bin/sh -c #(nop) MAINTAINER Tianon Gravi - mkimage-debootstrap.sh -i iproute,iputils-ping,ubuntu-minimal -t lucid.tar.xz lucid http://archive.ubuntu.com/ubuntu/", - "Tags": [], - "Size": 0, - "Comment": "" - }, - { - "Id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158", - "Created": 1371157430, - "CreatedBy": "", - "Tags": [ - "scratch12:latest", - "scratch:latest" - ], - "Size": 0, - "Comment": "Imported from -" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/push": { - "post": { - "tags": [ - "Image" - ], - "summary": "Push an image", - "description": "Push an image to a registry.\n\nIf you wish to push an image on to a private registry, that image must\nalready have a tag which references the registry. For example,\n`registry.example.com/myimage:latest`.\n\nThe push is cancelled if the HTTP connection is closed.\n", - "operationId": "ImagePush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The tag to associate with the image on the registry.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/tag": { - "post": { - "tags": [ - "Image" - ], - "summary": "Tag an image", - "description": "Tag an image so that it becomes part of a repository.", - "operationId": "ImageTag", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID to tag.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "The repository to tag in. For example, `someuser/someimage`.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The name of the new tag.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "No error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}": { - "delete": { - "tags": [ - "Image" - ], - "summary": "Remove an image", - "description": "Remove an image, along with any untagged parent images that were\nreferenced by that image.\n\nImages can't be removed if they have descendant images, are being\nused by a running container or are being used by a build.\n", - "operationId": "ImageDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Remove the image even if it is being used by stopped containers or has other tags", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "noprune", - "in": "query", - "description": "Do not delete untagged parent images", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "The image was deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "example": [ - { - "Untagged": "3e2f21a89f" - }, - { - "Deleted": "3e2f21a89f" - }, - { - "Deleted": "53b4f83ac9" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/search": { - "get": { - "tags": [ - "Image" - ], - "summary": "Search images", - "description": "Search for an image on Docker Hub.", - "operationId": "ImageSearch", - "parameters": [ - { - "name": "term", - "in": "query", - "description": "Term to search", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Maximum number of results to return", - "schema": { - "type": "integer" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:\n\n- `is-automated=(true|false)`\n- `is-official=(true|false)`\n- `stars=` Matches images that has at least 'number' stars.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ImageSearchResponseItem", - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "is_official": { - "type": "boolean" - }, - "is_automated": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "star_count": { - "type": "integer" - } - } - } - }, - "example": [ - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "wma55/u1210sshd", - "star_count": 0 - }, - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "jdswinbank/sshd", - "star_count": 0 - }, - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "vgauthier/sshd", - "star_count": 0 - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete unused images", - "operationId": "ImagePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:\n\n- `dangling=` When set to `true` (or `1`), prune only\n unused *and* untagged images. When set to `false`\n (or `0`), all unused images are pruned.\n- `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ImagePruneResponse", - "type": "object", - "properties": { - "ImagesDeleted": { - "type": "array", - "description": "Images that were deleted", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/auth": { - "post": { - "tags": [ - "System" - ], - "summary": "Check auth configuration", - "description": "Validate credentials for a registry and, if available, get an identity\ntoken for accessing the registry without password.\n", - "operationId": "SystemAuth", - "requestBody": { - "description": "Authentication to check", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthConfig" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "An identity token was generated successfully.", - "content": { - "application/json": { - "schema": { - "title": "SystemAuthResponse", - "required": [ - "Status" - ], - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "The status of the authentication", - "nullable": false - }, - "IdentityToken": { - "type": "string", - "description": "An opaque token used to authenticate a user after a successful login", - "nullable": false - } - } - }, - "example": { - "Status": "Login Succeeded", - "IdentityToken": "9cbaf023786cd7..." - } - } - } - }, - "204": { - "description": "No error", - "content": {} - }, - "401": { - "description": "Auth error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "authConfig" - } - }, - "/info": { - "get": { - "tags": [ - "System" - ], - "summary": "Get system information", - "operationId": "SystemInfo", - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemInfo" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/version": { - "get": { - "tags": [ - "System" - ], - "summary": "Get version", - "description": "Returns the version of Docker that is running and various information about the system that Docker is running on.", - "operationId": "SystemVersion", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemVersion" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/_ping": { - "get": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPing", - "responses": { - "200": { - "description": "no error", - "headers": { - "Swarm": { - "description": "Contains information about Swarm status of the daemon,\nand if the daemon is acting as a manager or worker node.\n", - "schema": { - "type": "string", - "default": "inactive", - "enum": [ - "inactive", - "pending", - "error", - "locked", - "active/worker", - "active/manager" - ] - } - }, - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder\n\nThe default on Linux is version \"2\" (BuildKit), but the daemon\ncan be configured to recommend version \"1\" (classic Builder).\nWindows does not yet support BuildKit for native Windows images,\nand uses \"1\" (classic builder) as a default.\n\nThis value is a recommendation as advertised by the daemon, and\nit is up to the client to choose which builder to use.\n", - "schema": { - "type": "string", - "default": "2" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "OK" - } - } - } - }, - "500": { - "description": "server error", - "headers": { - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "head": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPingHead", - "responses": { - "200": { - "description": "no error", - "headers": { - "Swarm": { - "description": "Contains information about Swarm status of the daemon,\nand if the daemon is acting as a manager or worker node.\n", - "schema": { - "type": "string", - "default": "inactive", - "enum": [ - "inactive", - "pending", - "error", - "locked", - "active/worker", - "active/manager" - ] - } - }, - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "(empty)" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/commit": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create a new image from a container", - "operationId": "ImageCommit", - "parameters": [ - { - "name": "container", - "in": "query", - "description": "The ID or name of the container to commit", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name for the created image", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag name for the create image", - "schema": { - "type": "string" - } - }, - { - "name": "comment", - "in": "query", - "description": "Commit message", - "schema": { - "type": "string" - } - }, - { - "name": "author", - "in": "query", - "description": "Author of the image (e.g., `John Hannibal Smith `)", - "schema": { - "type": "string" - } - }, - { - "name": "pause", - "in": "query", - "description": "Whether to pause the container before committing", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "changes", - "in": "query", - "description": "`Dockerfile` instructions to apply while committing", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The container configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerConfig" - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "containerConfig" - } - }, - "/events": { - "get": { - "tags": [ - "System" - ], - "summary": "Monitor events", - "description": "Stream real-time events from the server.\n\nVarious objects within Docker report events when something happens to them.\n\nContainers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, `update`, and `prune`\n\nImages report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune`\n\nVolumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune`\n\nNetworks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, `remove`, and `prune`\n\nThe Docker daemon reports these events: `reload`\n\nServices report these events: `create`, `update`, and `remove`\n\nNodes report these events: `create`, `update`, and `remove`\n\nSecrets report these events: `create`, `update`, and `remove`\n\nConfigs report these events: `create`, `update`, and `remove`\n\nThe Builder reports `prune` events\n", - "operationId": "SystemEvents", - "parameters": [ - { - "name": "since", - "in": "query", - "description": "Show events created since this timestamp then stream new events.", - "schema": { - "type": "string" - } - }, - { - "name": "until", - "in": "query", - "description": "Show events created until this timestamp then stop streaming.", - "schema": { - "type": "string" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:\n\n- `config=` config name or ID\n- `container=` container name or ID\n- `daemon=` daemon name or ID\n- `event=` event type\n- `image=` image name or ID\n- `label=` image or container label\n- `network=` network name or ID\n- `node=` node ID\n- `plugin`= plugin name or ID\n- `scope`= local or swarm\n- `secret=` secret name or ID\n- `service=` service name or ID\n- `type=` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config`\n- `volume=` volume name\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventMessage" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/system/df": { - "get": { - "tags": [ - "System" - ], - "summary": "Get data usage information", - "operationId": "SystemDataUsage", - "parameters": [ - { - "name": "type", - "in": "query", - "description": "Object types, for which to compute and return data.\n", - "style": "form", - "explode": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "container", - "image", - "volume", - "build-cache" - ] - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "VirtualSize": 1092588, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ], - "BuildCache": [ - { - "ID": "hw53o5aio51xtltp5xjp8v7fx", - "Parents": [], - "Type": "regular", - "Description": "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0", - "InUse": false, - "Shared": true, - "Size": 0, - "CreatedAt": "2021-06-28T13:31:01.474619385Z", - "LastUsedAt": "2021-07-07T22:02:32.738075951Z", - "UsageCount": 26 - }, - { - "ID": "ndlpt0hhvkqcdfkputsk4cq9c", - "Parents": [ - "ndlpt0hhvkqcdfkputsk4cq9c" - ], - "Type": "regular", - "Description": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache", - "InUse": false, - "Shared": true, - "Size": 51, - "CreatedAt": "2021-06-28T13:31:03.002625487Z", - "LastUsedAt": "2021-07-07T22:02:32.773909517Z", - "UsageCount": 26 - } - ] - } - } - }, - "text/plain": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "VirtualSize": 1092588, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ], - "BuildCache": [ - { - "ID": "hw53o5aio51xtltp5xjp8v7fx", - "Parents": [], - "Type": "regular", - "Description": "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0", - "InUse": false, - "Shared": true, - "Size": 0, - "CreatedAt": "2021-06-28T13:31:01.474619385Z", - "LastUsedAt": "2021-07-07T22:02:32.738075951Z", - "UsageCount": 26 - }, - { - "ID": "ndlpt0hhvkqcdfkputsk4cq9c", - "Parents": [ - "ndlpt0hhvkqcdfkputsk4cq9c" - ], - "Type": "regular", - "Description": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache", - "InUse": false, - "Shared": true, - "Size": 51, - "CreatedAt": "2021-06-28T13:31:03.002625487Z", - "LastUsedAt": "2021-07-07T22:02:32.773909517Z", - "UsageCount": 26 - } - ] - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export an image", - "description": "Get a tarball containing all images and metadata for a repository.\n\nIf `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced.\n\n### Image tarball format\n\nAn image tarball contains one directory per image layer (named using its long ID), each containing these files:\n\n- `VERSION`: currently `1.0` - the file format version\n- `json`: detailed layer information, similar to `docker inspect layer_id`\n- `layer.tar`: A tarfile containing the filesystem changes in this layer\n\nThe `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.\n\nIf the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs.\n\n```json\n{\n \"hello-world\": {\n \"latest\": \"565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1\"\n }\n}\n```\n", - "operationId": "ImageGet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export several images", - "description": "Get a tarball containing all images and metadata for several image\nrepositories.\n\nFor each value of the `names` parameter: if it is a specific name and\ntag (e.g. `ubuntu:latest`), then only that image (and its parents) are\nreturned; if it is an image ID, similarly only that image (and its parents)\nare returned and there would be no names referenced in the 'repositories'\nfile for this image ID.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageGetAll", - "parameters": [ - { - "name": "names", - "in": "query", - "description": "Image names to filter by", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/load": { - "post": { - "tags": [ - "Image" - ], - "summary": "Import images", - "description": "Load a set of images and tags into a repository.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageLoad", - "parameters": [ - { - "name": "quiet", - "in": "query", - "description": "Suppress progress details during load.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "description": "Tar archive containing images", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "imagesTarball" - } - }, - "/containers/{id}/exec": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Create an exec instance", - "description": "Run a command inside a running container.", - "operationId": "ContainerExec", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Exec configuration", - "content": { - "application/json": { - "schema": { - "title": "ExecConfig", - "type": "object", - "properties": { - "AttachStdin": { - "type": "boolean", - "description": "Attach to `stdin` of the exec command." - }, - "AttachStdout": { - "type": "boolean", - "description": "Attach to `stdout` of the exec command." - }, - "AttachStderr": { - "type": "boolean", - "description": "Attach to `stderr` of the exec command." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - }, - "DetachKeys": { - "type": "string", - "description": "Override the key sequence for detaching a container. Format is\na single character `[a-Z]` or `ctrl-` where ``\nis one of: `a-z`, `@`, `^`, `[`, `,` or `_`.\n" - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `[\"VAR=value\", ...]`.\n", - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run, as a string or array of strings.", - "items": { - "type": "string" - } - }, - "Privileged": { - "type": "boolean", - "description": "Runs the exec process with extended privileges.", - "default": false - }, - "User": { - "type": "string", - "description": "The user, and optionally, group to run the exec process inside\nthe container. Format is one of: `user`, `user:group`, `uid`,\nor `uid:gid`.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for the exec process inside the container.\n" - } - }, - "example": { - "AttachStdin": false, - "AttachStdout": true, - "AttachStderr": true, - "DetachKeys": "ctrl-p,ctrl-q", - "Tty": false, - "Cmd": [ - "date" - ], - "Env": [ - "FOO=bar", - "BAZ=quux" - ] - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "container is paused", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execConfig" - } - }, - "/exec/{id}/start": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Start an exec instance", - "description": "Starts a previously set up exec instance. If detach is true, this endpoint\nreturns immediately after starting the command. Otherwise, it sets up an\ninteractive session with the command.\n", - "operationId": "ExecStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "ExecStartConfig", - "type": "object", - "properties": { - "Detach": { - "type": "boolean", - "description": "Detach from the command." - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - } - }, - "example": { - "Detach": false, - "Tty": true, - "ConsoleSize": [ - 80, - 64 - ] - } - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such exec instance", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Container is stopped or paused", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execStartConfig" - } - }, - "/exec/{id}/resize": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Resize an exec instance", - "description": "Resize the TTY session used by an exec instance. This endpoint only works\nif `tty` was specified as part of creating and starting the exec instance.\n", - "operationId": "ExecResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/exec/{id}/json": { - "get": { - "tags": [ - "Exec" - ], - "summary": "Inspect an exec instance", - "description": "Return low-level information about an exec instance.", - "operationId": "ExecInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ExecInspectResponse", - "type": "object", - "properties": { - "CanRemove": { - "type": "boolean" - }, - "DetachKeys": { - "type": "string" - }, - "ID": { - "type": "string" - }, - "Running": { - "type": "boolean" - }, - "ExitCode": { - "type": "integer" - }, - "ProcessConfig": { - "$ref": "#/components/schemas/ProcessConfig" - }, - "OpenStdin": { - "type": "boolean" - }, - "OpenStderr": { - "type": "boolean" - }, - "OpenStdout": { - "type": "boolean" - }, - "ContainerID": { - "type": "string" - }, - "Pid": { - "type": "integer", - "description": "The system process ID for the exec process." - } - } - }, - "example": { - "CanRemove": false, - "ContainerID": "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126", - "DetachKeys": "", - "ExitCode": 2, - "ID": "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b", - "OpenStderr": true, - "OpenStdin": true, - "OpenStdout": true, - "ProcessConfig": { - "arguments": [ - "-c", - "exit 2" - ], - "entrypoint": "sh", - "privileged": false, - "tty": true, - "user": "1000" - }, - "Running": false, - "Pid": 42000 - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes": { - "get": { - "tags": [ - "Volume" - ], - "summary": "List volumes", - "operationId": "VolumeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the volumes list. Available filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n volumes that are not in use by a container. When set to `false`\n (or `0`), only volumes that are in use by one or more\n containers are returned.\n- `driver=` Matches volumes based on their driver.\n- `label=` or `label=:` Matches volumes based on\n the presence of a `label` alone or a `label` and a value.\n- `name=` Matches all or part of a volume name.\n", - "schema": { - "type": "string", - "format": "json" - } - } - ], - "responses": { - "200": { - "description": "Summary volume data that matches the query", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeListResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/create": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Create a volume", - "operationId": "VolumeCreate", - "requestBody": { - "description": "Volume configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeCreateOptions" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "The volume was created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "volumeConfig" - } - }, - "/volumes/{name}": { - "get": { - "tags": [ - "Volume" - ], - "summary": "Inspect a volume", - "operationId": "VolumeInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "404": { - "description": "No such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Volume" - ], - "summary": "\"Update a volume. Valid only for Swarm cluster volumes\"\n", - "operationId": "VolumeUpdate", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name or ID of the volume", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the volume being updated. This is required to\navoid conflicting writes. Found in the volume's `ClusterVolume`\nfield.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the volume to update. Currently, only Availability may\nchange. All other fields must remain unchanged.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - } - }, - "description": "Volume configuration" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - }, - "delete": { - "tags": [ - "Volume" - ], - "summary": "Remove a volume", - "description": "Instruct the driver to remove the volume.", - "operationId": "VolumeDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force the removal of the volume", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "The volume was removed", - "content": {} - }, - "404": { - "description": "No such volume or volume driver", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Volume is in use and cannot be removed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/prune": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Delete unused volumes", - "operationId": "VolumePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.\n- `all` (`all=true`) - Consider all (local) volumes for pruning and not just anonymous volumes.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "VolumePruneResponse", - "type": "object", - "properties": { - "VolumesDeleted": { - "type": "array", - "description": "Volumes that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks": { - "get": { - "tags": [ - "Network" - ], - "summary": "List networks", - "description": "Returns a list of networks. For details on the format, see the\n[network inspect endpoint](#operation/NetworkInspect).\n\nNote that it uses a different, smaller representation of a network than\ninspecting a single network. For example, the list of containers attached\nto the network is not propagated in API versions 1.28 and up.\n", - "operationId": "NetworkList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to process\non the networks list.\n\nAvailable filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n networks that are not in use by a container. When set to `false`\n (or `0`), only networks that are in use by one or more\n containers are returned.\n- `driver=` Matches a network's driver.\n- `id=` Matches all or part of a network ID.\n- `label=` or `label==` of a network label.\n- `name=` Matches all or part of a network name.\n- `scope=[\"swarm\"|\"global\"|\"local\"]` Filters networks by scope (`swarm`, `global`, or `local`).\n- `type=[\"custom\"|\"builtin\"]` Filters networks by type. The `custom` keyword returns all user-defined networks.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Network" - } - }, - "example": [ - { - "Name": "bridge", - "Id": "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566", - "Created": "2016-10-19T06:21:00.416543526Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.17.0.0/16" - } - ] - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - } - }, - { - "Name": "none", - "Id": "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "null", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - }, - { - "Name": "host", - "Id": "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "host", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/{id}": { - "get": { - "tags": [ - "Network" - ], - "summary": "Inspect a network", - "operationId": "NetworkInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "verbose", - "in": "query", - "description": "Detailed inspect output for troubleshooting", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "scope", - "in": "query", - "description": "Filter the network by scope (swarm, global, or local)", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Network" - } - } - } - }, - "404": { - "description": "Network not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Network" - ], - "summary": "Remove a network", - "operationId": "NetworkDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such network", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/create": { - "post": { - "tags": [ - "Network" - ], - "summary": "Create a network", - "operationId": "NetworkCreate", - "requestBody": { - "description": "Network configuration", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateRequest", - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The network's name." - }, - "CheckDuplicate": { - "type": "boolean", - "description": "Check for networks with duplicate names. Since Network is\nprimarily keyed based on a random ID and not on the name, and\nnetwork name is strictly a user-friendly alias to the network\nwhich is uniquely identified using ID, there is no guaranteed\nway to check for duplicates. CheckDuplicate is there to provide\na best effort checking of any networks which has the same name\nbut it is not guaranteed to catch all name collisions.\n" - }, - "Driver": { - "type": "string", - "description": "Name of the network driver plugin to use.", - "default": "bridge" - }, - "Internal": { - "type": "boolean", - "description": "Restrict external access to the network." - }, - "Attachable": { - "type": "boolean", - "description": "Globally scoped network is manually attachable by regular\ncontainers from workers in swarm mode.\n" - }, - "Ingress": { - "type": "boolean", - "description": "Ingress network is the network which provides the routing-mesh\nin swarm mode.\n" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "EnableIPv6": { - "type": "boolean", - "description": "Enable IPv6 on the network." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Network specific options to be used by the drivers." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - } - }, - "example": { - "Name": "isolated_nw", - "CheckDuplicate": false, - "Driver": "bridge", - "EnableIPv6": true, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.20.0.0/16", - "IPRange": "172.20.10.0/24", - "Gateway": "172.20.10.11" - }, - { - "Subnet": "2001:db8:abcd::/64", - "Gateway": "2001:db8:abcd::1011" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": true, - "Attachable": false, - "Ingress": false, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created network." - }, - "Warning": { - "type": "string" - } - }, - "example": { - "Id": "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30", - "Warning": "" - } - } - } - } - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "plugin not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "networkConfig" - } - }, - "/networks/{id}/connect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Connect a container to a network", - "operationId": "NetworkConnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "NetworkConnectRequest", - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to connect to the network." - }, - "EndpointConfig": { - "$ref": "#/components/schemas/EndpointSettings" - } - }, - "example": { - "Container": "3613f73ba0e4", - "EndpointConfig": { - "IPAMConfig": { - "IPv4Address": "172.24.56.89", - "IPv6Address": "2001:db8::5689" - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/{id}/disconnect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Disconnect a container from a network", - "operationId": "NetworkDisconnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "NetworkDisconnectRequest", - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to disconnect from the network.\n" - }, - "Force": { - "type": "boolean", - "description": "Force the container to disconnect from the network.\n" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/prune": { - "post": { - "tags": [ - "Network" - ], - "summary": "Delete unused networks", - "operationId": "NetworkPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkPruneResponse", - "type": "object", - "properties": { - "NetworksDeleted": { - "type": "array", - "description": "Networks that were deleted", - "items": { - "type": "string" - } - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "List plugins", - "description": "Returns information about installed plugins.", - "operationId": "PluginList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the plugin list.\n\nAvailable filters:\n\n- `capability=`\n- `enable=|`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plugin" - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/privileges": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Get plugin privileges", - "operationId": "GetPluginPrivileges", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/pull": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Install a plugin", - "description": "Pulls and installs a plugin. After the plugin is installed, it can be\nenabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).\n", - "operationId": "PluginPull", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "Remote reference for plugin to install.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "Local name for the pulled plugin.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/{name}/json": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Inspect a plugin", - "operationId": "PluginInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}": { - "delete": { - "tags": [ - "Plugin" - ], - "summary": "Remove a plugin", - "operationId": "PluginDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Disable the plugin before removing. This may result in issues if the\nplugin is in use by a container.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/enable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Enable a plugin", - "operationId": "PluginEnable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "timeout", - "in": "query", - "description": "Set the HTTP client timeout (in seconds)", - "schema": { - "type": "integer", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/disable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Disable a plugin", - "operationId": "PluginDisable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force disable a plugin even if still in use.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/upgrade": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Upgrade a plugin", - "operationId": "PluginUpgrade", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "Remote reference to upgrade to.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/create": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Create a plugin", - "operationId": "PluginCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Path to tar containing plugin rootfs and manifest", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "tarContext" - } - }, - "/plugins/{name}/push": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Push a plugin", - "description": "Push a plugin to the registry.\n", - "operationId": "PluginPush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/set": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Configure a plugin", - "operationId": "PluginSet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - "DEBUG=1" - ], - "items": { - "type": "string" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "404": { - "description": "Plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/nodes": { - "get": { - "tags": [ - "Node" - ], - "summary": "List nodes", - "operationId": "NodeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `id=`\n- `label=`\n- `membership=`(`accepted`|`pending`)`\n- `name=`\n- `node.label=`\n- `role=`(`manager`|`worker`)`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}": { - "get": { - "tags": [ - "Node" - ], - "summary": "Inspect a node", - "operationId": "NodeInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Node" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Node" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Node" - ], - "summary": "Delete a node", - "operationId": "NodeDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force remove a node from the swarm", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}/update": { - "post": { - "tags": [ - "Node" - ], - "summary": "Update a node", - "operationId": "NodeUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the node object being updated. This is required\nto avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Inspect swarm", - "operationId": "SwarmInspect", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - } - } - }, - "404": { - "description": "no such swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/init": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Initialize a new swarm", - "operationId": "SwarmInit", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmInitRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - }, - "text/plain": { - "schema": { - "title": "SwarmInitRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - }, - "text/plain": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/join": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Join an existing swarm", - "operationId": "SwarmJoin", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmJoinRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - }, - "text/plain": { - "schema": { - "title": "SwarmJoinRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/leave": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Leave a swarm", - "operationId": "SwarmLeave", - "parameters": [ - { - "name": "force", - "in": "query", - "description": "Force leave swarm, even if this is the last manager or that it will\nbreak the cluster.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/update": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Update a swarm", - "operationId": "SwarmUpdate", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "The version number of the swarm object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "rotateWorkerToken", - "in": "query", - "description": "Rotate the worker join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerToken", - "in": "query", - "description": "Rotate the manager join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerUnlockKey", - "in": "query", - "description": "Rotate the manager unlock key.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/unlockkey": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Get the unlock key", - "operationId": "SwarmUnlockkey", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - }, - "text/plain": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/unlock": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Unlock a locked manager", - "operationId": "SwarmUnlock", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmUnlockRequest", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services": { - "get": { - "tags": [ - "Service" - ], - "summary": "List services", - "operationId": "ServiceList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the services list.\n\nAvailable filters:\n\n- `id=`\n- `label=`\n- `mode=[\"replicated\"|\"global\"]`\n- `name=`\n", - "schema": { - "type": "string" - } - }, - { - "name": "status", - "in": "query", - "description": "Include service status, with count of running and desired tasks.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/create": { - "post": { - "tags": [ - "Service" - ], - "summary": "Create a service", - "operationId": "ServiceCreate", - "parameters": [ - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "web", - "TaskTemplate": { - "ContainerSpec": { - "Image": "nginx:alpine", - "Mounts": [ - { - "ReadOnly": true, - "Source": "web-data", - "Target": "/usr/share/nginx/html", - "Type": "volume", - "VolumeOptions": { - "DriverConfig": {}, - "Labels": { - "com.example.something": "something-value" - } - } - } - ], - "Hosts": [ - "10.10.10.10 host1", - "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2" - ], - "User": "33", - "DNSConfig": { - "Nameservers": [ - "8.8.8.8" - ], - "Search": [ - "example.org" - ], - "Options": [ - "timeout:3" - ] - }, - "Secrets": [ - { - "File": { - "Name": "www.example.org.key", - "UID": "33", - "GID": "33", - "Mode": 384 - }, - "SecretID": "fpjqlhnwb19zds35k8wn80lq9", - "SecretName": "example_org_domain_key" - } - ] - }, - "LogDriver": { - "Name": "json-file", - "Options": { - "max-file": "3", - "max-size": "10M" - } - }, - "Placement": {}, - "Resources": { - "Limits": { - "MemoryBytes": 104857600 - }, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "on-failure", - "Delay": 10000000000, - "MaxAttempts": 10 - } - }, - "Mode": { - "Replicated": { - "Replicas": 4 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Ports": [ - { - "Protocol": "tcp", - "PublishedPort": 8080, - "TargetPort": 80 - } - ] - }, - "Labels": { - "foo": "bar" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ServiceCreateResponse", - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the created service." - }, - "Warning": { - "type": "string", - "description": "Optional warning message" - } - }, - "example": { - "ID": "ak7w3gjqoa3kuz8xcpnyy0pvl", - "Warning": "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - } - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "network is not eligible for services", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}": { - "get": { - "tags": [ - "Service" - ], - "summary": "Inspect a service", - "operationId": "ServiceInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "insertDefaults", - "in": "query", - "description": "Fill empty fields with default values.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Service" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Service" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Service" - ], - "summary": "Delete a service", - "operationId": "ServiceDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/{id}/update": { - "post": { - "tags": [ - "Service" - ], - "summary": "Update a service", - "operationId": "ServiceUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the service object being updated. This is\nrequired to avoid conflicting writes.\nThis version number should be the value as currently set on the\nservice *before* the update. You can find the current version by\ncalling `GET /services/{id}`\n", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "registryAuthFrom", - "in": "query", - "description": "If the `X-Registry-Auth` header is not specified, this parameter\nindicates where to find registry authorization credentials.\n", - "schema": { - "type": "string", - "default": "spec", - "enum": [ - "spec", - "previous-spec" - ] - } - }, - { - "name": "rollback", - "in": "query", - "description": "Set to this parameter to `previous` to cause a server-side rollback\nto the previous service spec. The supplied spec will be ignored in\nthis case.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "top", - "TaskTemplate": { - "ContainerSpec": { - "Image": "busybox", - "Args": [ - "top" - ] - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceUpdateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}/logs": { - "get": { - "tags": [ - "Service" - ], - "summary": "Get service logs", - "description": "Get `stdout` and `stderr` logs from a service. See also\n[`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "ServiceLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the service", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show service context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such service: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks": { - "get": { - "tags": [ - "Task" - ], - "summary": "List tasks", - "operationId": "TaskList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the tasks list.\n\nAvailable filters:\n\n- `desired-state=(running | shutdown | accepted)`\n- `id=`\n- `label=key` or `label=\"key=value\"`\n- `name=`\n- `node=`\n- `service=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ] - }, - { - "ID": "1yljwbmlr8er2waf8orvqpwms", - "Version": { - "Index": 30 - }, - "CreatedAt": "2016-06-07T21:07:30.019104782Z", - "UpdatedAt": "2016-06-07T21:07:30.231958098Z", - "Name": "hopeful_cori", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:30.202183143Z", - "State": "shutdown", - "Message": "shutdown", - "ContainerStatus": { - "ContainerID": "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" - } - }, - "DesiredState": "shutdown", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.5/16" - ] - } - ] - } - ], - "items": { - "$ref": "#/components/schemas/Task" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}": { - "get": { - "tags": [ - "Task" - ], - "summary": "Inspect a task", - "operationId": "TaskInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Task" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}/logs": { - "get": { - "tags": [ - "Task" - ], - "summary": "Get task logs", - "description": "Get `stdout` and `stderr` logs from a task.\nSee also [`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "TaskLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show task context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such task: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets": { - "get": { - "tags": [ - "Secret" - ], - "summary": "List secrets", - "operationId": "SecretList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the secrets list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "blt1owaxmitz71s9v5zh81zun", - "Version": { - "Index": 85 - }, - "CreatedAt": "2017-07-20T13:55:28.678958722Z", - "UpdatedAt": "2017-07-20T13:55:28.678958722Z", - "Spec": { - "Name": "mysql-passwd", - "Labels": { - "some.label": "some.value" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - }, - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - } - } - } - ], - "items": { - "$ref": "#/components/schemas/Secret" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/create": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Create a secret", - "operationId": "SecretCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/SecretSpec" - }, - { - "type": "object", - "example": { - "Name": "app-key.crt", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==", - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/secrets/{id}": { - "get": { - "tags": [ - "Secret" - ], - "summary": "Inspect a secret", - "operationId": "SecretInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Secret" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - } - } - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Secret" - ], - "summary": "Delete a secret", - "operationId": "SecretDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/{id}/update": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Update a Secret", - "operationId": "SecretUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the secret", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the secret object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the secret to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[SecretInspect endpoint](#operation/SecretInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such secret", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs": { - "get": { - "tags": [ - "Config" - ], - "summary": "List configs", - "operationId": "ConfigList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the configs list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "server.conf" - } - } - ], - "items": { - "$ref": "#/components/schemas/Config" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/create": { - "post": { - "tags": [ - "Config" - ], - "summary": "Create a config", - "operationId": "ConfigCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ConfigSpec" - }, - { - "type": "object", - "example": { - "Name": "server.conf", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs/{id}": { - "get": { - "tags": [ - "Config" - ], - "summary": "Inspect a config", - "operationId": "ConfigInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Config" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt" - } - } - } - } - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Config" - ], - "summary": "Delete a config", - "operationId": "ConfigDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/{id}/update": { - "post": { - "tags": [ - "Config" - ], - "summary": "Update a Config", - "operationId": "ConfigUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the config", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the config object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the config to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[ConfigInspect endpoint](#operation/ConfigInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such config", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/distribution/{name}/json": { - "get": { - "tags": [ - "Distribution" - ], - "summary": "Get image information from the registry", - "description": "Return image digest and platform information by contacting the registry.\n", - "operationId": "DistributionInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "descriptor and platform information", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DistributionInspect" - } - } - } - }, - "401": { - "description": "Failed authentication or no image found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/session": { - "post": { - "tags": [ - "Session" - ], - "summary": "Initialize interactive session", - "description": "Start a new interactive session with a server. Session allows server to\ncall back to the client for advanced capabilities.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to HTTP2 transport that allows\nthe client to expose gPRC services on that connection.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /session HTTP/1.1\nUpgrade: h2c\nConnection: Upgrade\n```\n\nThe Docker daemon responds with a `101 UPGRADED` response follow with\nthe raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nConnection: Upgrade\nUpgrade: h2c\n```\n", - "operationId": "Session", - "responses": { - "101": { - "description": "no error, hijacking successful", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Port": { - "required": [ - "PrivatePort", - "Type" - ], - "type": "object", - "properties": { - "IP": { - "type": "string", - "description": "Host IP address that the container's port is mapped to", - "format": "ip-address" - }, - "PrivatePort": { - "type": "integer", - "description": "Port on the container", - "format": "uint16", - "nullable": false - }, - "PublicPort": { - "type": "integer", - "description": "Port exposed on the host", - "format": "uint16" - }, - "Type": { - "type": "string", - "nullable": false, - "enum": [ - "tcp", - "udp", - "sctp" - ] - } - }, - "description": "An open port on a container", - "example": { - "PrivatePort": 8080, - "PublicPort": 80, - "Type": "tcp" - } - }, - "MountPoint": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The mount type:\n\n- `bind` a mount of a file or directory from the host into the container.\n- `volume` a docker volume with the given `Name`.\n- `tmpfs` a `tmpfs`.\n- `npipe` a named pipe from the host into the container.\n- `cluster` a Swarm cluster volume\n", - "example": "volume", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe", - "cluster" - ] - }, - "Name": { - "type": "string", - "description": "Name is the name reference to the underlying data defined by `Source`\ne.g., the volume name.\n", - "example": "myvolume" - }, - "Source": { - "type": "string", - "description": "Source location of the mount.\n\nFor volumes, this contains the storage location of the volume (within\n`/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains\nthe source (host) part of the bind-mount. For `tmpfs` mount points, this\nfield is empty.\n", - "example": "/var/lib/docker/volumes/myvolume/_data" - }, - "Destination": { - "type": "string", - "description": "Destination is the path relative to the container root (`/`) where\nthe `Source` is mounted inside the container.\n", - "example": "/usr/share/nginx/html/" - }, - "Driver": { - "type": "string", - "description": "Driver is the volume driver used to create the volume (if it is a volume).\n", - "example": "local" - }, - "Mode": { - "type": "string", - "description": "Mode is a comma separated list of options supplied by the user when\ncreating the bind/volume mount.\n\nThe default is platform-specific (`\"z\"` on Linux, empty on Windows).\n", - "example": "z" - }, - "RW": { - "type": "boolean", - "description": "Whether the mount is mounted writable (read-write).\n", - "example": true - }, - "Propagation": { - "type": "string", - "description": "Propagation describes how mounts are propagated from the host into the\nmount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)\nfor details. This field is not used on Windows.\n", - "example": "" - } - }, - "description": "MountPoint represents a mount point configuration inside the container.\nThis is used for reporting the mountpoints in use by a container.\n" - }, - "DeviceMapping": { - "type": "object", - "properties": { - "PathOnHost": { - "type": "string" - }, - "PathInContainer": { - "type": "string" - }, - "CgroupPermissions": { - "type": "string" - } - }, - "description": "A device mapping between the host and container", - "example": { - "PathOnHost": "/dev/deviceName", - "PathInContainer": "/dev/deviceName", - "CgroupPermissions": "mrw" - } - }, - "DeviceRequest": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "example": "nvidia" - }, - "Count": { - "type": "integer", - "example": -1 - }, - "DeviceIDs": { - "type": "array", - "example": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "items": { - "type": "string" - } - }, - "Capabilities": { - "type": "array", - "description": "A list of capabilities; an OR list of AND lists of capabilities.\n", - "example": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a key/value pairs. These options\nare passed directly to the driver.\n" - } - }, - "description": "A request for devices to be sent to device drivers" - }, - "ThrottleDevice": { - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Device path" - }, - "Rate": { - "minimum": 0, - "type": "integer", - "description": "Rate", - "format": "int64" - } - } - }, - "Mount": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "Container path." - }, - "Source": { - "type": "string", - "description": "Mount source (e.g. a volume name, a host path)." - }, - "Type": { - "type": "string", - "description": "The mount type. Available types:\n\n- `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.\n- `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed.\n- `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.\n- `npipe` Mounts a named pipe from the host into the container. Must exist prior to creating the container.\n- `cluster` a Swarm cluster volume\n", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe", - "cluster" - ] - }, - "ReadOnly": { - "type": "boolean", - "description": "Whether the mount should be read-only." - }, - "Consistency": { - "type": "string", - "description": "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`." - }, - "BindOptions": { - "type": "object", - "properties": { - "Propagation": { - "type": "string", - "description": "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.", - "enum": [ - "private", - "rprivate", - "shared", - "rshared", - "slave", - "rslave" - ] - }, - "NonRecursive": { - "type": "boolean", - "description": "Disable recursive bind mount.", - "default": false - }, - "CreateMountpoint": { - "type": "boolean", - "description": "Create mount point on host if missing", - "default": false - } - }, - "description": "Optional configuration for the `bind` type." - }, - "VolumeOptions": { - "type": "object", - "properties": { - "NoCopy": { - "type": "boolean", - "description": "Populate volume with data from the target.", - "default": false - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "DriverConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver to use to create the volume." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "key/value map of driver specific options." - } - }, - "description": "Map of driver specific options" - } - }, - "description": "Optional configuration for the `volume` type." - }, - "TmpfsOptions": { - "type": "object", - "properties": { - "SizeBytes": { - "type": "integer", - "description": "The size for the tmpfs mount in bytes.", - "format": "int64" - }, - "Mode": { - "type": "integer", - "description": "The permission mode for the tmpfs mount in an integer." - } - }, - "description": "Optional configuration for the `tmpfs` type." - } - } - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "- Empty string means not to restart\n- `no` Do not automatically restart\n- `always` Always restart\n- `unless-stopped` Restart always except when the user has manually stopped the container\n- `on-failure` Restart only when the container exit code is non-zero\n", - "enum": [ - "", - "no", - "always", - "unless-stopped", - "on-failure" - ] - }, - "MaximumRetryCount": { - "type": "integer", - "description": "If `on-failure` is used, the number of times to retry before giving up.\n" - } - }, - "description": "The behavior to apply when the container exits. The default is not to\nrestart.\n\nAn ever increasing delay (double the previous delay, starting at 100ms) is\nadded before each restart to prevent flooding the server.\n" - }, - "Resources": { - "type": "object", - "properties": { - "CpuShares": { - "type": "integer", - "description": "An integer value representing this container's relative CPU weight\nversus other containers.\n" - }, - "Memory": { - "type": "integer", - "description": "Memory limit in bytes.", - "format": "int64", - "default": 0 - }, - "CgroupParent": { - "type": "string", - "description": "Path to `cgroups` under which the container's `cgroup` is created. If\nthe path is not absolute, the path is considered to be relative to the\n`cgroups` path of the init process. Cgroups are created if they do not\nalready exist.\n" - }, - "BlkioWeight": { - "maximum": 1000, - "minimum": 0, - "type": "integer", - "description": "Block IO weight (relative weight)." - }, - "BlkioWeightDevice": { - "type": "array", - "description": "Block IO weight (relative device weight) in the form:\n\n```\n[{\"Path\": \"device_path\", \"Weight\": weight}]\n```\n", - "items": { - "type": "object", - "properties": { - "Path": { - "type": "string" - }, - "Weight": { - "minimum": 0, - "type": "integer" - } - } - } - }, - "BlkioDeviceReadBps": { - "type": "array", - "description": "Limit read rate (bytes per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteBps": { - "type": "array", - "description": "Limit write rate (bytes per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceReadIOps": { - "type": "array", - "description": "Limit read rate (IO per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteIOps": { - "type": "array", - "description": "Limit write rate (IO per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "CpuPeriod": { - "type": "integer", - "description": "The length of a CPU period in microseconds.", - "format": "int64" - }, - "CpuQuota": { - "type": "integer", - "description": "Microseconds of CPU time that the container can get in a CPU period.\n", - "format": "int64" - }, - "CpuRealtimePeriod": { - "type": "integer", - "description": "The length of a CPU real-time period in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpuRealtimeRuntime": { - "type": "integer", - "description": "The length of a CPU real-time runtime in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpusetCpus": { - "type": "string", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).\n", - "example": "0-3" - }, - "CpusetMems": { - "type": "string", - "description": "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only\neffective on NUMA systems.\n" - }, - "Devices": { - "type": "array", - "description": "A list of devices to add to the container.", - "items": { - "$ref": "#/components/schemas/DeviceMapping" - } - }, - "DeviceCgroupRules": { - "type": "array", - "description": "a list of cgroup rules to apply to the container", - "items": { - "type": "string", - "example": "c 13:* rwm" - } - }, - "DeviceRequests": { - "type": "array", - "description": "A list of requests for devices to be sent to device drivers.\n", - "items": { - "$ref": "#/components/schemas/DeviceRequest" - } - }, - "KernelMemoryTCP": { - "type": "integer", - "description": "Hard limit for kernel TCP buffer memory (in bytes). Depending on the\nOCI runtime in use, this option may be ignored. It is no longer supported\nby the default (runc) runtime.\n\nThis field is omitted when empty.\n", - "format": "int64" - }, - "MemoryReservation": { - "type": "integer", - "description": "Memory soft limit in bytes.", - "format": "int64" - }, - "MemorySwap": { - "type": "integer", - "description": "Total memory limit (memory + swap). Set as `-1` to enable unlimited\nswap.\n", - "format": "int64" - }, - "MemorySwappiness": { - "maximum": 100, - "minimum": 0, - "type": "integer", - "description": "Tune a container's memory swappiness behavior. Accepts an integer\nbetween 0 and 100.\n", - "format": "int64" - }, - "NanoCpus": { - "type": "integer", - "description": "CPU quota in units of 10-9 CPUs.", - "format": "int64" - }, - "OomKillDisable": { - "type": "boolean", - "description": "Disable OOM Killer for the container." - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "PidsLimit": { - "type": "integer", - "description": "Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null`\nto not change.\n", - "format": "int64", - "nullable": true - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example:\n\n```\n{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}\n```\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - }, - "CpuCount": { - "type": "integer", - "description": "The number of usable CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "CpuPercent": { - "type": "integer", - "description": "The usable percentage of the available CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "IOMaximumIOps": { - "type": "integer", - "description": "Maximum IOps for the container system drive (Windows only)", - "format": "int64" - }, - "IOMaximumBandwidth": { - "type": "integer", - "description": "Maximum IO in bytes per second for the container system drive\n(Windows only).\n", - "format": "int64" - } - }, - "description": "A container's resources (cgroups config, ulimits, etc)" - }, - "Limit": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "Pids": { - "type": "integer", - "description": "Limits the maximum number of PIDs in the container. Set `0` for unlimited.\n", - "format": "int64", - "example": 100, - "default": 0 - } - }, - "description": "An object describing a limit on resources which can be requested by a task.\n" - }, - "ResourceObject": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - } - }, - "description": "An object describing the resources which can be advertised by a node and\nrequested by a task.\n" - }, - "GenericResources": { - "type": "array", - "description": "User-defined resources can be either Integer resources (e.g, `SSD=3`) or\nString resources (e.g, `GPU=UUID1`).\n", - "example": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ], - "items": { - "type": "object", - "properties": { - "NamedResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "string" - } - } - }, - "DiscreteResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "integer", - "format": "int64" - } - } - } - } - } - }, - "HealthConfig": { - "type": "object", - "properties": { - "Test": { - "type": "array", - "description": "The test to perform. Possible values are:\n\n- `[]` inherit healthcheck from image or parent image\n- `[\"NONE\"]` disable healthcheck\n- `[\"CMD\", args...]` exec arguments directly\n- `[\"CMD-SHELL\", command]` run command with system's default shell\n", - "items": { - "type": "string" - } - }, - "Interval": { - "type": "integer", - "description": "The time to wait between checks in nanoseconds. It should be 0 or at\nleast 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "Timeout": { - "type": "integer", - "description": "The time to wait before considering the check to have hung. It should\nbe 0 or at least 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "Retries": { - "type": "integer", - "description": "The number of consecutive failures needed to consider a container as\nunhealthy. 0 means inherit.\n" - }, - "StartPeriod": { - "type": "integer", - "description": "Start period for the container to initialize before starting\nhealth-retries countdown in nanoseconds. It should be 0 or at least\n1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - } - }, - "description": "A test to perform to check that the container is healthy." - }, - "Health": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "Status is one of `none`, `starting`, `healthy` or `unhealthy`\n\n- \"none\" Indicates there is no healthcheck\n- \"starting\" Starting indicates that the container is not yet ready\n- \"healthy\" Healthy indicates that the container is running correctly\n- \"unhealthy\" Unhealthy indicates that the container has a problem\n", - "example": "healthy", - "enum": [ - "none", - "starting", - "healthy", - "unhealthy" - ] - }, - "FailingStreak": { - "type": "integer", - "description": "FailingStreak is the number of consecutive failures", - "example": 0 - }, - "Log": { - "type": "array", - "description": "Log contains the last few results (oldest first)\n", - "items": { - "$ref": "#/components/schemas/HealthcheckResult" - } - } - }, - "description": "Health stores information about the container's healthcheck results.\n", - "nullable": true, - "x-nullable": true - }, - "HealthcheckResult": { - "type": "object", - "properties": { - "Start": { - "type": "string", - "description": "Date and time at which this check started in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "date-time", - "example": "2020-01-04T10:44:24.496525531Z" - }, - "End": { - "type": "string", - "description": "Date and time at which this check ended in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2020-01-04T10:45:21.364524523Z" - }, - "ExitCode": { - "type": "integer", - "description": "ExitCode meanings:\n\n- `0` healthy\n- `1` unhealthy\n- `2` reserved (considered unhealthy)\n- other values: error running probe\n", - "example": 0 - }, - "Output": { - "type": "string", - "description": "Output from last check" - } - }, - "description": "HealthcheckResult stores information about a single run of a healthcheck probe\n", - "nullable": true, - "x-nullable": true - }, - "HostConfig": { - "description": "Container configuration that depends on the host we are running on", - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "Binds": { - "type": "array", - "description": "A list of volume bindings for this container. Each volume binding\nis a string in one of these forms:\n\n- `host-src:container-dest[:options]` to bind-mount a host path\n into the container. Both `host-src`, and `container-dest` must\n be an _absolute_ path.\n- `volume-name:container-dest[:options]` to bind-mount a volume\n managed by a volume driver into the container. `container-dest`\n must be an _absolute_ path.\n\n`options` is an optional, comma-delimited list of:\n\n- `nocopy` disables automatic copying of data from the container\n path to the volume. The `nocopy` flag only applies to named volumes.\n- `[ro|rw]` mounts a volume read-only or read-write, respectively.\n If omitted or set to `rw`, volumes are mounted read-write.\n- `[z|Z]` applies SELinux labels to allow or deny multiple containers\n to read and write to the same volume.\n - `z`: a _shared_ content label is applied to the content. This\n label indicates that multiple containers can share the volume\n content, for both reading and writing.\n - `Z`: a _private unshared_ label is applied to the content.\n This label indicates that only the current container can use\n a private volume. Labeling systems such as SELinux require\n proper labels to be placed on volume content that is mounted\n into a container. Without a label, the security system can\n prevent a container's processes from using the content. By\n default, the labels set by the host operating system are not\n modified.\n- `[[r]shared|[r]slave|[r]private]` specifies mount\n [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).\n This only applies to bind-mounted volumes, not internal volumes\n or named volumes. Mount propagation requires the source mount\n point (the location where the source directory is mounted in the\n host operating system) to have the correct propagation properties.\n For shared volumes, the source mount point must be set to `shared`.\n For slave volumes, the mount must be set to either `shared` or\n `slave`.\n", - "items": { - "type": "string" - } - }, - "ContainerIDFile": { - "type": "string", - "description": "Path to a file where the container ID is written" - }, - "LogConfig": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "json-file", - "syslog", - "journald", - "gelf", - "fluentd", - "awslogs", - "splunk", - "etwlogs", - "none" - ] - }, - "Config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "The logging configuration for this container" - }, - "NetworkMode": { - "type": "string", - "description": "Network mode to use for this container. Supported standard values\nare: `bridge`, `host`, `none`, and `container:`. Any\nother value is taken as a custom network's name to which this\ncontainer should connect to.\n" - }, - "PortBindings": { - "$ref": "#/components/schemas/PortMap" - }, - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - }, - "AutoRemove": { - "type": "boolean", - "description": "Automatically remove the container when the container's process\nexits. This has no effect if `RestartPolicy` is set.\n" - }, - "VolumeDriver": { - "type": "string", - "description": "Driver that this container uses to mount volumes." - }, - "VolumesFrom": { - "type": "array", - "description": "A list of volumes to inherit from another container, specified in\nthe form `[:]`.\n", - "items": { - "type": "string" - } - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to the container.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.\n", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - }, - "CapAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CapDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CgroupnsMode": { - "type": "string", - "description": "cgroup namespace mode for the container. Possible values are:\n\n- `\"private\"`: the container runs in its own private cgroup namespace\n- `\"host\"`: use the host system's cgroup namespace\n\nIf not specified, the daemon default is used, which can either be `\"private\"`\nor `\"host\"`, depending on daemon version, kernel support and configuration.\n", - "enum": [ - "private", - "host" - ] - }, - "Dns": { - "type": "array", - "description": "A list of DNS servers for the container to use.", - "items": { - "type": "string" - } - }, - "DnsOptions": { - "type": "array", - "description": "A list of DNS options.", - "items": { - "type": "string" - } - }, - "DnsSearch": { - "type": "array", - "description": "A list of DNS search domains.", - "items": { - "type": "string" - } - }, - "ExtraHosts": { - "type": "array", - "description": "A list of hostnames/IP mappings to add to the container's `/etc/hosts`\nfile. Specified in the form `[\"hostname:IP\"]`.\n", - "items": { - "type": "string" - } - }, - "GroupAdd": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "IpcMode": { - "type": "string", - "description": "IPC sharing mode for the container. Possible values are:\n\n- `\"none\"`: own private IPC namespace, with /dev/shm not mounted\n- `\"private\"`: own private IPC namespace\n- `\"shareable\"`: own private IPC namespace, with a possibility to share it with other containers\n- `\"container:\"`: join another (shareable) container's IPC namespace\n- `\"host\"`: use the host system's IPC namespace\n\nIf not specified, daemon default is used, which can either be `\"private\"`\nor `\"shareable\"`, depending on daemon version and configuration.\n" - }, - "Cgroup": { - "type": "string", - "description": "Cgroup to use for the container." - }, - "Links": { - "type": "array", - "description": "A list of links for the container in the form `container_name:alias`.\n", - "items": { - "type": "string" - } - }, - "OomScoreAdj": { - "type": "integer", - "description": "An integer value containing the score given to the container in\norder to tune OOM killer preferences.\n", - "example": 500 - }, - "PidMode": { - "type": "string", - "description": "Set the PID (Process) Namespace mode for the container. It can be\neither:\n\n- `\"container:\"`: joins another container's PID namespace\n- `\"host\"`: use the host's PID namespace inside the container\n" - }, - "Privileged": { - "type": "boolean", - "description": "Gives the container full access to the host." - }, - "PublishAllPorts": { - "type": "boolean", - "description": "Allocates an ephemeral host port for all of a container's\nexposed ports.\n\nPorts are de-allocated when the container stops and allocated when\nthe container starts. The allocated port might be changed when\nrestarting the container.\n\nThe port is selected from the ephemeral port range that depends on\nthe kernel. For example, on Linux the range is defined by\n`/proc/sys/net/ipv4/ip_local_port_range`.\n" - }, - "ReadonlyRootfs": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "SecurityOpt": { - "type": "array", - "description": "A list of string values to customize labels for MLS systems, such\nas SELinux.\n", - "items": { - "type": "string" - } - }, - "StorageOpt": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Storage driver options for this container, in the form `{\"size\": \"120G\"}`.\n" - }, - "Tmpfs": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of container directories which should be replaced by tmpfs\nmounts, and their corresponding mount options. For example:\n\n```\n{ \"/run\": \"rw,noexec,nosuid,size=65536k\" }\n```\n" - }, - "UTSMode": { - "type": "string", - "description": "UTS namespace to use for the container." - }, - "UsernsMode": { - "type": "string", - "description": "Sets the usernamespace mode for the container when usernamespace\nremapping option is enabled.\n" - }, - "ShmSize": { - "minimum": 0, - "type": "integer", - "description": "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.\n", - "format": "int64" - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A list of kernel parameters (sysctls) to set in the container.\nFor example:\n\n```\n{\"net.ipv4.ip_forward\": \"1\"}\n```\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime to use with this container." - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the container. (Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "MaskedPaths": { - "type": "array", - "description": "The list of paths to be masked inside the container (this overrides\nthe default set of paths).\n", - "items": { - "type": "string" - } - }, - "ReadonlyPaths": { - "type": "array", - "description": "The list of paths to be set as read-only inside the container\n(this overrides the default set of paths).\n", - "items": { - "type": "string" - } - } - } - } - ] - }, - "ContainerConfig": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid RFC 1123 hostname.\n", - "example": "439f4e91bd1d" - }, - "Domainname": { - "type": "string", - "description": "The domain name to use for the container.\n" - }, - "User": { - "type": "string", - "description": "The user that commands are run as inside the container." - }, - "AttachStdin": { - "type": "boolean", - "description": "Whether to attach to `stdin`.", - "default": false - }, - "AttachStdout": { - "type": "boolean", - "description": "Whether to attach to `stdout`.", - "default": true - }, - "AttachStderr": { - "type": "boolean", - "description": "Whether to attach to `stderr`.", - "default": true - }, - "ExposedPorts": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping ports to an empty object in the form:\n\n`{\"/\": {}}`\n", - "nullable": true, - "example": { - "80/tcp": {}, - "443/tcp": {} - } - }, - "Tty": { - "type": "boolean", - "description": "Attach standard streams to a TTY, including `stdin` if it is not closed.\n", - "default": false - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`", - "default": false - }, - "StdinOnce": { - "type": "boolean", - "description": "Close `stdin` after one attached client disconnects", - "default": false - }, - "Env": { - "type": "array", - "description": "A list of environment variables to set inside the container in the\nform `[\"VAR=value\", ...]`. A variable without `=` is removed from the\nenvironment, rather than to have an empty value.\n", - "example": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run specified as a string or an array of strings.\n", - "example": [ - "/bin/sh" - ], - "items": { - "type": "string" - } - }, - "Healthcheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "ArgsEscaped": { - "type": "boolean", - "description": "Command is already escaped (Windows only)", - "nullable": true, - "example": false, - "default": false - }, - "Image": { - "type": "string", - "description": "The name (or reference) of the image to use when creating the container,\nor which was used when the container was created.\n", - "example": "example-image:1.0" - }, - "Volumes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping mount point paths inside the container to empty\nobjects.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for commands to run in.", - "example": "/public/" - }, - "Entrypoint": { - "type": "array", - "description": "The entry point for the container as a string or an array of strings.\n\nIf the array consists of exactly one empty string (`[\"\"]`) then the\nentry point is reset to system default (i.e., the entry point used by\ndocker when there is no `ENTRYPOINT` instruction in the `Dockerfile`).\n", - "example": [], - "items": { - "type": "string" - } - }, - "NetworkDisabled": { - "type": "boolean", - "description": "Disable networking for the container.", - "nullable": true - }, - "MacAddress": { - "type": "string", - "description": "MAC address of the container.", - "nullable": true - }, - "OnBuild": { - "type": "array", - "description": "`ONBUILD` metadata that were defined in the image's `Dockerfile`.\n", - "nullable": true, - "example": [], - "items": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop a container as a string or unsigned integer.\n", - "nullable": true, - "example": "SIGTERM" - }, - "StopTimeout": { - "type": "integer", - "description": "Timeout to stop a container in seconds.", - "nullable": true - }, - "Shell": { - "type": "array", - "description": "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.\n", - "nullable": true, - "example": [ - "/bin/sh", - "-c" - ], - "items": { - "type": "string" - } - } - }, - "description": "Configuration for a container that is portable between hosts.\n\nWhen used as `ContainerConfig` field in an image, `ContainerConfig` is an\noptional field containing the configuration of the container that was last\ncommitted when creating the image.\n\nPrevious versions of Docker builder used this field to store build cache,\nand it is not in active use anymore.\n" - }, - "NetworkingConfig": { - "type": "object", - "properties": { - "EndpointsConfig": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "A mapping of network name to endpoint configuration for that network.\n" - } - }, - "description": "NetworkingConfig represents the container's networking configuration for\neach of its interfaces.\nIt is used for the networking configs specified in the `docker create`\nand `docker network connect` commands.\n", - "example": { - "EndpointsConfig": { - "isolated_nw": { - "IPAMConfig": { - "IPv4Address": "172.20.30.33", - "IPv6Address": "2001:db8:abcd::3033", - "LinkLocalIPs": [ - "169.254.34.68", - "fe80::3468" - ] - }, - "Links": [ - "container_1", - "container_2" - ], - "Aliases": [ - "server_x", - "server_y" - ] - } - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Bridge": { - "type": "string", - "description": "Name of the network's bridge (for example, `docker0`).", - "example": "docker0" - }, - "SandboxID": { - "type": "string", - "description": "SandboxID uniquely represents a container's network stack.", - "example": "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3" - }, - "HairpinMode": { - "type": "boolean", - "description": "Indicates if hairpin NAT should be enabled on the virtual interface.\n", - "example": false - }, - "LinkLocalIPv6Address": { - "type": "string", - "description": "IPv6 unicast address using the link-local prefix.", - "example": "fe80::42:acff:fe11:1" - }, - "LinkLocalIPv6PrefixLen": { - "type": "integer", - "description": "Prefix length of the IPv6 unicast address.", - "example": 64 - }, - "Ports": { - "$ref": "#/components/schemas/PortMap" - }, - "SandboxKey": { - "type": "string", - "description": "SandboxKey identifies the sandbox", - "example": "/var/run/docker/netns/8ab54b426c38" - }, - "SecondaryIPAddresses": { - "type": "array", - "description": "", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "SecondaryIPv6Addresses": { - "type": "array", - "description": "", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "EndpointID": { - "type": "string", - "description": "EndpointID uniquely represents a service endpoint in a Sandbox.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.1" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 64 - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address for this network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8:2::100" - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the container on the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "02:42:ac:11:00:04" - }, - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "Information about all networks that the container is connected to.\n" - } - }, - "description": "NetworkSettings exposes the network settings in the API" - }, - "Address": { - "type": "object", - "properties": { - "Addr": { - "type": "string", - "description": "IP address." - }, - "PrefixLen": { - "type": "integer", - "description": "Mask length of the IP address." - } - }, - "description": "Address represents an IPv4 or IPv6 IP address." - }, - "PortMap": { - "type": "object", - "additionalProperties": { - "type": "array", - "nullable": true, - "items": { - "$ref": "#/components/schemas/PortBinding" - } - }, - "description": "PortMap describes the mapping of container ports to host ports, using the\ncontainer's port-number and protocol as key in the format `/`,\nfor example, `80/udp`.\n\nIf a container's port is mapped for multiple protocols, separate entries\nare added to the mapping table.\n", - "example": { - "443/tcp": [ - { - "HostIp": "127.0.0.1", - "HostPort": "4443" - } - ], - "80/tcp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - }, - { - "HostIp": "0.0.0.0", - "HostPort": "8080" - } - ], - "80/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - } - ], - "53/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "53" - } - ] - } - }, - "PortBinding": { - "type": "object", - "properties": { - "HostIp": { - "type": "string", - "description": "Host IP address that the container's port is mapped to.", - "example": "127.0.0.1" - }, - "HostPort": { - "type": "string", - "description": "Host port number that the container's port is mapped to.", - "example": "4443" - } - }, - "description": "PortBinding represents a binding between a host IP address and a host\nport.\n" - }, - "GraphDriverData": { - "required": [ - "Data", - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the storage driver.", - "nullable": false, - "example": "overlay2" - }, - "Data": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Low-level storage metadata, provided as key/value pairs.\n\nThis information is driver-specific, and depends on the storage-driver\nin use, and should be used for informational purposes only.\n", - "nullable": false, - "example": { - "MergedDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/merged", - "UpperDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/diff", - "WorkDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/work" - } - } - }, - "description": "Information about the storage driver used to store the container's and\nimage's filesystem.\n" - }, - "ImageInspect": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "ID is the content-addressable ID of an image.\n\nThis identifier is a content-addressable digest calculated from the\nimage's configuration (which includes the digests of layers used by\nthe image).\n\nNote that this digest differs from the `RepoDigests` below, which\nholds digests of image manifests that reference the image.\n", - "nullable": false, - "example": "sha256:ec3f0931a6e6b6855d76b2d7b0be30e81860baccd891b2e243280bf1cd8ad710" - }, - "RepoTags": { - "type": "array", - "description": "List of image names/tags in the local image cache that reference this\nimage.\n\nMultiple image tags can refer to the same image, and this list may be\nempty if no tags reference the image, in which case the image is\n\"untagged\", in which case it can still be referenced by its ID.\n", - "example": [ - "example:1.0", - "example:latest", - "example:stable", - "internal.registry.example.com:5000/example:1.0" - ], - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "description": "List of content-addressable digests of locally available image manifests\nthat the image is referenced from. Multiple manifests can refer to the\nsame image.\n\nThese digests are usually only available if the image was either pulled\nfrom a registry, or if the image was pushed to a registry, which is when\nthe manifest is generated and its digest calculated.\n", - "example": [ - "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", - "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578" - ], - "items": { - "type": "string" - } - }, - "Parent": { - "type": "string", - "description": "ID of the parent image.\n\nDepending on how the image was created, this field may be empty and\nis only set for images that were built/created locally. This field\nis empty if the image was pulled from an image registry.\n", - "nullable": false, - "example": "" - }, - "Comment": { - "type": "string", - "description": "Optional message that was set when committing or importing the image.\n", - "nullable": false, - "example": "" - }, - "Created": { - "type": "string", - "description": "Date and time at which the image was created, formatted in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "nullable": false, - "example": "2022-02-04T21:20:12.497794809Z" - }, - "Container": { - "type": "string", - "description": "The ID of the container that was used to create the image.\n\nDepending on how the image was created, this field may be empty.\n", - "nullable": false, - "example": "65974bc86f1770ae4bff79f651ebdbce166ae9aada632ee3fa9af3a264911735" - }, - "ContainerConfig": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "DockerVersion": { - "type": "string", - "description": "The version of Docker that was used to build the image.\n\nDepending on how the image was created, this field may be empty.\n", - "nullable": false, - "example": "20.10.7" - }, - "Author": { - "type": "string", - "description": "Name of the author that was specified when committing the image, or as\nspecified through MAINTAINER (deprecated) in the Dockerfile.\n", - "nullable": false, - "example": "" - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "Architecture": { - "type": "string", - "description": "Hardware CPU architecture that the image runs on.\n", - "nullable": false, - "example": "arm" - }, - "Variant": { - "type": "string", - "description": "CPU architecture variant (presently ARM-only).\n", - "nullable": true, - "example": "v7" - }, - "Os": { - "type": "string", - "description": "Operating System the image is built to run on.\n", - "nullable": false, - "example": "linux" - }, - "OsVersion": { - "type": "string", - "description": "Operating System version the image is built to run on (especially\nfor Windows).\n", - "nullable": true, - "example": "" - }, - "Size": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "VirtualSize": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n\nIn versions of Docker before v1.10, this field was calculated from\nthe image itself and all of its parent images. Docker v1.10 and up\nstore images self-contained, and no longer use a parent-chain, making\nthis field an equivalent of the Size field.\n\nThis field is kept for backward compatibility, but may be removed in\na future version of the API.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "RootFS": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "layers" - }, - "Layers": { - "type": "array", - "example": [ - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6", - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" - ], - "items": { - "type": "string" - } - } - }, - "description": "Information about the image's RootFS, including the layer IDs.\n" - }, - "Metadata": { - "type": "object", - "properties": { - "LastTagTime": { - "type": "string", - "description": "Date and time at which the image was last tagged in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n\nThis information is only available if the image was tagged locally,\nand omitted otherwise.\n", - "format": "dateTime", - "nullable": true, - "example": "2022-02-28T14:40:02.623929178Z" - } - }, - "description": "Additional metadata of the image in the local cache. This information\nis local to the daemon, and not part of the image itself.\n" - } - }, - "description": "Information about an image in the local image cache.\n" - }, - "ImageSummary": { - "required": [ - "Containers", - "Created", - "Id", - "Labels", - "ParentId", - "RepoDigests", - "RepoTags", - "SharedSize", - "Size", - "VirtualSize" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "ID is the content-addressable ID of an image.\n\nThis identifier is a content-addressable digest calculated from the\nimage's configuration (which includes the digests of layers used by\nthe image).\n\nNote that this digest differs from the `RepoDigests` below, which\nholds digests of image manifests that reference the image.\n", - "nullable": false, - "example": "sha256:ec3f0931a6e6b6855d76b2d7b0be30e81860baccd891b2e243280bf1cd8ad710" - }, - "ParentId": { - "type": "string", - "description": "ID of the parent image.\n\nDepending on how the image was created, this field may be empty and\nis only set for images that were built/created locally. This field\nis empty if the image was pulled from an image registry.\n", - "nullable": false, - "example": "" - }, - "RepoTags": { - "type": "array", - "description": "List of image names/tags in the local image cache that reference this\nimage.\n\nMultiple image tags can refer to the same image, and this list may be\nempty if no tags reference the image, in which case the image is\n\"untagged\", in which case it can still be referenced by its ID.\n", - "nullable": false, - "example": [ - "example:1.0", - "example:latest", - "example:stable", - "internal.registry.example.com:5000/example:1.0" - ], - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "description": "List of content-addressable digests of locally available image manifests\nthat the image is referenced from. Multiple manifests can refer to the\nsame image.\n\nThese digests are usually only available if the image was either pulled\nfrom a registry, or if the image was pushed to a registry, which is when\nthe manifest is generated and its digest calculated.\n", - "nullable": false, - "example": [ - "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", - "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578" - ], - "items": { - "type": "string" - } - }, - "Created": { - "type": "integer", - "description": "Date and time at which the image was created as a Unix timestamp\n(number of seconds sinds EPOCH).\n", - "nullable": false, - "example": 1644009612 - }, - "Size": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n", - "format": "int64", - "nullable": false, - "example": 172064416 - }, - "SharedSize": { - "type": "integer", - "description": "Total size of image layers that are shared between this image and other\nimages.\n\nThis size is not calculated by default. `-1` indicates that the value\nhas not been set / calculated.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "VirtualSize": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n\nIn versions of Docker before v1.10, this field was calculated from\nthe image itself and all of its parent images. Docker v1.10 and up\nstore images self-contained, and no longer use a parent-chain, making\nthis field an equivalent of the Size field.\n\nThis field is kept for backward compatibility, but may be removed in\na future version of the API.\n", - "format": "int64", - "nullable": false, - "example": 172064416 - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Containers": { - "type": "integer", - "description": "Number of containers using this image. Includes both stopped and running\ncontainers.\n\nThis size is not calculated by default, and depends on which API endpoint\nis used. `-1` indicates that the value has not been set / calculated.\n", - "nullable": false, - "example": 2 - } - } - }, - "AuthConfig": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "email": { - "type": "string" - }, - "serveraddress": { - "type": "string" - } - }, - "example": { - "username": "hannibal", - "password": "xxxx", - "serveraddress": "https://index.docker.io/v1/" - } - }, - "ProcessConfig": { - "type": "object", - "properties": { - "privileged": { - "type": "boolean" - }, - "user": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "entrypoint": { - "type": "string" - }, - "arguments": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Volume": { - "required": [ - "Driver", - "Labels", - "Mountpoint", - "Name", - "Options", - "Scope" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the volume.", - "nullable": false, - "example": "tardis" - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver used by the volume.", - "nullable": false, - "example": "custom" - }, - "Mountpoint": { - "type": "string", - "description": "Mount path of the volume on the host.", - "nullable": false, - "example": "/var/lib/docker/volumes/tardis" - }, - "CreatedAt": { - "type": "string", - "description": "Date/Time the volume was created.", - "format": "dateTime", - "example": "2016-06-07T20:31:11.853781916Z" - }, - "Status": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "Low-level details about the volume, provided by the volume driver.\nDetails are returned as a map with key/value pairs:\n`{\"key\":\"value\",\"key2\":\"value2\"}`.\n\nThe `Status` field is optional, and is omitted if the volume driver\ndoes not support this feature.\n", - "example": { - "hello": "world" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Scope": { - "type": "string", - "description": "The level at which the volume exists. Either `global` for cluster-wide,\nor `local` for machine level.\n", - "nullable": false, - "example": "local", - "default": "local", - "enum": [ - "local", - "global" - ] - }, - "ClusterVolume": { - "$ref": "#/components/schemas/ClusterVolume" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The driver specific options used when creating the volume.\n", - "example": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - }, - "UsageData": { - "required": [ - "RefCount", - "Size" - ], - "type": "object", - "properties": { - "Size": { - "type": "integer", - "description": "Amount of disk space used by the volume (in bytes). This information\nis only available for volumes created with the `\"local\"` volume\ndriver. For volumes created with other volume drivers, this field\nis set to `-1` (\"not available\")\n", - "format": "int64", - "nullable": false, - "default": -1 - }, - "RefCount": { - "type": "integer", - "description": "The number of containers referencing this volume. This field\nis set to `-1` if the reference-count is not available.\n", - "format": "int64", - "nullable": false, - "default": -1 - } - }, - "description": "Usage details about the volume. This information is used by the\n`GET /system/df` endpoint, and omitted in other endpoints.\n", - "nullable": true, - "x-go-name": "UsageData" - } - } - }, - "VolumeCreateOptions": { - "title": "VolumeConfig", - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The new volume's name. If not specified, Docker generates a name.\n", - "nullable": false, - "example": "tardis" - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver to use.", - "nullable": false, - "example": "custom", - "default": "local" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A mapping of driver options and values. These options are\npassed directly to the driver and are driver specific.\n", - "example": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "ClusterVolumeSpec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - } - }, - "description": "Volume configuration", - "x-go-name": "CreateOptions" - }, - "VolumeListResponse": { - "title": "VolumeListResponse", - "type": "object", - "properties": { - "Volumes": { - "type": "array", - "description": "List of volumes", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "Warnings": { - "type": "array", - "description": "Warnings that occurred when fetching the list of volumes.\n", - "example": [], - "items": { - "type": "string" - } - } - }, - "description": "Volume list response", - "x-go-name": "ListResponse" - }, - "Network": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Created": { - "type": "string", - "format": "dateTime" - }, - "Scope": { - "type": "string" - }, - "Driver": { - "type": "string" - }, - "EnableIPv6": { - "type": "boolean" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "Internal": { - "type": "boolean" - }, - "Attachable": { - "type": "boolean" - }, - "Ingress": { - "type": "boolean" - }, - "Containers": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/NetworkContainer" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "example": { - "Name": "net01", - "Id": "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99", - "Created": "2016-10-19T04:33:30.360899459Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.19.0.0/16", - "Gateway": "172.19.0.1" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": false, - "Attachable": false, - "Ingress": false, - "Containers": { - "19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c": { - "Name": "test", - "EndpointID": "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a", - "MacAddress": "02:42:ac:13:00:02", - "IPv4Address": "172.19.0.2/16", - "IPv6Address": "" - } - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "IPAM": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "description": "Name of the IPAM driver to use.", - "default": "default" - }, - "Config": { - "type": "array", - "description": "List of IPAM configuration options, specified as a map:\n\n```\n{\"Subnet\": , \"IPRange\": , \"Gateway\": , \"AuxAddress\": }\n```\n", - "items": { - "$ref": "#/components/schemas/IPAMConfig" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a map." - } - } - }, - "IPAMConfig": { - "type": "object", - "properties": { - "Subnet": { - "type": "string" - }, - "IPRange": { - "type": "string" - }, - "Gateway": { - "type": "string" - }, - "AuxiliaryAddresses": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "NetworkContainer": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "EndpointID": { - "type": "string" - }, - "MacAddress": { - "type": "string" - }, - "IPv4Address": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - } - } - }, - "BuildInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "stream": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - }, - "aux": { - "$ref": "#/components/schemas/ImageID" - } - } - }, - "BuildCache": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique ID of the build cache record.\n", - "example": "ndlpt0hhvkqcdfkputsk4cq9c" - }, - "Parent": { - "type": "string", - "description": "ID of the parent build cache record.\n\n> **Deprecated**: This field is deprecated, and omitted if empty.\n", - "nullable": true, - "example": "" - }, - "Parents": { - "type": "array", - "description": "List of parent build cache record IDs.\n", - "nullable": true, - "example": [ - "hw53o5aio51xtltp5xjp8v7fx" - ], - "items": { - "type": "string" - } - }, - "Type": { - "type": "string", - "description": "Cache record type.\n", - "example": "regular", - "enum": [ - "internal", - "frontend", - "source.local", - "source.git.checkout", - "exec.cachemount", - "regular" - ] - }, - "Description": { - "type": "string", - "description": "Description of the build-step that produced the build cache.\n", - "example": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache" - }, - "InUse": { - "type": "boolean", - "description": "Indicates if the build cache is in use.\n", - "example": false - }, - "Shared": { - "type": "boolean", - "description": "Indicates if the build cache is shared.\n", - "example": true - }, - "Size": { - "type": "integer", - "description": "Amount of disk space used by the build cache (in bytes).\n", - "example": 51 - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the build cache was created in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "LastUsedAt": { - "type": "string", - "description": "Date and time at which the build cache was last used in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "nullable": true, - "example": "2017-08-09T07:09:37.632105588Z" - }, - "UsageCount": { - "type": "integer", - "example": 26 - } - }, - "description": "BuildCache contains information about a build cache record.\n" - }, - "ImageID": { - "type": "object", - "properties": { - "ID": { - "type": "string" - } - }, - "description": "Image ID or Digest", - "example": { - "ID": "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" - } - }, - "CreateImageInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "PushImageInfo": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "ErrorDetail": { - "type": "object", - "properties": { - "code": { - "type": "integer" - }, - "message": { - "type": "string" - } - } - }, - "ProgressDetail": { - "type": "object", - "properties": { - "current": { - "type": "integer" - }, - "total": { - "type": "integer" - } - } - }, - "ErrorResponse": { - "required": [ - "message" - ], - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The error message.", - "nullable": false - } - }, - "description": "Represents an error.", - "example": { - "message": "Something went wrong." - } - }, - "IdResponse": { - "required": [ - "Id" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The id of the newly created object.", - "nullable": false - } - }, - "description": "Response to an API call that returns just an Id" - }, - "EndpointSettings": { - "type": "object", - "properties": { - "IPAMConfig": { - "$ref": "#/components/schemas/EndpointIPAMConfig" - }, - "Links": { - "type": "array", - "example": [ - "container_1", - "container_2" - ], - "items": { - "type": "string" - } - }, - "Aliases": { - "type": "array", - "example": [ - "server_x", - "server_y" - ], - "items": { - "type": "string" - } - }, - "NetworkID": { - "type": "string", - "description": "Unique ID of the network.\n", - "example": "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a" - }, - "EndpointID": { - "type": "string", - "description": "Unique ID for the service endpoint in a Sandbox.\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for this network.\n", - "example": "172.17.0.1" - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address.\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address.\n", - "example": "2001:db8:2::100" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address.\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n", - "format": "int64", - "example": 64 - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the endpoint on this network.\n", - "example": "02:42:ac:11:00:04" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "DriverOpts is a mapping of driver options and values. These options\nare passed directly to the driver and are driver specific.\n", - "nullable": true, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "description": "Configuration for a network endpoint." - }, - "EndpointIPAMConfig": { - "type": "object", - "properties": { - "IPv4Address": { - "type": "string", - "example": "172.20.30.33" - }, - "IPv6Address": { - "type": "string", - "example": "2001:db8:abcd::3033" - }, - "LinkLocalIPs": { - "type": "array", - "example": [ - "169.254.34.68", - "fe80::3468" - ], - "items": { - "type": "string" - } - } - }, - "description": "EndpointIPAMConfig represents an endpoint's IPAM configuration.\n", - "nullable": true, - "x-nullable": true - }, - "PluginMount": { - "required": [ - "Description", - "Destination", - "Name", - "Options", - "Settable", - "Source", - "Type" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "some-mount" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "This is a mount that's used by the plugin." - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Source": { - "type": "string", - "example": "/var/lib/docker/plugins/" - }, - "Destination": { - "type": "string", - "nullable": false, - "example": "/mnt/state" - }, - "Type": { - "type": "string", - "nullable": false, - "example": "bind" - }, - "Options": { - "type": "array", - "example": [ - "rbind", - "rw" - ], - "items": { - "type": "string" - } - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginDevice": { - "required": [ - "Description", - "Name", - "Path", - "Settable" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Path": { - "type": "string", - "example": "/dev/fuse" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginEnv": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "string" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginInterfaceType": { - "required": [ - "Capability", - "Prefix", - "Version" - ], - "type": "object", - "properties": { - "Prefix": { - "type": "string", - "nullable": false - }, - "Capability": { - "type": "string", - "nullable": false - }, - "Version": { - "type": "string", - "nullable": false - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginPrivilege": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "example": "network" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "example": [ - "host" - ], - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission the user has to accept upon installing\nthe plugin.\n", - "x-go-name": "PluginPrivilege" - }, - "Plugin": { - "required": [ - "Config", - "Enabled", - "Name", - "Settings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "example": "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" - }, - "Name": { - "type": "string", - "nullable": false, - "example": "tiborvass/sample-volume-plugin" - }, - "Enabled": { - "type": "boolean", - "description": "True if the plugin is running. False if the plugin is not running, only installed.", - "nullable": false, - "example": true - }, - "Settings": { - "required": [ - "Args", - "Devices", - "Env", - "Mounts" - ], - "type": "object", - "properties": { - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - "DEBUG=0" - ], - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "items": { - "type": "string" - } - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "description": "Settings that can be modified by users.", - "nullable": false - }, - "PluginReference": { - "type": "string", - "description": "plugin remote reference used to push/pull the plugin", - "nullable": false, - "example": "localhost:5000/tiborvass/sample-volume-plugin:latest" - }, - "Config": { - "required": [ - "Args", - "Description", - "Documentation", - "Entrypoint", - "Env", - "Interface", - "IpcHost", - "Linux", - "Mounts", - "Network", - "PidHost", - "PropagatedMount", - "WorkDir" - ], - "type": "object", - "properties": { - "DockerVersion": { - "type": "string", - "description": "Docker Version used to create the plugin", - "nullable": false, - "example": "17.06.0-ce" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "A sample volume plugin for Docker" - }, - "Documentation": { - "type": "string", - "nullable": false, - "example": "https://docs.docker.com/engine/extend/plugins/" - }, - "Interface": { - "required": [ - "Socket", - "Types" - ], - "type": "object", - "properties": { - "Types": { - "type": "array", - "example": [ - "docker.volumedriver/1.0" - ], - "items": { - "$ref": "#/components/schemas/PluginInterfaceType" - } - }, - "Socket": { - "type": "string", - "nullable": false, - "example": "plugins.sock" - }, - "ProtocolScheme": { - "type": "string", - "description": "Protocol to use for clients connecting to the plugin.", - "example": "some.protocol/v1.0", - "enum": [ - "", - "moby.plugins.http/v1" - ] - } - }, - "description": "The interface between Docker and the plugin", - "nullable": false - }, - "Entrypoint": { - "type": "array", - "example": [ - "/usr/bin/sample-volume-plugin", - "/data" - ], - "items": { - "type": "string" - } - }, - "WorkDir": { - "type": "string", - "nullable": false, - "example": "/bin/" - }, - "User": { - "type": "object", - "properties": { - "UID": { - "type": "integer", - "format": "uint32", - "example": 1000 - }, - "GID": { - "type": "integer", - "format": "uint32", - "example": 1000 - } - }, - "nullable": false - }, - "Network": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "host" - } - }, - "nullable": false - }, - "Linux": { - "required": [ - "AllowAllDevices", - "Capabilities", - "Devices" - ], - "type": "object", - "properties": { - "Capabilities": { - "type": "array", - "example": [ - "CAP_SYS_ADMIN", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "AllowAllDevices": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "nullable": false - }, - "PropagatedMount": { - "type": "string", - "nullable": false, - "example": "/mnt/volumes" - }, - "IpcHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "PidHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - { - "Name": "DEBUG", - "Description": "If set, prints debug messages", - "Value": "0" - } - ], - "items": { - "$ref": "#/components/schemas/PluginEnv" - } - }, - "Args": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "args" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "command line arguments" - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "nullable": false - }, - "rootfs": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "layers" - }, - "diff_ids": { - "type": "array", - "example": [ - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887", - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" - ], - "items": { - "type": "string" - } - } - } - } - }, - "description": "The config of a plugin.", - "nullable": false - } - }, - "description": "A plugin for the Engine API" - }, - "ObjectVersion": { - "type": "object", - "properties": { - "Index": { - "type": "integer", - "format": "uint64", - "example": 373531 - } - }, - "description": "The version number of the object such as node, service, etc. This is needed\nto avoid conflicting writes. The client must send the version number along\nwith the modified specification when updating these objects.\n\nThis approach ensures safe concurrency and determinism in that the change\non the object may not be applied if the version number has changed from the\nlast read. In other words, if two update requests specify the same base\nversion, only one of the requests can succeed. As a result, two separate\nupdate requests that happen at the same time will not unintentionally\noverwrite each other.\n" - }, - "NodeSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name for the node.", - "example": "my-node" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Role": { - "type": "string", - "description": "Role of the node.", - "example": "manager", - "enum": [ - "worker", - "manager" - ] - }, - "Availability": { - "type": "string", - "description": "Availability of the node.", - "example": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "example": { - "Availability": "active", - "Name": "node-name", - "Role": "manager", - "Labels": { - "foo": "bar" - } - } - }, - "Node": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "24ifsmvkjbyhk" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the node was added to the swarm in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the node was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/NodeSpec" - }, - "Description": { - "$ref": "#/components/schemas/NodeDescription" - }, - "Status": { - "$ref": "#/components/schemas/NodeStatus" - }, - "ManagerStatus": { - "$ref": "#/components/schemas/ManagerStatus" - } - } - }, - "NodeDescription": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "example": "bf3067039e47" - }, - "Platform": { - "$ref": "#/components/schemas/Platform" - }, - "Resources": { - "$ref": "#/components/schemas/ResourceObject" - }, - "Engine": { - "$ref": "#/components/schemas/EngineDescription" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - } - }, - "description": "NodeDescription encapsulates the properties of the Node as reported by the\nagent.\n" - }, - "Platform": { - "type": "object", - "properties": { - "Architecture": { - "type": "string", - "description": "Architecture represents the hardware architecture (for example,\n`x86_64`).\n", - "example": "x86_64" - }, - "OS": { - "type": "string", - "description": "OS represents the Operating System (for example, `linux` or `windows`).\n", - "example": "linux" - } - }, - "description": "Platform represents the platform (Arch/OS).\n" - }, - "EngineDescription": { - "type": "object", - "properties": { - "EngineVersion": { - "type": "string", - "example": "17.06.0" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "example": { - "foo": "bar" - } - }, - "Plugins": { - "type": "array", - "example": [ - { - "Type": "Log", - "Name": "awslogs" - }, - { - "Type": "Log", - "Name": "fluentd" - }, - { - "Type": "Log", - "Name": "gcplogs" - }, - { - "Type": "Log", - "Name": "gelf" - }, - { - "Type": "Log", - "Name": "journald" - }, - { - "Type": "Log", - "Name": "json-file" - }, - { - "Type": "Log", - "Name": "logentries" - }, - { - "Type": "Log", - "Name": "splunk" - }, - { - "Type": "Log", - "Name": "syslog" - }, - { - "Type": "Network", - "Name": "bridge" - }, - { - "Type": "Network", - "Name": "host" - }, - { - "Type": "Network", - "Name": "ipvlan" - }, - { - "Type": "Network", - "Name": "macvlan" - }, - { - "Type": "Network", - "Name": "null" - }, - { - "Type": "Network", - "Name": "overlay" - }, - { - "Type": "Volume", - "Name": "local" - }, - { - "Type": "Volume", - "Name": "localhost:5000/vieux/sshfs:latest" - }, - { - "Type": "Volume", - "Name": "vieux/sshfs:latest" - } - ], - "items": { - "type": "object", - "properties": { - "Type": { - "type": "string" - }, - "Name": { - "type": "string" - } - } - } - } - }, - "description": "EngineDescription provides information about an engine." - }, - "TLSInfo": { - "type": "object", - "properties": { - "TrustRoot": { - "type": "string", - "description": "The root CA certificate(s) that are used to validate leaf TLS\ncertificates.\n" - }, - "CertIssuerSubject": { - "type": "string", - "description": "The base64-url-safe-encoded raw subject bytes of the issuer." - }, - "CertIssuerPublicKey": { - "type": "string", - "description": "The base64-url-safe-encoded raw public key bytes of the issuer.\n" - } - }, - "description": "Information about the issuer of leaf TLS certificates and the trusted root\nCA certificate.\n", - "example": { - "TrustRoot": "-----BEGIN CERTIFICATE-----\nMIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw\nEzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0\nMzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf\n3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO\nPQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz\npxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H\n-----END CERTIFICATE-----\n", - "CertIssuerSubject": "MBMxETAPBgNVBAMTCHN3YXJtLWNh", - "CertIssuerPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A==" - } - }, - "NodeStatus": { - "type": "object", - "properties": { - "State": { - "$ref": "#/components/schemas/NodeState" - }, - "Message": { - "type": "string", - "example": "" - }, - "Addr": { - "type": "string", - "description": "IP address of the node.", - "example": "172.17.0.2" - } - }, - "description": "NodeStatus represents the status of a node.\n\nIt provides the current status of the node, as seen by the manager.\n" - }, - "NodeState": { - "type": "string", - "description": "NodeState represents the state of a node.", - "example": "ready", - "enum": [ - "unknown", - "down", - "ready", - "disconnected" - ] - }, - "ManagerStatus": { - "type": "object", - "properties": { - "Leader": { - "type": "boolean", - "example": true, - "default": false - }, - "Reachability": { - "$ref": "#/components/schemas/Reachability" - }, - "Addr": { - "type": "string", - "description": "The IP address and port at which the manager is reachable.\n", - "example": "10.0.0.46:2377" - } - }, - "description": "ManagerStatus represents the status of a manager.\n\nIt provides the current status of a node's manager component, if the node\nis a manager.\n", - "nullable": true, - "x-nullable": true - }, - "Reachability": { - "type": "string", - "description": "Reachability represents the reachability of a node.", - "example": "reachable", - "enum": [ - "unknown", - "unreachable", - "reachable" - ] - }, - "SwarmSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the swarm.", - "example": "default" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.corp.type": "production", - "com.example.corp.department": "engineering" - } - }, - "Orchestration": { - "type": "object", - "properties": { - "TaskHistoryRetentionLimit": { - "type": "integer", - "description": "The number of historic tasks to keep per instance or node. If\nnegative, never remove completed or failed tasks.\n", - "format": "int64", - "example": 10 - } - }, - "description": "Orchestration configuration.", - "nullable": true - }, - "Raft": { - "type": "object", - "properties": { - "SnapshotInterval": { - "type": "integer", - "description": "The number of log entries between snapshots.", - "format": "uint64", - "example": 10000 - }, - "KeepOldSnapshots": { - "type": "integer", - "description": "The number of snapshots to keep beyond the current snapshot.\n", - "format": "uint64" - }, - "LogEntriesForSlowFollowers": { - "type": "integer", - "description": "The number of log entries to keep around to sync up slow followers\nafter a snapshot is created.\n", - "format": "uint64", - "example": 500 - }, - "ElectionTick": { - "type": "integer", - "description": "The number of ticks that a follower will wait for a message from\nthe leader before becoming a candidate and starting an election.\n`ElectionTick` must be greater than `HeartbeatTick`.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 3 - }, - "HeartbeatTick": { - "type": "integer", - "description": "The number of ticks between heartbeats. Every HeartbeatTick ticks,\nthe leader will send a heartbeat to the followers.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 1 - } - }, - "description": "Raft configuration." - }, - "Dispatcher": { - "type": "object", - "properties": { - "HeartbeatPeriod": { - "type": "integer", - "description": "The delay for an agent to send a heartbeat to the dispatcher.\n", - "format": "int64", - "example": 5000000000 - } - }, - "description": "Dispatcher configuration.", - "nullable": true - }, - "CAConfig": { - "type": "object", - "properties": { - "NodeCertExpiry": { - "type": "integer", - "description": "The duration node certificates are issued for.", - "format": "int64", - "example": 7776000000000000 - }, - "ExternalCAs": { - "type": "array", - "description": "Configuration for forwarding signing requests to an external\ncertificate authority.\n", - "items": { - "type": "object", - "properties": { - "Protocol": { - "type": "string", - "description": "Protocol for communication with the external CA (currently\nonly `cfssl` is supported).\n", - "default": "cfssl", - "enum": [ - "cfssl" - ] - }, - "URL": { - "type": "string", - "description": "URL where certificate signing requests should be sent.\n" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "An object with key/value pairs that are interpreted as\nprotocol-specific options for the external CA driver.\n" - }, - "CACert": { - "type": "string", - "description": "The root CA certificate (in PEM format) this external CA uses\nto issue TLS certificates (assumed to be to the current swarm\nroot CA certificate if not provided).\n" - } - } - } - }, - "SigningCACert": { - "type": "string", - "description": "The desired signing CA certificate for all swarm node TLS leaf\ncertificates, in PEM format.\n" - }, - "SigningCAKey": { - "type": "string", - "description": "The desired signing CA key for all swarm node TLS leaf certificates,\nin PEM format.\n" - }, - "ForceRotate": { - "type": "integer", - "description": "An integer whose purpose is to force swarm to generate a new\nsigning CA certificate and key, if none have been specified in\n`SigningCACert` and `SigningCAKey`\n", - "format": "uint64" - } - }, - "description": "CA configuration.", - "nullable": true - }, - "EncryptionConfig": { - "type": "object", - "properties": { - "AutoLockManagers": { - "type": "boolean", - "description": "If set, generate a key and use it to lock data stored on the\nmanagers.\n", - "example": false - } - }, - "description": "Parameters related to encryption-at-rest." - }, - "TaskDefaults": { - "type": "object", - "properties": { - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The log driver to use as a default for new tasks.\n", - "example": "json-file" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options for the selectd log driver, specified\nas key/value pairs.\n", - "example": { - "max-file": "10", - "max-size": "100m" - } - } - }, - "description": "The log driver to use for tasks created in the orchestrator if\nunspecified by a service.\n\nUpdating this value only affects new tasks. Existing tasks continue\nto use their previously configured log driver until recreated.\n" - } - }, - "description": "Defaults for creating tasks in this cluster." - } - }, - "description": "User modifiable swarm configuration." - }, - "ClusterInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the swarm.", - "example": "abajmipo7b4xz5ip2nrla6b11" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the swarm was initialised in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the swarm was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - }, - "RootRotationInProgress": { - "type": "boolean", - "description": "Whether there is currently a root CA rotation in progress for the swarm\n", - "example": false - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nIf no port is set or is set to 0, the default port (4789) is used.\n", - "format": "uint32", - "example": 4789 - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global scope\nnetworks.\n", - "items": { - "type": "string", - "format": "CIDR", - "example": "" - } - }, - "SubnetSize": { - "maximum": 29, - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created from the\ndefault subnet pool.\n", - "format": "uint32", - "example": 24 - } - }, - "description": "ClusterInfo represents information about the swarm as is returned by the\n\"/info\" endpoint. Join-tokens are not included.\n", - "nullable": true, - "x-nullable": true - }, - "JoinTokens": { - "type": "object", - "properties": { - "Worker": { - "type": "string", - "description": "The token workers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx" - }, - "Manager": { - "type": "string", - "description": "The token managers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - }, - "description": "JoinTokens contains the tokens workers and managers need to join the swarm.\n" - }, - "Swarm": { - "allOf": [ - { - "$ref": "#/components/schemas/ClusterInfo" - }, - { - "type": "object", - "properties": { - "JoinTokens": { - "$ref": "#/components/schemas/JoinTokens" - } - } - } - ] - }, - "TaskSpec": { - "type": "object", - "properties": { - "PluginSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The name or 'alias' to use for the plugin." - }, - "Remote": { - "type": "string", - "description": "The plugin image reference to use." - }, - "Disabled": { - "type": "boolean", - "description": "Disable the plugin once scheduled." - }, - "PluginPrivilege": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "description": "Plugin spec for the service. *(Experimental release only.)*\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "ContainerSpec": { - "type": "object", - "properties": { - "Image": { - "type": "string", - "description": "The image name to use for the container" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value data." - }, - "Command": { - "type": "array", - "description": "The command to be run in the image.", - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "description": "Arguments to the command.", - "items": { - "type": "string" - } - }, - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid\n[RFC 1123](https://tools.ietf.org/html/rfc1123) hostname.\n" - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `VAR=value`.\n", - "items": { - "type": "string" - } - }, - "Dir": { - "type": "string", - "description": "The working directory for commands to run in." - }, - "User": { - "type": "string", - "description": "The user inside the container." - }, - "Groups": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "Privileges": { - "type": "object", - "properties": { - "CredentialSpec": { - "type": "object", - "properties": { - "Config": { - "type": "string", - "description": "Load credential spec from a Swarm Config with the given ID.\nThe specified config must also be present in the Configs\nfield with the Runtime property set.\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "0bt9dmxjvjiqermk6xrop3ekq" - }, - "File": { - "type": "string", - "description": "Load credential spec from this file. The file is read by\nthe daemon, and must be present in the `CredentialSpecs`\nsubdirectory in the docker data directory, which defaults\nto `C:\\ProgramData\\Docker\\` on Windows.\n\nFor example, specifying `spec.json` loads\n`C:\\ProgramData\\Docker\\CredentialSpecs\\spec.json`.\n\n


\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "spec.json" - }, - "Registry": { - "type": "string", - "description": "Load credential spec from this value in the Windows\nregistry. The specified registry value must be located in:\n\n`HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Virtualization\\Containers\\CredentialSpecs`\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n" - } - }, - "description": "CredentialSpec for managed service account (Windows only)" - }, - "SELinuxContext": { - "type": "object", - "properties": { - "Disable": { - "type": "boolean", - "description": "Disable SELinux" - }, - "User": { - "type": "string", - "description": "SELinux user label" - }, - "Role": { - "type": "string", - "description": "SELinux role label" - }, - "Type": { - "type": "string", - "description": "SELinux type label" - }, - "Level": { - "type": "string", - "description": "SELinux level label" - } - }, - "description": "SELinux labels of the container" - } - }, - "description": "Security options for the container" - }, - "TTY": { - "type": "boolean", - "description": "Whether a pseudo-TTY should be allocated." - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`" - }, - "ReadOnly": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to containers created as part\nof the service.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop the container." - }, - "StopGracePeriod": { - "type": "integer", - "description": "Amount of time to wait for the container to terminate before\nforcefully killing it.\n", - "format": "int64" - }, - "HealthCheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "Hosts": { - "type": "array", - "description": "A list of hostname/IP mappings to add to the container's `hosts`\nfile. The format of extra hosts is specified in the\n[hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html)\nman page:\n\n IP_address canonical_hostname [aliases...]\n", - "items": { - "type": "string" - } - }, - "DNSConfig": { - "type": "object", - "properties": { - "Nameservers": { - "type": "array", - "description": "The IP addresses of the name servers.", - "items": { - "type": "string" - } - }, - "Search": { - "type": "array", - "description": "A search list for host-name lookup.", - "items": { - "type": "string" - } - }, - "Options": { - "type": "array", - "description": "A list of internal resolver variables to be modified (e.g.,\n`debug`, `ndots:3`, etc.).\n", - "items": { - "type": "string" - } - } - }, - "description": "Specification for DNS related configurations in resolver configuration\nfile (`resolv.conf`).\n" - }, - "Secrets": { - "type": "array", - "description": "Secrets contains references to zero or more secrets that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n" - }, - "SecretID": { - "type": "string", - "description": "SecretID represents the ID of the specific secret that we're\nreferencing.\n" - }, - "SecretName": { - "type": "string", - "description": "SecretName is the name of the secret that this references,\nbut this is just provided for lookup/display purposes. The\nsecret in the reference will be identified by its ID.\n" - } - } - } - }, - "Configs": { - "type": "array", - "description": "Configs contains references to zero or more configs that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually exclusive\n" - }, - "Runtime": { - "type": "object", - "properties": {}, - "description": "Runtime represents a target that is not mounted into the\ncontainer but is used by the task\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually\n> exclusive\n" - }, - "ConfigID": { - "type": "string", - "description": "ConfigID represents the ID of the specific config that we're\nreferencing.\n" - }, - "ConfigName": { - "type": "string", - "description": "ConfigName is the name of the config that this references,\nbut this is just provided for lookup/display purposes. The\nconfig in the reference will be identified by its ID.\n" - } - } - } - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the containers running the service.\n(Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Set kernel namedspaced parameters (sysctls) in the container.\nThe Sysctls option on services accepts the same sysctls as the\nare supported on containers. Note that while the same sysctls are\nsupported, no guarantees or checks are made about their\nsuitability for a clustered environment, and it's up to the user\nto determine whether a given sysctl will work properly in a\nService.\n" - }, - "CapabilityAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW", - "CAP_SYS_ADMIN", - "CAP_SYS_CHROOT", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "CapabilityDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW" - ], - "items": { - "type": "string" - } - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example: `{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}`\"\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - } - }, - "description": "Container spec for the service.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "NetworkAttachmentSpec": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string", - "description": "ID of the container represented by this task" - } - }, - "description": "Read-only spec type for non-swarm containers attached to swarm overlay\nnetworks.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "Resources": { - "type": "object", - "properties": { - "Limits": { - "$ref": "#/components/schemas/Limit" - }, - "Reservations": { - "$ref": "#/components/schemas/ResourceObject" - } - }, - "description": "Resource requirements which apply to each individual container created\nas part of the service.\n" - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Condition": { - "type": "string", - "description": "Condition for restart.", - "enum": [ - "none", - "on-failure", - "any" - ] - }, - "Delay": { - "type": "integer", - "description": "Delay between restart attempts.", - "format": "int64" - }, - "MaxAttempts": { - "type": "integer", - "description": "Maximum attempts to restart a given container before giving up\n(default value is 0, which is ignored).\n", - "format": "int64", - "default": 0 - }, - "Window": { - "type": "integer", - "description": "Windows is the time window used to evaluate the restart policy\n(default value is 0, which is unbounded).\n", - "format": "int64", - "default": 0 - } - }, - "description": "Specification for the restart policy which applies to containers\ncreated as part of this service.\n" - }, - "Placement": { - "type": "object", - "properties": { - "Constraints": { - "type": "array", - "description": "An array of constraint expressions to limit the set of nodes where\na task can be scheduled. Constraint expressions can either use a\n_match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find\nnodes that satisfy every expression (AND match). Constraints can\nmatch node or Docker Engine labels as follows:\n\nnode attribute | matches | example\n---------------------|--------------------------------|-----------------------------------------------\n`node.id` | Node ID | `node.id==2ivku8v2gvtg4`\n`node.hostname` | Node hostname | `node.hostname!=node-2`\n`node.role` | Node role (`manager`/`worker`) | `node.role==manager`\n`node.platform.os` | Node operating system | `node.platform.os==windows`\n`node.platform.arch` | Node architecture | `node.platform.arch==x86_64`\n`node.labels` | User-defined node labels | `node.labels.security==high`\n`engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04`\n\n`engine.labels` apply to Docker Engine labels like operating system,\ndrivers, etc. Swarm administrators add `node.labels` for operational\npurposes by using the [`node update endpoint`](#operation/NodeUpdate).\n", - "example": [ - "node.hostname!=node3.corp.example.com", - "node.role!=manager", - "node.labels.type==production", - "node.platform.os==linux", - "node.platform.arch==x86_64" - ], - "items": { - "type": "string" - } - }, - "Preferences": { - "type": "array", - "description": "Preferences provide a way to make the scheduler aware of factors\nsuch as topology. They are provided in order from highest to\nlowest precedence.\n", - "example": [ - { - "Spread": { - "SpreadDescriptor": "node.labels.datacenter" - } - }, - { - "Spread": { - "SpreadDescriptor": "node.labels.rack" - } - } - ], - "items": { - "type": "object", - "properties": { - "Spread": { - "type": "object", - "properties": { - "SpreadDescriptor": { - "type": "string", - "description": "label descriptor, such as `engine.labels.az`.\n" - } - } - } - } - } - }, - "MaxReplicas": { - "type": "integer", - "description": "Maximum number of replicas for per node (default value is 0, which\nis unlimited)\n", - "format": "int64", - "default": 0 - }, - "Platforms": { - "type": "array", - "description": "Platforms stores all the platforms that the service's image can\nrun on. This field is used in the platform filter for scheduling.\nIf empty, then the platform filter is off, meaning there are no\nscheduling restrictions.\n", - "items": { - "$ref": "#/components/schemas/Platform" - } - } - } - }, - "ForceUpdate": { - "type": "integer", - "description": "A counter that triggers an update even if no relevant parameters have\nbeen changed.\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime is the type of runtime specified for the task executor.\n" - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "Specifies the log driver to use for tasks created from this spec. If\nnot present, the default one for the swarm will be used, finally\nfalling back to the engine default if not specified.\n" - } - }, - "description": "User modifiable task configuration." - }, - "TaskState": { - "type": "string", - "enum": [ - "new", - "allocated", - "pending", - "assigned", - "accepted", - "preparing", - "ready", - "starting", - "running", - "complete", - "shutdown", - "failed", - "rejected", - "remove", - "orphaned" - ] - }, - "Task": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the task." - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Name": { - "type": "string", - "description": "Name of the task." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Spec": { - "$ref": "#/components/schemas/TaskSpec" - }, - "ServiceID": { - "type": "string", - "description": "The ID of the service this task is part of." - }, - "Slot": { - "type": "integer" - }, - "NodeID": { - "type": "string", - "description": "The ID of the node that this task is on." - }, - "AssignedGenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "Status": { - "type": "object", - "properties": { - "Timestamp": { - "type": "string", - "format": "dateTime" - }, - "State": { - "$ref": "#/components/schemas/TaskState" - }, - "Message": { - "type": "string" - }, - "Err": { - "type": "string" - }, - "ContainerStatus": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string" - }, - "PID": { - "type": "integer" - }, - "ExitCode": { - "type": "integer" - } - } - } - } - }, - "DesiredState": { - "$ref": "#/components/schemas/TaskState" - }, - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - } - }, - "example": { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ], - "AssignedGenericResources": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ] - } - }, - "ServiceSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the service." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "TaskTemplate": { - "$ref": "#/components/schemas/TaskSpec" - }, - "Mode": { - "type": "object", - "properties": { - "Replicated": { - "type": "object", - "properties": { - "Replicas": { - "type": "integer", - "format": "int64" - } - } - }, - "Global": { - "type": "object", - "properties": {} - }, - "ReplicatedJob": { - "type": "object", - "properties": { - "MaxConcurrent": { - "type": "integer", - "description": "The maximum number of replicas to run simultaneously.\n", - "format": "int64", - "default": 1 - }, - "TotalCompletions": { - "type": "integer", - "description": "The total number of replicas desired to reach the Completed\nstate. If unset, will default to the value of `MaxConcurrent`\n", - "format": "int64" - } - }, - "description": "The mode used for services with a finite number of tasks that run\nto a completed state.\n" - }, - "GlobalJob": { - "type": "object", - "properties": {}, - "description": "The mode used for services which run a task to the completed state\non each valid node.\n" - } - }, - "description": "Scheduling mode for the service." - }, - "UpdateConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be updated in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between updates, in nanoseconds.", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an updated task fails to run, or stops running\nduring the update.\n", - "enum": [ - "continue", - "pause", - "rollback" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each updated task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during an update before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling out an updated task. Either\nthe old task is shut down before the new task is started, or the\nnew task is started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the update strategy of the service." - }, - "RollbackConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be rolled back in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between rollback iterations, in nanoseconds.\n", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an rolled back task fails to run, or stops\nrunning during the rollback.\n", - "enum": [ - "continue", - "pause" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each rolled back task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during a rollback before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling back a task. Either the old\ntask is shut down before the new task is started, or the new task\nis started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the rollback strategy of the service." - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "EndpointSpec": { - "$ref": "#/components/schemas/EndpointSpec" - } - }, - "description": "User modifiable configuration for a service." - }, - "EndpointPortConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "sctp" - ] - }, - "TargetPort": { - "type": "integer", - "description": "The port inside the container." - }, - "PublishedPort": { - "type": "integer", - "description": "The port on the swarm hosts." - }, - "PublishMode": { - "type": "string", - "description": "The mode in which port is published.\n\n


\n\n- \"ingress\" makes the target port accessible on every node,\n regardless of whether there is a task for the service running on\n that node or not.\n- \"host\" bypasses the routing mesh and publish the port directly on\n the swarm node where that service is running.\n", - "example": "ingress", - "default": "ingress", - "enum": [ - "ingress", - "host" - ] - } - } - }, - "EndpointSpec": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "description": "The mode of resolution to use for internal load balancing between tasks.\n", - "default": "vip", - "enum": [ - "vip", - "dnsrr" - ] - }, - "Ports": { - "type": "array", - "description": "List of exposed ports that this service is accessible on from the\noutside. Ports can only be provided if `vip` resolution mode is used.\n", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - } - }, - "description": "Properties that can be configured to access and load balance a service." - }, - "Service": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ServiceSpec" - }, - "Endpoint": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/EndpointSpec" - }, - "Ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - }, - "VirtualIPs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "NetworkID": { - "type": "string" - }, - "Addr": { - "type": "string" - } - } - } - } - } - }, - "UpdateStatus": { - "type": "object", - "properties": { - "State": { - "type": "string", - "enum": [ - "updating", - "paused", - "completed" - ] - }, - "StartedAt": { - "type": "string", - "format": "dateTime" - }, - "CompletedAt": { - "type": "string", - "format": "dateTime" - }, - "Message": { - "type": "string" - } - }, - "description": "The status of a service update." - }, - "ServiceStatus": { - "type": "object", - "properties": { - "RunningTasks": { - "type": "integer", - "description": "The number of tasks for the service currently in the Running state.\n", - "format": "uint64", - "example": 7 - }, - "DesiredTasks": { - "type": "integer", - "description": "The number of tasks for the service desired to be running.\nFor replicated services, this is the replica count from the\nservice spec. For global services, this is computed by taking\ncount of all tasks for the service with a Desired State other\nthan Shutdown.\n", - "format": "uint64", - "example": 10 - }, - "CompletedTasks": { - "type": "integer", - "description": "The number of tasks for a job that are in the Completed state.\nThis field must be cross-referenced with the service type, as the\nvalue of 0 may mean the service is not in a job mode, or it may\nmean the job-mode service has no tasks yet Completed.\n", - "format": "uint64" - } - }, - "description": "The status of the service's tasks. Provided only when requested as\npart of a ServiceList operation.\n" - }, - "JobStatus": { - "type": "object", - "properties": { - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "LastExecution": { - "type": "string", - "description": "The last time, as observed by the server, that this job was\nstarted.\n", - "format": "dateTime" - } - }, - "description": "The status of the service when it is in one of ReplicatedJob or\nGlobalJob modes. Absent on Replicated and Global mode services. The\nJobIteration is an ObjectVersion, but unlike the Service's version,\ndoes not need to be sent with an update request.\n" - } - }, - "example": { - "ID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Version": { - "Index": 19 - }, - "CreatedAt": "2016-06-07T21:05:51.880065305Z", - "UpdatedAt": "2016-06-07T21:07:29.962229872Z", - "Spec": { - "Name": "hopeful_cori", - "TaskTemplate": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - } - }, - "Endpoint": { - "Spec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - }, - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ], - "VirtualIPs": [ - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.2/16" - }, - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.3/16" - } - ] - } - } - }, - "ImageDeleteResponseItem": { - "type": "object", - "properties": { - "Untagged": { - "type": "string", - "description": "The image ID of an image that was untagged" - }, - "Deleted": { - "type": "string", - "description": "The image ID of an image that was deleted" - } - } - }, - "ServiceUpdateResponse": { - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "description": "Optional warning messages", - "items": { - "type": "string" - } - } - }, - "example": { - "Warning": "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - } - }, - "ContainerSummary": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of this container", - "x-go-name": "ID" - }, - "Names": { - "type": "array", - "description": "The names that this container has been given", - "items": { - "type": "string" - } - }, - "Image": { - "type": "string", - "description": "The name of the image used when creating this container" - }, - "ImageID": { - "type": "string", - "description": "The ID of the image that this container was created from" - }, - "Command": { - "type": "string", - "description": "Command to run when starting the container" - }, - "Created": { - "type": "integer", - "description": "When the container was created", - "format": "int64" - }, - "Ports": { - "type": "array", - "description": "The ports exposed by this container", - "items": { - "$ref": "#/components/schemas/Port" - } - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this container", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container", - "format": "int64" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "State": { - "type": "string", - "description": "The state of this container (e.g. `Exited`)" - }, - "Status": { - "type": "string", - "description": "Additional human-readable status of this container (e.g. `Exit 0`)" - }, - "HostConfig": { - "type": "object", - "properties": { - "NetworkMode": { - "type": "string" - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - } - } - }, - "description": "A summary of the container's network settings" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - } - } - }, - "Driver": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver.", - "nullable": false, - "example": "some-driver" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Key/value map of driver-specific options.", - "nullable": false, - "example": { - "OptionA": "value for driver-specific option A", - "OptionB": "value for driver-specific option B" - } - } - }, - "description": "Driver represents a driver (network, logging, secrets)." - }, - "SecretSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the secret." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\ndata to store as secret.\n\nThis field is only used to _create_ a secret, and is not returned by\nother endpoints.\n", - "example": "" - }, - "Driver": { - "$ref": "#/components/schemas/Driver" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Secret": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "blt1owaxmitz71s9v5zh81zun" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "Spec": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "ConfigSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the config." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\nconfig data.\n" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Config": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "ContainerState": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "String representation of the container state. Can be one of \"created\",\n\"running\", \"paused\", \"restarting\", \"removing\", \"exited\", or \"dead\".\n", - "example": "running", - "enum": [ - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - }, - "Running": { - "type": "boolean", - "description": "Whether this container is running.\n\nNote that a running container can be _paused_. The `Running` and `Paused`\nbooleans are not mutually exclusive:\n\nWhen pausing a container (on Linux), the freezer cgroup is used to suspend\nall processes in the container. Freezing the process requires the process to\nbe running. As a result, paused containers are both `Running` _and_ `Paused`.\n\nUse the `Status` field instead to determine if a container's state is \"running\".\n", - "example": true - }, - "Paused": { - "type": "boolean", - "description": "Whether this container is paused.", - "example": false - }, - "Restarting": { - "type": "boolean", - "description": "Whether this container is restarting.", - "example": false - }, - "OOMKilled": { - "type": "boolean", - "description": "Whether this container has been killed because it ran out of memory.\n", - "example": false - }, - "Dead": { - "type": "boolean", - "example": false - }, - "Pid": { - "type": "integer", - "description": "The process ID of this container", - "example": 1234 - }, - "ExitCode": { - "type": "integer", - "description": "The last exit code of this container", - "example": 0 - }, - "Error": { - "type": "string" - }, - "StartedAt": { - "type": "string", - "description": "The time when this container was last started.", - "example": "2020-01-06T09:06:59.461876391Z" - }, - "FinishedAt": { - "type": "string", - "description": "The time when this container last exited.", - "example": "2020-01-06T09:07:59.461876391Z" - }, - "Health": { - "$ref": "#/components/schemas/Health" - } - }, - "description": "ContainerState stores container's running state. It's part of ContainerJSONBase\nand will be returned by the \"inspect\" command.\n", - "nullable": true, - "x-nullable": true - }, - "ContainerCreateResponse": { - "title": "ContainerCreateResponse", - "required": [ - "Id", - "Warnings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created container", - "nullable": false, - "example": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" - }, - "Warnings": { - "type": "array", - "description": "Warnings encountered when creating the container", - "nullable": false, - "example": [], - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerCreate operation", - "x-go-name": "CreateResponse" - }, - "ContainerWaitResponse": { - "title": "ContainerWaitResponse", - "required": [ - "StatusCode" - ], - "type": "object", - "properties": { - "StatusCode": { - "type": "integer", - "description": "Exit code of the container", - "format": "int64", - "nullable": false - }, - "Error": { - "$ref": "#/components/schemas/ContainerWaitExitError" - } - }, - "description": "OK response to ContainerWait operation", - "x-go-name": "WaitResponse" - }, - "ContainerWaitExitError": { - "type": "object", - "properties": { - "Message": { - "type": "string", - "description": "Details of an error" - } - }, - "description": "container waiting error, if any", - "x-go-name": "WaitExitError" - }, - "SystemVersion": { - "type": "object", - "properties": { - "Platform": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string" - } - } - }, - "Components": { - "type": "array", - "description": "Information about system components\n", - "items": { - "required": [ - "Name", - "Version" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the component\n", - "example": "Engine" - }, - "Version": { - "type": "string", - "description": "Version of the component\n", - "nullable": false, - "example": "19.03.12" - }, - "Details": { - "type": "object", - "properties": {}, - "description": "Key/value pairs of strings with additional information about the\ncomponent. These values are intended for informational purposes\nonly, and their content is not defined, and not part of the API\nspecification.\n\nThese messages can be printed by the client as information to the user.\n", - "nullable": true - } - }, - "x-go-name": "ComponentVersion" - } - }, - "Version": { - "type": "string", - "description": "The version of the daemon", - "example": "19.03.12" - }, - "ApiVersion": { - "type": "string", - "description": "The default (and highest) API version that is supported by the daemon\n", - "example": "1.40" - }, - "MinAPIVersion": { - "type": "string", - "description": "The minimum API version that is supported by the daemon\n", - "example": "1.12" - }, - "GitCommit": { - "type": "string", - "description": "The Git commit of the source code that was used to build the daemon\n", - "example": "48a66213fe" - }, - "GoVersion": { - "type": "string", - "description": "The version Go used to compile the daemon, and the version of the Go\nruntime in use.\n", - "example": "go1.13.14" - }, - "Os": { - "type": "string", - "description": "The operating system that the daemon is running on (\"linux\" or \"windows\")\n", - "example": "linux" - }, - "Arch": { - "type": "string", - "description": "The architecture that the daemon is running on\n", - "example": "amd64" - }, - "KernelVersion": { - "type": "string", - "description": "The kernel version (`uname -r`) that the daemon is running on.\n\nThis field is omitted when empty.\n", - "example": "4.19.76-linuxkit" - }, - "Experimental": { - "type": "boolean", - "description": "Indicates if the daemon is started with experimental features enabled.\n\nThis field is omitted when empty / false.\n", - "example": true - }, - "BuildTime": { - "type": "string", - "description": "The date and time that the daemon was compiled.\n", - "example": "2020-06-22T15:49:27.000000000+00:00" - } - }, - "description": "Response of Engine API: GET \"/version\"\n" - }, - "SystemInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique identifier of the daemon.\n\n


\n\n> **Note**: The format of the ID itself is not part of the API, and\n> should not be considered stable.\n", - "example": "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS" - }, - "Containers": { - "type": "integer", - "description": "Total number of containers on the host.", - "example": 14 - }, - "ContainersRunning": { - "type": "integer", - "description": "Number of containers with status `\"running\"`.\n", - "example": 3 - }, - "ContainersPaused": { - "type": "integer", - "description": "Number of containers with status `\"paused\"`.\n", - "example": 1 - }, - "ContainersStopped": { - "type": "integer", - "description": "Number of containers with status `\"stopped\"`.\n", - "example": 10 - }, - "Images": { - "type": "integer", - "description": "Total number of images on the host.\n\nBoth _tagged_ and _untagged_ (dangling) images are counted.\n", - "example": 508 - }, - "Driver": { - "type": "string", - "description": "Name of the storage driver in use.", - "example": "overlay2" - }, - "DriverStatus": { - "type": "array", - "description": "Information specific to the storage driver, provided as\n\"label\" / \"value\" pairs.\n\nThis information is provided by the storage driver, and formatted\nin a way consistent with the output of `docker info` on the command\nline.\n\n


\n\n> **Note**: The information returned in this field, including the\n> formatting of values and labels, should not be considered stable,\n> and may change without notice.\n", - "example": [ - [ - "Backing Filesystem", - "extfs" - ], - [ - "Supports d_type", - "true" - ], - [ - "Native Overlay Diff", - "true" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "DockerRootDir": { - "type": "string", - "description": "Root directory of persistent Docker state.\n\nDefaults to `/var/lib/docker` on Linux, and `C:\\ProgramData\\docker`\non Windows.\n", - "example": "/var/lib/docker" - }, - "Plugins": { - "$ref": "#/components/schemas/PluginsInfo" - }, - "MemoryLimit": { - "type": "boolean", - "description": "Indicates if the host has memory limit support enabled.", - "example": true - }, - "SwapLimit": { - "type": "boolean", - "description": "Indicates if the host has memory swap limit support enabled.", - "example": true - }, - "KernelMemoryTCP": { - "type": "boolean", - "description": "Indicates if the host has kernel memory TCP limit support enabled. This\nfield is omitted if not supported.\n\nKernel memory TCP limits are not supported when using cgroups v2, which\ndoes not support the corresponding `memory.kmem.tcp.limit_in_bytes` cgroup.\n", - "example": true - }, - "CpuCfsPeriod": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by\nthe host.\n", - "example": true - }, - "CpuCfsQuota": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by\nthe host.\n", - "example": true - }, - "CPUShares": { - "type": "boolean", - "description": "Indicates if CPU Shares limiting is supported by the host.\n", - "example": true - }, - "CPUSet": { - "type": "boolean", - "description": "Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.\n\nSee [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)\n", - "example": true - }, - "PidsLimit": { - "type": "boolean", - "description": "Indicates if the host kernel has PID limit support enabled.", - "example": true - }, - "OomKillDisable": { - "type": "boolean", - "description": "Indicates if OOM killer disable is supported on the host." - }, - "IPv4Forwarding": { - "type": "boolean", - "description": "Indicates IPv4 forwarding is enabled.", - "example": true - }, - "BridgeNfIptables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-iptables` is available on the host.", - "example": true - }, - "BridgeNfIp6tables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-ip6tables` is available on the host.", - "example": true - }, - "Debug": { - "type": "boolean", - "description": "Indicates if the daemon is running in debug-mode / with debug-level\nlogging enabled.\n", - "example": true - }, - "NFd": { - "type": "integer", - "description": "The total number of file Descriptors in use by the daemon process.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 64 - }, - "NGoroutines": { - "type": "integer", - "description": "The number of goroutines that currently exist.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 174 - }, - "SystemTime": { - "type": "string", - "description": "Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat with nano-seconds.\n", - "example": "2017-08-08T20:28:29.06202363Z" - }, - "LoggingDriver": { - "type": "string", - "description": "The logging driver to use as a default for new containers.\n" - }, - "CgroupDriver": { - "type": "string", - "description": "The driver to use for managing cgroups.\n", - "example": "cgroupfs", - "default": "cgroupfs", - "enum": [ - "cgroupfs", - "systemd", - "none" - ] - }, - "CgroupVersion": { - "type": "string", - "description": "The version of the cgroup.\n", - "example": "1", - "default": "1", - "enum": [ - "1", - "2" - ] - }, - "NEventsListener": { - "type": "integer", - "description": "Number of event listeners subscribed.", - "example": 30 - }, - "KernelVersion": { - "type": "string", - "description": "Kernel version of the host.\n\nOn Linux, this information obtained from `uname`. On Windows this\ninformation is queried from the HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\\nregistry value, for example _\"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)\"_.\n", - "example": "4.9.38-moby" - }, - "OperatingSystem": { - "type": "string", - "description": "Name of the host's operating system, for example: \"Ubuntu 16.04.2 LTS\"\nor \"Windows Server 2016 Datacenter\"\n", - "example": "Alpine Linux v3.5" - }, - "OSVersion": { - "type": "string", - "description": "Version of the host's operating system\n\n


\n\n> **Note**: The information returned in this field, including its\n> very existence, and the formatting of values, should not be considered\n> stable, and may change without notice.\n", - "example": "16.04" - }, - "OSType": { - "type": "string", - "description": "Generic type of the operating system of the host, as returned by the\nGo runtime (`GOOS`).\n\nCurrently returned values are \"linux\" and \"windows\". A full list of\npossible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).\n", - "example": "linux" - }, - "Architecture": { - "type": "string", - "description": "Hardware architecture of the host, as returned by the Go runtime\n(`GOARCH`).\n\nA full list of possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).\n", - "example": "x86_64" - }, - "NCPU": { - "type": "integer", - "description": "The number of logical CPUs usable by the daemon.\n\nThe number of available CPUs is checked by querying the operating\nsystem when the daemon starts. Changes to operating system CPU\nallocation after the daemon is started are not reflected.\n", - "example": 4 - }, - "MemTotal": { - "type": "integer", - "description": "Total amount of physical memory available on the host, in bytes.\n", - "format": "int64", - "example": 2095882240 - }, - "IndexServerAddress": { - "type": "string", - "description": "Address / URL of the index server that is used for image search,\nand as a default for user authentication for Docker Hub and Docker Cloud.\n", - "example": "https://index.docker.io/v1/", - "default": "https://index.docker.io/v1/" - }, - "RegistryConfig": { - "$ref": "#/components/schemas/RegistryServiceConfig" - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "HttpProxy": { - "type": "string", - "description": "HTTP-proxy configured for the daemon. This value is obtained from the\n[`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "http://xxxxx:xxxxx@proxy.corp.example.com:8080" - }, - "HttpsProxy": { - "type": "string", - "description": "HTTPS-proxy configured for the daemon. This value is obtained from the\n[`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "https://xxxxx:xxxxx@proxy.corp.example.com:4443" - }, - "NoProxy": { - "type": "string", - "description": "Comma-separated list of domain extensions for which no proxy should be\nused. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)\nenvironment variable.\n\nContainers do not automatically inherit this configuration.\n", - "example": "*.local, 169.254/16" - }, - "Name": { - "type": "string", - "description": "Hostname of the host.", - "example": "node5.corp.example.com" - }, - "Labels": { - "type": "array", - "description": "User-defined labels (key/value metadata) as set on the daemon.\n\n


\n\n> **Note**: When part of a Swarm, nodes can both have _daemon_ labels,\n> set through the daemon configuration, and _node_ labels, set from a\n> manager node in the Swarm. Node labels are not included in this\n> field. Node labels can be retrieved using the `/nodes/(id)` endpoint\n> on a manager node in the Swarm.\n", - "example": [ - "storage=ssd", - "production" - ], - "items": { - "type": "string" - } - }, - "ExperimentalBuild": { - "type": "boolean", - "description": "Indicates if experimental features are enabled on the daemon.\n", - "example": true - }, - "ServerVersion": { - "type": "string", - "description": "Version string of the daemon.\n", - "example": "23.0.0" - }, - "Runtimes": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Runtime" - }, - "description": "List of [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntimes configured on the daemon. Keys hold the \"name\" used to\nreference the runtime.\n\nThe Docker daemon relies on an OCI compliant runtime (invoked via the\n`containerd` daemon) as its interface to the Linux kernel namespaces,\ncgroups, and SELinux.\n\nThe default runtime is `runc`, and automatically configured. Additional\nruntimes can be configured by the user and will be listed here.\n", - "example": { - "runc": { - "path": "runc" - }, - "runc-master": { - "path": "/go/bin/runc" - }, - "custom": { - "path": "/usr/local/bin/my-oci-runtime", - "runtimeArgs": [ - "--debug", - "--systemd-cgroup=false" - ] - } - } - }, - "DefaultRuntime": { - "type": "string", - "description": "Name of the default OCI runtime that is used when starting containers.\n\nThe default can be overridden per-container at create time.\n", - "example": "runc", - "default": "runc" - }, - "Swarm": { - "$ref": "#/components/schemas/SwarmInfo" - }, - "LiveRestoreEnabled": { - "type": "boolean", - "description": "Indicates if live restore is enabled.\n\nIf enabled, containers are kept running when the daemon is shutdown\nor upon daemon start if running containers are detected.\n", - "example": false, - "default": false - }, - "Isolation": { - "type": "string", - "description": "Represents the isolation technology to use as a default for containers.\nThe supported values are platform-specific.\n\nIf no isolation value is specified on daemon start, on Windows client,\nthe default is `hyperv`, and on Windows server, the default is `process`.\n\nThis option is currently not used on other platforms.\n", - "default": "default", - "enum": [ - "default", - "hyperv", - "process" - ] - }, - "InitBinary": { - "type": "string", - "description": "Name and, optional, path of the `docker-init` binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "docker-init" - }, - "ContainerdCommit": { - "$ref": "#/components/schemas/Commit" - }, - "RuncCommit": { - "$ref": "#/components/schemas/Commit" - }, - "InitCommit": { - "$ref": "#/components/schemas/Commit" - }, - "SecurityOptions": { - "type": "array", - "description": "List of security features that are enabled on the daemon, such as\napparmor, seccomp, SELinux, user-namespaces (userns), and rootless.\n\nAdditional configuration options for each security feature may\nbe present, and are included as a comma-separated list of key/value\npairs.\n", - "example": [ - "name=apparmor", - "name=seccomp,profile=default", - "name=selinux", - "name=userns", - "name=rootless" - ], - "items": { - "type": "string" - } - }, - "ProductLicense": { - "type": "string", - "description": "Reports a summary of the product license on the daemon.\n\nIf a commercial license has been applied to the daemon, information\nsuch as number of nodes, and expiration are included.\n", - "example": "Community Engine" - }, - "DefaultAddressPools": { - "type": "array", - "description": "List of custom default address pools for local networks, which can be\nspecified in the daemon.json file or dockerd option.\n\nExample: a Base \"10.10.0.0/16\" with Size 24 will define the set of 256\n10.10.[0-255].0/24 address pools.\n", - "items": { - "type": "object", - "properties": { - "Base": { - "type": "string", - "description": "The network address in CIDR format", - "example": "10.10.0.0/16" - }, - "Size": { - "type": "integer", - "description": "The network pool size", - "example": 24 - } - } - } - }, - "Warnings": { - "type": "array", - "description": "List of warnings / informational messages about missing features, or\nissues related to the daemon configuration.\n\nThese messages can be printed by the client as information to the user.\n", - "example": [ - "WARNING: No memory limit support", - "WARNING: bridge-nf-call-iptables is disabled", - "WARNING: bridge-nf-call-ip6tables is disabled" - ], - "items": { - "type": "string" - } - } - } - }, - "PluginsInfo": { - "type": "object", - "properties": { - "Volume": { - "type": "array", - "description": "Names of available volume-drivers, and network-driver plugins.", - "example": [ - "local" - ], - "items": { - "type": "string" - } - }, - "Network": { - "type": "array", - "description": "Names of available network-drivers, and network-driver plugins.", - "example": [ - "bridge", - "host", - "ipvlan", - "macvlan", - "null", - "overlay" - ], - "items": { - "type": "string" - } - }, - "Authorization": { - "type": "array", - "description": "Names of available authorization plugins.", - "example": [ - "img-authz-plugin", - "hbm" - ], - "items": { - "type": "string" - } - }, - "Log": { - "type": "array", - "description": "Names of available logging-drivers, and logging-driver plugins.", - "example": [ - "awslogs", - "fluentd", - "gcplogs", - "gelf", - "journald", - "json-file", - "logentries", - "splunk", - "syslog" - ], - "items": { - "type": "string" - } - } - }, - "description": "Available plugins per type.\n\n


\n\n> **Note**: Only unmanaged (V1) plugins are included in this list.\n> V1 plugins are \"lazily\" loaded, and are not returned in this list\n> if there is no resource using the plugin.\n" - }, - "RegistryServiceConfig": { - "type": "object", - "properties": { - "AllowNondistributableArtifactsCIDRs": { - "type": "array", - "description": "List of IP ranges to which nondistributable artifacts can be pushed,\nusing the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632).\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior, and enables the daemon to\npush nondistributable artifacts to all registries whose resolved IP\naddress is within the subnet described by the CIDR syntax.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "AllowNondistributableArtifactsHostnames": { - "type": "array", - "description": "List of registry hostnames to which nondistributable artifacts can be\npushed, using the format `[:]` or `[:]`.\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior for the specified\nregistries.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "registry.internal.corp.example.com:3000", - "[2001:db8:a0b:12f0::1]:443" - ], - "items": { - "type": "string" - } - }, - "InsecureRegistryCIDRs": { - "type": "array", - "description": "List of IP ranges of insecure registries, using the CIDR syntax\n([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries\naccept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates\nfrom unknown CAs) communication.\n\nBy default, local registries (`127.0.0.0/8`) are configured as\ninsecure. All other registries are secure. Communicating with an\ninsecure registry is not possible if the daemon assumes that registry\nis secure.\n\nThis configuration override this behavior, insecure communication with\nregistries whose resolved IP address is within the subnet described by\nthe CIDR syntax.\n\nRegistries can also be marked insecure by hostname. Those registries\nare listed under `IndexConfigs` and have their `Secure` field set to\n`false`.\n\n> **Warning**: Using this option can be useful when running a local\n> registry, but introduces security vulnerabilities. This option\n> should therefore ONLY be used for testing purposes. For increased\n> security, users should add their CA to their system's list of trusted\n> CAs instead of enabling this option.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "IndexConfigs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/IndexInfo" - }, - "example": { - "127.0.0.1:5000": { - "Name": "127.0.0.1:5000", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "[2001:db8:a0b:12f0::1]:80": { - "Name": "[2001:db8:a0b:12f0::1]:80", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "docker.io": { - "Name": "docker.io", - "Mirrors": [ - "https://hub-mirror.corp.example.com:5000/" - ], - "Secure": true, - "Official": true - }, - "registry.internal.corp.example.com:3000": { - "Name": "registry.internal.corp.example.com:3000", - "Mirrors": [], - "Secure": false, - "Official": false - } - } - }, - "Mirrors": { - "type": "array", - "description": "List of registry URLs that act as a mirror for the official\n(`docker.io`) registry.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://[2001:db8:a0b:12f0::1]/" - ], - "items": { - "type": "string" - } - } - }, - "description": "RegistryServiceConfig stores daemon registry services configuration.\n", - "nullable": true, - "x-nullable": true - }, - "IndexInfo": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the registry, such as \"docker.io\".\n", - "example": "docker.io" - }, - "Mirrors": { - "type": "array", - "description": "List of mirrors, expressed as URIs.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://registry-2.docker.io/", - "https://registry-3.docker.io/" - ], - "items": { - "type": "string" - } - }, - "Secure": { - "type": "boolean", - "description": "Indicates if the registry is part of the list of insecure\nregistries.\n\nIf `false`, the registry is insecure. Insecure registries accept\nun-encrypted (HTTP) and/or untrusted (HTTPS with certificates from\nunknown CAs) communication.\n\n> **Warning**: Insecure registries can be useful when running a local\n> registry. However, because its use creates security vulnerabilities\n> it should ONLY be enabled for testing purposes. For increased\n> security, users should add their CA to their system's list of\n> trusted CAs instead of enabling this option.\n", - "example": true - }, - "Official": { - "type": "boolean", - "description": "Indicates whether this is an official registry (i.e., Docker Hub / docker.io)\n", - "example": true - } - }, - "description": "IndexInfo contains information about a registry.", - "nullable": true, - "x-nullable": true - }, - "Runtime": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Name and, optional, path, of the OCI executable binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "/usr/local/bin/my-oci-runtime" - }, - "runtimeArgs": { - "type": "array", - "description": "List of command-line arguments to pass to the runtime when invoked.\n", - "nullable": true, - "example": [ - "--debug", - "--systemd-cgroup=false" - ], - "items": { - "type": "string" - } - } - }, - "description": "Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntime.\n\nThe runtime is invoked by the daemon via the `containerd` daemon. OCI\nruntimes act as an interface to the Linux kernel namespaces, cgroups,\nand SELinux.\n" - }, - "Commit": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Actual commit ID of external tool.", - "example": "cfb82a876ecc11b5ca0977d1733adbe58599088a" - }, - "Expected": { - "type": "string", - "description": "Commit ID of external tool expected by dockerd as set at build time.\n", - "example": "2d41c047c83e09a6d61d464906feb2a2f3c52aa4" - } - }, - "description": "Commit holds the Git-commit (SHA1) that a binary was built from, as\nreported in the version-string of external tools, such as `containerd`,\nor `runC`.\n" - }, - "SwarmInfo": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm.", - "example": "k67qz4598weg5unwwffg6z1m1", - "default": "" - }, - "NodeAddr": { - "type": "string", - "description": "IP address at which this node can be reached by other nodes in the\nswarm.\n", - "example": "10.0.0.46", - "default": "" - }, - "LocalNodeState": { - "$ref": "#/components/schemas/LocalNodeState" - }, - "ControlAvailable": { - "type": "boolean", - "example": true, - "default": false - }, - "Error": { - "type": "string", - "default": "" - }, - "RemoteManagers": { - "type": "array", - "description": "List of ID's and addresses of other managers in the swarm.\n", - "nullable": true, - "example": [ - { - "NodeID": "71izy0goik036k48jg985xnds", - "Addr": "10.0.0.158:2377" - }, - { - "NodeID": "79y6h1o4gv8n120drcprv5nmc", - "Addr": "10.0.0.159:2377" - }, - { - "NodeID": "k67qz4598weg5unwwffg6z1m1", - "Addr": "10.0.0.46:2377" - } - ], - "items": { - "$ref": "#/components/schemas/PeerNode" - } - }, - "Nodes": { - "type": "integer", - "description": "Total number of nodes in the swarm.", - "nullable": true, - "example": 4 - }, - "Managers": { - "type": "integer", - "description": "Total number of managers in the swarm.", - "nullable": true, - "example": 3 - }, - "Cluster": { - "$ref": "#/components/schemas/ClusterInfo" - } - }, - "description": "Represents generic information about swarm.\n" - }, - "LocalNodeState": { - "type": "string", - "description": "Current local status of this node.", - "example": "active", - "default": "", - "enum": [ - "", - "inactive", - "pending", - "active", - "error", - "locked" - ] - }, - "PeerNode": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm." - }, - "Addr": { - "type": "string", - "description": "IP address and ports at which this node can be reached.\n" - } - }, - "description": "Represents a peer-node in the swarm" - }, - "NetworkAttachmentConfig": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "The target network for attachment. Must be a network name or ID.\n" - }, - "Aliases": { - "type": "array", - "description": "Discoverable alternate names for the service on this network.\n", - "items": { - "type": "string" - } - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver attachment options for the network target.\n" - } - }, - "description": "Specifies how a service should be attached to a particular network.\n" - }, - "EventActor": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the object emitting the event", - "example": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" - }, - "Attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Various key/value attributes of the object, depending on its type.\n", - "example": { - "com.example.some-label": "some-label-value", - "image": "alpine:latest", - "name": "my-container" - } - } - }, - "description": "Actor describes something that generates events, like a container, network,\nor a volume.\n" - }, - "EventMessage": { - "title": "SystemEventsResponse", - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The type of object emitting the event", - "example": "container", - "enum": [ - "builder", - "config", - "container", - "daemon", - "image", - "network", - "node", - "plugin", - "secret", - "service", - "volume" - ] - }, - "Action": { - "type": "string", - "description": "The type of event", - "example": "create" - }, - "Actor": { - "$ref": "#/components/schemas/EventActor" - }, - "scope": { - "type": "string", - "description": "Scope of the event. Engine events are `local` scope. Cluster (Swarm)\nevents are `swarm` scope.\n", - "enum": [ - "local", - "swarm" - ] - }, - "time": { - "type": "integer", - "description": "Timestamp of event", - "format": "int64", - "example": 1629574695 - }, - "timeNano": { - "type": "integer", - "description": "Timestamp of event, with nanosecond accuracy", - "format": "int64", - "example": 1629574695515050000 - } - }, - "description": "EventMessage represents the information an event contains.\n" - }, - "OCIDescriptor": { - "type": "object", - "properties": { - "mediaType": { - "type": "string", - "description": "The media type of the object this schema refers to.\n", - "example": "application/vnd.docker.distribution.manifest.v2+json" - }, - "digest": { - "type": "string", - "description": "The digest of the targeted content.\n", - "example": "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96" - }, - "size": { - "type": "integer", - "description": "The size in bytes of the blob.\n", - "format": "int64", - "example": 3987495 - } - }, - "description": "A descriptor struct containing digest, media type, and size, as defined in\nthe [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).\n", - "x-go-name": "Descriptor" - }, - "OCIPlatform": { - "type": "object", - "properties": { - "architecture": { - "type": "string", - "description": "The CPU architecture, for example `amd64` or `ppc64`.\n", - "example": "arm" - }, - "os": { - "type": "string", - "description": "The operating system, for example `linux` or `windows`.\n", - "example": "windows" - }, - "os.version": { - "type": "string", - "description": "Optional field specifying the operating system version, for example on\nWindows `10.0.19041.1165`.\n", - "example": "10.0.19041.1165" - }, - "os.features": { - "type": "array", - "description": "Optional field specifying an array of strings, each listing a required\nOS feature (for example on Windows `win32k`).\n", - "example": [ - "win32k" - ], - "items": { - "type": "string" - } - }, - "variant": { - "type": "string", - "description": "Optional field specifying a variant of the CPU, for example `v7` to\nspecify ARMv7 when architecture is `arm`.\n", - "example": "v7" - } - }, - "description": "Describes the platform which the image in the manifest runs on, as defined\nin the [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).\n", - "x-go-name": "Platform" - }, - "DistributionInspect": { - "title": "DistributionInspectResponse", - "required": [ - "Descriptor", - "Platforms" - ], - "type": "object", - "properties": { - "Descriptor": { - "$ref": "#/components/schemas/OCIDescriptor" - }, - "Platforms": { - "type": "array", - "description": "An array containing all platforms supported by the image.\n", - "items": { - "$ref": "#/components/schemas/OCIPlatform" - } - } - }, - "description": "Describes the result obtained from contacting the registry to retrieve\nimage metadata.\n", - "x-go-name": "DistributionInspect" - }, - "ClusterVolume": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The Swarm ID of this volume. Because cluster volumes are Swarm\nobjects, they have an ID, unlike non-cluster volumes. This ID can\nbe used to refer to the Volume instead of the name.\n" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - }, - "Info": { - "type": "object", - "properties": { - "CapacityBytes": { - "type": "integer", - "description": "The capacity of the volume in bytes. A value of 0 indicates that\nthe capacity is unknown.\n", - "format": "int64" - }, - "VolumeContext": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of strings to strings returned from the storage plugin when\nthe volume is created.\n" - }, - "VolumeID": { - "type": "string", - "description": "The ID of the volume as returned by the CSI storage plugin. This\nis distinct from the volume's ID as provided by Docker. This ID\nis never used by the user when communicating with Docker to refer\nto this volume. If the ID is blank, then the Volume has not been\nsuccessfully created in the plugin yet.\n" - }, - "AccessibleTopology": { - "type": "array", - "description": "The topology this volume is actually accessible from.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - } - }, - "description": "Information about the global status of the volume.\n" - }, - "PublishStatus": { - "type": "array", - "description": "The status of the volume as it pertains to its publishing and use on\nspecific nodes\n", - "items": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "The ID of the Swarm node the volume is published on.\n" - }, - "State": { - "type": "string", - "description": "The published state of the volume.\n* `pending-publish` The volume should be published to this node, but the call to the controller plugin to do so has not yet been successfully completed.\n* `published` The volume is published successfully to the node.\n* `pending-node-unpublish` The volume should be unpublished from the node, and the manager is awaiting confirmation from the worker that it has done so.\n* `pending-controller-unpublish` The volume is successfully unpublished from the node, but has not yet been successfully unpublished on the controller.\n", - "enum": [ - "pending-publish", - "published", - "pending-node-unpublish", - "pending-controller-unpublish" - ] - }, - "PublishContext": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of strings to strings returned by the CSI controller\nplugin when a volume is published.\n" - } - } - } - } - }, - "description": "Options and information specific to, and only present on, Swarm CSI\ncluster volumes.\n" - }, - "ClusterVolumeSpec": { - "type": "object", - "properties": { - "Group": { - "type": "string", - "description": "Group defines the volume group of this volume. Volumes belonging to\nthe same group can be referred to by group name when creating\nServices. Referring to a volume by group instructs Swarm to treat\nvolumes in that group interchangeably for the purpose of scheduling.\nVolumes with an empty string for a group technically all belong to\nthe same, emptystring group.\n" - }, - "AccessMode": { - "type": "object", - "properties": { - "Scope": { - "type": "string", - "description": "The set of nodes this volume can be used on at one time.\n- `single` The volume may only be scheduled to one node at a time.\n- `multi` the volume may be scheduled to any supported number of nodes at a time.\n", - "nullable": false, - "default": "single", - "enum": [ - "single", - "multi" - ] - }, - "Sharing": { - "type": "string", - "description": "The number and way that different tasks can use this volume\nat one time.\n- `none` The volume may only be used by one task at a time.\n- `readonly` The volume may be used by any number of tasks, but they all must mount the volume as readonly\n- `onewriter` The volume may be used by any number of tasks, but only one may mount it as read/write.\n- `all` The volume may have any number of readers and writers.\n", - "nullable": false, - "default": "none", - "enum": [ - "none", - "readonly", - "onewriter", - "all" - ] - }, - "MountVolume": { - "type": "object", - "properties": {}, - "description": "Options for using this volume as a Mount-type volume.\n\n Either MountVolume or BlockVolume, but not both, must be\n present.\n properties:\n FsType:\n type: \"string\"\n description: |\n Specifies the filesystem type for the mount volume.\n Optional.\n MountFlags:\n type: \"array\"\n description: |\n Flags to pass when mounting the volume. Optional.\n items:\n type: \"string\"\nBlockVolume:\n type: \"object\"\n description: |\n Options for using this volume as a Block-type volume.\n Intentionally empty.\n" - }, - "Secrets": { - "type": "array", - "description": "Swarm Secrets that are passed to the CSI storage plugin when\noperating on this volume.\n", - "items": { - "type": "object", - "properties": { - "Key": { - "type": "string", - "description": "Key is the name of the key of the key-value pair passed to\nthe plugin.\n" - }, - "Secret": { - "type": "string", - "description": "Secret is the swarm Secret object from which to read data.\nThis can be a Secret name or ID. The Secret data is\nretrieved by swarm and used as the value of the key-value\npair passed to the plugin.\n" - } - }, - "description": "One cluster volume secret entry. Defines a key-value pair that\nis passed to the plugin.\n" - } - }, - "AccessibilityRequirements": { - "type": "object", - "properties": { - "Requisite": { - "type": "array", - "description": "A list of required topologies, at least one of which the\nvolume must be accessible from.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - }, - "Preferred": { - "type": "array", - "description": "A list of topologies that the volume should attempt to be\nprovisioned in.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - } - }, - "description": "Requirements for the accessible topology of the volume. These\nfields are optional. For an in-depth description of what these\nfields mean, see the CSI specification.\n" - }, - "CapacityRange": { - "type": "object", - "properties": { - "RequiredBytes": { - "type": "integer", - "description": "The volume must be at least this big. The value of 0\nindicates an unspecified minimum\n", - "format": "int64" - }, - "LimitBytes": { - "type": "integer", - "description": "The volume must not be bigger than this. The value of 0\nindicates an unspecified maximum.\n", - "format": "int64" - } - }, - "description": "The desired capacity that the volume should be created with. If\nempty, the plugin will decide the capacity.\n" - }, - "Availability": { - "type": "string", - "description": "The availability of the volume for use in tasks.\n- `active` The volume is fully available for scheduling on the cluster\n- `pause` No new workloads should use the volume, but existing workloads are not stopped.\n- `drain` All workloads using this volume should be stopped and rescheduled, and no new ones should be started.\n", - "nullable": false, - "default": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "description": "Defines how the volume is used by tasks.\n" - } - }, - "description": "Cluster-specific options used to create the volume.\n" - }, - "Topology": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of topological domains to topological segments. For in depth\ndetails, see documentation for the Topology object in the CSI\nspecification.\n" - } - } - } -} \ No newline at end of file diff --git a/app/vendor/beluga-php/docker-php-api/spec/v1.43.json b/app/vendor/beluga-php/docker-php-api/spec/v1.43.json deleted file mode 100644 index 6207d5cc4..000000000 --- a/app/vendor/beluga-php/docker-php-api/spec/v1.43.json +++ /dev/null @@ -1,16645 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Docker Engine API", - "description": "The Engine API is an HTTP API served by Docker Engine. It is the API the\nDocker client uses to communicate with the Engine, so everything the Docker\nclient can do can be done with the API.\n\nMost of the client's commands map directly to API endpoints (e.g. `docker ps`\nis `GET /containers/json`). The notable exception is running containers,\nwhich consists of several API calls.\n\n# Errors\n\nThe API uses standard HTTP status codes to indicate the success or failure\nof the API call. The body of the response will be JSON in the following\nformat:\n\n```\n{\n \"message\": \"page not found\"\n}\n```\n\n# Versioning\n\nThe API is usually changed in each release, so API calls are versioned to\nensure that clients don't break. To lock to a specific version of the API,\nyou prefix the URL with its version, for example, call `/v1.30/info` to use\nthe v1.30 version of the `/info` endpoint. If the API version specified in\nthe URL is not supported by the daemon, a HTTP `400 Bad Request` error message\nis returned.\n\nIf you omit the version-prefix, the current version of the API (v1.43) is used.\nFor example, calling `/info` is the same as calling `/v1.43/info`. Using the\nAPI without a version-prefix is deprecated and will be removed in a future release.\n\nEngine releases in the near future should support this version of the API,\nso your client will continue to work even if it is talking to a newer Engine.\n\nThe API uses an open schema model, which means server may add extra properties\nto responses. Likewise, the server will ignore any extra query parameters and\nrequest body properties. When you write clients, you need to ignore additional\nproperties in responses to ensure they do not break when talking to newer\ndaemons.\n\n\n# Authentication\n\nAuthentication for registries is handled client side. The client has to send\nauthentication details to various endpoints that need to communicate with\nregistries, such as `POST /images/(name)/push`. These are sent as\n`X-Registry-Auth` header as a [base64url encoded](https://tools.ietf.org/html/rfc4648#section-5)\n(JSON) string with the following structure:\n\n```\n{\n \"username\": \"string\",\n \"password\": \"string\",\n \"email\": \"string\",\n \"serveraddress\": \"string\"\n}\n```\n\nThe `serveraddress` is a domain/IP without a protocol. Throughout this\nstructure, double quotes are required.\n\nIf you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth),\nyou can just pass this instead of credentials:\n\n```\n{\n \"identitytoken\": \"9cbaf023786cd7...\"\n}\n```\n", - "version": "1.43", - "x-logo": { - "url": "https://docs.docker.com/assets/images/logo-docker-main.png" - } - }, - "servers": [ - { - "url": "/v1.43" - } - ], - "tags": [ - { - "name": "Container", - "description": "Create and manage containers.\n", - "x-displayName": "Containers" - }, - { - "name": "Image", - "x-displayName": "Images" - }, - { - "name": "Network", - "description": "Networks are user-defined networks that containers can be attached to.\nSee the [networking documentation](https://docs.docker.com/network/)\nfor more information.\n", - "x-displayName": "Networks" - }, - { - "name": "Volume", - "description": "Create and manage persistent storage that can be attached to containers.\n", - "x-displayName": "Volumes" - }, - { - "name": "Exec", - "description": "Run new commands inside running containers. Refer to the\n[command-line reference](https://docs.docker.com/engine/reference/commandline/exec/)\nfor more information.\n\nTo exec a command in a container, you first need to create an exec instance,\nthen start it. These two API endpoints are wrapped up in a single command-line\ncommand, `docker exec`.\n", - "x-displayName": "Exec" - }, - { - "name": "Swarm", - "description": "Engines can be clustered together in a swarm. Refer to the\n[swarm mode documentation](https://docs.docker.com/engine/swarm/)\nfor more information.\n", - "x-displayName": "Swarm" - }, - { - "name": "Node", - "description": "Nodes are instances of the Engine participating in a swarm. Swarm mode\nmust be enabled for these endpoints to work.\n", - "x-displayName": "Nodes" - }, - { - "name": "Service", - "description": "Services are the definitions of tasks to run on a swarm. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Services" - }, - { - "name": "Task", - "description": "A task is a container running on a swarm. It is the atomic scheduling unit\nof swarm. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Tasks" - }, - { - "name": "Secret", - "description": "Secrets are sensitive data that can be used by services. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Secrets" - }, - { - "name": "Config", - "description": "Configs are application configurations that can be used by services. Swarm\nmode must be enabled for these endpoints to work.\n", - "x-displayName": "Configs" - }, - { - "name": "Plugin", - "x-displayName": "Plugins" - }, - { - "name": "System", - "x-displayName": "System" - } - ], - "paths": { - "/containers/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "List containers", - "description": "Returns a list of containers. For details on the format, see the\n[inspect endpoint](#operation/ContainerInspect).\n\nNote that it uses a different, smaller representation of a container\nthan inspecting a single container. For example, the list of linked\ncontainers is not propagated .\n", - "operationId": "ContainerList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Return all containers. By default, only running containers are shown.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "limit", - "in": "query", - "description": "Return this number of most recently created containers, including\nnon-running ones.\n", - "schema": { - "type": "integer" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "Filters to process on the container list, encoded as JSON (a\n`map[string][]string`). For example, `{\"status\": [\"paused\"]}` will\nonly return paused containers.\n\nAvailable filters:\n\n- `ancestor`=(`[:]`, ``, or ``)\n- `before`=(`` or ``)\n- `expose`=(`[/]`|`/[]`)\n- `exited=` containers with exit code of ``\n- `health`=(`starting`|`healthy`|`unhealthy`|`none`)\n- `id=` a container's ID\n- `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)\n- `is-task=`(`true`|`false`)\n- `label=key` or `label=\"key=value\"` of a container label\n- `name=` a container's name\n- `network`=(`` or ``)\n- `publish`=(`[/]`|`/[]`)\n- `since`=(`` or ``)\n- `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)\n- `volume`=(`` or ``)\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "example": [ - { - "Id": "8dfafdbc3a40", - "Names": [ - "/boring_feynman" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 1", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [ - { - "PrivatePort": 2222, - "PublicPort": 3333, - "Type": "tcp" - } - ], - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:02" - } - } - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - }, - { - "Id": "9cd87474be90", - "Names": [ - "/coolName" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 222222", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.8", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:08" - } - } - }, - "Mounts": [] - }, - { - "Id": "3176a2479c92", - "Names": [ - "/sleepy_dog" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 3333333333333333", - "Created": 1367854154, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.6", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:06" - } - } - }, - "Mounts": [] - }, - { - "Id": "4cb07b47f9fb", - "Names": [ - "/running_cat" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 444444444444444444444444444444444", - "Created": 1367854152, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.5", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:05" - } - } - }, - "Mounts": [] - } - ] - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/create": { - "post": { - "tags": [ - "Container" - ], - "summary": "Create a container", - "operationId": "ContainerCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Assign the specified name to the container. Must match\n`/?[a-zA-Z0-9][a-zA-Z0-9_.-]+`.\n", - "schema": { - "pattern": "^/?[a-zA-Z0-9][a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format `os[/arch[/variant]]` used for image lookup.\n\nWhen specified, the daemon checks if the requested image is present\nin the local image cache with the given OS and Architecture, and\notherwise returns a `404` status.\n\nIf the option is not set, the host's native OS and Architecture are\nused to look up the image in the image cache. However, if no platform\nis passed and the given image does exist in the local image cache,\nbut its OS or architecture does not match, the container is created\nwith the available image, and a warning is added to the `Warnings`\nfield in the response, for example;\n\n WARNING: The requested image's platform (linux/arm64/v8) does not\n match the detected host platform (linux/amd64) and no\n specific platform was requested\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Container to create", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - }, - "application/octet-stream": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "Container created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerCreateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/containers/{id}/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "Inspect a container", - "description": "Return low-level information about a container.", - "operationId": "ContainerInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerInspectResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the container" - }, - "Created": { - "type": "string", - "description": "The time the container was created" - }, - "Path": { - "type": "string", - "description": "The path to the command being run" - }, - "Args": { - "type": "array", - "description": "The arguments to the command being run", - "items": { - "type": "string" - } - }, - "State": { - "$ref": "#/components/schemas/ContainerState" - }, - "Image": { - "type": "string", - "description": "The container's image ID" - }, - "ResolvConfPath": { - "type": "string" - }, - "HostnamePath": { - "type": "string" - }, - "HostsPath": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestartCount": { - "type": "integer" - }, - "Driver": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "MountLabel": { - "type": "string" - }, - "ProcessLabel": { - "type": "string" - }, - "AppArmorProfile": { - "type": "string" - }, - "ExecIDs": { - "type": "array", - "description": "IDs of exec instances that are running in the container.", - "nullable": true, - "items": { - "type": "string" - } - }, - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this\ncontainer.\n", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container.", - "format": "int64" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "NetworkSettings": { - "$ref": "#/components/schemas/NetworkSettings" - } - } - }, - "example": { - "AppArmorProfile": "", - "Args": [ - "-c", - "exit 9" - ], - "Config": { - "AttachStderr": true, - "AttachStdin": false, - "AttachStdout": true, - "Cmd": [ - "/bin/sh", - "-c", - "exit 9" - ], - "Domainname": "", - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Healthcheck": { - "Test": [ - "CMD-SHELL", - "exit 0" - ] - }, - "Hostname": "ba033ac44011", - "Image": "ubuntu", - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "MacAddress": "", - "NetworkDisabled": false, - "OpenStdin": false, - "StdinOnce": false, - "Tty": false, - "User": "", - "Volumes": { - "/volumes/data": {} - }, - "WorkingDir": "", - "StopSignal": "SIGTERM", - "StopTimeout": 10 - }, - "Created": "2015-01-06T15:47:31.485331387Z", - "Driver": "devicemapper", - "ExecIDs": [ - "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca", - "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4" - ], - "HostConfig": { - "MaximumIOps": 0, - "MaximumIOBps": 0, - "BlkioWeight": 0, - "BlkioWeightDevice": [ - {} - ], - "BlkioDeviceReadBps": [ - {} - ], - "BlkioDeviceWriteBps": [ - {} - ], - "BlkioDeviceReadIOps": [ - {} - ], - "BlkioDeviceWriteIOps": [ - {} - ], - "ContainerIDFile": "", - "CpusetCpus": "", - "CpusetMems": "", - "CpuPercent": 80, - "CpuShares": 0, - "CpuPeriod": 100000, - "CpuRealtimePeriod": 1000000, - "CpuRealtimeRuntime": 10000, - "Devices": [], - "DeviceRequests": [ - { - "Driver": "nvidia", - "Count": -1, - "DeviceIDs\"": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "Capabilities": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "Options": { - "property1": "string", - "property2": "string" - } - } - ], - "IpcMode": "", - "Memory": 0, - "MemorySwap": 0, - "MemoryReservation": 0, - "OomKillDisable": false, - "OomScoreAdj": 500, - "NetworkMode": "bridge", - "PidMode": "", - "PortBindings": {}, - "Privileged": false, - "ReadonlyRootfs": false, - "PublishAllPorts": false, - "RestartPolicy": { - "MaximumRetryCount": 2, - "Name": "on-failure" - }, - "LogConfig": { - "Type": "json-file" - }, - "Sysctls": { - "net.ipv4.ip_forward": "1" - }, - "Ulimits": [ - {} - ], - "VolumeDriver": "", - "ShmSize": 67108864 - }, - "HostnamePath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname", - "HostsPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts", - "LogPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log", - "Id": "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39", - "Image": "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2", - "MountLabel": "", - "Name": "/boring_euclid", - "NetworkSettings": { - "Bridge": "", - "SandboxID": "", - "HairpinMode": false, - "LinkLocalIPv6Address": "", - "LinkLocalIPv6PrefixLen": 0, - "SandboxKey": "", - "EndpointID": "", - "Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "IPAddress": "", - "IPPrefixLen": 0, - "IPv6Gateway": "", - "MacAddress": "", - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Path": "/bin/sh", - "ProcessLabel": "", - "ResolvConfPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf", - "RestartCount": 1, - "State": { - "Error": "", - "ExitCode": 9, - "FinishedAt": "2015-01-06T15:47:32.080254511Z", - "Health": { - "Status": "healthy", - "FailingStreak": 0, - "Log": [ - { - "Start": "2019-12-22T10:59:05.6385933Z", - "End": "2019-12-22T10:59:05.8078452Z", - "ExitCode": 0, - "Output": "" - } - ] - }, - "OOMKilled": false, - "Dead": false, - "Paused": false, - "Pid": 0, - "Restarting": false, - "Running": true, - "StartedAt": "2015-01-06T15:47:32.072697474Z", - "Status": "running" - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/top": { - "get": { - "tags": [ - "Container" - ], - "summary": "List processes running inside a container", - "description": "On Unix systems, this is done by running the `ps` command. This endpoint\nis not supported on Windows.\n", - "operationId": "ContainerTop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ps_args", - "in": "query", - "description": "The arguments to pass to `ps`. For example, `aux`", - "schema": { - "type": "string", - "default": "-ef" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - }, - "example": { - "Titles": [ - "UID", - "PID", - "PPID", - "C", - "STIME", - "TTY", - "TIME", - "CMD" - ], - "Processes": [ - [ - "root", - "13642", - "882", - "0", - "17:03", - "pts/0", - "00:00:00", - "/bin/bash" - ], - [ - "root", - "13735", - "13642", - "0", - "17:06", - "pts/0", - "00:00:00", - "sleep 10" - ] - ] - } - }, - "text/plain": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/logs": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container logs", - "description": "Get `stdout` and `stderr` logs from a container.\n\nNote: This endpoint works only for containers with the `json-file` or\n`journald` logging driver.\n", - "operationId": "ContainerLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "until", - "in": "query", - "description": "Only return logs before this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body.\nFor the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).\nNote that unlike the attach endpoint, the logs endpoint does not\nupgrade the connection and does not set Content-Type.\n", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/changes": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get changes on a container’s filesystem", - "description": "Returns which files in a container's filesystem have been added, deleted,\nor modified. The `Kind` of modification can be one of:\n\n- `0`: Modified (\"C\")\n- `1`: Added (\"A\")\n- `2`: Deleted (\"D\")\n", - "operationId": "ContainerChanges", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "The list of changes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FilesystemChange" - } - }, - "example": [ - { - "Path": "/dev", - "Kind": 0 - }, - { - "Path": "/dev/kmsg", - "Kind": 1 - }, - { - "Path": "/test", - "Kind": 1 - } - ] - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/export": { - "get": { - "tags": [ - "Container" - ], - "summary": "Export a container", - "description": "Export the contents of a container as a tarball.", - "operationId": "ContainerExport", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stats": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container stats based on resource usage", - "description": "This endpoint returns a live stream of a container’s resource usage\nstatistics.\n\nThe `precpu_stats` is the CPU statistic of the *previous* read, and is\nused to calculate the CPU usage percentage. It is not an exact copy\nof the `cpu_stats` field.\n\nIf either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is\nnil then for compatibility with older daemons the length of the\ncorresponding `cpu_usage.percpu_usage` array should be used.\n\nOn a cgroup v2 host, the following fields are not set\n* `blkio_stats`: all fields other than `io_service_bytes_recursive`\n* `cpu_stats`: `cpu_usage.percpu_usage`\n* `memory_stats`: `max_usage` and `failcnt`\nAlso, `memory_stats.stats` fields are incompatible with cgroup v1.\n\nTo calculate the values shown by the `stats` command of the docker cli tool\nthe following formulas can be used:\n* used_memory = `memory_stats.usage - memory_stats.stats.cache`\n* available_memory = `memory_stats.limit`\n* Memory usage % = `(used_memory / available_memory) * 100.0`\n* cpu_delta = `cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage`\n* system_cpu_delta = `cpu_stats.system_cpu_usage - precpu_stats.system_cpu_usage`\n* number_cpus = `lenght(cpu_stats.cpu_usage.percpu_usage)` or `cpu_stats.online_cpus`\n* CPU usage % = `(cpu_delta / system_cpu_delta) * number_cpus * 100.0`\n", - "operationId": "ContainerStats", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream the output. If false, the stats will be output once and then\nit will disconnect.\n", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "one-shot", - "in": "query", - "description": "Only get a single stat instead of waiting for 2 cycles. Must be used\nwith `stream=false`.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "read": "2015-01-08T22:57:31.547920715Z", - "pids_stats": { - "current": 3 - }, - "networks": { - "eth0": { - "rx_bytes": 5338, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 36, - "tx_bytes": 648, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 8 - }, - "eth5": { - "rx_bytes": 4641, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 26, - "tx_bytes": 690, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 9 - } - }, - "memory_stats": { - "stats": { - "total_pgmajfault": 0, - "cache": 0, - "mapped_file": 0, - "total_inactive_file": 0, - "pgpgout": 414, - "rss": 6537216, - "total_mapped_file": 0, - "writeback": 0, - "unevictable": 0, - "pgpgin": 477, - "total_unevictable": 0, - "pgmajfault": 0, - "total_rss": 6537216, - "total_rss_huge": 6291456, - "total_writeback": 0, - "total_inactive_anon": 0, - "rss_huge": 6291456, - "hierarchical_memory_limit": 67108864, - "total_pgfault": 964, - "total_active_file": 0, - "active_anon": 6537216, - "total_active_anon": 6537216, - "total_pgpgout": 414, - "total_cache": 0, - "inactive_anon": 0, - "active_file": 0, - "pgfault": 964, - "inactive_file": 0, - "total_pgpgin": 477 - }, - "max_usage": 6651904, - "usage": 6537216, - "failcnt": 0, - "limit": 67108864 - }, - "blkio_stats": {}, - "cpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24472255, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100215355, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 739306590000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - }, - "precpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24350896, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100093996, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 9492140000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - } - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/resize": { - "post": { - "tags": [ - "Container" - ], - "summary": "Resize a container TTY", - "description": "Resize the TTY for a container.", - "operationId": "ContainerResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "cannot resize container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/start": { - "post": { - "tags": [ - "Container" - ], - "summary": "Start a container", - "operationId": "ContainerStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container. Format is a\nsingle character `[a-Z]` or `ctrl-` where `` is one\nof: `a-z`, `@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already started", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stop": { - "post": { - "tags": [ - "Container" - ], - "summary": "Stop a container", - "operationId": "ContainerStop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already stopped", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/restart": { - "post": { - "tags": [ - "Container" - ], - "summary": "Restart a container", - "operationId": "ContainerRestart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/kill": { - "post": { - "tags": [ - "Container" - ], - "summary": "Kill a container", - "description": "Send a POSIX signal to a container, defaulting to killing to the\ncontainer.\n", - "operationId": "ContainerKill", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string", - "default": "SIGKILL" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "container is not running", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Container d37cde0fe4ad63c3a7252023b2f9800282894247d145cb5933ddf6e52cc03a28 is not running" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/update": { - "post": { - "tags": [ - "Container" - ], - "summary": "Update a container", - "description": "Change various configuration options of a container without having to\nrecreate it.\n", - "operationId": "ContainerUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The container has been updated.", - "content": { - "application/json": { - "schema": { - "title": "ContainerUpdateResponse", - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerUpdate operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "update" - } - }, - "/containers/{id}/rename": { - "post": { - "tags": [ - "Container" - ], - "summary": "Rename a container", - "operationId": "ContainerRename", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "New name for the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name already in use", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/pause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Pause a container", - "description": "Use the freezer cgroup to suspend all processes in a container.\n\nTraditionally, when suspending a process the `SIGSTOP` signal is used,\nwhich is observable by the process being suspended. With the freezer\ncgroup the process is unaware, and unable to capture, that it is being\nsuspended, and subsequently resumed.\n", - "operationId": "ContainerPause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/unpause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Unpause a container", - "description": "Resume a container which has been paused.", - "operationId": "ContainerUnpause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach": { - "post": { - "tags": [ - "Container" - ], - "summary": "Attach to a container", - "description": "Attach to a container to read its output or send it input. You can attach\nto the same container multiple times and you can reattach to containers\nthat have been detached.\n\nEither the `stream` or `logs` parameter must be `true` for this endpoint\nto do anything.\n\nSee the [documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/)\nfor more details.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to transport `stdin`, `stdout`,\nand `stderr` on the same socket.\n\nThis is the response from the daemon for an attach request:\n\n```\nHTTP/1.1 200 OK\nContent-Type: application/vnd.docker.raw-stream\n\n[STREAM]\n```\n\nAfter the headers and two new lines, the TCP connection can now be used\nfor raw, bidirectional communication between the client and server.\n\nTo hint potential proxies about connection hijacking, the Docker client\ncan also optionally send connection upgrade headers.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1\nUpgrade: tcp\nConnection: Upgrade\n```\n\nThe Docker daemon will respond with a `101 UPGRADED` response, and will\nsimilarly follow with the raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nContent-Type: application/vnd.docker.raw-stream\nConnection: Upgrade\nUpgrade: tcp\n\n[STREAM]\n```\n\n### Stream format\n\nWhen the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe HTTP Content-Type header is set to application/vnd.docker.multiplexed-stream\nand the stream over the hijacked connected is multiplexed to separate out\n`stdout` and `stderr`. The stream consists of a series of frames, each\ncontaining a header and a payload.\n\nThe header contains the information which the stream writes (`stdout` or\n`stderr`). It also contains the size of the associated frame encoded in\nthe last four bytes (`uint32`).\n\nIt is encoded on the first eight bytes like this:\n\n```go\nheader := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}\n```\n\n`STREAM_TYPE` can be:\n\n- 0: `stdin` (is written on `stdout`)\n- 1: `stdout`\n- 2: `stderr`\n\n`SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size\nencoded as big endian.\n\nFollowing the header is the payload, which is the specified number of\nbytes of `STREAM_TYPE`.\n\nThe simplest way to implement this protocol is the following:\n\n1. Read 8 bytes.\n2. Choose `stdout` or `stderr` depending on the first byte.\n3. Extract the frame size from the last four bytes.\n4. Read the extracted size and output it on the correct output.\n5. Goto 1.\n\n### Stream format when using a TTY\n\nWhen the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe stream is not multiplexed. The data exchanged over the hijacked\nconnection is simply the raw data from the process PTY and client's\n`stdin`.\n", - "operationId": "ContainerAttach", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Replay previous logs from the container.\n\nThis is useful for attaching to a container that has started and you\nwant to output everything since the container started.\n\nIf `stream` is also enabled, once all the previous output has been\nreturned, it will seamlessly transition into streaming current\noutput.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream attached streams from the time the request was made onwards.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach/ws": { - "get": { - "tags": [ - "Container" - ], - "summary": "Attach to a container via a websocket", - "operationId": "ContainerAttachWebsocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,`, or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Return logs", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Return stream", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/wait": { - "post": { - "tags": [ - "Container" - ], - "summary": "Wait for a container", - "description": "Block until a container stops, then returns the exit code.", - "operationId": "ContainerWait", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "condition", - "in": "query", - "description": "Wait until a container state reaches the given condition.\n\nDefaults to `not-running` if omitted or empty.\n", - "schema": { - "type": "string", - "default": "not-running", - "enum": [ - "not-running", - "next-exit", - "removed" - ] - } - } - ], - "responses": { - "200": { - "description": "The container has exit.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerWaitResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}": { - "delete": { - "tags": [ - "Container" - ], - "summary": "Remove a container", - "operationId": "ContainerDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "v", - "in": "query", - "description": "Remove anonymous volumes associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "force", - "in": "query", - "description": "If the container is running, kill it before removing it.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "link", - "in": "query", - "description": "Remove the specified link associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "You cannot remove a running container: c2ada9df5af8. Stop the\ncontainer before attempting removal or force remove\n" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/archive": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get an archive of a filesystem resource in a container", - "description": "Get a tar archive of a resource in the filesystem of container id.", - "operationId": "ContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Container" - ], - "summary": "Extract an archive of files or folders to a directory in a container", - "description": "Upload a tar archive to be extracted to a path in the filesystem of container id.\n`path` parameter is asserted to be a directory. If it exists as a file, 400 error\nwill be returned with message \"not a directory\".\n", - "operationId": "PutContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Path to a directory in the container to extract the archive’s contents into. ", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "noOverwriteDirNonDir", - "in": "query", - "description": "If `1`, `true`, or `True` then it will be an error if unpacking the\ngiven content would cause an existing directory to be replaced with\na non-directory and vice versa.\n", - "schema": { - "type": "string" - } - }, - { - "name": "copyUIDGID", - "in": "query", - "description": "If `1`, `true`, then it will copy UID/GID maps to the dest file or\ndir\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The input stream must be a tar archive compressed with one of the\nfollowing algorithms: `identity` (no compression), `gzip`, `bzip2`,\nor `xz`.\n", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The content was extracted successfully", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "not a directory" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Permission denied, the volume or container rootfs is marked as read-only.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such container or path does not exist inside the container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - }, - "head": { - "tags": [ - "Container" - ], - "summary": "Get information about files in a container", - "description": "A response header `X-Docker-Container-Path-Stat` is returned, containing\na base64 - encoded JSON object with some filesystem header information\nabout the path.\n", - "operationId": "ContainerArchiveInfo", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "headers": { - "X-Docker-Container-Path-Stat": { - "description": "A base64 - encoded JSON object with some filesystem header\ninformation about the path\n", - "schema": { - "type": "string" - } - } - }, - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/prune": { - "post": { - "tags": [ - "Container" - ], - "summary": "Delete stopped containers", - "operationId": "ContainerPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ContainerPruneResponse", - "type": "object", - "properties": { - "ContainersDeleted": { - "type": "array", - "description": "Container IDs that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "List Images", - "description": "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image.", - "operationId": "ImageList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Show all images. Only images from a final layer (no children) are shown by default.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the images list.\n\nAvailable filters:\n\n- `before`=(`[:]`, `` or ``)\n- `dangling=true`\n- `label=key` or `label=\"key=value\"` of an image label\n- `reference`=(`[:]`)\n- `since`=(`[:]`, `` or ``)\n", - "schema": { - "type": "string" - } - }, - { - "name": "shared-size", - "in": "query", - "description": "Compute and show shared size as a `SharedSize` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "digests", - "in": "query", - "description": "Show digest information as a `RepoDigests` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "Summary image data for the images matching the query", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/build": { - "post": { - "tags": [ - "Image" - ], - "summary": "Build an image", - "description": "Build an image from a tar archive with a `Dockerfile` in it.\n\nThe `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/).\n\nThe Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output.\n\nThe build is canceled if the client drops the connection by quitting or being killed.\n", - "operationId": "ImageBuild", - "parameters": [ - { - "name": "dockerfile", - "in": "query", - "description": "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`.", - "schema": { - "type": "string", - "default": "Dockerfile" - } - }, - { - "name": "t", - "in": "query", - "description": "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters.", - "schema": { - "type": "string" - } - }, - { - "name": "extrahosts", - "in": "query", - "description": "Extra hosts to add to /etc/hosts", - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball.", - "schema": { - "type": "string" - } - }, - { - "name": "q", - "in": "query", - "description": "Suppress verbose build output.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "nocache", - "in": "query", - "description": "Do not use the cache when building the image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "cachefrom", - "in": "query", - "description": "JSON array of images used for build cache resolution.", - "schema": { - "type": "string" - } - }, - { - "name": "pull", - "in": "query", - "description": "Attempt to pull the image even if an older image exists locally.", - "schema": { - "type": "string" - } - }, - { - "name": "rm", - "in": "query", - "description": "Remove intermediate containers after a successful build.", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "forcerm", - "in": "query", - "description": "Always remove intermediate containers, even upon failure.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "memory", - "in": "query", - "description": "Set memory limit for build.", - "schema": { - "type": "integer" - } - }, - { - "name": "memswap", - "in": "query", - "description": "Total memory (memory + swap). Set as `-1` to disable swap.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpushares", - "in": "query", - "description": "CPU shares (relative weight).", - "schema": { - "type": "integer" - } - }, - { - "name": "cpusetcpus", - "in": "query", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).", - "schema": { - "type": "string" - } - }, - { - "name": "cpuperiod", - "in": "query", - "description": "The length of a CPU period in microseconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpuquota", - "in": "query", - "description": "Microseconds of CPU time that the container can get in a CPU period.", - "schema": { - "type": "integer" - } - }, - { - "name": "buildargs", - "in": "query", - "description": "JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values.\n\nFor example, the build arg `FOO=bar` would become `{\"FOO\":\"bar\"}` in JSON. This would result in the query parameter `buildargs={\"FOO\":\"bar\"}`. Note that `{\"FOO\":\"bar\"}` should be URI component encoded.\n\n[Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)\n", - "schema": { - "type": "string" - } - }, - { - "name": "shmsize", - "in": "query", - "description": "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB.", - "schema": { - "type": "integer" - } - }, - { - "name": "squash", - "in": "query", - "description": "Squash the resulting images layers into a single layer. *(Experimental release only.)*", - "schema": { - "type": "boolean" - } - }, - { - "name": "labels", - "in": "query", - "description": "Arbitrary key/value labels to set on the image, as a JSON map of string pairs.", - "schema": { - "type": "string" - } - }, - { - "name": "networkmode", - "in": "query", - "description": "Sets the networking mode for the run commands during build. Supported\nstandard values are: `bridge`, `host`, `none`, and `container:`.\nAny other value is taken as a custom network's name or ID to which this\ncontainer should connect to.\n", - "schema": { - "type": "string" - } - }, - { - "name": "Content-type", - "in": "header", - "schema": { - "type": "string", - "default": "application/x-tar", - "enum": [ - "application/x-tar" - ] - } - }, - { - "name": "X-Registry-Config", - "in": "header", - "description": "This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.\n\nThe key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:\n\n```\n{\n \"docker.example.com\": {\n \"username\": \"janedoe\",\n \"password\": \"hunter2\"\n },\n \"https://index.docker.io/v1/\": {\n \"username\": \"mobydock\",\n \"password\": \"conta1n3rize14\"\n }\n}\n```\n\nOnly the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API.\n", - "schema": { - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]]", - "schema": { - "type": "string" - } - }, - { - "name": "target", - "in": "query", - "description": "Target build stage", - "schema": { - "type": "string" - } - }, - { - "name": "outputs", - "in": "query", - "description": "BuildKit output configuration", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz.", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - } - }, - "/build/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete builder cache", - "operationId": "BuildPrune", - "parameters": [ - { - "name": "keep-storage", - "in": "query", - "description": "Amount of disk space in bytes to keep for cache", - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "all", - "in": "query", - "description": "Remove all types of build cache", - "schema": { - "type": "boolean" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the list of build cache objects.\n\nAvailable filters:\n\n- `until=` remove cache older than ``. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon's local time.\n- `id=`\n- `parent=`\n- `type=`\n- `description=`\n- `inuse`\n- `shared`\n- `private`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "BuildPruneResponse", - "type": "object", - "properties": { - "CachesDeleted": { - "type": "array", - "items": { - "type": "string", - "description": "ID of build cache object" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/create": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create an image", - "description": "Create an image by either pulling it from a registry or importing it.", - "operationId": "ImageCreate", - "parameters": [ - { - "name": "fromImage", - "in": "query", - "description": "Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed.", - "schema": { - "type": "string" - } - }, - { - "name": "fromSrc", - "in": "query", - "description": "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled.", - "schema": { - "type": "string" - } - }, - { - "name": "message", - "in": "query", - "description": "Set commit message for imported image.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - }, - { - "name": "changes", - "in": "query", - "description": "Apply `Dockerfile` instructions to the image that is created,\nfor example: `changes=ENV DEBUG=true`.\nNote that `ENV DEBUG=true` should be URI component encoded.\n\nSupported `Dockerfile` instructions:\n`CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`\n", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]].\n\nWhen used in combination with the `fromImage` option, the daemon checks\nif the given image is present in the local image cache with the given\nOS and Architecture, and otherwise attempts to pull the image. If the\noption is not set, the host's native OS and Architecture are used.\nIf the given image does not exist in the local image cache, the daemon\nattempts to pull the image with the host's native OS and Architecture.\nIf the given image does exists in the local image cache, but its OS or\narchitecture does not match, a warning is produced.\n\nWhen used with the `fromSrc` option to import an image from an archive,\nthis option sets the platform information for the imported image. If\nthe option is not set, the host's native OS and Architecture are used\nfor the imported image.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Image content if the value `-` has been specified in fromSrc query parameter", - "content": { - "text/plain": { - "schema": { - "type": "string" - } - }, - "application/octet-stream": { - "schema": { - "type": "string" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "repository does not exist or no read access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputImage" - } - }, - "/images/{name}/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "Inspect an image", - "description": "Return low-level information about an image.", - "operationId": "ImageInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImageInspect" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/history": { - "get": { - "tags": [ - "Image" - ], - "summary": "Get the history of an image", - "description": "Return parent layers of an image.", - "operationId": "ImageHistory", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List of image layers", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "HistoryResponseItem", - "required": [ - "Comment", - "Created", - "CreatedBy", - "Id", - "Size", - "Tags" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "Created": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "CreatedBy": { - "type": "string", - "nullable": false - }, - "Tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "Size": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "Comment": { - "type": "string", - "nullable": false - } - }, - "description": "individual image layer information in response to ImageHistory operation", - "x-go-name": "HistoryResponseItem" - } - }, - "example": [ - { - "Id": "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710", - "Created": 1398108230, - "CreatedBy": "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /", - "Tags": [ - "ubuntu:lucid", - "ubuntu:10.04" - ], - "Size": 182964289, - "Comment": "" - }, - { - "Id": "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8", - "Created": 1398108222, - "CreatedBy": "/bin/sh -c #(nop) MAINTAINER Tianon Gravi - mkimage-debootstrap.sh -i iproute,iputils-ping,ubuntu-minimal -t lucid.tar.xz lucid http://archive.ubuntu.com/ubuntu/", - "Tags": [], - "Size": 0, - "Comment": "" - }, - { - "Id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158", - "Created": 1371157430, - "CreatedBy": "", - "Tags": [ - "scratch12:latest", - "scratch:latest" - ], - "Size": 0, - "Comment": "Imported from -" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/push": { - "post": { - "tags": [ - "Image" - ], - "summary": "Push an image", - "description": "Push an image to a registry.\n\nIf you wish to push an image on to a private registry, that image must\nalready have a tag which references the registry. For example,\n`registry.example.com/myimage:latest`.\n\nThe push is cancelled if the HTTP connection is closed.\n", - "operationId": "ImagePush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The tag to associate with the image on the registry.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/tag": { - "post": { - "tags": [ - "Image" - ], - "summary": "Tag an image", - "description": "Tag an image so that it becomes part of a repository.", - "operationId": "ImageTag", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID to tag.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "The repository to tag in. For example, `someuser/someimage`.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The name of the new tag.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "No error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}": { - "delete": { - "tags": [ - "Image" - ], - "summary": "Remove an image", - "description": "Remove an image, along with any untagged parent images that were\nreferenced by that image.\n\nImages can't be removed if they have descendant images, are being\nused by a running container or are being used by a build.\n", - "operationId": "ImageDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Remove the image even if it is being used by stopped containers or has other tags", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "noprune", - "in": "query", - "description": "Do not delete untagged parent images", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "The image was deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "example": [ - { - "Untagged": "3e2f21a89f" - }, - { - "Deleted": "3e2f21a89f" - }, - { - "Deleted": "53b4f83ac9" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/search": { - "get": { - "tags": [ - "Image" - ], - "summary": "Search images", - "description": "Search for an image on Docker Hub.", - "operationId": "ImageSearch", - "parameters": [ - { - "name": "term", - "in": "query", - "description": "Term to search", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Maximum number of results to return", - "schema": { - "type": "integer" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:\n\n- `is-automated=(true|false)`\n- `is-official=(true|false)`\n- `stars=` Matches images that has at least 'number' stars.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ImageSearchResponseItem", - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "is_official": { - "type": "boolean" - }, - "is_automated": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "star_count": { - "type": "integer" - } - } - } - }, - "example": [ - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "wma55/u1210sshd", - "star_count": 0 - }, - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "jdswinbank/sshd", - "star_count": 0 - }, - { - "description": "", - "is_official": false, - "is_automated": false, - "name": "vgauthier/sshd", - "star_count": 0 - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete unused images", - "operationId": "ImagePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:\n\n- `dangling=` When set to `true` (or `1`), prune only\n unused *and* untagged images. When set to `false`\n (or `0`), all unused images are pruned.\n- `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ImagePruneResponse", - "type": "object", - "properties": { - "ImagesDeleted": { - "type": "array", - "description": "Images that were deleted", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/auth": { - "post": { - "tags": [ - "System" - ], - "summary": "Check auth configuration", - "description": "Validate credentials for a registry and, if available, get an identity\ntoken for accessing the registry without password.\n", - "operationId": "SystemAuth", - "requestBody": { - "description": "Authentication to check", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthConfig" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "An identity token was generated successfully.", - "content": { - "application/json": { - "schema": { - "title": "SystemAuthResponse", - "required": [ - "Status" - ], - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "The status of the authentication", - "nullable": false - }, - "IdentityToken": { - "type": "string", - "description": "An opaque token used to authenticate a user after a successful login", - "nullable": false - } - } - }, - "example": { - "Status": "Login Succeeded", - "IdentityToken": "9cbaf023786cd7..." - } - } - } - }, - "204": { - "description": "No error", - "content": {} - }, - "401": { - "description": "Auth error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "authConfig" - } - }, - "/info": { - "get": { - "tags": [ - "System" - ], - "summary": "Get system information", - "operationId": "SystemInfo", - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemInfo" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/version": { - "get": { - "tags": [ - "System" - ], - "summary": "Get version", - "description": "Returns the version of Docker that is running and various information about the system that Docker is running on.", - "operationId": "SystemVersion", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemVersion" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/_ping": { - "get": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPing", - "responses": { - "200": { - "description": "no error", - "headers": { - "Swarm": { - "description": "Contains information about Swarm status of the daemon,\nand if the daemon is acting as a manager or worker node.\n", - "schema": { - "type": "string", - "default": "inactive", - "enum": [ - "inactive", - "pending", - "error", - "locked", - "active/worker", - "active/manager" - ] - } - }, - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder\n\nThe default on Linux is version \"2\" (BuildKit), but the daemon\ncan be configured to recommend version \"1\" (classic Builder).\nWindows does not yet support BuildKit for native Windows images,\nand uses \"1\" (classic builder) as a default.\n\nThis value is a recommendation as advertised by the daemon, and\nit is up to the client to choose which builder to use.\n", - "schema": { - "type": "string", - "default": "2" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "OK" - } - } - } - }, - "500": { - "description": "server error", - "headers": { - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "head": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPingHead", - "responses": { - "200": { - "description": "no error", - "headers": { - "Swarm": { - "description": "Contains information about Swarm status of the daemon,\nand if the daemon is acting as a manager or worker node.\n", - "schema": { - "type": "string", - "default": "inactive", - "enum": [ - "inactive", - "pending", - "error", - "locked", - "active/worker", - "active/manager" - ] - } - }, - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "(empty)" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/commit": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create a new image from a container", - "operationId": "ImageCommit", - "parameters": [ - { - "name": "container", - "in": "query", - "description": "The ID or name of the container to commit", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name for the created image", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag name for the create image", - "schema": { - "type": "string" - } - }, - { - "name": "comment", - "in": "query", - "description": "Commit message", - "schema": { - "type": "string" - } - }, - { - "name": "author", - "in": "query", - "description": "Author of the image (e.g., `John Hannibal Smith `)", - "schema": { - "type": "string" - } - }, - { - "name": "pause", - "in": "query", - "description": "Whether to pause the container before committing", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "changes", - "in": "query", - "description": "`Dockerfile` instructions to apply while committing", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The container configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerConfig" - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "containerConfig" - } - }, - "/events": { - "get": { - "tags": [ - "System" - ], - "summary": "Monitor events", - "description": "Stream real-time events from the server.\n\nVarious objects within Docker report events when something happens to them.\n\nContainers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, `update`, and `prune`\n\nImages report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune`\n\nVolumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune`\n\nNetworks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, `remove`, and `prune`\n\nThe Docker daemon reports these events: `reload`\n\nServices report these events: `create`, `update`, and `remove`\n\nNodes report these events: `create`, `update`, and `remove`\n\nSecrets report these events: `create`, `update`, and `remove`\n\nConfigs report these events: `create`, `update`, and `remove`\n\nThe Builder reports `prune` events\n", - "operationId": "SystemEvents", - "parameters": [ - { - "name": "since", - "in": "query", - "description": "Show events created since this timestamp then stream new events.", - "schema": { - "type": "string" - } - }, - { - "name": "until", - "in": "query", - "description": "Show events created until this timestamp then stop streaming.", - "schema": { - "type": "string" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:\n\n- `config=` config name or ID\n- `container=` container name or ID\n- `daemon=` daemon name or ID\n- `event=` event type\n- `image=` image name or ID\n- `label=` image or container label\n- `network=` network name or ID\n- `node=` node ID\n- `plugin`= plugin name or ID\n- `scope`= local or swarm\n- `secret=` secret name or ID\n- `service=` service name or ID\n- `type=` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config`\n- `volume=` volume name\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventMessage" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/system/df": { - "get": { - "tags": [ - "System" - ], - "summary": "Get data usage information", - "operationId": "SystemDataUsage", - "parameters": [ - { - "name": "type", - "in": "query", - "description": "Object types, for which to compute and return data.\n", - "style": "form", - "explode": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "container", - "image", - "volume", - "build-cache" - ] - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "VirtualSize": 1092588, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ], - "BuildCache": [ - { - "ID": "hw53o5aio51xtltp5xjp8v7fx", - "Parents": [], - "Type": "regular", - "Description": "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0", - "InUse": false, - "Shared": true, - "Size": 0, - "CreatedAt": "2021-06-28T13:31:01.474619385Z", - "LastUsedAt": "2021-07-07T22:02:32.738075951Z", - "UsageCount": 26 - }, - { - "ID": "ndlpt0hhvkqcdfkputsk4cq9c", - "Parents": [ - "ndlpt0hhvkqcdfkputsk4cq9c" - ], - "Type": "regular", - "Description": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache", - "InUse": false, - "Shared": true, - "Size": 51, - "CreatedAt": "2021-06-28T13:31:03.002625487Z", - "LastUsedAt": "2021-07-07T22:02:32.773909517Z", - "UsageCount": 26 - } - ] - } - } - }, - "text/plain": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "VirtualSize": 1092588, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ], - "BuildCache": [ - { - "ID": "hw53o5aio51xtltp5xjp8v7fx", - "Parents": [], - "Type": "regular", - "Description": "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0", - "InUse": false, - "Shared": true, - "Size": 0, - "CreatedAt": "2021-06-28T13:31:01.474619385Z", - "LastUsedAt": "2021-07-07T22:02:32.738075951Z", - "UsageCount": 26 - }, - { - "ID": "ndlpt0hhvkqcdfkputsk4cq9c", - "Parents": [ - "ndlpt0hhvkqcdfkputsk4cq9c" - ], - "Type": "regular", - "Description": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache", - "InUse": false, - "Shared": true, - "Size": 51, - "CreatedAt": "2021-06-28T13:31:03.002625487Z", - "LastUsedAt": "2021-07-07T22:02:32.773909517Z", - "UsageCount": 26 - } - ] - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export an image", - "description": "Get a tarball containing all images and metadata for a repository.\n\nIf `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced.\n\n### Image tarball format\n\nAn image tarball contains one directory per image layer (named using its long ID), each containing these files:\n\n- `VERSION`: currently `1.0` - the file format version\n- `json`: detailed layer information, similar to `docker inspect layer_id`\n- `layer.tar`: A tarfile containing the filesystem changes in this layer\n\nThe `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.\n\nIf the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs.\n\n```json\n{\n \"hello-world\": {\n \"latest\": \"565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1\"\n }\n}\n```\n", - "operationId": "ImageGet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export several images", - "description": "Get a tarball containing all images and metadata for several image\nrepositories.\n\nFor each value of the `names` parameter: if it is a specific name and\ntag (e.g. `ubuntu:latest`), then only that image (and its parents) are\nreturned; if it is an image ID, similarly only that image (and its parents)\nare returned and there would be no names referenced in the 'repositories'\nfile for this image ID.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageGetAll", - "parameters": [ - { - "name": "names", - "in": "query", - "description": "Image names to filter by", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/load": { - "post": { - "tags": [ - "Image" - ], - "summary": "Import images", - "description": "Load a set of images and tags into a repository.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageLoad", - "parameters": [ - { - "name": "quiet", - "in": "query", - "description": "Suppress progress details during load.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "description": "Tar archive containing images", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "imagesTarball" - } - }, - "/containers/{id}/exec": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Create an exec instance", - "description": "Run a command inside a running container.", - "operationId": "ContainerExec", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Exec configuration", - "content": { - "application/json": { - "schema": { - "title": "ExecConfig", - "type": "object", - "properties": { - "AttachStdin": { - "type": "boolean", - "description": "Attach to `stdin` of the exec command." - }, - "AttachStdout": { - "type": "boolean", - "description": "Attach to `stdout` of the exec command." - }, - "AttachStderr": { - "type": "boolean", - "description": "Attach to `stderr` of the exec command." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - }, - "DetachKeys": { - "type": "string", - "description": "Override the key sequence for detaching a container. Format is\na single character `[a-Z]` or `ctrl-` where ``\nis one of: `a-z`, `@`, `^`, `[`, `,` or `_`.\n" - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `[\"VAR=value\", ...]`.\n", - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run, as a string or array of strings.", - "items": { - "type": "string" - } - }, - "Privileged": { - "type": "boolean", - "description": "Runs the exec process with extended privileges.", - "default": false - }, - "User": { - "type": "string", - "description": "The user, and optionally, group to run the exec process inside\nthe container. Format is one of: `user`, `user:group`, `uid`,\nor `uid:gid`.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for the exec process inside the container.\n" - } - }, - "example": { - "AttachStdin": false, - "AttachStdout": true, - "AttachStderr": true, - "DetachKeys": "ctrl-p,ctrl-q", - "Tty": false, - "Cmd": [ - "date" - ], - "Env": [ - "FOO=bar", - "BAZ=quux" - ] - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "container is paused", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execConfig" - } - }, - "/exec/{id}/start": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Start an exec instance", - "description": "Starts a previously set up exec instance. If detach is true, this endpoint\nreturns immediately after starting the command. Otherwise, it sets up an\ninteractive session with the command.\n", - "operationId": "ExecStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "ExecStartConfig", - "type": "object", - "properties": { - "Detach": { - "type": "boolean", - "description": "Detach from the command." - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - } - }, - "example": { - "Detach": false, - "Tty": true, - "ConsoleSize": [ - 80, - 64 - ] - } - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such exec instance", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Container is stopped or paused", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execStartConfig" - } - }, - "/exec/{id}/resize": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Resize an exec instance", - "description": "Resize the TTY session used by an exec instance. This endpoint only works\nif `tty` was specified as part of creating and starting the exec instance.\n", - "operationId": "ExecResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/exec/{id}/json": { - "get": { - "tags": [ - "Exec" - ], - "summary": "Inspect an exec instance", - "description": "Return low-level information about an exec instance.", - "operationId": "ExecInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ExecInspectResponse", - "type": "object", - "properties": { - "CanRemove": { - "type": "boolean" - }, - "DetachKeys": { - "type": "string" - }, - "ID": { - "type": "string" - }, - "Running": { - "type": "boolean" - }, - "ExitCode": { - "type": "integer" - }, - "ProcessConfig": { - "$ref": "#/components/schemas/ProcessConfig" - }, - "OpenStdin": { - "type": "boolean" - }, - "OpenStderr": { - "type": "boolean" - }, - "OpenStdout": { - "type": "boolean" - }, - "ContainerID": { - "type": "string" - }, - "Pid": { - "type": "integer", - "description": "The system process ID for the exec process." - } - } - }, - "example": { - "CanRemove": false, - "ContainerID": "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126", - "DetachKeys": "", - "ExitCode": 2, - "ID": "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b", - "OpenStderr": true, - "OpenStdin": true, - "OpenStdout": true, - "ProcessConfig": { - "arguments": [ - "-c", - "exit 2" - ], - "entrypoint": "sh", - "privileged": false, - "tty": true, - "user": "1000" - }, - "Running": false, - "Pid": 42000 - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes": { - "get": { - "tags": [ - "Volume" - ], - "summary": "List volumes", - "operationId": "VolumeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the volumes list. Available filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n volumes that are not in use by a container. When set to `false`\n (or `0`), only volumes that are in use by one or more\n containers are returned.\n- `driver=` Matches volumes based on their driver.\n- `label=` or `label=:` Matches volumes based on\n the presence of a `label` alone or a `label` and a value.\n- `name=` Matches all or part of a volume name.\n", - "schema": { - "type": "string", - "format": "json" - } - } - ], - "responses": { - "200": { - "description": "Summary volume data that matches the query", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeListResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/create": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Create a volume", - "operationId": "VolumeCreate", - "requestBody": { - "description": "Volume configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeCreateOptions" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "The volume was created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "volumeConfig" - } - }, - "/volumes/{name}": { - "get": { - "tags": [ - "Volume" - ], - "summary": "Inspect a volume", - "operationId": "VolumeInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "404": { - "description": "No such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Volume" - ], - "summary": "\"Update a volume. Valid only for Swarm cluster volumes\"\n", - "operationId": "VolumeUpdate", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name or ID of the volume", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the volume being updated. This is required to\navoid conflicting writes. Found in the volume's `ClusterVolume`\nfield.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the volume to update. Currently, only Availability may\nchange. All other fields must remain unchanged.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - } - }, - "description": "Volume configuration" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - }, - "delete": { - "tags": [ - "Volume" - ], - "summary": "Remove a volume", - "description": "Instruct the driver to remove the volume.", - "operationId": "VolumeDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force the removal of the volume", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "The volume was removed", - "content": {} - }, - "404": { - "description": "No such volume or volume driver", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Volume is in use and cannot be removed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/prune": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Delete unused volumes", - "operationId": "VolumePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.\n- `all` (`all=true`) - Consider all (local) volumes for pruning and not just anonymous volumes.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "VolumePruneResponse", - "type": "object", - "properties": { - "VolumesDeleted": { - "type": "array", - "description": "Volumes that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks": { - "get": { - "tags": [ - "Network" - ], - "summary": "List networks", - "description": "Returns a list of networks. For details on the format, see the\n[network inspect endpoint](#operation/NetworkInspect).\n\nNote that it uses a different, smaller representation of a network than\ninspecting a single network. For example, the list of containers attached\nto the network is not propagated in API versions 1.28 and up.\n", - "operationId": "NetworkList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to process\non the networks list.\n\nAvailable filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n networks that are not in use by a container. When set to `false`\n (or `0`), only networks that are in use by one or more\n containers are returned.\n- `driver=` Matches a network's driver.\n- `id=` Matches all or part of a network ID.\n- `label=` or `label==` of a network label.\n- `name=` Matches all or part of a network name.\n- `scope=[\"swarm\"|\"global\"|\"local\"]` Filters networks by scope (`swarm`, `global`, or `local`).\n- `type=[\"custom\"|\"builtin\"]` Filters networks by type. The `custom` keyword returns all user-defined networks.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Network" - } - }, - "example": [ - { - "Name": "bridge", - "Id": "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566", - "Created": "2016-10-19T06:21:00.416543526Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.17.0.0/16" - } - ] - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - } - }, - { - "Name": "none", - "Id": "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "null", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - }, - { - "Name": "host", - "Id": "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "host", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/{id}": { - "get": { - "tags": [ - "Network" - ], - "summary": "Inspect a network", - "operationId": "NetworkInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "verbose", - "in": "query", - "description": "Detailed inspect output for troubleshooting", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "scope", - "in": "query", - "description": "Filter the network by scope (swarm, global, or local)", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Network" - } - } - } - }, - "404": { - "description": "Network not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Network" - ], - "summary": "Remove a network", - "operationId": "NetworkDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such network", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/create": { - "post": { - "tags": [ - "Network" - ], - "summary": "Create a network", - "operationId": "NetworkCreate", - "requestBody": { - "description": "Network configuration", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateRequest", - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The network's name." - }, - "CheckDuplicate": { - "type": "boolean", - "description": "Check for networks with duplicate names. Since Network is\nprimarily keyed based on a random ID and not on the name, and\nnetwork name is strictly a user-friendly alias to the network\nwhich is uniquely identified using ID, there is no guaranteed\nway to check for duplicates. CheckDuplicate is there to provide\na best effort checking of any networks which has the same name\nbut it is not guaranteed to catch all name collisions.\n" - }, - "Driver": { - "type": "string", - "description": "Name of the network driver plugin to use.", - "default": "bridge" - }, - "Internal": { - "type": "boolean", - "description": "Restrict external access to the network." - }, - "Attachable": { - "type": "boolean", - "description": "Globally scoped network is manually attachable by regular\ncontainers from workers in swarm mode.\n" - }, - "Ingress": { - "type": "boolean", - "description": "Ingress network is the network which provides the routing-mesh\nin swarm mode.\n" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "EnableIPv6": { - "type": "boolean", - "description": "Enable IPv6 on the network." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Network specific options to be used by the drivers." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - } - }, - "example": { - "Name": "isolated_nw", - "CheckDuplicate": false, - "Driver": "bridge", - "EnableIPv6": true, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.20.0.0/16", - "IPRange": "172.20.10.0/24", - "Gateway": "172.20.10.11" - }, - { - "Subnet": "2001:db8:abcd::/64", - "Gateway": "2001:db8:abcd::1011" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": true, - "Attachable": false, - "Ingress": false, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created network." - }, - "Warning": { - "type": "string" - } - }, - "example": { - "Id": "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30", - "Warning": "" - } - } - } - } - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "plugin not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "networkConfig" - } - }, - "/networks/{id}/connect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Connect a container to a network", - "operationId": "NetworkConnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "NetworkConnectRequest", - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to connect to the network." - }, - "EndpointConfig": { - "$ref": "#/components/schemas/EndpointSettings" - } - }, - "example": { - "Container": "3613f73ba0e4", - "EndpointConfig": { - "IPAMConfig": { - "IPv4Address": "172.24.56.89", - "IPv6Address": "2001:db8::5689" - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/{id}/disconnect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Disconnect a container from a network", - "operationId": "NetworkDisconnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "NetworkDisconnectRequest", - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to disconnect from the network.\n" - }, - "Force": { - "type": "boolean", - "description": "Force the container to disconnect from the network.\n" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/prune": { - "post": { - "tags": [ - "Network" - ], - "summary": "Delete unused networks", - "operationId": "NetworkPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkPruneResponse", - "type": "object", - "properties": { - "NetworksDeleted": { - "type": "array", - "description": "Networks that were deleted", - "items": { - "type": "string" - } - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "List plugins", - "description": "Returns information about installed plugins.", - "operationId": "PluginList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the plugin list.\n\nAvailable filters:\n\n- `capability=`\n- `enable=|`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plugin" - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/privileges": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Get plugin privileges", - "operationId": "GetPluginPrivileges", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/pull": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Install a plugin", - "description": "Pulls and installs a plugin. After the plugin is installed, it can be\nenabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).\n", - "operationId": "PluginPull", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "Remote reference for plugin to install.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "Local name for the pulled plugin.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/{name}/json": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Inspect a plugin", - "operationId": "PluginInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}": { - "delete": { - "tags": [ - "Plugin" - ], - "summary": "Remove a plugin", - "operationId": "PluginDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Disable the plugin before removing. This may result in issues if the\nplugin is in use by a container.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/enable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Enable a plugin", - "operationId": "PluginEnable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "timeout", - "in": "query", - "description": "Set the HTTP client timeout (in seconds)", - "schema": { - "type": "integer", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/disable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Disable a plugin", - "operationId": "PluginDisable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force disable a plugin even if still in use.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/upgrade": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Upgrade a plugin", - "operationId": "PluginUpgrade", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "Remote reference to upgrade to.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/create": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Create a plugin", - "operationId": "PluginCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Path to tar containing plugin rootfs and manifest", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "tarContext" - } - }, - "/plugins/{name}/push": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Push a plugin", - "description": "Push a plugin to the registry.\n", - "operationId": "PluginPush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/set": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Configure a plugin", - "operationId": "PluginSet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - "DEBUG=1" - ], - "items": { - "type": "string" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "404": { - "description": "Plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/nodes": { - "get": { - "tags": [ - "Node" - ], - "summary": "List nodes", - "operationId": "NodeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `id=`\n- `label=`\n- `membership=`(`accepted`|`pending`)`\n- `name=`\n- `node.label=`\n- `role=`(`manager`|`worker`)`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}": { - "get": { - "tags": [ - "Node" - ], - "summary": "Inspect a node", - "operationId": "NodeInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Node" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Node" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Node" - ], - "summary": "Delete a node", - "operationId": "NodeDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force remove a node from the swarm", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}/update": { - "post": { - "tags": [ - "Node" - ], - "summary": "Update a node", - "operationId": "NodeUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the node object being updated. This is required\nto avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Inspect swarm", - "operationId": "SwarmInspect", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - } - } - }, - "404": { - "description": "no such swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/init": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Initialize a new swarm", - "operationId": "SwarmInit", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmInitRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - }, - "text/plain": { - "schema": { - "title": "SwarmInitRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - }, - "text/plain": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/join": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Join an existing swarm", - "operationId": "SwarmJoin", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmJoinRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - }, - "text/plain": { - "schema": { - "title": "SwarmJoinRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/leave": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Leave a swarm", - "operationId": "SwarmLeave", - "parameters": [ - { - "name": "force", - "in": "query", - "description": "Force leave swarm, even if this is the last manager or that it will\nbreak the cluster.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/update": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Update a swarm", - "operationId": "SwarmUpdate", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "The version number of the swarm object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "rotateWorkerToken", - "in": "query", - "description": "Rotate the worker join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerToken", - "in": "query", - "description": "Rotate the manager join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerUnlockKey", - "in": "query", - "description": "Rotate the manager unlock key.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/unlockkey": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Get the unlock key", - "operationId": "SwarmUnlockkey", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - }, - "text/plain": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/unlock": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Unlock a locked manager", - "operationId": "SwarmUnlock", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmUnlockRequest", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services": { - "get": { - "tags": [ - "Service" - ], - "summary": "List services", - "operationId": "ServiceList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the services list.\n\nAvailable filters:\n\n- `id=`\n- `label=`\n- `mode=[\"replicated\"|\"global\"]`\n- `name=`\n", - "schema": { - "type": "string" - } - }, - { - "name": "status", - "in": "query", - "description": "Include service status, with count of running and desired tasks.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/create": { - "post": { - "tags": [ - "Service" - ], - "summary": "Create a service", - "operationId": "ServiceCreate", - "parameters": [ - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "web", - "TaskTemplate": { - "ContainerSpec": { - "Image": "nginx:alpine", - "Mounts": [ - { - "ReadOnly": true, - "Source": "web-data", - "Target": "/usr/share/nginx/html", - "Type": "volume", - "VolumeOptions": { - "DriverConfig": {}, - "Labels": { - "com.example.something": "something-value" - } - } - } - ], - "Hosts": [ - "10.10.10.10 host1", - "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2" - ], - "User": "33", - "DNSConfig": { - "Nameservers": [ - "8.8.8.8" - ], - "Search": [ - "example.org" - ], - "Options": [ - "timeout:3" - ] - }, - "Secrets": [ - { - "File": { - "Name": "www.example.org.key", - "UID": "33", - "GID": "33", - "Mode": 384 - }, - "SecretID": "fpjqlhnwb19zds35k8wn80lq9", - "SecretName": "example_org_domain_key" - } - ] - }, - "LogDriver": { - "Name": "json-file", - "Options": { - "max-file": "3", - "max-size": "10M" - } - }, - "Placement": {}, - "Resources": { - "Limits": { - "MemoryBytes": 104857600 - }, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "on-failure", - "Delay": 10000000000, - "MaxAttempts": 10 - } - }, - "Mode": { - "Replicated": { - "Replicas": 4 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Ports": [ - { - "Protocol": "tcp", - "PublishedPort": 8080, - "TargetPort": 80 - } - ] - }, - "Labels": { - "foo": "bar" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ServiceCreateResponse", - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the created service." - }, - "Warning": { - "type": "string", - "description": "Optional warning message" - } - }, - "example": { - "ID": "ak7w3gjqoa3kuz8xcpnyy0pvl", - "Warning": "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - } - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "network is not eligible for services", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}": { - "get": { - "tags": [ - "Service" - ], - "summary": "Inspect a service", - "operationId": "ServiceInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "insertDefaults", - "in": "query", - "description": "Fill empty fields with default values.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Service" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Service" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Service" - ], - "summary": "Delete a service", - "operationId": "ServiceDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/{id}/update": { - "post": { - "tags": [ - "Service" - ], - "summary": "Update a service", - "operationId": "ServiceUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the service object being updated. This is\nrequired to avoid conflicting writes.\nThis version number should be the value as currently set on the\nservice *before* the update. You can find the current version by\ncalling `GET /services/{id}`\n", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "registryAuthFrom", - "in": "query", - "description": "If the `X-Registry-Auth` header is not specified, this parameter\nindicates where to find registry authorization credentials.\n", - "schema": { - "type": "string", - "default": "spec", - "enum": [ - "spec", - "previous-spec" - ] - } - }, - { - "name": "rollback", - "in": "query", - "description": "Set to this parameter to `previous` to cause a server-side rollback\nto the previous service spec. The supplied spec will be ignored in\nthis case.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "top", - "TaskTemplate": { - "ContainerSpec": { - "Image": "busybox", - "Args": [ - "top" - ] - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceUpdateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}/logs": { - "get": { - "tags": [ - "Service" - ], - "summary": "Get service logs", - "description": "Get `stdout` and `stderr` logs from a service. See also\n[`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "ServiceLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the service", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show service context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such service: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks": { - "get": { - "tags": [ - "Task" - ], - "summary": "List tasks", - "operationId": "TaskList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the tasks list.\n\nAvailable filters:\n\n- `desired-state=(running | shutdown | accepted)`\n- `id=`\n- `label=key` or `label=\"key=value\"`\n- `name=`\n- `node=`\n- `service=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ] - }, - { - "ID": "1yljwbmlr8er2waf8orvqpwms", - "Version": { - "Index": 30 - }, - "CreatedAt": "2016-06-07T21:07:30.019104782Z", - "UpdatedAt": "2016-06-07T21:07:30.231958098Z", - "Name": "hopeful_cori", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:30.202183143Z", - "State": "shutdown", - "Message": "shutdown", - "ContainerStatus": { - "ContainerID": "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" - } - }, - "DesiredState": "shutdown", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.5/16" - ] - } - ] - } - ], - "items": { - "$ref": "#/components/schemas/Task" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}": { - "get": { - "tags": [ - "Task" - ], - "summary": "Inspect a task", - "operationId": "TaskInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Task" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}/logs": { - "get": { - "tags": [ - "Task" - ], - "summary": "Get task logs", - "description": "Get `stdout` and `stderr` logs from a task.\nSee also [`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "TaskLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show task context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such task: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets": { - "get": { - "tags": [ - "Secret" - ], - "summary": "List secrets", - "operationId": "SecretList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the secrets list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "blt1owaxmitz71s9v5zh81zun", - "Version": { - "Index": 85 - }, - "CreatedAt": "2017-07-20T13:55:28.678958722Z", - "UpdatedAt": "2017-07-20T13:55:28.678958722Z", - "Spec": { - "Name": "mysql-passwd", - "Labels": { - "some.label": "some.value" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - }, - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - } - } - } - ], - "items": { - "$ref": "#/components/schemas/Secret" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/create": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Create a secret", - "operationId": "SecretCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/SecretSpec" - }, - { - "type": "object", - "example": { - "Name": "app-key.crt", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==", - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/secrets/{id}": { - "get": { - "tags": [ - "Secret" - ], - "summary": "Inspect a secret", - "operationId": "SecretInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Secret" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - } - } - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Secret" - ], - "summary": "Delete a secret", - "operationId": "SecretDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/{id}/update": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Update a Secret", - "operationId": "SecretUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the secret", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the secret object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the secret to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[SecretInspect endpoint](#operation/SecretInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such secret", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs": { - "get": { - "tags": [ - "Config" - ], - "summary": "List configs", - "operationId": "ConfigList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the configs list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "server.conf" - } - } - ], - "items": { - "$ref": "#/components/schemas/Config" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/create": { - "post": { - "tags": [ - "Config" - ], - "summary": "Create a config", - "operationId": "ConfigCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ConfigSpec" - }, - { - "type": "object", - "example": { - "Name": "server.conf", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs/{id}": { - "get": { - "tags": [ - "Config" - ], - "summary": "Inspect a config", - "operationId": "ConfigInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Config" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt" - } - } - } - } - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Config" - ], - "summary": "Delete a config", - "operationId": "ConfigDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/{id}/update": { - "post": { - "tags": [ - "Config" - ], - "summary": "Update a Config", - "operationId": "ConfigUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the config", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the config object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the config to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[ConfigInspect endpoint](#operation/ConfigInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such config", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/distribution/{name}/json": { - "get": { - "tags": [ - "Distribution" - ], - "summary": "Get image information from the registry", - "description": "Return image digest and platform information by contacting the registry.\n", - "operationId": "DistributionInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "descriptor and platform information", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DistributionInspect" - } - } - } - }, - "401": { - "description": "Failed authentication or no image found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/session": { - "post": { - "tags": [ - "Session" - ], - "summary": "Initialize interactive session", - "description": "Start a new interactive session with a server. Session allows server to\ncall back to the client for advanced capabilities.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to HTTP2 transport that allows\nthe client to expose gPRC services on that connection.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /session HTTP/1.1\nUpgrade: h2c\nConnection: Upgrade\n```\n\nThe Docker daemon responds with a `101 UPGRADED` response follow with\nthe raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nConnection: Upgrade\nUpgrade: h2c\n```\n", - "operationId": "Session", - "responses": { - "101": { - "description": "no error, hijacking successful", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Port": { - "required": [ - "PrivatePort", - "Type" - ], - "type": "object", - "properties": { - "IP": { - "type": "string", - "description": "Host IP address that the container's port is mapped to", - "format": "ip-address" - }, - "PrivatePort": { - "type": "integer", - "description": "Port on the container", - "format": "uint16", - "nullable": false - }, - "PublicPort": { - "type": "integer", - "description": "Port exposed on the host", - "format": "uint16" - }, - "Type": { - "type": "string", - "nullable": false, - "enum": [ - "tcp", - "udp", - "sctp" - ] - } - }, - "description": "An open port on a container", - "example": { - "PrivatePort": 8080, - "PublicPort": 80, - "Type": "tcp" - } - }, - "MountPoint": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The mount type:\n\n- `bind` a mount of a file or directory from the host into the container.\n- `volume` a docker volume with the given `Name`.\n- `tmpfs` a `tmpfs`.\n- `npipe` a named pipe from the host into the container.\n- `cluster` a Swarm cluster volume\n", - "example": "volume", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe", - "cluster" - ] - }, - "Name": { - "type": "string", - "description": "Name is the name reference to the underlying data defined by `Source`\ne.g., the volume name.\n", - "example": "myvolume" - }, - "Source": { - "type": "string", - "description": "Source location of the mount.\n\nFor volumes, this contains the storage location of the volume (within\n`/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains\nthe source (host) part of the bind-mount. For `tmpfs` mount points, this\nfield is empty.\n", - "example": "/var/lib/docker/volumes/myvolume/_data" - }, - "Destination": { - "type": "string", - "description": "Destination is the path relative to the container root (`/`) where\nthe `Source` is mounted inside the container.\n", - "example": "/usr/share/nginx/html/" - }, - "Driver": { - "type": "string", - "description": "Driver is the volume driver used to create the volume (if it is a volume).\n", - "example": "local" - }, - "Mode": { - "type": "string", - "description": "Mode is a comma separated list of options supplied by the user when\ncreating the bind/volume mount.\n\nThe default is platform-specific (`\"z\"` on Linux, empty on Windows).\n", - "example": "z" - }, - "RW": { - "type": "boolean", - "description": "Whether the mount is mounted writable (read-write).\n", - "example": true - }, - "Propagation": { - "type": "string", - "description": "Propagation describes how mounts are propagated from the host into the\nmount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)\nfor details. This field is not used on Windows.\n", - "example": "" - } - }, - "description": "MountPoint represents a mount point configuration inside the container.\nThis is used for reporting the mountpoints in use by a container.\n" - }, - "DeviceMapping": { - "type": "object", - "properties": { - "PathOnHost": { - "type": "string" - }, - "PathInContainer": { - "type": "string" - }, - "CgroupPermissions": { - "type": "string" - } - }, - "description": "A device mapping between the host and container", - "example": { - "PathOnHost": "/dev/deviceName", - "PathInContainer": "/dev/deviceName", - "CgroupPermissions": "mrw" - } - }, - "DeviceRequest": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "example": "nvidia" - }, - "Count": { - "type": "integer", - "example": -1 - }, - "DeviceIDs": { - "type": "array", - "example": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "items": { - "type": "string" - } - }, - "Capabilities": { - "type": "array", - "description": "A list of capabilities; an OR list of AND lists of capabilities.\n", - "example": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a key/value pairs. These options\nare passed directly to the driver.\n" - } - }, - "description": "A request for devices to be sent to device drivers" - }, - "ThrottleDevice": { - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Device path" - }, - "Rate": { - "minimum": 0, - "type": "integer", - "description": "Rate", - "format": "int64" - } - } - }, - "Mount": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "Container path." - }, - "Source": { - "type": "string", - "description": "Mount source (e.g. a volume name, a host path)." - }, - "Type": { - "type": "string", - "description": "The mount type. Available types:\n\n- `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.\n- `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed.\n- `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.\n- `npipe` Mounts a named pipe from the host into the container. Must exist prior to creating the container.\n- `cluster` a Swarm cluster volume\n", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe", - "cluster" - ] - }, - "ReadOnly": { - "type": "boolean", - "description": "Whether the mount should be read-only." - }, - "Consistency": { - "type": "string", - "description": "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`." - }, - "BindOptions": { - "type": "object", - "properties": { - "Propagation": { - "type": "string", - "description": "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.", - "enum": [ - "private", - "rprivate", - "shared", - "rshared", - "slave", - "rslave" - ] - }, - "NonRecursive": { - "type": "boolean", - "description": "Disable recursive bind mount.", - "default": false - }, - "CreateMountpoint": { - "type": "boolean", - "description": "Create mount point on host if missing", - "default": false - } - }, - "description": "Optional configuration for the `bind` type." - }, - "VolumeOptions": { - "type": "object", - "properties": { - "NoCopy": { - "type": "boolean", - "description": "Populate volume with data from the target.", - "default": false - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "DriverConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver to use to create the volume." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "key/value map of driver specific options." - } - }, - "description": "Map of driver specific options" - } - }, - "description": "Optional configuration for the `volume` type." - }, - "TmpfsOptions": { - "type": "object", - "properties": { - "SizeBytes": { - "type": "integer", - "description": "The size for the tmpfs mount in bytes.", - "format": "int64" - }, - "Mode": { - "type": "integer", - "description": "The permission mode for the tmpfs mount in an integer." - } - }, - "description": "Optional configuration for the `tmpfs` type." - } - } - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "- Empty string means not to restart\n- `no` Do not automatically restart\n- `always` Always restart\n- `unless-stopped` Restart always except when the user has manually stopped the container\n- `on-failure` Restart only when the container exit code is non-zero\n", - "enum": [ - "", - "no", - "always", - "unless-stopped", - "on-failure" - ] - }, - "MaximumRetryCount": { - "type": "integer", - "description": "If `on-failure` is used, the number of times to retry before giving up.\n" - } - }, - "description": "The behavior to apply when the container exits. The default is not to\nrestart.\n\nAn ever increasing delay (double the previous delay, starting at 100ms) is\nadded before each restart to prevent flooding the server.\n" - }, - "Resources": { - "type": "object", - "properties": { - "CpuShares": { - "type": "integer", - "description": "An integer value representing this container's relative CPU weight\nversus other containers.\n" - }, - "Memory": { - "type": "integer", - "description": "Memory limit in bytes.", - "format": "int64", - "default": 0 - }, - "CgroupParent": { - "type": "string", - "description": "Path to `cgroups` under which the container's `cgroup` is created. If\nthe path is not absolute, the path is considered to be relative to the\n`cgroups` path of the init process. Cgroups are created if they do not\nalready exist.\n" - }, - "BlkioWeight": { - "maximum": 1000, - "minimum": 0, - "type": "integer", - "description": "Block IO weight (relative weight)." - }, - "BlkioWeightDevice": { - "type": "array", - "description": "Block IO weight (relative device weight) in the form:\n\n```\n[{\"Path\": \"device_path\", \"Weight\": weight}]\n```\n", - "items": { - "type": "object", - "properties": { - "Path": { - "type": "string" - }, - "Weight": { - "minimum": 0, - "type": "integer" - } - } - } - }, - "BlkioDeviceReadBps": { - "type": "array", - "description": "Limit read rate (bytes per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteBps": { - "type": "array", - "description": "Limit write rate (bytes per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceReadIOps": { - "type": "array", - "description": "Limit read rate (IO per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteIOps": { - "type": "array", - "description": "Limit write rate (IO per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "CpuPeriod": { - "type": "integer", - "description": "The length of a CPU period in microseconds.", - "format": "int64" - }, - "CpuQuota": { - "type": "integer", - "description": "Microseconds of CPU time that the container can get in a CPU period.\n", - "format": "int64" - }, - "CpuRealtimePeriod": { - "type": "integer", - "description": "The length of a CPU real-time period in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpuRealtimeRuntime": { - "type": "integer", - "description": "The length of a CPU real-time runtime in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpusetCpus": { - "type": "string", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).\n", - "example": "0-3" - }, - "CpusetMems": { - "type": "string", - "description": "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only\neffective on NUMA systems.\n" - }, - "Devices": { - "type": "array", - "description": "A list of devices to add to the container.", - "items": { - "$ref": "#/components/schemas/DeviceMapping" - } - }, - "DeviceCgroupRules": { - "type": "array", - "description": "a list of cgroup rules to apply to the container", - "items": { - "type": "string", - "example": "c 13:* rwm" - } - }, - "DeviceRequests": { - "type": "array", - "description": "A list of requests for devices to be sent to device drivers.\n", - "items": { - "$ref": "#/components/schemas/DeviceRequest" - } - }, - "KernelMemoryTCP": { - "type": "integer", - "description": "Hard limit for kernel TCP buffer memory (in bytes). Depending on the\nOCI runtime in use, this option may be ignored. It is no longer supported\nby the default (runc) runtime.\n\nThis field is omitted when empty.\n", - "format": "int64" - }, - "MemoryReservation": { - "type": "integer", - "description": "Memory soft limit in bytes.", - "format": "int64" - }, - "MemorySwap": { - "type": "integer", - "description": "Total memory limit (memory + swap). Set as `-1` to enable unlimited\nswap.\n", - "format": "int64" - }, - "MemorySwappiness": { - "maximum": 100, - "minimum": 0, - "type": "integer", - "description": "Tune a container's memory swappiness behavior. Accepts an integer\nbetween 0 and 100.\n", - "format": "int64" - }, - "NanoCpus": { - "type": "integer", - "description": "CPU quota in units of 10-9 CPUs.", - "format": "int64" - }, - "OomKillDisable": { - "type": "boolean", - "description": "Disable OOM Killer for the container." - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "PidsLimit": { - "type": "integer", - "description": "Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null`\nto not change.\n", - "format": "int64", - "nullable": true - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example:\n\n```\n{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}\n```\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - }, - "CpuCount": { - "type": "integer", - "description": "The number of usable CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "CpuPercent": { - "type": "integer", - "description": "The usable percentage of the available CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "IOMaximumIOps": { - "type": "integer", - "description": "Maximum IOps for the container system drive (Windows only)", - "format": "int64" - }, - "IOMaximumBandwidth": { - "type": "integer", - "description": "Maximum IO in bytes per second for the container system drive\n(Windows only).\n", - "format": "int64" - } - }, - "description": "A container's resources (cgroups config, ulimits, etc)" - }, - "Limit": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "Pids": { - "type": "integer", - "description": "Limits the maximum number of PIDs in the container. Set `0` for unlimited.\n", - "format": "int64", - "example": 100, - "default": 0 - } - }, - "description": "An object describing a limit on resources which can be requested by a task.\n" - }, - "ResourceObject": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - } - }, - "description": "An object describing the resources which can be advertised by a node and\nrequested by a task.\n" - }, - "GenericResources": { - "type": "array", - "description": "User-defined resources can be either Integer resources (e.g, `SSD=3`) or\nString resources (e.g, `GPU=UUID1`).\n", - "example": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ], - "items": { - "type": "object", - "properties": { - "NamedResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "string" - } - } - }, - "DiscreteResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "integer", - "format": "int64" - } - } - } - } - } - }, - "HealthConfig": { - "type": "object", - "properties": { - "Test": { - "type": "array", - "description": "The test to perform. Possible values are:\n\n- `[]` inherit healthcheck from image or parent image\n- `[\"NONE\"]` disable healthcheck\n- `[\"CMD\", args...]` exec arguments directly\n- `[\"CMD-SHELL\", command]` run command with system's default shell\n", - "items": { - "type": "string" - } - }, - "Interval": { - "type": "integer", - "description": "The time to wait between checks in nanoseconds. It should be 0 or at\nleast 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "Timeout": { - "type": "integer", - "description": "The time to wait before considering the check to have hung. It should\nbe 0 or at least 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "Retries": { - "type": "integer", - "description": "The number of consecutive failures needed to consider a container as\nunhealthy. 0 means inherit.\n" - }, - "StartPeriod": { - "type": "integer", - "description": "Start period for the container to initialize before starting\nhealth-retries countdown in nanoseconds. It should be 0 or at least\n1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - } - }, - "description": "A test to perform to check that the container is healthy." - }, - "Health": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "Status is one of `none`, `starting`, `healthy` or `unhealthy`\n\n- \"none\" Indicates there is no healthcheck\n- \"starting\" Starting indicates that the container is not yet ready\n- \"healthy\" Healthy indicates that the container is running correctly\n- \"unhealthy\" Unhealthy indicates that the container has a problem\n", - "example": "healthy", - "enum": [ - "none", - "starting", - "healthy", - "unhealthy" - ] - }, - "FailingStreak": { - "type": "integer", - "description": "FailingStreak is the number of consecutive failures", - "example": 0 - }, - "Log": { - "type": "array", - "description": "Log contains the last few results (oldest first)\n", - "items": { - "$ref": "#/components/schemas/HealthcheckResult" - } - } - }, - "description": "Health stores information about the container's healthcheck results.\n", - "nullable": true, - "x-nullable": true - }, - "HealthcheckResult": { - "type": "object", - "properties": { - "Start": { - "type": "string", - "description": "Date and time at which this check started in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "date-time", - "example": "2020-01-04T10:44:24.496525531Z" - }, - "End": { - "type": "string", - "description": "Date and time at which this check ended in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2020-01-04T10:45:21.364524523Z" - }, - "ExitCode": { - "type": "integer", - "description": "ExitCode meanings:\n\n- `0` healthy\n- `1` unhealthy\n- `2` reserved (considered unhealthy)\n- other values: error running probe\n", - "example": 0 - }, - "Output": { - "type": "string", - "description": "Output from last check" - } - }, - "description": "HealthcheckResult stores information about a single run of a healthcheck probe\n", - "nullable": true, - "x-nullable": true - }, - "HostConfig": { - "description": "Container configuration that depends on the host we are running on", - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "Binds": { - "type": "array", - "description": "A list of volume bindings for this container. Each volume binding\nis a string in one of these forms:\n\n- `host-src:container-dest[:options]` to bind-mount a host path\n into the container. Both `host-src`, and `container-dest` must\n be an _absolute_ path.\n- `volume-name:container-dest[:options]` to bind-mount a volume\n managed by a volume driver into the container. `container-dest`\n must be an _absolute_ path.\n\n`options` is an optional, comma-delimited list of:\n\n- `nocopy` disables automatic copying of data from the container\n path to the volume. The `nocopy` flag only applies to named volumes.\n- `[ro|rw]` mounts a volume read-only or read-write, respectively.\n If omitted or set to `rw`, volumes are mounted read-write.\n- `[z|Z]` applies SELinux labels to allow or deny multiple containers\n to read and write to the same volume.\n - `z`: a _shared_ content label is applied to the content. This\n label indicates that multiple containers can share the volume\n content, for both reading and writing.\n - `Z`: a _private unshared_ label is applied to the content.\n This label indicates that only the current container can use\n a private volume. Labeling systems such as SELinux require\n proper labels to be placed on volume content that is mounted\n into a container. Without a label, the security system can\n prevent a container's processes from using the content. By\n default, the labels set by the host operating system are not\n modified.\n- `[[r]shared|[r]slave|[r]private]` specifies mount\n [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).\n This only applies to bind-mounted volumes, not internal volumes\n or named volumes. Mount propagation requires the source mount\n point (the location where the source directory is mounted in the\n host operating system) to have the correct propagation properties.\n For shared volumes, the source mount point must be set to `shared`.\n For slave volumes, the mount must be set to either `shared` or\n `slave`.\n", - "items": { - "type": "string" - } - }, - "ContainerIDFile": { - "type": "string", - "description": "Path to a file where the container ID is written" - }, - "LogConfig": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "json-file", - "syslog", - "journald", - "gelf", - "fluentd", - "awslogs", - "splunk", - "etwlogs", - "none" - ] - }, - "Config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "The logging configuration for this container" - }, - "NetworkMode": { - "type": "string", - "description": "Network mode to use for this container. Supported standard values\nare: `bridge`, `host`, `none`, and `container:`. Any\nother value is taken as a custom network's name to which this\ncontainer should connect to.\n" - }, - "PortBindings": { - "$ref": "#/components/schemas/PortMap" - }, - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - }, - "AutoRemove": { - "type": "boolean", - "description": "Automatically remove the container when the container's process\nexits. This has no effect if `RestartPolicy` is set.\n" - }, - "VolumeDriver": { - "type": "string", - "description": "Driver that this container uses to mount volumes." - }, - "VolumesFrom": { - "type": "array", - "description": "A list of volumes to inherit from another container, specified in\nthe form `[:]`.\n", - "items": { - "type": "string" - } - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to the container.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.\n", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - }, - "Annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Arbitrary non-identifying metadata attached to container and\nprovided to the runtime when the container is started.\n" - }, - "CapAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CapDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CgroupnsMode": { - "type": "string", - "description": "cgroup namespace mode for the container. Possible values are:\n\n- `\"private\"`: the container runs in its own private cgroup namespace\n- `\"host\"`: use the host system's cgroup namespace\n\nIf not specified, the daemon default is used, which can either be `\"private\"`\nor `\"host\"`, depending on daemon version, kernel support and configuration.\n", - "enum": [ - "private", - "host" - ] - }, - "Dns": { - "type": "array", - "description": "A list of DNS servers for the container to use.", - "items": { - "type": "string" - } - }, - "DnsOptions": { - "type": "array", - "description": "A list of DNS options.", - "items": { - "type": "string" - } - }, - "DnsSearch": { - "type": "array", - "description": "A list of DNS search domains.", - "items": { - "type": "string" - } - }, - "ExtraHosts": { - "type": "array", - "description": "A list of hostnames/IP mappings to add to the container's `/etc/hosts`\nfile. Specified in the form `[\"hostname:IP\"]`.\n", - "items": { - "type": "string" - } - }, - "GroupAdd": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "IpcMode": { - "type": "string", - "description": "IPC sharing mode for the container. Possible values are:\n\n- `\"none\"`: own private IPC namespace, with /dev/shm not mounted\n- `\"private\"`: own private IPC namespace\n- `\"shareable\"`: own private IPC namespace, with a possibility to share it with other containers\n- `\"container:\"`: join another (shareable) container's IPC namespace\n- `\"host\"`: use the host system's IPC namespace\n\nIf not specified, daemon default is used, which can either be `\"private\"`\nor `\"shareable\"`, depending on daemon version and configuration.\n" - }, - "Cgroup": { - "type": "string", - "description": "Cgroup to use for the container." - }, - "Links": { - "type": "array", - "description": "A list of links for the container in the form `container_name:alias`.\n", - "items": { - "type": "string" - } - }, - "OomScoreAdj": { - "type": "integer", - "description": "An integer value containing the score given to the container in\norder to tune OOM killer preferences.\n", - "example": 500 - }, - "PidMode": { - "type": "string", - "description": "Set the PID (Process) Namespace mode for the container. It can be\neither:\n\n- `\"container:\"`: joins another container's PID namespace\n- `\"host\"`: use the host's PID namespace inside the container\n" - }, - "Privileged": { - "type": "boolean", - "description": "Gives the container full access to the host." - }, - "PublishAllPorts": { - "type": "boolean", - "description": "Allocates an ephemeral host port for all of a container's\nexposed ports.\n\nPorts are de-allocated when the container stops and allocated when\nthe container starts. The allocated port might be changed when\nrestarting the container.\n\nThe port is selected from the ephemeral port range that depends on\nthe kernel. For example, on Linux the range is defined by\n`/proc/sys/net/ipv4/ip_local_port_range`.\n" - }, - "ReadonlyRootfs": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "SecurityOpt": { - "type": "array", - "description": "A list of string values to customize labels for MLS systems, such\nas SELinux.\n", - "items": { - "type": "string" - } - }, - "StorageOpt": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Storage driver options for this container, in the form `{\"size\": \"120G\"}`.\n" - }, - "Tmpfs": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of container directories which should be replaced by tmpfs\nmounts, and their corresponding mount options. For example:\n\n```\n{ \"/run\": \"rw,noexec,nosuid,size=65536k\" }\n```\n" - }, - "UTSMode": { - "type": "string", - "description": "UTS namespace to use for the container." - }, - "UsernsMode": { - "type": "string", - "description": "Sets the usernamespace mode for the container when usernamespace\nremapping option is enabled.\n" - }, - "ShmSize": { - "minimum": 0, - "type": "integer", - "description": "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.\n", - "format": "int64" - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A list of kernel parameters (sysctls) to set in the container.\nFor example:\n\n```\n{\"net.ipv4.ip_forward\": \"1\"}\n```\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime to use with this container." - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the container. (Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "MaskedPaths": { - "type": "array", - "description": "The list of paths to be masked inside the container (this overrides\nthe default set of paths).\n", - "items": { - "type": "string" - } - }, - "ReadonlyPaths": { - "type": "array", - "description": "The list of paths to be set as read-only inside the container\n(this overrides the default set of paths).\n", - "items": { - "type": "string" - } - } - } - } - ] - }, - "ContainerConfig": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid RFC 1123 hostname.\n", - "example": "439f4e91bd1d" - }, - "Domainname": { - "type": "string", - "description": "The domain name to use for the container.\n" - }, - "User": { - "type": "string", - "description": "The user that commands are run as inside the container." - }, - "AttachStdin": { - "type": "boolean", - "description": "Whether to attach to `stdin`.", - "default": false - }, - "AttachStdout": { - "type": "boolean", - "description": "Whether to attach to `stdout`.", - "default": true - }, - "AttachStderr": { - "type": "boolean", - "description": "Whether to attach to `stderr`.", - "default": true - }, - "ExposedPorts": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping ports to an empty object in the form:\n\n`{\"/\": {}}`\n", - "nullable": true, - "example": { - "80/tcp": {}, - "443/tcp": {} - } - }, - "Tty": { - "type": "boolean", - "description": "Attach standard streams to a TTY, including `stdin` if it is not closed.\n", - "default": false - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`", - "default": false - }, - "StdinOnce": { - "type": "boolean", - "description": "Close `stdin` after one attached client disconnects", - "default": false - }, - "Env": { - "type": "array", - "description": "A list of environment variables to set inside the container in the\nform `[\"VAR=value\", ...]`. A variable without `=` is removed from the\nenvironment, rather than to have an empty value.\n", - "example": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run specified as a string or an array of strings.\n", - "example": [ - "/bin/sh" - ], - "items": { - "type": "string" - } - }, - "Healthcheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "ArgsEscaped": { - "type": "boolean", - "description": "Command is already escaped (Windows only)", - "nullable": true, - "example": false, - "default": false - }, - "Image": { - "type": "string", - "description": "The name (or reference) of the image to use when creating the container,\nor which was used when the container was created.\n", - "example": "example-image:1.0" - }, - "Volumes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping mount point paths inside the container to empty\nobjects.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for commands to run in.", - "example": "/public/" - }, - "Entrypoint": { - "type": "array", - "description": "The entry point for the container as a string or an array of strings.\n\nIf the array consists of exactly one empty string (`[\"\"]`) then the\nentry point is reset to system default (i.e., the entry point used by\ndocker when there is no `ENTRYPOINT` instruction in the `Dockerfile`).\n", - "example": [], - "items": { - "type": "string" - } - }, - "NetworkDisabled": { - "type": "boolean", - "description": "Disable networking for the container.", - "nullable": true - }, - "MacAddress": { - "type": "string", - "description": "MAC address of the container.", - "nullable": true - }, - "OnBuild": { - "type": "array", - "description": "`ONBUILD` metadata that were defined in the image's `Dockerfile`.\n", - "nullable": true, - "example": [], - "items": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop a container as a string or unsigned integer.\n", - "nullable": true, - "example": "SIGTERM" - }, - "StopTimeout": { - "type": "integer", - "description": "Timeout to stop a container in seconds.", - "nullable": true - }, - "Shell": { - "type": "array", - "description": "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.\n", - "nullable": true, - "example": [ - "/bin/sh", - "-c" - ], - "items": { - "type": "string" - } - } - }, - "description": "Configuration for a container that is portable between hosts.\n\nWhen used as `ContainerConfig` field in an image, `ContainerConfig` is an\noptional field containing the configuration of the container that was last\ncommitted when creating the image.\n\nPrevious versions of Docker builder used this field to store build cache,\nand it is not in active use anymore.\n" - }, - "NetworkingConfig": { - "type": "object", - "properties": { - "EndpointsConfig": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "A mapping of network name to endpoint configuration for that network.\n" - } - }, - "description": "NetworkingConfig represents the container's networking configuration for\neach of its interfaces.\nIt is used for the networking configs specified in the `docker create`\nand `docker network connect` commands.\n", - "example": { - "EndpointsConfig": { - "isolated_nw": { - "IPAMConfig": { - "IPv4Address": "172.20.30.33", - "IPv6Address": "2001:db8:abcd::3033", - "LinkLocalIPs": [ - "169.254.34.68", - "fe80::3468" - ] - }, - "Links": [ - "container_1", - "container_2" - ], - "Aliases": [ - "server_x", - "server_y" - ] - } - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Bridge": { - "type": "string", - "description": "Name of the network's bridge (for example, `docker0`).", - "example": "docker0" - }, - "SandboxID": { - "type": "string", - "description": "SandboxID uniquely represents a container's network stack.", - "example": "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3" - }, - "HairpinMode": { - "type": "boolean", - "description": "Indicates if hairpin NAT should be enabled on the virtual interface.\n", - "example": false - }, - "LinkLocalIPv6Address": { - "type": "string", - "description": "IPv6 unicast address using the link-local prefix.", - "example": "fe80::42:acff:fe11:1" - }, - "LinkLocalIPv6PrefixLen": { - "type": "integer", - "description": "Prefix length of the IPv6 unicast address.", - "example": 64 - }, - "Ports": { - "$ref": "#/components/schemas/PortMap" - }, - "SandboxKey": { - "type": "string", - "description": "SandboxKey identifies the sandbox", - "example": "/var/run/docker/netns/8ab54b426c38" - }, - "SecondaryIPAddresses": { - "type": "array", - "description": "", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "SecondaryIPv6Addresses": { - "type": "array", - "description": "", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "EndpointID": { - "type": "string", - "description": "EndpointID uniquely represents a service endpoint in a Sandbox.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.1" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 64 - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address for this network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8:2::100" - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the container on the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "02:42:ac:11:00:04" - }, - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "Information about all networks that the container is connected to.\n" - } - }, - "description": "NetworkSettings exposes the network settings in the API" - }, - "Address": { - "type": "object", - "properties": { - "Addr": { - "type": "string", - "description": "IP address." - }, - "PrefixLen": { - "type": "integer", - "description": "Mask length of the IP address." - } - }, - "description": "Address represents an IPv4 or IPv6 IP address." - }, - "PortMap": { - "type": "object", - "additionalProperties": { - "type": "array", - "nullable": true, - "items": { - "$ref": "#/components/schemas/PortBinding" - } - }, - "description": "PortMap describes the mapping of container ports to host ports, using the\ncontainer's port-number and protocol as key in the format `/`,\nfor example, `80/udp`.\n\nIf a container's port is mapped for multiple protocols, separate entries\nare added to the mapping table.\n", - "example": { - "443/tcp": [ - { - "HostIp": "127.0.0.1", - "HostPort": "4443" - } - ], - "80/tcp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - }, - { - "HostIp": "0.0.0.0", - "HostPort": "8080" - } - ], - "80/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - } - ], - "53/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "53" - } - ] - } - }, - "PortBinding": { - "type": "object", - "properties": { - "HostIp": { - "type": "string", - "description": "Host IP address that the container's port is mapped to.", - "example": "127.0.0.1" - }, - "HostPort": { - "type": "string", - "description": "Host port number that the container's port is mapped to.", - "example": "4443" - } - }, - "description": "PortBinding represents a binding between a host IP address and a host\nport.\n" - }, - "GraphDriverData": { - "required": [ - "Data", - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the storage driver.", - "nullable": false, - "example": "overlay2" - }, - "Data": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Low-level storage metadata, provided as key/value pairs.\n\nThis information is driver-specific, and depends on the storage-driver\nin use, and should be used for informational purposes only.\n", - "nullable": false, - "example": { - "MergedDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/merged", - "UpperDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/diff", - "WorkDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/work" - } - } - }, - "description": "Information about the storage driver used to store the container's and\nimage's filesystem.\n" - }, - "FilesystemChange": { - "required": [ - "Kind", - "Path" - ], - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Path to file or directory that has changed.\n", - "nullable": false - }, - "Kind": { - "$ref": "#/components/schemas/ChangeType" - } - }, - "description": "Change in the container's filesystem.\n" - }, - "ChangeType": { - "type": "integer", - "description": "Kind of change\n\nCan be one of:\n\n- `0`: Modified (\"C\")\n- `1`: Added (\"A\")\n- `2`: Deleted (\"D\")\n", - "format": "uint8", - "nullable": false, - "enum": [ - 0, - 1, - 2 - ], - "x-nullable": false - }, - "ImageInspect": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "ID is the content-addressable ID of an image.\n\nThis identifier is a content-addressable digest calculated from the\nimage's configuration (which includes the digests of layers used by\nthe image).\n\nNote that this digest differs from the `RepoDigests` below, which\nholds digests of image manifests that reference the image.\n", - "nullable": false, - "example": "sha256:ec3f0931a6e6b6855d76b2d7b0be30e81860baccd891b2e243280bf1cd8ad710" - }, - "RepoTags": { - "type": "array", - "description": "List of image names/tags in the local image cache that reference this\nimage.\n\nMultiple image tags can refer to the same image, and this list may be\nempty if no tags reference the image, in which case the image is\n\"untagged\", in which case it can still be referenced by its ID.\n", - "example": [ - "example:1.0", - "example:latest", - "example:stable", - "internal.registry.example.com:5000/example:1.0" - ], - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "description": "List of content-addressable digests of locally available image manifests\nthat the image is referenced from. Multiple manifests can refer to the\nsame image.\n\nThese digests are usually only available if the image was either pulled\nfrom a registry, or if the image was pushed to a registry, which is when\nthe manifest is generated and its digest calculated.\n", - "example": [ - "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", - "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578" - ], - "items": { - "type": "string" - } - }, - "Parent": { - "type": "string", - "description": "ID of the parent image.\n\nDepending on how the image was created, this field may be empty and\nis only set for images that were built/created locally. This field\nis empty if the image was pulled from an image registry.\n", - "nullable": false, - "example": "" - }, - "Comment": { - "type": "string", - "description": "Optional message that was set when committing or importing the image.\n", - "nullable": false, - "example": "" - }, - "Created": { - "type": "string", - "description": "Date and time at which the image was created, formatted in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "nullable": false, - "example": "2022-02-04T21:20:12.497794809Z" - }, - "Container": { - "type": "string", - "description": "The ID of the container that was used to create the image.\n\nDepending on how the image was created, this field may be empty.\n", - "nullable": false, - "example": "65974bc86f1770ae4bff79f651ebdbce166ae9aada632ee3fa9af3a264911735" - }, - "ContainerConfig": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "DockerVersion": { - "type": "string", - "description": "The version of Docker that was used to build the image.\n\nDepending on how the image was created, this field may be empty.\n", - "nullable": false, - "example": "20.10.7" - }, - "Author": { - "type": "string", - "description": "Name of the author that was specified when committing the image, or as\nspecified through MAINTAINER (deprecated) in the Dockerfile.\n", - "nullable": false, - "example": "" - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "Architecture": { - "type": "string", - "description": "Hardware CPU architecture that the image runs on.\n", - "nullable": false, - "example": "arm" - }, - "Variant": { - "type": "string", - "description": "CPU architecture variant (presently ARM-only).\n", - "nullable": true, - "example": "v7" - }, - "Os": { - "type": "string", - "description": "Operating System the image is built to run on.\n", - "nullable": false, - "example": "linux" - }, - "OsVersion": { - "type": "string", - "description": "Operating System version the image is built to run on (especially\nfor Windows).\n", - "nullable": true, - "example": "" - }, - "Size": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "VirtualSize": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n\nIn versions of Docker before v1.10, this field was calculated from\nthe image itself and all of its parent images. Images are now stored\nself-contained, and no longer use a parent-chain, making this field\nan equivalent of the Size field.\n\n> **Deprecated**: this field is kept for backward compatibility, but\n> will be removed in API v1.44.\n", - "format": "int64", - "example": 1239828 - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "RootFS": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "layers" - }, - "Layers": { - "type": "array", - "example": [ - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6", - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" - ], - "items": { - "type": "string" - } - } - }, - "description": "Information about the image's RootFS, including the layer IDs.\n" - }, - "Metadata": { - "type": "object", - "properties": { - "LastTagTime": { - "type": "string", - "description": "Date and time at which the image was last tagged in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n\nThis information is only available if the image was tagged locally,\nand omitted otherwise.\n", - "format": "dateTime", - "nullable": true, - "example": "2022-02-28T14:40:02.623929178Z" - } - }, - "description": "Additional metadata of the image in the local cache. This information\nis local to the daemon, and not part of the image itself.\n" - } - }, - "description": "Information about an image in the local image cache.\n" - }, - "ImageSummary": { - "required": [ - "Containers", - "Created", - "Id", - "Labels", - "ParentId", - "RepoDigests", - "RepoTags", - "SharedSize", - "Size" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "ID is the content-addressable ID of an image.\n\nThis identifier is a content-addressable digest calculated from the\nimage's configuration (which includes the digests of layers used by\nthe image).\n\nNote that this digest differs from the `RepoDigests` below, which\nholds digests of image manifests that reference the image.\n", - "nullable": false, - "example": "sha256:ec3f0931a6e6b6855d76b2d7b0be30e81860baccd891b2e243280bf1cd8ad710" - }, - "ParentId": { - "type": "string", - "description": "ID of the parent image.\n\nDepending on how the image was created, this field may be empty and\nis only set for images that were built/created locally. This field\nis empty if the image was pulled from an image registry.\n", - "nullable": false, - "example": "" - }, - "RepoTags": { - "type": "array", - "description": "List of image names/tags in the local image cache that reference this\nimage.\n\nMultiple image tags can refer to the same image, and this list may be\nempty if no tags reference the image, in which case the image is\n\"untagged\", in which case it can still be referenced by its ID.\n", - "nullable": false, - "example": [ - "example:1.0", - "example:latest", - "example:stable", - "internal.registry.example.com:5000/example:1.0" - ], - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "description": "List of content-addressable digests of locally available image manifests\nthat the image is referenced from. Multiple manifests can refer to the\nsame image.\n\nThese digests are usually only available if the image was either pulled\nfrom a registry, or if the image was pushed to a registry, which is when\nthe manifest is generated and its digest calculated.\n", - "nullable": false, - "example": [ - "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", - "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578" - ], - "items": { - "type": "string" - } - }, - "Created": { - "type": "integer", - "description": "Date and time at which the image was created as a Unix timestamp\n(number of seconds sinds EPOCH).\n", - "nullable": false, - "example": 1644009612 - }, - "Size": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n", - "format": "int64", - "nullable": false, - "example": 172064416 - }, - "SharedSize": { - "type": "integer", - "description": "Total size of image layers that are shared between this image and other\nimages.\n\nThis size is not calculated by default. `-1` indicates that the value\nhas not been set / calculated.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "VirtualSize": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n\nIn versions of Docker before v1.10, this field was calculated from\nthe image itself and all of its parent images. Images are now stored\nself-contained, and no longer use a parent-chain, making this field\nan equivalent of the Size field.\n\nDeprecated: this field is kept for backward compatibility, and will be removed in API v1.44.", - "format": "int64", - "example": 172064416 - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Containers": { - "type": "integer", - "description": "Number of containers using this image. Includes both stopped and running\ncontainers.\n\nThis size is not calculated by default, and depends on which API endpoint\nis used. `-1` indicates that the value has not been set / calculated.\n", - "nullable": false, - "example": 2 - } - } - }, - "AuthConfig": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "email": { - "type": "string" - }, - "serveraddress": { - "type": "string" - } - }, - "example": { - "username": "hannibal", - "password": "xxxx", - "serveraddress": "https://index.docker.io/v1/" - } - }, - "ProcessConfig": { - "type": "object", - "properties": { - "privileged": { - "type": "boolean" - }, - "user": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "entrypoint": { - "type": "string" - }, - "arguments": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Volume": { - "required": [ - "Driver", - "Labels", - "Mountpoint", - "Name", - "Options", - "Scope" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the volume.", - "nullable": false, - "example": "tardis" - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver used by the volume.", - "nullable": false, - "example": "custom" - }, - "Mountpoint": { - "type": "string", - "description": "Mount path of the volume on the host.", - "nullable": false, - "example": "/var/lib/docker/volumes/tardis" - }, - "CreatedAt": { - "type": "string", - "description": "Date/Time the volume was created.", - "format": "dateTime", - "example": "2016-06-07T20:31:11.853781916Z" - }, - "Status": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "Low-level details about the volume, provided by the volume driver.\nDetails are returned as a map with key/value pairs:\n`{\"key\":\"value\",\"key2\":\"value2\"}`.\n\nThe `Status` field is optional, and is omitted if the volume driver\ndoes not support this feature.\n", - "example": { - "hello": "world" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Scope": { - "type": "string", - "description": "The level at which the volume exists. Either `global` for cluster-wide,\nor `local` for machine level.\n", - "nullable": false, - "example": "local", - "default": "local", - "enum": [ - "local", - "global" - ] - }, - "ClusterVolume": { - "$ref": "#/components/schemas/ClusterVolume" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The driver specific options used when creating the volume.\n", - "example": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - }, - "UsageData": { - "required": [ - "RefCount", - "Size" - ], - "type": "object", - "properties": { - "Size": { - "type": "integer", - "description": "Amount of disk space used by the volume (in bytes). This information\nis only available for volumes created with the `\"local\"` volume\ndriver. For volumes created with other volume drivers, this field\nis set to `-1` (\"not available\")\n", - "format": "int64", - "nullable": false, - "default": -1 - }, - "RefCount": { - "type": "integer", - "description": "The number of containers referencing this volume. This field\nis set to `-1` if the reference-count is not available.\n", - "format": "int64", - "nullable": false, - "default": -1 - } - }, - "description": "Usage details about the volume. This information is used by the\n`GET /system/df` endpoint, and omitted in other endpoints.\n", - "nullable": true, - "x-go-name": "UsageData" - } - } - }, - "VolumeCreateOptions": { - "title": "VolumeConfig", - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The new volume's name. If not specified, Docker generates a name.\n", - "nullable": false, - "example": "tardis" - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver to use.", - "nullable": false, - "example": "custom", - "default": "local" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A mapping of driver options and values. These options are\npassed directly to the driver and are driver specific.\n", - "example": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "ClusterVolumeSpec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - } - }, - "description": "Volume configuration", - "x-go-name": "CreateOptions" - }, - "VolumeListResponse": { - "title": "VolumeListResponse", - "type": "object", - "properties": { - "Volumes": { - "type": "array", - "description": "List of volumes", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "Warnings": { - "type": "array", - "description": "Warnings that occurred when fetching the list of volumes.\n", - "example": [], - "items": { - "type": "string" - } - } - }, - "description": "Volume list response", - "x-go-name": "ListResponse" - }, - "Network": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Created": { - "type": "string", - "format": "dateTime" - }, - "Scope": { - "type": "string" - }, - "Driver": { - "type": "string" - }, - "EnableIPv6": { - "type": "boolean" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "Internal": { - "type": "boolean" - }, - "Attachable": { - "type": "boolean" - }, - "Ingress": { - "type": "boolean" - }, - "Containers": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/NetworkContainer" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "example": { - "Name": "net01", - "Id": "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99", - "Created": "2016-10-19T04:33:30.360899459Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.19.0.0/16", - "Gateway": "172.19.0.1" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": false, - "Attachable": false, - "Ingress": false, - "Containers": { - "19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c": { - "Name": "test", - "EndpointID": "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a", - "MacAddress": "02:42:ac:13:00:02", - "IPv4Address": "172.19.0.2/16", - "IPv6Address": "" - } - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "IPAM": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "description": "Name of the IPAM driver to use.", - "default": "default" - }, - "Config": { - "type": "array", - "description": "List of IPAM configuration options, specified as a map:\n\n```\n{\"Subnet\": , \"IPRange\": , \"Gateway\": , \"AuxAddress\": }\n```\n", - "items": { - "$ref": "#/components/schemas/IPAMConfig" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a map." - } - } - }, - "IPAMConfig": { - "type": "object", - "properties": { - "Subnet": { - "type": "string" - }, - "IPRange": { - "type": "string" - }, - "Gateway": { - "type": "string" - }, - "AuxiliaryAddresses": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "NetworkContainer": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "EndpointID": { - "type": "string" - }, - "MacAddress": { - "type": "string" - }, - "IPv4Address": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - } - } - }, - "BuildInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "stream": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - }, - "aux": { - "$ref": "#/components/schemas/ImageID" - } - } - }, - "BuildCache": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique ID of the build cache record.\n", - "example": "ndlpt0hhvkqcdfkputsk4cq9c" - }, - "Parent": { - "type": "string", - "description": "ID of the parent build cache record.\n\n> **Deprecated**: This field is deprecated, and omitted if empty.\n", - "nullable": true, - "example": "" - }, - "Parents": { - "type": "array", - "description": "List of parent build cache record IDs.\n", - "nullable": true, - "example": [ - "hw53o5aio51xtltp5xjp8v7fx" - ], - "items": { - "type": "string" - } - }, - "Type": { - "type": "string", - "description": "Cache record type.\n", - "example": "regular", - "enum": [ - "internal", - "frontend", - "source.local", - "source.git.checkout", - "exec.cachemount", - "regular" - ] - }, - "Description": { - "type": "string", - "description": "Description of the build-step that produced the build cache.\n", - "example": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache" - }, - "InUse": { - "type": "boolean", - "description": "Indicates if the build cache is in use.\n", - "example": false - }, - "Shared": { - "type": "boolean", - "description": "Indicates if the build cache is shared.\n", - "example": true - }, - "Size": { - "type": "integer", - "description": "Amount of disk space used by the build cache (in bytes).\n", - "example": 51 - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the build cache was created in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "LastUsedAt": { - "type": "string", - "description": "Date and time at which the build cache was last used in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "nullable": true, - "example": "2017-08-09T07:09:37.632105588Z" - }, - "UsageCount": { - "type": "integer", - "example": 26 - } - }, - "description": "BuildCache contains information about a build cache record.\n" - }, - "ImageID": { - "type": "object", - "properties": { - "ID": { - "type": "string" - } - }, - "description": "Image ID or Digest", - "example": { - "ID": "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" - } - }, - "CreateImageInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "PushImageInfo": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "ErrorDetail": { - "type": "object", - "properties": { - "code": { - "type": "integer" - }, - "message": { - "type": "string" - } - } - }, - "ProgressDetail": { - "type": "object", - "properties": { - "current": { - "type": "integer" - }, - "total": { - "type": "integer" - } - } - }, - "ErrorResponse": { - "required": [ - "message" - ], - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The error message.", - "nullable": false - } - }, - "description": "Represents an error.", - "example": { - "message": "Something went wrong." - } - }, - "IdResponse": { - "required": [ - "Id" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The id of the newly created object.", - "nullable": false - } - }, - "description": "Response to an API call that returns just an Id" - }, - "EndpointSettings": { - "type": "object", - "properties": { - "IPAMConfig": { - "$ref": "#/components/schemas/EndpointIPAMConfig" - }, - "Links": { - "type": "array", - "example": [ - "container_1", - "container_2" - ], - "items": { - "type": "string" - } - }, - "Aliases": { - "type": "array", - "example": [ - "server_x", - "server_y" - ], - "items": { - "type": "string" - } - }, - "NetworkID": { - "type": "string", - "description": "Unique ID of the network.\n", - "example": "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a" - }, - "EndpointID": { - "type": "string", - "description": "Unique ID for the service endpoint in a Sandbox.\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for this network.\n", - "example": "172.17.0.1" - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address.\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address.\n", - "example": "2001:db8:2::100" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address.\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n", - "format": "int64", - "example": 64 - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the endpoint on this network.\n", - "example": "02:42:ac:11:00:04" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "DriverOpts is a mapping of driver options and values. These options\nare passed directly to the driver and are driver specific.\n", - "nullable": true, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "description": "Configuration for a network endpoint." - }, - "EndpointIPAMConfig": { - "type": "object", - "properties": { - "IPv4Address": { - "type": "string", - "example": "172.20.30.33" - }, - "IPv6Address": { - "type": "string", - "example": "2001:db8:abcd::3033" - }, - "LinkLocalIPs": { - "type": "array", - "example": [ - "169.254.34.68", - "fe80::3468" - ], - "items": { - "type": "string" - } - } - }, - "description": "EndpointIPAMConfig represents an endpoint's IPAM configuration.\n", - "nullable": true, - "x-nullable": true - }, - "PluginMount": { - "required": [ - "Description", - "Destination", - "Name", - "Options", - "Settable", - "Source", - "Type" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "some-mount" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "This is a mount that's used by the plugin." - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Source": { - "type": "string", - "example": "/var/lib/docker/plugins/" - }, - "Destination": { - "type": "string", - "nullable": false, - "example": "/mnt/state" - }, - "Type": { - "type": "string", - "nullable": false, - "example": "bind" - }, - "Options": { - "type": "array", - "example": [ - "rbind", - "rw" - ], - "items": { - "type": "string" - } - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginDevice": { - "required": [ - "Description", - "Name", - "Path", - "Settable" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Path": { - "type": "string", - "example": "/dev/fuse" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginEnv": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "string" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginInterfaceType": { - "required": [ - "Capability", - "Prefix", - "Version" - ], - "type": "object", - "properties": { - "Prefix": { - "type": "string", - "nullable": false - }, - "Capability": { - "type": "string", - "nullable": false - }, - "Version": { - "type": "string", - "nullable": false - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginPrivilege": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "example": "network" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "example": [ - "host" - ], - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission the user has to accept upon installing\nthe plugin.\n", - "x-go-name": "PluginPrivilege" - }, - "Plugin": { - "required": [ - "Config", - "Enabled", - "Name", - "Settings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "example": "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" - }, - "Name": { - "type": "string", - "nullable": false, - "example": "tiborvass/sample-volume-plugin" - }, - "Enabled": { - "type": "boolean", - "description": "True if the plugin is running. False if the plugin is not running, only installed.", - "nullable": false, - "example": true - }, - "Settings": { - "required": [ - "Args", - "Devices", - "Env", - "Mounts" - ], - "type": "object", - "properties": { - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - "DEBUG=0" - ], - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "items": { - "type": "string" - } - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "description": "Settings that can be modified by users.", - "nullable": false - }, - "PluginReference": { - "type": "string", - "description": "plugin remote reference used to push/pull the plugin", - "nullable": false, - "example": "localhost:5000/tiborvass/sample-volume-plugin:latest" - }, - "Config": { - "required": [ - "Args", - "Description", - "Documentation", - "Entrypoint", - "Env", - "Interface", - "IpcHost", - "Linux", - "Mounts", - "Network", - "PidHost", - "PropagatedMount", - "WorkDir" - ], - "type": "object", - "properties": { - "DockerVersion": { - "type": "string", - "description": "Docker Version used to create the plugin", - "nullable": false, - "example": "17.06.0-ce" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "A sample volume plugin for Docker" - }, - "Documentation": { - "type": "string", - "nullable": false, - "example": "https://docs.docker.com/engine/extend/plugins/" - }, - "Interface": { - "required": [ - "Socket", - "Types" - ], - "type": "object", - "properties": { - "Types": { - "type": "array", - "example": [ - "docker.volumedriver/1.0" - ], - "items": { - "$ref": "#/components/schemas/PluginInterfaceType" - } - }, - "Socket": { - "type": "string", - "nullable": false, - "example": "plugins.sock" - }, - "ProtocolScheme": { - "type": "string", - "description": "Protocol to use for clients connecting to the plugin.", - "example": "some.protocol/v1.0", - "enum": [ - "", - "moby.plugins.http/v1" - ] - } - }, - "description": "The interface between Docker and the plugin", - "nullable": false - }, - "Entrypoint": { - "type": "array", - "example": [ - "/usr/bin/sample-volume-plugin", - "/data" - ], - "items": { - "type": "string" - } - }, - "WorkDir": { - "type": "string", - "nullable": false, - "example": "/bin/" - }, - "User": { - "type": "object", - "properties": { - "UID": { - "type": "integer", - "format": "uint32", - "example": 1000 - }, - "GID": { - "type": "integer", - "format": "uint32", - "example": 1000 - } - }, - "nullable": false - }, - "Network": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "host" - } - }, - "nullable": false - }, - "Linux": { - "required": [ - "AllowAllDevices", - "Capabilities", - "Devices" - ], - "type": "object", - "properties": { - "Capabilities": { - "type": "array", - "example": [ - "CAP_SYS_ADMIN", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "AllowAllDevices": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "nullable": false - }, - "PropagatedMount": { - "type": "string", - "nullable": false, - "example": "/mnt/volumes" - }, - "IpcHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "PidHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - { - "Name": "DEBUG", - "Description": "If set, prints debug messages", - "Value": "0" - } - ], - "items": { - "$ref": "#/components/schemas/PluginEnv" - } - }, - "Args": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "args" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "command line arguments" - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "nullable": false - }, - "rootfs": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "layers" - }, - "diff_ids": { - "type": "array", - "example": [ - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887", - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" - ], - "items": { - "type": "string" - } - } - } - } - }, - "description": "The config of a plugin.", - "nullable": false - } - }, - "description": "A plugin for the Engine API" - }, - "ObjectVersion": { - "type": "object", - "properties": { - "Index": { - "type": "integer", - "format": "uint64", - "example": 373531 - } - }, - "description": "The version number of the object such as node, service, etc. This is needed\nto avoid conflicting writes. The client must send the version number along\nwith the modified specification when updating these objects.\n\nThis approach ensures safe concurrency and determinism in that the change\non the object may not be applied if the version number has changed from the\nlast read. In other words, if two update requests specify the same base\nversion, only one of the requests can succeed. As a result, two separate\nupdate requests that happen at the same time will not unintentionally\noverwrite each other.\n" - }, - "NodeSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name for the node.", - "example": "my-node" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Role": { - "type": "string", - "description": "Role of the node.", - "example": "manager", - "enum": [ - "worker", - "manager" - ] - }, - "Availability": { - "type": "string", - "description": "Availability of the node.", - "example": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "example": { - "Availability": "active", - "Name": "node-name", - "Role": "manager", - "Labels": { - "foo": "bar" - } - } - }, - "Node": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "24ifsmvkjbyhk" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the node was added to the swarm in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the node was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/NodeSpec" - }, - "Description": { - "$ref": "#/components/schemas/NodeDescription" - }, - "Status": { - "$ref": "#/components/schemas/NodeStatus" - }, - "ManagerStatus": { - "$ref": "#/components/schemas/ManagerStatus" - } - } - }, - "NodeDescription": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "example": "bf3067039e47" - }, - "Platform": { - "$ref": "#/components/schemas/Platform" - }, - "Resources": { - "$ref": "#/components/schemas/ResourceObject" - }, - "Engine": { - "$ref": "#/components/schemas/EngineDescription" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - } - }, - "description": "NodeDescription encapsulates the properties of the Node as reported by the\nagent.\n" - }, - "Platform": { - "type": "object", - "properties": { - "Architecture": { - "type": "string", - "description": "Architecture represents the hardware architecture (for example,\n`x86_64`).\n", - "example": "x86_64" - }, - "OS": { - "type": "string", - "description": "OS represents the Operating System (for example, `linux` or `windows`).\n", - "example": "linux" - } - }, - "description": "Platform represents the platform (Arch/OS).\n" - }, - "EngineDescription": { - "type": "object", - "properties": { - "EngineVersion": { - "type": "string", - "example": "17.06.0" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "example": { - "foo": "bar" - } - }, - "Plugins": { - "type": "array", - "example": [ - { - "Type": "Log", - "Name": "awslogs" - }, - { - "Type": "Log", - "Name": "fluentd" - }, - { - "Type": "Log", - "Name": "gcplogs" - }, - { - "Type": "Log", - "Name": "gelf" - }, - { - "Type": "Log", - "Name": "journald" - }, - { - "Type": "Log", - "Name": "json-file" - }, - { - "Type": "Log", - "Name": "logentries" - }, - { - "Type": "Log", - "Name": "splunk" - }, - { - "Type": "Log", - "Name": "syslog" - }, - { - "Type": "Network", - "Name": "bridge" - }, - { - "Type": "Network", - "Name": "host" - }, - { - "Type": "Network", - "Name": "ipvlan" - }, - { - "Type": "Network", - "Name": "macvlan" - }, - { - "Type": "Network", - "Name": "null" - }, - { - "Type": "Network", - "Name": "overlay" - }, - { - "Type": "Volume", - "Name": "local" - }, - { - "Type": "Volume", - "Name": "localhost:5000/vieux/sshfs:latest" - }, - { - "Type": "Volume", - "Name": "vieux/sshfs:latest" - } - ], - "items": { - "type": "object", - "properties": { - "Type": { - "type": "string" - }, - "Name": { - "type": "string" - } - } - } - } - }, - "description": "EngineDescription provides information about an engine." - }, - "TLSInfo": { - "type": "object", - "properties": { - "TrustRoot": { - "type": "string", - "description": "The root CA certificate(s) that are used to validate leaf TLS\ncertificates.\n" - }, - "CertIssuerSubject": { - "type": "string", - "description": "The base64-url-safe-encoded raw subject bytes of the issuer." - }, - "CertIssuerPublicKey": { - "type": "string", - "description": "The base64-url-safe-encoded raw public key bytes of the issuer.\n" - } - }, - "description": "Information about the issuer of leaf TLS certificates and the trusted root\nCA certificate.\n", - "example": { - "TrustRoot": "-----BEGIN CERTIFICATE-----\nMIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw\nEzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0\nMzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf\n3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO\nPQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz\npxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H\n-----END CERTIFICATE-----\n", - "CertIssuerSubject": "MBMxETAPBgNVBAMTCHN3YXJtLWNh", - "CertIssuerPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A==" - } - }, - "NodeStatus": { - "type": "object", - "properties": { - "State": { - "$ref": "#/components/schemas/NodeState" - }, - "Message": { - "type": "string", - "example": "" - }, - "Addr": { - "type": "string", - "description": "IP address of the node.", - "example": "172.17.0.2" - } - }, - "description": "NodeStatus represents the status of a node.\n\nIt provides the current status of the node, as seen by the manager.\n" - }, - "NodeState": { - "type": "string", - "description": "NodeState represents the state of a node.", - "example": "ready", - "enum": [ - "unknown", - "down", - "ready", - "disconnected" - ] - }, - "ManagerStatus": { - "type": "object", - "properties": { - "Leader": { - "type": "boolean", - "example": true, - "default": false - }, - "Reachability": { - "$ref": "#/components/schemas/Reachability" - }, - "Addr": { - "type": "string", - "description": "The IP address and port at which the manager is reachable.\n", - "example": "10.0.0.46:2377" - } - }, - "description": "ManagerStatus represents the status of a manager.\n\nIt provides the current status of a node's manager component, if the node\nis a manager.\n", - "nullable": true, - "x-nullable": true - }, - "Reachability": { - "type": "string", - "description": "Reachability represents the reachability of a node.", - "example": "reachable", - "enum": [ - "unknown", - "unreachable", - "reachable" - ] - }, - "SwarmSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the swarm.", - "example": "default" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.corp.type": "production", - "com.example.corp.department": "engineering" - } - }, - "Orchestration": { - "type": "object", - "properties": { - "TaskHistoryRetentionLimit": { - "type": "integer", - "description": "The number of historic tasks to keep per instance or node. If\nnegative, never remove completed or failed tasks.\n", - "format": "int64", - "example": 10 - } - }, - "description": "Orchestration configuration.", - "nullable": true - }, - "Raft": { - "type": "object", - "properties": { - "SnapshotInterval": { - "type": "integer", - "description": "The number of log entries between snapshots.", - "format": "uint64", - "example": 10000 - }, - "KeepOldSnapshots": { - "type": "integer", - "description": "The number of snapshots to keep beyond the current snapshot.\n", - "format": "uint64" - }, - "LogEntriesForSlowFollowers": { - "type": "integer", - "description": "The number of log entries to keep around to sync up slow followers\nafter a snapshot is created.\n", - "format": "uint64", - "example": 500 - }, - "ElectionTick": { - "type": "integer", - "description": "The number of ticks that a follower will wait for a message from\nthe leader before becoming a candidate and starting an election.\n`ElectionTick` must be greater than `HeartbeatTick`.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 3 - }, - "HeartbeatTick": { - "type": "integer", - "description": "The number of ticks between heartbeats. Every HeartbeatTick ticks,\nthe leader will send a heartbeat to the followers.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 1 - } - }, - "description": "Raft configuration." - }, - "Dispatcher": { - "type": "object", - "properties": { - "HeartbeatPeriod": { - "type": "integer", - "description": "The delay for an agent to send a heartbeat to the dispatcher.\n", - "format": "int64", - "example": 5000000000 - } - }, - "description": "Dispatcher configuration.", - "nullable": true - }, - "CAConfig": { - "type": "object", - "properties": { - "NodeCertExpiry": { - "type": "integer", - "description": "The duration node certificates are issued for.", - "format": "int64", - "example": 7776000000000000 - }, - "ExternalCAs": { - "type": "array", - "description": "Configuration for forwarding signing requests to an external\ncertificate authority.\n", - "items": { - "type": "object", - "properties": { - "Protocol": { - "type": "string", - "description": "Protocol for communication with the external CA (currently\nonly `cfssl` is supported).\n", - "default": "cfssl", - "enum": [ - "cfssl" - ] - }, - "URL": { - "type": "string", - "description": "URL where certificate signing requests should be sent.\n" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "An object with key/value pairs that are interpreted as\nprotocol-specific options for the external CA driver.\n" - }, - "CACert": { - "type": "string", - "description": "The root CA certificate (in PEM format) this external CA uses\nto issue TLS certificates (assumed to be to the current swarm\nroot CA certificate if not provided).\n" - } - } - } - }, - "SigningCACert": { - "type": "string", - "description": "The desired signing CA certificate for all swarm node TLS leaf\ncertificates, in PEM format.\n" - }, - "SigningCAKey": { - "type": "string", - "description": "The desired signing CA key for all swarm node TLS leaf certificates,\nin PEM format.\n" - }, - "ForceRotate": { - "type": "integer", - "description": "An integer whose purpose is to force swarm to generate a new\nsigning CA certificate and key, if none have been specified in\n`SigningCACert` and `SigningCAKey`\n", - "format": "uint64" - } - }, - "description": "CA configuration.", - "nullable": true - }, - "EncryptionConfig": { - "type": "object", - "properties": { - "AutoLockManagers": { - "type": "boolean", - "description": "If set, generate a key and use it to lock data stored on the\nmanagers.\n", - "example": false - } - }, - "description": "Parameters related to encryption-at-rest." - }, - "TaskDefaults": { - "type": "object", - "properties": { - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The log driver to use as a default for new tasks.\n", - "example": "json-file" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options for the selectd log driver, specified\nas key/value pairs.\n", - "example": { - "max-file": "10", - "max-size": "100m" - } - } - }, - "description": "The log driver to use for tasks created in the orchestrator if\nunspecified by a service.\n\nUpdating this value only affects new tasks. Existing tasks continue\nto use their previously configured log driver until recreated.\n" - } - }, - "description": "Defaults for creating tasks in this cluster." - } - }, - "description": "User modifiable swarm configuration." - }, - "ClusterInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the swarm.", - "example": "abajmipo7b4xz5ip2nrla6b11" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the swarm was initialised in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the swarm was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - }, - "RootRotationInProgress": { - "type": "boolean", - "description": "Whether there is currently a root CA rotation in progress for the swarm\n", - "example": false - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nIf no port is set or is set to 0, the default port (4789) is used.\n", - "format": "uint32", - "example": 4789 - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global scope\nnetworks.\n", - "items": { - "type": "string", - "format": "CIDR", - "example": "" - } - }, - "SubnetSize": { - "maximum": 29, - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created from the\ndefault subnet pool.\n", - "format": "uint32", - "example": 24 - } - }, - "description": "ClusterInfo represents information about the swarm as is returned by the\n\"/info\" endpoint. Join-tokens are not included.\n", - "nullable": true, - "x-nullable": true - }, - "JoinTokens": { - "type": "object", - "properties": { - "Worker": { - "type": "string", - "description": "The token workers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx" - }, - "Manager": { - "type": "string", - "description": "The token managers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - }, - "description": "JoinTokens contains the tokens workers and managers need to join the swarm.\n" - }, - "Swarm": { - "allOf": [ - { - "$ref": "#/components/schemas/ClusterInfo" - }, - { - "type": "object", - "properties": { - "JoinTokens": { - "$ref": "#/components/schemas/JoinTokens" - } - } - } - ] - }, - "TaskSpec": { - "type": "object", - "properties": { - "PluginSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The name or 'alias' to use for the plugin." - }, - "Remote": { - "type": "string", - "description": "The plugin image reference to use." - }, - "Disabled": { - "type": "boolean", - "description": "Disable the plugin once scheduled." - }, - "PluginPrivilege": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "description": "Plugin spec for the service. *(Experimental release only.)*\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "ContainerSpec": { - "type": "object", - "properties": { - "Image": { - "type": "string", - "description": "The image name to use for the container" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value data." - }, - "Command": { - "type": "array", - "description": "The command to be run in the image.", - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "description": "Arguments to the command.", - "items": { - "type": "string" - } - }, - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid\n[RFC 1123](https://tools.ietf.org/html/rfc1123) hostname.\n" - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `VAR=value`.\n", - "items": { - "type": "string" - } - }, - "Dir": { - "type": "string", - "description": "The working directory for commands to run in." - }, - "User": { - "type": "string", - "description": "The user inside the container." - }, - "Groups": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "Privileges": { - "type": "object", - "properties": { - "CredentialSpec": { - "type": "object", - "properties": { - "Config": { - "type": "string", - "description": "Load credential spec from a Swarm Config with the given ID.\nThe specified config must also be present in the Configs\nfield with the Runtime property set.\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "0bt9dmxjvjiqermk6xrop3ekq" - }, - "File": { - "type": "string", - "description": "Load credential spec from this file. The file is read by\nthe daemon, and must be present in the `CredentialSpecs`\nsubdirectory in the docker data directory, which defaults\nto `C:\\ProgramData\\Docker\\` on Windows.\n\nFor example, specifying `spec.json` loads\n`C:\\ProgramData\\Docker\\CredentialSpecs\\spec.json`.\n\n


\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "spec.json" - }, - "Registry": { - "type": "string", - "description": "Load credential spec from this value in the Windows\nregistry. The specified registry value must be located in:\n\n`HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Virtualization\\Containers\\CredentialSpecs`\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n" - } - }, - "description": "CredentialSpec for managed service account (Windows only)" - }, - "SELinuxContext": { - "type": "object", - "properties": { - "Disable": { - "type": "boolean", - "description": "Disable SELinux" - }, - "User": { - "type": "string", - "description": "SELinux user label" - }, - "Role": { - "type": "string", - "description": "SELinux role label" - }, - "Type": { - "type": "string", - "description": "SELinux type label" - }, - "Level": { - "type": "string", - "description": "SELinux level label" - } - }, - "description": "SELinux labels of the container" - } - }, - "description": "Security options for the container" - }, - "TTY": { - "type": "boolean", - "description": "Whether a pseudo-TTY should be allocated." - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`" - }, - "ReadOnly": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to containers created as part\nof the service.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop the container." - }, - "StopGracePeriod": { - "type": "integer", - "description": "Amount of time to wait for the container to terminate before\nforcefully killing it.\n", - "format": "int64" - }, - "HealthCheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "Hosts": { - "type": "array", - "description": "A list of hostname/IP mappings to add to the container's `hosts`\nfile. The format of extra hosts is specified in the\n[hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html)\nman page:\n\n IP_address canonical_hostname [aliases...]\n", - "items": { - "type": "string" - } - }, - "DNSConfig": { - "type": "object", - "properties": { - "Nameservers": { - "type": "array", - "description": "The IP addresses of the name servers.", - "items": { - "type": "string" - } - }, - "Search": { - "type": "array", - "description": "A search list for host-name lookup.", - "items": { - "type": "string" - } - }, - "Options": { - "type": "array", - "description": "A list of internal resolver variables to be modified (e.g.,\n`debug`, `ndots:3`, etc.).\n", - "items": { - "type": "string" - } - } - }, - "description": "Specification for DNS related configurations in resolver configuration\nfile (`resolv.conf`).\n" - }, - "Secrets": { - "type": "array", - "description": "Secrets contains references to zero or more secrets that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n" - }, - "SecretID": { - "type": "string", - "description": "SecretID represents the ID of the specific secret that we're\nreferencing.\n" - }, - "SecretName": { - "type": "string", - "description": "SecretName is the name of the secret that this references,\nbut this is just provided for lookup/display purposes. The\nsecret in the reference will be identified by its ID.\n" - } - } - } - }, - "Configs": { - "type": "array", - "description": "Configs contains references to zero or more configs that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually exclusive\n" - }, - "Runtime": { - "type": "object", - "properties": {}, - "description": "Runtime represents a target that is not mounted into the\ncontainer but is used by the task\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually\n> exclusive\n" - }, - "ConfigID": { - "type": "string", - "description": "ConfigID represents the ID of the specific config that we're\nreferencing.\n" - }, - "ConfigName": { - "type": "string", - "description": "ConfigName is the name of the config that this references,\nbut this is just provided for lookup/display purposes. The\nconfig in the reference will be identified by its ID.\n" - } - } - } - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the containers running the service.\n(Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Set kernel namedspaced parameters (sysctls) in the container.\nThe Sysctls option on services accepts the same sysctls as the\nare supported on containers. Note that while the same sysctls are\nsupported, no guarantees or checks are made about their\nsuitability for a clustered environment, and it's up to the user\nto determine whether a given sysctl will work properly in a\nService.\n" - }, - "CapabilityAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW", - "CAP_SYS_ADMIN", - "CAP_SYS_CHROOT", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "CapabilityDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW" - ], - "items": { - "type": "string" - } - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example: `{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}`\"\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - } - }, - "description": "Container spec for the service.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "NetworkAttachmentSpec": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string", - "description": "ID of the container represented by this task" - } - }, - "description": "Read-only spec type for non-swarm containers attached to swarm overlay\nnetworks.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "Resources": { - "type": "object", - "properties": { - "Limits": { - "$ref": "#/components/schemas/Limit" - }, - "Reservations": { - "$ref": "#/components/schemas/ResourceObject" - } - }, - "description": "Resource requirements which apply to each individual container created\nas part of the service.\n" - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Condition": { - "type": "string", - "description": "Condition for restart.", - "enum": [ - "none", - "on-failure", - "any" - ] - }, - "Delay": { - "type": "integer", - "description": "Delay between restart attempts.", - "format": "int64" - }, - "MaxAttempts": { - "type": "integer", - "description": "Maximum attempts to restart a given container before giving up\n(default value is 0, which is ignored).\n", - "format": "int64", - "default": 0 - }, - "Window": { - "type": "integer", - "description": "Windows is the time window used to evaluate the restart policy\n(default value is 0, which is unbounded).\n", - "format": "int64", - "default": 0 - } - }, - "description": "Specification for the restart policy which applies to containers\ncreated as part of this service.\n" - }, - "Placement": { - "type": "object", - "properties": { - "Constraints": { - "type": "array", - "description": "An array of constraint expressions to limit the set of nodes where\na task can be scheduled. Constraint expressions can either use a\n_match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find\nnodes that satisfy every expression (AND match). Constraints can\nmatch node or Docker Engine labels as follows:\n\nnode attribute | matches | example\n---------------------|--------------------------------|-----------------------------------------------\n`node.id` | Node ID | `node.id==2ivku8v2gvtg4`\n`node.hostname` | Node hostname | `node.hostname!=node-2`\n`node.role` | Node role (`manager`/`worker`) | `node.role==manager`\n`node.platform.os` | Node operating system | `node.platform.os==windows`\n`node.platform.arch` | Node architecture | `node.platform.arch==x86_64`\n`node.labels` | User-defined node labels | `node.labels.security==high`\n`engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04`\n\n`engine.labels` apply to Docker Engine labels like operating system,\ndrivers, etc. Swarm administrators add `node.labels` for operational\npurposes by using the [`node update endpoint`](#operation/NodeUpdate).\n", - "example": [ - "node.hostname!=node3.corp.example.com", - "node.role!=manager", - "node.labels.type==production", - "node.platform.os==linux", - "node.platform.arch==x86_64" - ], - "items": { - "type": "string" - } - }, - "Preferences": { - "type": "array", - "description": "Preferences provide a way to make the scheduler aware of factors\nsuch as topology. They are provided in order from highest to\nlowest precedence.\n", - "example": [ - { - "Spread": { - "SpreadDescriptor": "node.labels.datacenter" - } - }, - { - "Spread": { - "SpreadDescriptor": "node.labels.rack" - } - } - ], - "items": { - "type": "object", - "properties": { - "Spread": { - "type": "object", - "properties": { - "SpreadDescriptor": { - "type": "string", - "description": "label descriptor, such as `engine.labels.az`.\n" - } - } - } - } - } - }, - "MaxReplicas": { - "type": "integer", - "description": "Maximum number of replicas for per node (default value is 0, which\nis unlimited)\n", - "format": "int64", - "default": 0 - }, - "Platforms": { - "type": "array", - "description": "Platforms stores all the platforms that the service's image can\nrun on. This field is used in the platform filter for scheduling.\nIf empty, then the platform filter is off, meaning there are no\nscheduling restrictions.\n", - "items": { - "$ref": "#/components/schemas/Platform" - } - } - } - }, - "ForceUpdate": { - "type": "integer", - "description": "A counter that triggers an update even if no relevant parameters have\nbeen changed.\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime is the type of runtime specified for the task executor.\n" - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "Specifies the log driver to use for tasks created from this spec. If\nnot present, the default one for the swarm will be used, finally\nfalling back to the engine default if not specified.\n" - } - }, - "description": "User modifiable task configuration." - }, - "TaskState": { - "type": "string", - "enum": [ - "new", - "allocated", - "pending", - "assigned", - "accepted", - "preparing", - "ready", - "starting", - "running", - "complete", - "shutdown", - "failed", - "rejected", - "remove", - "orphaned" - ] - }, - "Task": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the task." - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Name": { - "type": "string", - "description": "Name of the task." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Spec": { - "$ref": "#/components/schemas/TaskSpec" - }, - "ServiceID": { - "type": "string", - "description": "The ID of the service this task is part of." - }, - "Slot": { - "type": "integer" - }, - "NodeID": { - "type": "string", - "description": "The ID of the node that this task is on." - }, - "AssignedGenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "Status": { - "type": "object", - "properties": { - "Timestamp": { - "type": "string", - "format": "dateTime" - }, - "State": { - "$ref": "#/components/schemas/TaskState" - }, - "Message": { - "type": "string" - }, - "Err": { - "type": "string" - }, - "ContainerStatus": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string" - }, - "PID": { - "type": "integer" - }, - "ExitCode": { - "type": "integer" - } - } - } - } - }, - "DesiredState": { - "$ref": "#/components/schemas/TaskState" - }, - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - } - }, - "example": { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ], - "AssignedGenericResources": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ] - } - }, - "ServiceSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the service." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "TaskTemplate": { - "$ref": "#/components/schemas/TaskSpec" - }, - "Mode": { - "type": "object", - "properties": { - "Replicated": { - "type": "object", - "properties": { - "Replicas": { - "type": "integer", - "format": "int64" - } - } - }, - "Global": { - "type": "object", - "properties": {} - }, - "ReplicatedJob": { - "type": "object", - "properties": { - "MaxConcurrent": { - "type": "integer", - "description": "The maximum number of replicas to run simultaneously.\n", - "format": "int64", - "default": 1 - }, - "TotalCompletions": { - "type": "integer", - "description": "The total number of replicas desired to reach the Completed\nstate. If unset, will default to the value of `MaxConcurrent`\n", - "format": "int64" - } - }, - "description": "The mode used for services with a finite number of tasks that run\nto a completed state.\n" - }, - "GlobalJob": { - "type": "object", - "properties": {}, - "description": "The mode used for services which run a task to the completed state\non each valid node.\n" - } - }, - "description": "Scheduling mode for the service." - }, - "UpdateConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be updated in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between updates, in nanoseconds.", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an updated task fails to run, or stops running\nduring the update.\n", - "enum": [ - "continue", - "pause", - "rollback" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each updated task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during an update before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling out an updated task. Either\nthe old task is shut down before the new task is started, or the\nnew task is started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the update strategy of the service." - }, - "RollbackConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be rolled back in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between rollback iterations, in nanoseconds.\n", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an rolled back task fails to run, or stops\nrunning during the rollback.\n", - "enum": [ - "continue", - "pause" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each rolled back task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during a rollback before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling back a task. Either the old\ntask is shut down before the new task is started, or the new task\nis started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the rollback strategy of the service." - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "EndpointSpec": { - "$ref": "#/components/schemas/EndpointSpec" - } - }, - "description": "User modifiable configuration for a service." - }, - "EndpointPortConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "sctp" - ] - }, - "TargetPort": { - "type": "integer", - "description": "The port inside the container." - }, - "PublishedPort": { - "type": "integer", - "description": "The port on the swarm hosts." - }, - "PublishMode": { - "type": "string", - "description": "The mode in which port is published.\n\n


\n\n- \"ingress\" makes the target port accessible on every node,\n regardless of whether there is a task for the service running on\n that node or not.\n- \"host\" bypasses the routing mesh and publish the port directly on\n the swarm node where that service is running.\n", - "example": "ingress", - "default": "ingress", - "enum": [ - "ingress", - "host" - ] - } - } - }, - "EndpointSpec": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "description": "The mode of resolution to use for internal load balancing between tasks.\n", - "default": "vip", - "enum": [ - "vip", - "dnsrr" - ] - }, - "Ports": { - "type": "array", - "description": "List of exposed ports that this service is accessible on from the\noutside. Ports can only be provided if `vip` resolution mode is used.\n", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - } - }, - "description": "Properties that can be configured to access and load balance a service." - }, - "Service": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ServiceSpec" - }, - "Endpoint": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/EndpointSpec" - }, - "Ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - }, - "VirtualIPs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "NetworkID": { - "type": "string" - }, - "Addr": { - "type": "string" - } - } - } - } - } - }, - "UpdateStatus": { - "type": "object", - "properties": { - "State": { - "type": "string", - "enum": [ - "updating", - "paused", - "completed" - ] - }, - "StartedAt": { - "type": "string", - "format": "dateTime" - }, - "CompletedAt": { - "type": "string", - "format": "dateTime" - }, - "Message": { - "type": "string" - } - }, - "description": "The status of a service update." - }, - "ServiceStatus": { - "type": "object", - "properties": { - "RunningTasks": { - "type": "integer", - "description": "The number of tasks for the service currently in the Running state.\n", - "format": "uint64", - "example": 7 - }, - "DesiredTasks": { - "type": "integer", - "description": "The number of tasks for the service desired to be running.\nFor replicated services, this is the replica count from the\nservice spec. For global services, this is computed by taking\ncount of all tasks for the service with a Desired State other\nthan Shutdown.\n", - "format": "uint64", - "example": 10 - }, - "CompletedTasks": { - "type": "integer", - "description": "The number of tasks for a job that are in the Completed state.\nThis field must be cross-referenced with the service type, as the\nvalue of 0 may mean the service is not in a job mode, or it may\nmean the job-mode service has no tasks yet Completed.\n", - "format": "uint64" - } - }, - "description": "The status of the service's tasks. Provided only when requested as\npart of a ServiceList operation.\n" - }, - "JobStatus": { - "type": "object", - "properties": { - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "LastExecution": { - "type": "string", - "description": "The last time, as observed by the server, that this job was\nstarted.\n", - "format": "dateTime" - } - }, - "description": "The status of the service when it is in one of ReplicatedJob or\nGlobalJob modes. Absent on Replicated and Global mode services. The\nJobIteration is an ObjectVersion, but unlike the Service's version,\ndoes not need to be sent with an update request.\n" - } - }, - "example": { - "ID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Version": { - "Index": 19 - }, - "CreatedAt": "2016-06-07T21:05:51.880065305Z", - "UpdatedAt": "2016-06-07T21:07:29.962229872Z", - "Spec": { - "Name": "hopeful_cori", - "TaskTemplate": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - } - }, - "Endpoint": { - "Spec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - }, - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ], - "VirtualIPs": [ - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.2/16" - }, - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.3/16" - } - ] - } - } - }, - "ImageDeleteResponseItem": { - "type": "object", - "properties": { - "Untagged": { - "type": "string", - "description": "The image ID of an image that was untagged" - }, - "Deleted": { - "type": "string", - "description": "The image ID of an image that was deleted" - } - } - }, - "ServiceUpdateResponse": { - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "description": "Optional warning messages", - "items": { - "type": "string" - } - } - }, - "example": { - "Warning": "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - } - }, - "ContainerSummary": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of this container", - "x-go-name": "ID" - }, - "Names": { - "type": "array", - "description": "The names that this container has been given", - "items": { - "type": "string" - } - }, - "Image": { - "type": "string", - "description": "The name of the image used when creating this container" - }, - "ImageID": { - "type": "string", - "description": "The ID of the image that this container was created from" - }, - "Command": { - "type": "string", - "description": "Command to run when starting the container" - }, - "Created": { - "type": "integer", - "description": "When the container was created", - "format": "int64" - }, - "Ports": { - "type": "array", - "description": "The ports exposed by this container", - "items": { - "$ref": "#/components/schemas/Port" - } - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this container", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container", - "format": "int64" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "State": { - "type": "string", - "description": "The state of this container (e.g. `Exited`)" - }, - "Status": { - "type": "string", - "description": "Additional human-readable status of this container (e.g. `Exit 0`)" - }, - "HostConfig": { - "type": "object", - "properties": { - "NetworkMode": { - "type": "string" - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - } - } - }, - "description": "A summary of the container's network settings" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - } - } - }, - "Driver": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver.", - "nullable": false, - "example": "some-driver" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Key/value map of driver-specific options.", - "nullable": false, - "example": { - "OptionA": "value for driver-specific option A", - "OptionB": "value for driver-specific option B" - } - } - }, - "description": "Driver represents a driver (network, logging, secrets)." - }, - "SecretSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the secret." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\ndata to store as secret.\n\nThis field is only used to _create_ a secret, and is not returned by\nother endpoints.\n", - "example": "" - }, - "Driver": { - "$ref": "#/components/schemas/Driver" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Secret": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "blt1owaxmitz71s9v5zh81zun" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "Spec": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "ConfigSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the config." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\nconfig data.\n" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Config": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "ContainerState": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "String representation of the container state. Can be one of \"created\",\n\"running\", \"paused\", \"restarting\", \"removing\", \"exited\", or \"dead\".\n", - "example": "running", - "enum": [ - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - }, - "Running": { - "type": "boolean", - "description": "Whether this container is running.\n\nNote that a running container can be _paused_. The `Running` and `Paused`\nbooleans are not mutually exclusive:\n\nWhen pausing a container (on Linux), the freezer cgroup is used to suspend\nall processes in the container. Freezing the process requires the process to\nbe running. As a result, paused containers are both `Running` _and_ `Paused`.\n\nUse the `Status` field instead to determine if a container's state is \"running\".\n", - "example": true - }, - "Paused": { - "type": "boolean", - "description": "Whether this container is paused.", - "example": false - }, - "Restarting": { - "type": "boolean", - "description": "Whether this container is restarting.", - "example": false - }, - "OOMKilled": { - "type": "boolean", - "description": "Whether a process within this container has been killed because it ran\nout of memory since the container was last started.\n", - "example": false - }, - "Dead": { - "type": "boolean", - "example": false - }, - "Pid": { - "type": "integer", - "description": "The process ID of this container", - "example": 1234 - }, - "ExitCode": { - "type": "integer", - "description": "The last exit code of this container", - "example": 0 - }, - "Error": { - "type": "string" - }, - "StartedAt": { - "type": "string", - "description": "The time when this container was last started.", - "example": "2020-01-06T09:06:59.461876391Z" - }, - "FinishedAt": { - "type": "string", - "description": "The time when this container last exited.", - "example": "2020-01-06T09:07:59.461876391Z" - }, - "Health": { - "$ref": "#/components/schemas/Health" - } - }, - "description": "ContainerState stores container's running state. It's part of ContainerJSONBase\nand will be returned by the \"inspect\" command.\n", - "nullable": true, - "x-nullable": true - }, - "ContainerCreateResponse": { - "title": "ContainerCreateResponse", - "required": [ - "Id", - "Warnings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created container", - "nullable": false, - "example": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" - }, - "Warnings": { - "type": "array", - "description": "Warnings encountered when creating the container", - "nullable": false, - "example": [], - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerCreate operation", - "x-go-name": "CreateResponse" - }, - "ContainerWaitResponse": { - "title": "ContainerWaitResponse", - "required": [ - "StatusCode" - ], - "type": "object", - "properties": { - "StatusCode": { - "type": "integer", - "description": "Exit code of the container", - "format": "int64", - "nullable": false - }, - "Error": { - "$ref": "#/components/schemas/ContainerWaitExitError" - } - }, - "description": "OK response to ContainerWait operation", - "x-go-name": "WaitResponse" - }, - "ContainerWaitExitError": { - "type": "object", - "properties": { - "Message": { - "type": "string", - "description": "Details of an error" - } - }, - "description": "container waiting error, if any", - "x-go-name": "WaitExitError" - }, - "SystemVersion": { - "type": "object", - "properties": { - "Platform": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string" - } - } - }, - "Components": { - "type": "array", - "description": "Information about system components\n", - "items": { - "required": [ - "Name", - "Version" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the component\n", - "example": "Engine" - }, - "Version": { - "type": "string", - "description": "Version of the component\n", - "nullable": false, - "example": "19.03.12" - }, - "Details": { - "type": "object", - "properties": {}, - "description": "Key/value pairs of strings with additional information about the\ncomponent. These values are intended for informational purposes\nonly, and their content is not defined, and not part of the API\nspecification.\n\nThese messages can be printed by the client as information to the user.\n", - "nullable": true - } - }, - "x-go-name": "ComponentVersion" - } - }, - "Version": { - "type": "string", - "description": "The version of the daemon", - "example": "19.03.12" - }, - "ApiVersion": { - "type": "string", - "description": "The default (and highest) API version that is supported by the daemon\n", - "example": "1.40" - }, - "MinAPIVersion": { - "type": "string", - "description": "The minimum API version that is supported by the daemon\n", - "example": "1.12" - }, - "GitCommit": { - "type": "string", - "description": "The Git commit of the source code that was used to build the daemon\n", - "example": "48a66213fe" - }, - "GoVersion": { - "type": "string", - "description": "The version Go used to compile the daemon, and the version of the Go\nruntime in use.\n", - "example": "go1.13.14" - }, - "Os": { - "type": "string", - "description": "The operating system that the daemon is running on (\"linux\" or \"windows\")\n", - "example": "linux" - }, - "Arch": { - "type": "string", - "description": "The architecture that the daemon is running on\n", - "example": "amd64" - }, - "KernelVersion": { - "type": "string", - "description": "The kernel version (`uname -r`) that the daemon is running on.\n\nThis field is omitted when empty.\n", - "example": "4.19.76-linuxkit" - }, - "Experimental": { - "type": "boolean", - "description": "Indicates if the daemon is started with experimental features enabled.\n\nThis field is omitted when empty / false.\n", - "example": true - }, - "BuildTime": { - "type": "string", - "description": "The date and time that the daemon was compiled.\n", - "example": "2020-06-22T15:49:27.000000000+00:00" - } - }, - "description": "Response of Engine API: GET \"/version\"\n" - }, - "SystemInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique identifier of the daemon.\n\n


\n\n> **Note**: The format of the ID itself is not part of the API, and\n> should not be considered stable.\n", - "example": "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS" - }, - "Containers": { - "type": "integer", - "description": "Total number of containers on the host.", - "example": 14 - }, - "ContainersRunning": { - "type": "integer", - "description": "Number of containers with status `\"running\"`.\n", - "example": 3 - }, - "ContainersPaused": { - "type": "integer", - "description": "Number of containers with status `\"paused\"`.\n", - "example": 1 - }, - "ContainersStopped": { - "type": "integer", - "description": "Number of containers with status `\"stopped\"`.\n", - "example": 10 - }, - "Images": { - "type": "integer", - "description": "Total number of images on the host.\n\nBoth _tagged_ and _untagged_ (dangling) images are counted.\n", - "example": 508 - }, - "Driver": { - "type": "string", - "description": "Name of the storage driver in use.", - "example": "overlay2" - }, - "DriverStatus": { - "type": "array", - "description": "Information specific to the storage driver, provided as\n\"label\" / \"value\" pairs.\n\nThis information is provided by the storage driver, and formatted\nin a way consistent with the output of `docker info` on the command\nline.\n\n


\n\n> **Note**: The information returned in this field, including the\n> formatting of values and labels, should not be considered stable,\n> and may change without notice.\n", - "example": [ - [ - "Backing Filesystem", - "extfs" - ], - [ - "Supports d_type", - "true" - ], - [ - "Native Overlay Diff", - "true" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "DockerRootDir": { - "type": "string", - "description": "Root directory of persistent Docker state.\n\nDefaults to `/var/lib/docker` on Linux, and `C:\\ProgramData\\docker`\non Windows.\n", - "example": "/var/lib/docker" - }, - "Plugins": { - "$ref": "#/components/schemas/PluginsInfo" - }, - "MemoryLimit": { - "type": "boolean", - "description": "Indicates if the host has memory limit support enabled.", - "example": true - }, - "SwapLimit": { - "type": "boolean", - "description": "Indicates if the host has memory swap limit support enabled.", - "example": true - }, - "KernelMemoryTCP": { - "type": "boolean", - "description": "Indicates if the host has kernel memory TCP limit support enabled. This\nfield is omitted if not supported.\n\nKernel memory TCP limits are not supported when using cgroups v2, which\ndoes not support the corresponding `memory.kmem.tcp.limit_in_bytes` cgroup.\n", - "example": true - }, - "CpuCfsPeriod": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by\nthe host.\n", - "example": true - }, - "CpuCfsQuota": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by\nthe host.\n", - "example": true - }, - "CPUShares": { - "type": "boolean", - "description": "Indicates if CPU Shares limiting is supported by the host.\n", - "example": true - }, - "CPUSet": { - "type": "boolean", - "description": "Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.\n\nSee [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)\n", - "example": true - }, - "PidsLimit": { - "type": "boolean", - "description": "Indicates if the host kernel has PID limit support enabled.", - "example": true - }, - "OomKillDisable": { - "type": "boolean", - "description": "Indicates if OOM killer disable is supported on the host." - }, - "IPv4Forwarding": { - "type": "boolean", - "description": "Indicates IPv4 forwarding is enabled.", - "example": true - }, - "BridgeNfIptables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-iptables` is available on the host.", - "example": true - }, - "BridgeNfIp6tables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-ip6tables` is available on the host.", - "example": true - }, - "Debug": { - "type": "boolean", - "description": "Indicates if the daemon is running in debug-mode / with debug-level\nlogging enabled.\n", - "example": true - }, - "NFd": { - "type": "integer", - "description": "The total number of file Descriptors in use by the daemon process.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 64 - }, - "NGoroutines": { - "type": "integer", - "description": "The number of goroutines that currently exist.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 174 - }, - "SystemTime": { - "type": "string", - "description": "Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat with nano-seconds.\n", - "example": "2017-08-08T20:28:29.06202363Z" - }, - "LoggingDriver": { - "type": "string", - "description": "The logging driver to use as a default for new containers.\n" - }, - "CgroupDriver": { - "type": "string", - "description": "The driver to use for managing cgroups.\n", - "example": "cgroupfs", - "default": "cgroupfs", - "enum": [ - "cgroupfs", - "systemd", - "none" - ] - }, - "CgroupVersion": { - "type": "string", - "description": "The version of the cgroup.\n", - "example": "1", - "default": "1", - "enum": [ - "1", - "2" - ] - }, - "NEventsListener": { - "type": "integer", - "description": "Number of event listeners subscribed.", - "example": 30 - }, - "KernelVersion": { - "type": "string", - "description": "Kernel version of the host.\n\nOn Linux, this information obtained from `uname`. On Windows this\ninformation is queried from the HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\\nregistry value, for example _\"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)\"_.\n", - "example": "4.9.38-moby" - }, - "OperatingSystem": { - "type": "string", - "description": "Name of the host's operating system, for example: \"Ubuntu 16.04.2 LTS\"\nor \"Windows Server 2016 Datacenter\"\n", - "example": "Alpine Linux v3.5" - }, - "OSVersion": { - "type": "string", - "description": "Version of the host's operating system\n\n


\n\n> **Note**: The information returned in this field, including its\n> very existence, and the formatting of values, should not be considered\n> stable, and may change without notice.\n", - "example": "16.04" - }, - "OSType": { - "type": "string", - "description": "Generic type of the operating system of the host, as returned by the\nGo runtime (`GOOS`).\n\nCurrently returned values are \"linux\" and \"windows\". A full list of\npossible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).\n", - "example": "linux" - }, - "Architecture": { - "type": "string", - "description": "Hardware architecture of the host, as returned by the Go runtime\n(`GOARCH`).\n\nA full list of possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).\n", - "example": "x86_64" - }, - "NCPU": { - "type": "integer", - "description": "The number of logical CPUs usable by the daemon.\n\nThe number of available CPUs is checked by querying the operating\nsystem when the daemon starts. Changes to operating system CPU\nallocation after the daemon is started are not reflected.\n", - "example": 4 - }, - "MemTotal": { - "type": "integer", - "description": "Total amount of physical memory available on the host, in bytes.\n", - "format": "int64", - "example": 2095882240 - }, - "IndexServerAddress": { - "type": "string", - "description": "Address / URL of the index server that is used for image search,\nand as a default for user authentication for Docker Hub and Docker Cloud.\n", - "example": "https://index.docker.io/v1/", - "default": "https://index.docker.io/v1/" - }, - "RegistryConfig": { - "$ref": "#/components/schemas/RegistryServiceConfig" - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "HttpProxy": { - "type": "string", - "description": "HTTP-proxy configured for the daemon. This value is obtained from the\n[`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "http://xxxxx:xxxxx@proxy.corp.example.com:8080" - }, - "HttpsProxy": { - "type": "string", - "description": "HTTPS-proxy configured for the daemon. This value is obtained from the\n[`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "https://xxxxx:xxxxx@proxy.corp.example.com:4443" - }, - "NoProxy": { - "type": "string", - "description": "Comma-separated list of domain extensions for which no proxy should be\nused. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)\nenvironment variable.\n\nContainers do not automatically inherit this configuration.\n", - "example": "*.local, 169.254/16" - }, - "Name": { - "type": "string", - "description": "Hostname of the host.", - "example": "node5.corp.example.com" - }, - "Labels": { - "type": "array", - "description": "User-defined labels (key/value metadata) as set on the daemon.\n\n


\n\n> **Note**: When part of a Swarm, nodes can both have _daemon_ labels,\n> set through the daemon configuration, and _node_ labels, set from a\n> manager node in the Swarm. Node labels are not included in this\n> field. Node labels can be retrieved using the `/nodes/(id)` endpoint\n> on a manager node in the Swarm.\n", - "example": [ - "storage=ssd", - "production" - ], - "items": { - "type": "string" - } - }, - "ExperimentalBuild": { - "type": "boolean", - "description": "Indicates if experimental features are enabled on the daemon.\n", - "example": true - }, - "ServerVersion": { - "type": "string", - "description": "Version string of the daemon.\n", - "example": "24.0.2" - }, - "Runtimes": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Runtime" - }, - "description": "List of [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntimes configured on the daemon. Keys hold the \"name\" used to\nreference the runtime.\n\nThe Docker daemon relies on an OCI compliant runtime (invoked via the\n`containerd` daemon) as its interface to the Linux kernel namespaces,\ncgroups, and SELinux.\n\nThe default runtime is `runc`, and automatically configured. Additional\nruntimes can be configured by the user and will be listed here.\n", - "example": { - "runc": { - "path": "runc" - }, - "runc-master": { - "path": "/go/bin/runc" - }, - "custom": { - "path": "/usr/local/bin/my-oci-runtime", - "runtimeArgs": [ - "--debug", - "--systemd-cgroup=false" - ] - } - } - }, - "DefaultRuntime": { - "type": "string", - "description": "Name of the default OCI runtime that is used when starting containers.\n\nThe default can be overridden per-container at create time.\n", - "example": "runc", - "default": "runc" - }, - "Swarm": { - "$ref": "#/components/schemas/SwarmInfo" - }, - "LiveRestoreEnabled": { - "type": "boolean", - "description": "Indicates if live restore is enabled.\n\nIf enabled, containers are kept running when the daemon is shutdown\nor upon daemon start if running containers are detected.\n", - "example": false, - "default": false - }, - "Isolation": { - "type": "string", - "description": "Represents the isolation technology to use as a default for containers.\nThe supported values are platform-specific.\n\nIf no isolation value is specified on daemon start, on Windows client,\nthe default is `hyperv`, and on Windows server, the default is `process`.\n\nThis option is currently not used on other platforms.\n", - "default": "default", - "enum": [ - "default", - "hyperv", - "process" - ] - }, - "InitBinary": { - "type": "string", - "description": "Name and, optional, path of the `docker-init` binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "docker-init" - }, - "ContainerdCommit": { - "$ref": "#/components/schemas/Commit" - }, - "RuncCommit": { - "$ref": "#/components/schemas/Commit" - }, - "InitCommit": { - "$ref": "#/components/schemas/Commit" - }, - "SecurityOptions": { - "type": "array", - "description": "List of security features that are enabled on the daemon, such as\napparmor, seccomp, SELinux, user-namespaces (userns), rootless and\nno-new-privileges.\n\nAdditional configuration options for each security feature may\nbe present, and are included as a comma-separated list of key/value\npairs.\n", - "example": [ - "name=apparmor", - "name=seccomp,profile=default", - "name=selinux", - "name=userns", - "name=rootless" - ], - "items": { - "type": "string" - } - }, - "ProductLicense": { - "type": "string", - "description": "Reports a summary of the product license on the daemon.\n\nIf a commercial license has been applied to the daemon, information\nsuch as number of nodes, and expiration are included.\n", - "example": "Community Engine" - }, - "DefaultAddressPools": { - "type": "array", - "description": "List of custom default address pools for local networks, which can be\nspecified in the daemon.json file or dockerd option.\n\nExample: a Base \"10.10.0.0/16\" with Size 24 will define the set of 256\n10.10.[0-255].0/24 address pools.\n", - "items": { - "type": "object", - "properties": { - "Base": { - "type": "string", - "description": "The network address in CIDR format", - "example": "10.10.0.0/16" - }, - "Size": { - "type": "integer", - "description": "The network pool size", - "example": 24 - } - } - } - }, - "Warnings": { - "type": "array", - "description": "List of warnings / informational messages about missing features, or\nissues related to the daemon configuration.\n\nThese messages can be printed by the client as information to the user.\n", - "example": [ - "WARNING: No memory limit support", - "WARNING: bridge-nf-call-iptables is disabled", - "WARNING: bridge-nf-call-ip6tables is disabled" - ], - "items": { - "type": "string" - } - } - } - }, - "PluginsInfo": { - "type": "object", - "properties": { - "Volume": { - "type": "array", - "description": "Names of available volume-drivers, and network-driver plugins.", - "example": [ - "local" - ], - "items": { - "type": "string" - } - }, - "Network": { - "type": "array", - "description": "Names of available network-drivers, and network-driver plugins.", - "example": [ - "bridge", - "host", - "ipvlan", - "macvlan", - "null", - "overlay" - ], - "items": { - "type": "string" - } - }, - "Authorization": { - "type": "array", - "description": "Names of available authorization plugins.", - "example": [ - "img-authz-plugin", - "hbm" - ], - "items": { - "type": "string" - } - }, - "Log": { - "type": "array", - "description": "Names of available logging-drivers, and logging-driver plugins.", - "example": [ - "awslogs", - "fluentd", - "gcplogs", - "gelf", - "journald", - "json-file", - "logentries", - "splunk", - "syslog" - ], - "items": { - "type": "string" - } - } - }, - "description": "Available plugins per type.\n\n


\n\n> **Note**: Only unmanaged (V1) plugins are included in this list.\n> V1 plugins are \"lazily\" loaded, and are not returned in this list\n> if there is no resource using the plugin.\n" - }, - "RegistryServiceConfig": { - "type": "object", - "properties": { - "AllowNondistributableArtifactsCIDRs": { - "type": "array", - "description": "List of IP ranges to which nondistributable artifacts can be pushed,\nusing the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632).\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior, and enables the daemon to\npush nondistributable artifacts to all registries whose resolved IP\naddress is within the subnet described by the CIDR syntax.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "AllowNondistributableArtifactsHostnames": { - "type": "array", - "description": "List of registry hostnames to which nondistributable artifacts can be\npushed, using the format `[:]` or `[:]`.\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior for the specified\nregistries.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "registry.internal.corp.example.com:3000", - "[2001:db8:a0b:12f0::1]:443" - ], - "items": { - "type": "string" - } - }, - "InsecureRegistryCIDRs": { - "type": "array", - "description": "List of IP ranges of insecure registries, using the CIDR syntax\n([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries\naccept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates\nfrom unknown CAs) communication.\n\nBy default, local registries (`127.0.0.0/8`) are configured as\ninsecure. All other registries are secure. Communicating with an\ninsecure registry is not possible if the daemon assumes that registry\nis secure.\n\nThis configuration override this behavior, insecure communication with\nregistries whose resolved IP address is within the subnet described by\nthe CIDR syntax.\n\nRegistries can also be marked insecure by hostname. Those registries\nare listed under `IndexConfigs` and have their `Secure` field set to\n`false`.\n\n> **Warning**: Using this option can be useful when running a local\n> registry, but introduces security vulnerabilities. This option\n> should therefore ONLY be used for testing purposes. For increased\n> security, users should add their CA to their system's list of trusted\n> CAs instead of enabling this option.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "IndexConfigs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/IndexInfo" - }, - "example": { - "127.0.0.1:5000": { - "Name": "127.0.0.1:5000", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "[2001:db8:a0b:12f0::1]:80": { - "Name": "[2001:db8:a0b:12f0::1]:80", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "docker.io": { - "Name": "docker.io", - "Mirrors": [ - "https://hub-mirror.corp.example.com:5000/" - ], - "Secure": true, - "Official": true - }, - "registry.internal.corp.example.com:3000": { - "Name": "registry.internal.corp.example.com:3000", - "Mirrors": [], - "Secure": false, - "Official": false - } - } - }, - "Mirrors": { - "type": "array", - "description": "List of registry URLs that act as a mirror for the official\n(`docker.io`) registry.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://[2001:db8:a0b:12f0::1]/" - ], - "items": { - "type": "string" - } - } - }, - "description": "RegistryServiceConfig stores daemon registry services configuration.\n", - "nullable": true, - "x-nullable": true - }, - "IndexInfo": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the registry, such as \"docker.io\".\n", - "example": "docker.io" - }, - "Mirrors": { - "type": "array", - "description": "List of mirrors, expressed as URIs.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://registry-2.docker.io/", - "https://registry-3.docker.io/" - ], - "items": { - "type": "string" - } - }, - "Secure": { - "type": "boolean", - "description": "Indicates if the registry is part of the list of insecure\nregistries.\n\nIf `false`, the registry is insecure. Insecure registries accept\nun-encrypted (HTTP) and/or untrusted (HTTPS with certificates from\nunknown CAs) communication.\n\n> **Warning**: Insecure registries can be useful when running a local\n> registry. However, because its use creates security vulnerabilities\n> it should ONLY be enabled for testing purposes. For increased\n> security, users should add their CA to their system's list of\n> trusted CAs instead of enabling this option.\n", - "example": true - }, - "Official": { - "type": "boolean", - "description": "Indicates whether this is an official registry (i.e., Docker Hub / docker.io)\n", - "example": true - } - }, - "description": "IndexInfo contains information about a registry.", - "nullable": true, - "x-nullable": true - }, - "Runtime": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Name and, optional, path, of the OCI executable binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "/usr/local/bin/my-oci-runtime" - }, - "runtimeArgs": { - "type": "array", - "description": "List of command-line arguments to pass to the runtime when invoked.\n", - "nullable": true, - "example": [ - "--debug", - "--systemd-cgroup=false" - ], - "items": { - "type": "string" - } - } - }, - "description": "Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntime.\n\nThe runtime is invoked by the daemon via the `containerd` daemon. OCI\nruntimes act as an interface to the Linux kernel namespaces, cgroups,\nand SELinux.\n" - }, - "Commit": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Actual commit ID of external tool.", - "example": "cfb82a876ecc11b5ca0977d1733adbe58599088a" - }, - "Expected": { - "type": "string", - "description": "Commit ID of external tool expected by dockerd as set at build time.\n", - "example": "2d41c047c83e09a6d61d464906feb2a2f3c52aa4" - } - }, - "description": "Commit holds the Git-commit (SHA1) that a binary was built from, as\nreported in the version-string of external tools, such as `containerd`,\nor `runC`.\n" - }, - "SwarmInfo": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm.", - "example": "k67qz4598weg5unwwffg6z1m1", - "default": "" - }, - "NodeAddr": { - "type": "string", - "description": "IP address at which this node can be reached by other nodes in the\nswarm.\n", - "example": "10.0.0.46", - "default": "" - }, - "LocalNodeState": { - "$ref": "#/components/schemas/LocalNodeState" - }, - "ControlAvailable": { - "type": "boolean", - "example": true, - "default": false - }, - "Error": { - "type": "string", - "default": "" - }, - "RemoteManagers": { - "type": "array", - "description": "List of ID's and addresses of other managers in the swarm.\n", - "nullable": true, - "example": [ - { - "NodeID": "71izy0goik036k48jg985xnds", - "Addr": "10.0.0.158:2377" - }, - { - "NodeID": "79y6h1o4gv8n120drcprv5nmc", - "Addr": "10.0.0.159:2377" - }, - { - "NodeID": "k67qz4598weg5unwwffg6z1m1", - "Addr": "10.0.0.46:2377" - } - ], - "items": { - "$ref": "#/components/schemas/PeerNode" - } - }, - "Nodes": { - "type": "integer", - "description": "Total number of nodes in the swarm.", - "nullable": true, - "example": 4 - }, - "Managers": { - "type": "integer", - "description": "Total number of managers in the swarm.", - "nullable": true, - "example": 3 - }, - "Cluster": { - "$ref": "#/components/schemas/ClusterInfo" - } - }, - "description": "Represents generic information about swarm.\n" - }, - "LocalNodeState": { - "type": "string", - "description": "Current local status of this node.", - "example": "active", - "default": "", - "enum": [ - "", - "inactive", - "pending", - "active", - "error", - "locked" - ] - }, - "PeerNode": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm." - }, - "Addr": { - "type": "string", - "description": "IP address and ports at which this node can be reached.\n" - } - }, - "description": "Represents a peer-node in the swarm" - }, - "NetworkAttachmentConfig": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "The target network for attachment. Must be a network name or ID.\n" - }, - "Aliases": { - "type": "array", - "description": "Discoverable alternate names for the service on this network.\n", - "items": { - "type": "string" - } - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver attachment options for the network target.\n" - } - }, - "description": "Specifies how a service should be attached to a particular network.\n" - }, - "EventActor": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the object emitting the event", - "example": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" - }, - "Attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Various key/value attributes of the object, depending on its type.\n", - "example": { - "com.example.some-label": "some-label-value", - "image": "alpine:latest", - "name": "my-container" - } - } - }, - "description": "Actor describes something that generates events, like a container, network,\nor a volume.\n" - }, - "EventMessage": { - "title": "SystemEventsResponse", - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The type of object emitting the event", - "example": "container", - "enum": [ - "builder", - "config", - "container", - "daemon", - "image", - "network", - "node", - "plugin", - "secret", - "service", - "volume" - ] - }, - "Action": { - "type": "string", - "description": "The type of event", - "example": "create" - }, - "Actor": { - "$ref": "#/components/schemas/EventActor" - }, - "scope": { - "type": "string", - "description": "Scope of the event. Engine events are `local` scope. Cluster (Swarm)\nevents are `swarm` scope.\n", - "enum": [ - "local", - "swarm" - ] - }, - "time": { - "type": "integer", - "description": "Timestamp of event", - "format": "int64", - "example": 1629574695 - }, - "timeNano": { - "type": "integer", - "description": "Timestamp of event, with nanosecond accuracy", - "format": "int64", - "example": 1629574695515050000 - } - }, - "description": "EventMessage represents the information an event contains.\n" - }, - "OCIDescriptor": { - "type": "object", - "properties": { - "mediaType": { - "type": "string", - "description": "The media type of the object this schema refers to.\n", - "example": "application/vnd.docker.distribution.manifest.v2+json" - }, - "digest": { - "type": "string", - "description": "The digest of the targeted content.\n", - "example": "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96" - }, - "size": { - "type": "integer", - "description": "The size in bytes of the blob.\n", - "format": "int64", - "example": 3987495 - } - }, - "description": "A descriptor struct containing digest, media type, and size, as defined in\nthe [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).\n", - "x-go-name": "Descriptor" - }, - "OCIPlatform": { - "type": "object", - "properties": { - "architecture": { - "type": "string", - "description": "The CPU architecture, for example `amd64` or `ppc64`.\n", - "example": "arm" - }, - "os": { - "type": "string", - "description": "The operating system, for example `linux` or `windows`.\n", - "example": "windows" - }, - "os.version": { - "type": "string", - "description": "Optional field specifying the operating system version, for example on\nWindows `10.0.19041.1165`.\n", - "example": "10.0.19041.1165" - }, - "os.features": { - "type": "array", - "description": "Optional field specifying an array of strings, each listing a required\nOS feature (for example on Windows `win32k`).\n", - "example": [ - "win32k" - ], - "items": { - "type": "string" - } - }, - "variant": { - "type": "string", - "description": "Optional field specifying a variant of the CPU, for example `v7` to\nspecify ARMv7 when architecture is `arm`.\n", - "example": "v7" - } - }, - "description": "Describes the platform which the image in the manifest runs on, as defined\nin the [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).\n", - "x-go-name": "Platform" - }, - "DistributionInspect": { - "title": "DistributionInspectResponse", - "required": [ - "Descriptor", - "Platforms" - ], - "type": "object", - "properties": { - "Descriptor": { - "$ref": "#/components/schemas/OCIDescriptor" - }, - "Platforms": { - "type": "array", - "description": "An array containing all platforms supported by the image.\n", - "items": { - "$ref": "#/components/schemas/OCIPlatform" - } - } - }, - "description": "Describes the result obtained from contacting the registry to retrieve\nimage metadata.\n", - "x-go-name": "DistributionInspect" - }, - "ClusterVolume": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The Swarm ID of this volume. Because cluster volumes are Swarm\nobjects, they have an ID, unlike non-cluster volumes. This ID can\nbe used to refer to the Volume instead of the name.\n" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - }, - "Info": { - "type": "object", - "properties": { - "CapacityBytes": { - "type": "integer", - "description": "The capacity of the volume in bytes. A value of 0 indicates that\nthe capacity is unknown.\n", - "format": "int64" - }, - "VolumeContext": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of strings to strings returned from the storage plugin when\nthe volume is created.\n" - }, - "VolumeID": { - "type": "string", - "description": "The ID of the volume as returned by the CSI storage plugin. This\nis distinct from the volume's ID as provided by Docker. This ID\nis never used by the user when communicating with Docker to refer\nto this volume. If the ID is blank, then the Volume has not been\nsuccessfully created in the plugin yet.\n" - }, - "AccessibleTopology": { - "type": "array", - "description": "The topology this volume is actually accessible from.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - } - }, - "description": "Information about the global status of the volume.\n" - }, - "PublishStatus": { - "type": "array", - "description": "The status of the volume as it pertains to its publishing and use on\nspecific nodes\n", - "items": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "The ID of the Swarm node the volume is published on.\n" - }, - "State": { - "type": "string", - "description": "The published state of the volume.\n* `pending-publish` The volume should be published to this node, but the call to the controller plugin to do so has not yet been successfully completed.\n* `published` The volume is published successfully to the node.\n* `pending-node-unpublish` The volume should be unpublished from the node, and the manager is awaiting confirmation from the worker that it has done so.\n* `pending-controller-unpublish` The volume is successfully unpublished from the node, but has not yet been successfully unpublished on the controller.\n", - "enum": [ - "pending-publish", - "published", - "pending-node-unpublish", - "pending-controller-unpublish" - ] - }, - "PublishContext": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of strings to strings returned by the CSI controller\nplugin when a volume is published.\n" - } - } - } - } - }, - "description": "Options and information specific to, and only present on, Swarm CSI\ncluster volumes.\n" - }, - "ClusterVolumeSpec": { - "type": "object", - "properties": { - "Group": { - "type": "string", - "description": "Group defines the volume group of this volume. Volumes belonging to\nthe same group can be referred to by group name when creating\nServices. Referring to a volume by group instructs Swarm to treat\nvolumes in that group interchangeably for the purpose of scheduling.\nVolumes with an empty string for a group technically all belong to\nthe same, emptystring group.\n" - }, - "AccessMode": { - "type": "object", - "properties": { - "Scope": { - "type": "string", - "description": "The set of nodes this volume can be used on at one time.\n- `single` The volume may only be scheduled to one node at a time.\n- `multi` the volume may be scheduled to any supported number of nodes at a time.\n", - "nullable": false, - "default": "single", - "enum": [ - "single", - "multi" - ] - }, - "Sharing": { - "type": "string", - "description": "The number and way that different tasks can use this volume\nat one time.\n- `none` The volume may only be used by one task at a time.\n- `readonly` The volume may be used by any number of tasks, but they all must mount the volume as readonly\n- `onewriter` The volume may be used by any number of tasks, but only one may mount it as read/write.\n- `all` The volume may have any number of readers and writers.\n", - "nullable": false, - "default": "none", - "enum": [ - "none", - "readonly", - "onewriter", - "all" - ] - }, - "MountVolume": { - "type": "object", - "properties": {}, - "description": "Options for using this volume as a Mount-type volume.\n\n Either MountVolume or BlockVolume, but not both, must be\n present.\n properties:\n FsType:\n type: \"string\"\n description: |\n Specifies the filesystem type for the mount volume.\n Optional.\n MountFlags:\n type: \"array\"\n description: |\n Flags to pass when mounting the volume. Optional.\n items:\n type: \"string\"\nBlockVolume:\n type: \"object\"\n description: |\n Options for using this volume as a Block-type volume.\n Intentionally empty.\n" - }, - "Secrets": { - "type": "array", - "description": "Swarm Secrets that are passed to the CSI storage plugin when\noperating on this volume.\n", - "items": { - "type": "object", - "properties": { - "Key": { - "type": "string", - "description": "Key is the name of the key of the key-value pair passed to\nthe plugin.\n" - }, - "Secret": { - "type": "string", - "description": "Secret is the swarm Secret object from which to read data.\nThis can be a Secret name or ID. The Secret data is\nretrieved by swarm and used as the value of the key-value\npair passed to the plugin.\n" - } - }, - "description": "One cluster volume secret entry. Defines a key-value pair that\nis passed to the plugin.\n" - } - }, - "AccessibilityRequirements": { - "type": "object", - "properties": { - "Requisite": { - "type": "array", - "description": "A list of required topologies, at least one of which the\nvolume must be accessible from.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - }, - "Preferred": { - "type": "array", - "description": "A list of topologies that the volume should attempt to be\nprovisioned in.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - } - }, - "description": "Requirements for the accessible topology of the volume. These\nfields are optional. For an in-depth description of what these\nfields mean, see the CSI specification.\n" - }, - "CapacityRange": { - "type": "object", - "properties": { - "RequiredBytes": { - "type": "integer", - "description": "The volume must be at least this big. The value of 0\nindicates an unspecified minimum\n", - "format": "int64" - }, - "LimitBytes": { - "type": "integer", - "description": "The volume must not be bigger than this. The value of 0\nindicates an unspecified maximum.\n", - "format": "int64" - } - }, - "description": "The desired capacity that the volume should be created with. If\nempty, the plugin will decide the capacity.\n" - }, - "Availability": { - "type": "string", - "description": "The availability of the volume for use in tasks.\n- `active` The volume is fully available for scheduling on the cluster\n- `pause` No new workloads should use the volume, but existing workloads are not stopped.\n- `drain` All workloads using this volume should be stopped and rescheduled, and no new ones should be started.\n", - "nullable": false, - "default": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "description": "Defines how the volume is used by tasks.\n" - } - }, - "description": "Cluster-specific options used to create the volume.\n" - }, - "Topology": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of topological domains to topological segments. For in depth\ndetails, see documentation for the Topology object in the CSI\nspecification.\n" - } - } - } -} \ No newline at end of file diff --git a/app/vendor/beluga-php/docker-php-api/spec/v1.44.json b/app/vendor/beluga-php/docker-php-api/spec/v1.44.json deleted file mode 100644 index 5165ccaae..000000000 --- a/app/vendor/beluga-php/docker-php-api/spec/v1.44.json +++ /dev/null @@ -1,16801 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Docker Engine API", - "description": "The Engine API is an HTTP API served by Docker Engine. It is the API the\nDocker client uses to communicate with the Engine, so everything the Docker\nclient can do can be done with the API.\n\nMost of the client's commands map directly to API endpoints (e.g. `docker ps`\nis `GET /containers/json`). The notable exception is running containers,\nwhich consists of several API calls.\n\n# Errors\n\nThe API uses standard HTTP status codes to indicate the success or failure\nof the API call. The body of the response will be JSON in the following\nformat:\n\n```\n{\n \"message\": \"page not found\"\n}\n```\n\n# Versioning\n\nThe API is usually changed in each release, so API calls are versioned to\nensure that clients don't break. To lock to a specific version of the API,\nyou prefix the URL with its version, for example, call `/v1.30/info` to use\nthe v1.30 version of the `/info` endpoint. If the API version specified in\nthe URL is not supported by the daemon, a HTTP `400 Bad Request` error message\nis returned.\n\nIf you omit the version-prefix, the current version of the API (v1.44) is used.\nFor example, calling `/info` is the same as calling `/v1.44/info`. Using the\nAPI without a version-prefix is deprecated and will be removed in a future release.\n\nEngine releases in the near future should support this version of the API,\nso your client will continue to work even if it is talking to a newer Engine.\n\nThe API uses an open schema model, which means server may add extra properties\nto responses. Likewise, the server will ignore any extra query parameters and\nrequest body properties. When you write clients, you need to ignore additional\nproperties in responses to ensure they do not break when talking to newer\ndaemons.\n\n\n# Authentication\n\nAuthentication for registries is handled client side. The client has to send\nauthentication details to various endpoints that need to communicate with\nregistries, such as `POST /images/(name)/push`. These are sent as\n`X-Registry-Auth` header as a [base64url encoded](https://tools.ietf.org/html/rfc4648#section-5)\n(JSON) string with the following structure:\n\n```\n{\n \"username\": \"string\",\n \"password\": \"string\",\n \"email\": \"string\",\n \"serveraddress\": \"string\"\n}\n```\n\nThe `serveraddress` is a domain/IP without a protocol. Throughout this\nstructure, double quotes are required.\n\nIf you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth),\nyou can just pass this instead of credentials:\n\n```\n{\n \"identitytoken\": \"9cbaf023786cd7...\"\n}\n```\n", - "version": "1.44", - "x-logo": { - "url": "https://docs.docker.com/assets/images/logo-docker-main.png" - } - }, - "servers": [ - { - "url": "/v1.44" - } - ], - "tags": [ - { - "name": "Container", - "description": "Create and manage containers.\n", - "x-displayName": "Containers" - }, - { - "name": "Image", - "x-displayName": "Images" - }, - { - "name": "Network", - "description": "Networks are user-defined networks that containers can be attached to.\nSee the [networking documentation](https://docs.docker.com/network/)\nfor more information.\n", - "x-displayName": "Networks" - }, - { - "name": "Volume", - "description": "Create and manage persistent storage that can be attached to containers.\n", - "x-displayName": "Volumes" - }, - { - "name": "Exec", - "description": "Run new commands inside running containers. Refer to the\n[command-line reference](https://docs.docker.com/engine/reference/commandline/exec/)\nfor more information.\n\nTo exec a command in a container, you first need to create an exec instance,\nthen start it. These two API endpoints are wrapped up in a single command-line\ncommand, `docker exec`.\n", - "x-displayName": "Exec" - }, - { - "name": "Swarm", - "description": "Engines can be clustered together in a swarm. Refer to the\n[swarm mode documentation](https://docs.docker.com/engine/swarm/)\nfor more information.\n", - "x-displayName": "Swarm" - }, - { - "name": "Node", - "description": "Nodes are instances of the Engine participating in a swarm. Swarm mode\nmust be enabled for these endpoints to work.\n", - "x-displayName": "Nodes" - }, - { - "name": "Service", - "description": "Services are the definitions of tasks to run on a swarm. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Services" - }, - { - "name": "Task", - "description": "A task is a container running on a swarm. It is the atomic scheduling unit\nof swarm. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Tasks" - }, - { - "name": "Secret", - "description": "Secrets are sensitive data that can be used by services. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Secrets" - }, - { - "name": "Config", - "description": "Configs are application configurations that can be used by services. Swarm\nmode must be enabled for these endpoints to work.\n", - "x-displayName": "Configs" - }, - { - "name": "Plugin", - "x-displayName": "Plugins" - }, - { - "name": "System", - "x-displayName": "System" - } - ], - "paths": { - "/containers/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "List containers", - "description": "Returns a list of containers. For details on the format, see the\n[inspect endpoint](#operation/ContainerInspect).\n\nNote that it uses a different, smaller representation of a container\nthan inspecting a single container. For example, the list of linked\ncontainers is not propagated .\n", - "operationId": "ContainerList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Return all containers. By default, only running containers are shown.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "limit", - "in": "query", - "description": "Return this number of most recently created containers, including\nnon-running ones.\n", - "schema": { - "type": "integer" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "Filters to process on the container list, encoded as JSON (a\n`map[string][]string`). For example, `{\"status\": [\"paused\"]}` will\nonly return paused containers.\n\nAvailable filters:\n\n- `ancestor`=(`[:]`, ``, or ``)\n- `before`=(`` or ``)\n- `expose`=(`[/]`|`/[]`)\n- `exited=` containers with exit code of ``\n- `health`=(`starting`|`healthy`|`unhealthy`|`none`)\n- `id=` a container's ID\n- `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)\n- `is-task=`(`true`|`false`)\n- `label=key` or `label=\"key=value\"` of a container label\n- `name=` a container's name\n- `network`=(`` or ``)\n- `publish`=(`[/]`|`/[]`)\n- `since`=(`` or ``)\n- `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)\n- `volume`=(`` or ``)\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "example": [ - { - "Id": "8dfafdbc3a40", - "Names": [ - "/boring_feynman" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 1", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [ - { - "PrivatePort": 2222, - "PublicPort": 3333, - "Type": "tcp" - } - ], - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:02" - } - } - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - }, - { - "Id": "9cd87474be90", - "Names": [ - "/coolName" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 222222", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.8", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:08" - } - } - }, - "Mounts": [] - }, - { - "Id": "3176a2479c92", - "Names": [ - "/sleepy_dog" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 3333333333333333", - "Created": 1367854154, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.6", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:06" - } - } - }, - "Mounts": [] - }, - { - "Id": "4cb07b47f9fb", - "Names": [ - "/running_cat" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 444444444444444444444444444444444", - "Created": 1367854152, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.5", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:05" - } - } - }, - "Mounts": [] - } - ] - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/create": { - "post": { - "tags": [ - "Container" - ], - "summary": "Create a container", - "operationId": "ContainerCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Assign the specified name to the container. Must match\n`/?[a-zA-Z0-9][a-zA-Z0-9_.-]+`.\n", - "schema": { - "pattern": "^/?[a-zA-Z0-9][a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format `os[/arch[/variant]]` used for image lookup.\n\nWhen specified, the daemon checks if the requested image is present\nin the local image cache with the given OS and Architecture, and\notherwise returns a `404` status.\n\nIf the option is not set, the host's native OS and Architecture are\nused to look up the image in the image cache. However, if no platform\nis passed and the given image does exist in the local image cache,\nbut its OS or architecture does not match, the container is created\nwith the available image, and a warning is added to the `Warnings`\nfield in the response, for example;\n\n WARNING: The requested image's platform (linux/arm64/v8) does not\n match the detected host platform (linux/amd64) and no\n specific platform was requested\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Container to create", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - }, - "application/octet-stream": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "Container created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerCreateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/containers/{id}/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "Inspect a container", - "description": "Return low-level information about a container.", - "operationId": "ContainerInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerInspectResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the container" - }, - "Created": { - "type": "string", - "description": "The time the container was created" - }, - "Path": { - "type": "string", - "description": "The path to the command being run" - }, - "Args": { - "type": "array", - "description": "The arguments to the command being run", - "items": { - "type": "string" - } - }, - "State": { - "$ref": "#/components/schemas/ContainerState" - }, - "Image": { - "type": "string", - "description": "The container's image ID" - }, - "ResolvConfPath": { - "type": "string" - }, - "HostnamePath": { - "type": "string" - }, - "HostsPath": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestartCount": { - "type": "integer" - }, - "Driver": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "MountLabel": { - "type": "string" - }, - "ProcessLabel": { - "type": "string" - }, - "AppArmorProfile": { - "type": "string" - }, - "ExecIDs": { - "type": "array", - "description": "IDs of exec instances that are running in the container.", - "nullable": true, - "items": { - "type": "string" - } - }, - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this\ncontainer.\n", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container.", - "format": "int64" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "NetworkSettings": { - "$ref": "#/components/schemas/NetworkSettings" - } - } - }, - "example": { - "AppArmorProfile": "", - "Args": [ - "-c", - "exit 9" - ], - "Config": { - "AttachStderr": true, - "AttachStdin": false, - "AttachStdout": true, - "Cmd": [ - "/bin/sh", - "-c", - "exit 9" - ], - "Domainname": "", - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Healthcheck": { - "Test": [ - "CMD-SHELL", - "exit 0" - ] - }, - "Hostname": "ba033ac44011", - "Image": "ubuntu", - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "MacAddress": "", - "NetworkDisabled": false, - "OpenStdin": false, - "StdinOnce": false, - "Tty": false, - "User": "", - "Volumes": { - "/volumes/data": {} - }, - "WorkingDir": "", - "StopSignal": "SIGTERM", - "StopTimeout": 10 - }, - "Created": "2015-01-06T15:47:31.485331387Z", - "Driver": "overlay2", - "ExecIDs": [ - "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca", - "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4" - ], - "HostConfig": { - "MaximumIOps": 0, - "MaximumIOBps": 0, - "BlkioWeight": 0, - "BlkioWeightDevice": [ - {} - ], - "BlkioDeviceReadBps": [ - {} - ], - "BlkioDeviceWriteBps": [ - {} - ], - "BlkioDeviceReadIOps": [ - {} - ], - "BlkioDeviceWriteIOps": [ - {} - ], - "ContainerIDFile": "", - "CpusetCpus": "", - "CpusetMems": "", - "CpuPercent": 80, - "CpuShares": 0, - "CpuPeriod": 100000, - "CpuRealtimePeriod": 1000000, - "CpuRealtimeRuntime": 10000, - "Devices": [], - "DeviceRequests": [ - { - "Driver": "nvidia", - "Count": -1, - "DeviceIDs\"": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "Capabilities": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "Options": { - "property1": "string", - "property2": "string" - } - } - ], - "IpcMode": "", - "Memory": 0, - "MemorySwap": 0, - "MemoryReservation": 0, - "OomKillDisable": false, - "OomScoreAdj": 500, - "NetworkMode": "bridge", - "PidMode": "", - "PortBindings": {}, - "Privileged": false, - "ReadonlyRootfs": false, - "PublishAllPorts": false, - "RestartPolicy": { - "MaximumRetryCount": 2, - "Name": "on-failure" - }, - "LogConfig": { - "Type": "json-file" - }, - "Sysctls": { - "net.ipv4.ip_forward": "1" - }, - "Ulimits": [ - {} - ], - "VolumeDriver": "", - "ShmSize": 67108864 - }, - "HostnamePath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname", - "HostsPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts", - "LogPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log", - "Id": "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39", - "Image": "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2", - "MountLabel": "", - "Name": "/boring_euclid", - "NetworkSettings": { - "Bridge": "", - "SandboxID": "", - "HairpinMode": false, - "LinkLocalIPv6Address": "", - "LinkLocalIPv6PrefixLen": 0, - "SandboxKey": "", - "EndpointID": "", - "Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "IPAddress": "", - "IPPrefixLen": 0, - "IPv6Gateway": "", - "MacAddress": "", - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Path": "/bin/sh", - "ProcessLabel": "", - "ResolvConfPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf", - "RestartCount": 1, - "State": { - "Error": "", - "ExitCode": 9, - "FinishedAt": "2015-01-06T15:47:32.080254511Z", - "Health": { - "Status": "healthy", - "FailingStreak": 0, - "Log": [ - { - "Start": "2019-12-22T10:59:05.6385933Z", - "End": "2019-12-22T10:59:05.8078452Z", - "ExitCode": 0, - "Output": "" - } - ] - }, - "OOMKilled": false, - "Dead": false, - "Paused": false, - "Pid": 0, - "Restarting": false, - "Running": true, - "StartedAt": "2015-01-06T15:47:32.072697474Z", - "Status": "running" - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/top": { - "get": { - "tags": [ - "Container" - ], - "summary": "List processes running inside a container", - "description": "On Unix systems, this is done by running the `ps` command. This endpoint\nis not supported on Windows.\n", - "operationId": "ContainerTop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ps_args", - "in": "query", - "description": "The arguments to pass to `ps`. For example, `aux`", - "schema": { - "type": "string", - "default": "-ef" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - }, - "example": { - "Titles": [ - "UID", - "PID", - "PPID", - "C", - "STIME", - "TTY", - "TIME", - "CMD" - ], - "Processes": [ - [ - "root", - "13642", - "882", - "0", - "17:03", - "pts/0", - "00:00:00", - "/bin/bash" - ], - [ - "root", - "13735", - "13642", - "0", - "17:06", - "pts/0", - "00:00:00", - "sleep 10" - ] - ] - } - }, - "text/plain": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/logs": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container logs", - "description": "Get `stdout` and `stderr` logs from a container.\n\nNote: This endpoint works only for containers with the `json-file` or\n`journald` logging driver.\n", - "operationId": "ContainerLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "until", - "in": "query", - "description": "Only return logs before this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body.\nFor the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).\nNote that unlike the attach endpoint, the logs endpoint does not\nupgrade the connection and does not set Content-Type.\n", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/changes": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get changes on a container’s filesystem", - "description": "Returns which files in a container's filesystem have been added, deleted,\nor modified. The `Kind` of modification can be one of:\n\n- `0`: Modified (\"C\")\n- `1`: Added (\"A\")\n- `2`: Deleted (\"D\")\n", - "operationId": "ContainerChanges", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "The list of changes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FilesystemChange" - } - }, - "example": [ - { - "Path": "/dev", - "Kind": 0 - }, - { - "Path": "/dev/kmsg", - "Kind": 1 - }, - { - "Path": "/test", - "Kind": 1 - } - ] - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/export": { - "get": { - "tags": [ - "Container" - ], - "summary": "Export a container", - "description": "Export the contents of a container as a tarball.", - "operationId": "ContainerExport", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stats": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container stats based on resource usage", - "description": "This endpoint returns a live stream of a container’s resource usage\nstatistics.\n\nThe `precpu_stats` is the CPU statistic of the *previous* read, and is\nused to calculate the CPU usage percentage. It is not an exact copy\nof the `cpu_stats` field.\n\nIf either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is\nnil then for compatibility with older daemons the length of the\ncorresponding `cpu_usage.percpu_usage` array should be used.\n\nOn a cgroup v2 host, the following fields are not set\n* `blkio_stats`: all fields other than `io_service_bytes_recursive`\n* `cpu_stats`: `cpu_usage.percpu_usage`\n* `memory_stats`: `max_usage` and `failcnt`\nAlso, `memory_stats.stats` fields are incompatible with cgroup v1.\n\nTo calculate the values shown by the `stats` command of the docker cli tool\nthe following formulas can be used:\n* used_memory = `memory_stats.usage - memory_stats.stats.cache`\n* available_memory = `memory_stats.limit`\n* Memory usage % = `(used_memory / available_memory) * 100.0`\n* cpu_delta = `cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage`\n* system_cpu_delta = `cpu_stats.system_cpu_usage - precpu_stats.system_cpu_usage`\n* number_cpus = `lenght(cpu_stats.cpu_usage.percpu_usage)` or `cpu_stats.online_cpus`\n* CPU usage % = `(cpu_delta / system_cpu_delta) * number_cpus * 100.0`\n", - "operationId": "ContainerStats", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream the output. If false, the stats will be output once and then\nit will disconnect.\n", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "one-shot", - "in": "query", - "description": "Only get a single stat instead of waiting for 2 cycles. Must be used\nwith `stream=false`.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "read": "2015-01-08T22:57:31.547920715Z", - "pids_stats": { - "current": 3 - }, - "networks": { - "eth0": { - "rx_bytes": 5338, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 36, - "tx_bytes": 648, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 8 - }, - "eth5": { - "rx_bytes": 4641, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 26, - "tx_bytes": 690, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 9 - } - }, - "memory_stats": { - "stats": { - "total_pgmajfault": 0, - "cache": 0, - "mapped_file": 0, - "total_inactive_file": 0, - "pgpgout": 414, - "rss": 6537216, - "total_mapped_file": 0, - "writeback": 0, - "unevictable": 0, - "pgpgin": 477, - "total_unevictable": 0, - "pgmajfault": 0, - "total_rss": 6537216, - "total_rss_huge": 6291456, - "total_writeback": 0, - "total_inactive_anon": 0, - "rss_huge": 6291456, - "hierarchical_memory_limit": 67108864, - "total_pgfault": 964, - "total_active_file": 0, - "active_anon": 6537216, - "total_active_anon": 6537216, - "total_pgpgout": 414, - "total_cache": 0, - "inactive_anon": 0, - "active_file": 0, - "pgfault": 964, - "inactive_file": 0, - "total_pgpgin": 477 - }, - "max_usage": 6651904, - "usage": 6537216, - "failcnt": 0, - "limit": 67108864 - }, - "blkio_stats": {}, - "cpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24472255, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100215355, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 739306590000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - }, - "precpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24350896, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100093996, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 9492140000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - } - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/resize": { - "post": { - "tags": [ - "Container" - ], - "summary": "Resize a container TTY", - "description": "Resize the TTY for a container.", - "operationId": "ContainerResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "cannot resize container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/start": { - "post": { - "tags": [ - "Container" - ], - "summary": "Start a container", - "operationId": "ContainerStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container. Format is a\nsingle character `[a-Z]` or `ctrl-` where `` is one\nof: `a-z`, `@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already started", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stop": { - "post": { - "tags": [ - "Container" - ], - "summary": "Stop a container", - "operationId": "ContainerStop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already stopped", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/restart": { - "post": { - "tags": [ - "Container" - ], - "summary": "Restart a container", - "operationId": "ContainerRestart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/kill": { - "post": { - "tags": [ - "Container" - ], - "summary": "Kill a container", - "description": "Send a POSIX signal to a container, defaulting to killing to the\ncontainer.\n", - "operationId": "ContainerKill", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string", - "default": "SIGKILL" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "container is not running", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Container d37cde0fe4ad63c3a7252023b2f9800282894247d145cb5933ddf6e52cc03a28 is not running" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/update": { - "post": { - "tags": [ - "Container" - ], - "summary": "Update a container", - "description": "Change various configuration options of a container without having to\nrecreate it.\n", - "operationId": "ContainerUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The container has been updated.", - "content": { - "application/json": { - "schema": { - "title": "ContainerUpdateResponse", - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerUpdate operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "update" - } - }, - "/containers/{id}/rename": { - "post": { - "tags": [ - "Container" - ], - "summary": "Rename a container", - "operationId": "ContainerRename", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "New name for the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name already in use", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/pause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Pause a container", - "description": "Use the freezer cgroup to suspend all processes in a container.\n\nTraditionally, when suspending a process the `SIGSTOP` signal is used,\nwhich is observable by the process being suspended. With the freezer\ncgroup the process is unaware, and unable to capture, that it is being\nsuspended, and subsequently resumed.\n", - "operationId": "ContainerPause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/unpause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Unpause a container", - "description": "Resume a container which has been paused.", - "operationId": "ContainerUnpause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach": { - "post": { - "tags": [ - "Container" - ], - "summary": "Attach to a container", - "description": "Attach to a container to read its output or send it input. You can attach\nto the same container multiple times and you can reattach to containers\nthat have been detached.\n\nEither the `stream` or `logs` parameter must be `true` for this endpoint\nto do anything.\n\nSee the [documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/)\nfor more details.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to transport `stdin`, `stdout`,\nand `stderr` on the same socket.\n\nThis is the response from the daemon for an attach request:\n\n```\nHTTP/1.1 200 OK\nContent-Type: application/vnd.docker.raw-stream\n\n[STREAM]\n```\n\nAfter the headers and two new lines, the TCP connection can now be used\nfor raw, bidirectional communication between the client and server.\n\nTo hint potential proxies about connection hijacking, the Docker client\ncan also optionally send connection upgrade headers.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1\nUpgrade: tcp\nConnection: Upgrade\n```\n\nThe Docker daemon will respond with a `101 UPGRADED` response, and will\nsimilarly follow with the raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nContent-Type: application/vnd.docker.raw-stream\nConnection: Upgrade\nUpgrade: tcp\n\n[STREAM]\n```\n\n### Stream format\n\nWhen the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe HTTP Content-Type header is set to application/vnd.docker.multiplexed-stream\nand the stream over the hijacked connected is multiplexed to separate out\n`stdout` and `stderr`. The stream consists of a series of frames, each\ncontaining a header and a payload.\n\nThe header contains the information which the stream writes (`stdout` or\n`stderr`). It also contains the size of the associated frame encoded in\nthe last four bytes (`uint32`).\n\nIt is encoded on the first eight bytes like this:\n\n```go\nheader := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}\n```\n\n`STREAM_TYPE` can be:\n\n- 0: `stdin` (is written on `stdout`)\n- 1: `stdout`\n- 2: `stderr`\n\n`SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size\nencoded as big endian.\n\nFollowing the header is the payload, which is the specified number of\nbytes of `STREAM_TYPE`.\n\nThe simplest way to implement this protocol is the following:\n\n1. Read 8 bytes.\n2. Choose `stdout` or `stderr` depending on the first byte.\n3. Extract the frame size from the last four bytes.\n4. Read the extracted size and output it on the correct output.\n5. Goto 1.\n\n### Stream format when using a TTY\n\nWhen the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe stream is not multiplexed. The data exchanged over the hijacked\nconnection is simply the raw data from the process PTY and client's\n`stdin`.\n", - "operationId": "ContainerAttach", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Replay previous logs from the container.\n\nThis is useful for attaching to a container that has started and you\nwant to output everything since the container started.\n\nIf `stream` is also enabled, once all the previous output has been\nreturned, it will seamlessly transition into streaming current\noutput.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream attached streams from the time the request was made onwards.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach/ws": { - "get": { - "tags": [ - "Container" - ], - "summary": "Attach to a container via a websocket", - "operationId": "ContainerAttachWebsocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,`, or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Return logs", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Return stream", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/wait": { - "post": { - "tags": [ - "Container" - ], - "summary": "Wait for a container", - "description": "Block until a container stops, then returns the exit code.", - "operationId": "ContainerWait", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "condition", - "in": "query", - "description": "Wait until a container state reaches the given condition.\n\nDefaults to `not-running` if omitted or empty.\n", - "schema": { - "type": "string", - "default": "not-running", - "enum": [ - "not-running", - "next-exit", - "removed" - ] - } - } - ], - "responses": { - "200": { - "description": "The container has exit.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerWaitResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}": { - "delete": { - "tags": [ - "Container" - ], - "summary": "Remove a container", - "operationId": "ContainerDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "v", - "in": "query", - "description": "Remove anonymous volumes associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "force", - "in": "query", - "description": "If the container is running, kill it before removing it.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "link", - "in": "query", - "description": "Remove the specified link associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "You cannot remove a running container: c2ada9df5af8. Stop the\ncontainer before attempting removal or force remove\n" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/archive": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get an archive of a filesystem resource in a container", - "description": "Get a tar archive of a resource in the filesystem of container id.", - "operationId": "ContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Container" - ], - "summary": "Extract an archive of files or folders to a directory in a container", - "description": "Upload a tar archive to be extracted to a path in the filesystem of container id.\n`path` parameter is asserted to be a directory. If it exists as a file, 400 error\nwill be returned with message \"not a directory\".\n", - "operationId": "PutContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Path to a directory in the container to extract the archive’s contents into. ", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "noOverwriteDirNonDir", - "in": "query", - "description": "If `1`, `true`, or `True` then it will be an error if unpacking the\ngiven content would cause an existing directory to be replaced with\na non-directory and vice versa.\n", - "schema": { - "type": "string" - } - }, - { - "name": "copyUIDGID", - "in": "query", - "description": "If `1`, `true`, then it will copy UID/GID maps to the dest file or\ndir\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The input stream must be a tar archive compressed with one of the\nfollowing algorithms: `identity` (no compression), `gzip`, `bzip2`,\nor `xz`.\n", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The content was extracted successfully", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "not a directory" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Permission denied, the volume or container rootfs is marked as read-only.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such container or path does not exist inside the container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - }, - "head": { - "tags": [ - "Container" - ], - "summary": "Get information about files in a container", - "description": "A response header `X-Docker-Container-Path-Stat` is returned, containing\na base64 - encoded JSON object with some filesystem header information\nabout the path.\n", - "operationId": "ContainerArchiveInfo", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "headers": { - "X-Docker-Container-Path-Stat": { - "description": "A base64 - encoded JSON object with some filesystem header\ninformation about the path\n", - "schema": { - "type": "string" - } - } - }, - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/prune": { - "post": { - "tags": [ - "Container" - ], - "summary": "Delete stopped containers", - "operationId": "ContainerPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ContainerPruneResponse", - "type": "object", - "properties": { - "ContainersDeleted": { - "type": "array", - "description": "Container IDs that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "List Images", - "description": "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image.", - "operationId": "ImageList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Show all images. Only images from a final layer (no children) are shown by default.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the images list.\n\nAvailable filters:\n\n- `before`=(`[:]`, `` or ``)\n- `dangling=true`\n- `label=key` or `label=\"key=value\"` of an image label\n- `reference`=(`[:]`)\n- `since`=(`[:]`, `` or ``)\n- `until=`\n", - "schema": { - "type": "string" - } - }, - { - "name": "shared-size", - "in": "query", - "description": "Compute and show shared size as a `SharedSize` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "digests", - "in": "query", - "description": "Show digest information as a `RepoDigests` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "Summary image data for the images matching the query", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/build": { - "post": { - "tags": [ - "Image" - ], - "summary": "Build an image", - "description": "Build an image from a tar archive with a `Dockerfile` in it.\n\nThe `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/).\n\nThe Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output.\n\nThe build is canceled if the client drops the connection by quitting or being killed.\n", - "operationId": "ImageBuild", - "parameters": [ - { - "name": "dockerfile", - "in": "query", - "description": "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`.", - "schema": { - "type": "string", - "default": "Dockerfile" - } - }, - { - "name": "t", - "in": "query", - "description": "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters.", - "schema": { - "type": "string" - } - }, - { - "name": "extrahosts", - "in": "query", - "description": "Extra hosts to add to /etc/hosts", - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball.", - "schema": { - "type": "string" - } - }, - { - "name": "q", - "in": "query", - "description": "Suppress verbose build output.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "nocache", - "in": "query", - "description": "Do not use the cache when building the image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "cachefrom", - "in": "query", - "description": "JSON array of images used for build cache resolution.", - "schema": { - "type": "string" - } - }, - { - "name": "pull", - "in": "query", - "description": "Attempt to pull the image even if an older image exists locally.", - "schema": { - "type": "string" - } - }, - { - "name": "rm", - "in": "query", - "description": "Remove intermediate containers after a successful build.", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "forcerm", - "in": "query", - "description": "Always remove intermediate containers, even upon failure.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "memory", - "in": "query", - "description": "Set memory limit for build.", - "schema": { - "type": "integer" - } - }, - { - "name": "memswap", - "in": "query", - "description": "Total memory (memory + swap). Set as `-1` to disable swap.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpushares", - "in": "query", - "description": "CPU shares (relative weight).", - "schema": { - "type": "integer" - } - }, - { - "name": "cpusetcpus", - "in": "query", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).", - "schema": { - "type": "string" - } - }, - { - "name": "cpuperiod", - "in": "query", - "description": "The length of a CPU period in microseconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpuquota", - "in": "query", - "description": "Microseconds of CPU time that the container can get in a CPU period.", - "schema": { - "type": "integer" - } - }, - { - "name": "buildargs", - "in": "query", - "description": "JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values.\n\nFor example, the build arg `FOO=bar` would become `{\"FOO\":\"bar\"}` in JSON. This would result in the query parameter `buildargs={\"FOO\":\"bar\"}`. Note that `{\"FOO\":\"bar\"}` should be URI component encoded.\n\n[Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)\n", - "schema": { - "type": "string" - } - }, - { - "name": "shmsize", - "in": "query", - "description": "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB.", - "schema": { - "type": "integer" - } - }, - { - "name": "squash", - "in": "query", - "description": "Squash the resulting images layers into a single layer. *(Experimental release only.)*", - "schema": { - "type": "boolean" - } - }, - { - "name": "labels", - "in": "query", - "description": "Arbitrary key/value labels to set on the image, as a JSON map of string pairs.", - "schema": { - "type": "string" - } - }, - { - "name": "networkmode", - "in": "query", - "description": "Sets the networking mode for the run commands during build. Supported\nstandard values are: `bridge`, `host`, `none`, and `container:`.\nAny other value is taken as a custom network's name or ID to which this\ncontainer should connect to.\n", - "schema": { - "type": "string" - } - }, - { - "name": "Content-type", - "in": "header", - "schema": { - "type": "string", - "default": "application/x-tar", - "enum": [ - "application/x-tar" - ] - } - }, - { - "name": "X-Registry-Config", - "in": "header", - "description": "This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.\n\nThe key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:\n\n```\n{\n \"docker.example.com\": {\n \"username\": \"janedoe\",\n \"password\": \"hunter2\"\n },\n \"https://index.docker.io/v1/\": {\n \"username\": \"mobydock\",\n \"password\": \"conta1n3rize14\"\n }\n}\n```\n\nOnly the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API.\n", - "schema": { - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]]", - "schema": { - "type": "string" - } - }, - { - "name": "target", - "in": "query", - "description": "Target build stage", - "schema": { - "type": "string" - } - }, - { - "name": "outputs", - "in": "query", - "description": "BuildKit output configuration", - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "Version of the builder backend to use.\n\n- `1` is the first generation classic (deprecated) builder in the Docker daemon (default)\n- `2` is [BuildKit](https://github.com/moby/buildkit)\n", - "schema": { - "type": "string", - "default": "1", - "enum": [ - "1", - "2" - ] - } - } - ], - "requestBody": { - "description": "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz.", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - } - }, - "/build/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete builder cache", - "operationId": "BuildPrune", - "parameters": [ - { - "name": "keep-storage", - "in": "query", - "description": "Amount of disk space in bytes to keep for cache", - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "all", - "in": "query", - "description": "Remove all types of build cache", - "schema": { - "type": "boolean" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the list of build cache objects.\n\nAvailable filters:\n\n- `until=` remove cache older than ``. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon's local time.\n- `id=`\n- `parent=`\n- `type=`\n- `description=`\n- `inuse`\n- `shared`\n- `private`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "BuildPruneResponse", - "type": "object", - "properties": { - "CachesDeleted": { - "type": "array", - "items": { - "type": "string", - "description": "ID of build cache object" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/create": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create an image", - "description": "Pull or import an image.", - "operationId": "ImageCreate", - "parameters": [ - { - "name": "fromImage", - "in": "query", - "description": "Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed.", - "schema": { - "type": "string" - } - }, - { - "name": "fromSrc", - "in": "query", - "description": "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled.", - "schema": { - "type": "string" - } - }, - { - "name": "message", - "in": "query", - "description": "Set commit message for imported image.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - }, - { - "name": "changes", - "in": "query", - "description": "Apply `Dockerfile` instructions to the image that is created,\nfor example: `changes=ENV DEBUG=true`.\nNote that `ENV DEBUG=true` should be URI component encoded.\n\nSupported `Dockerfile` instructions:\n`CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`\n", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]].\n\nWhen used in combination with the `fromImage` option, the daemon checks\nif the given image is present in the local image cache with the given\nOS and Architecture, and otherwise attempts to pull the image. If the\noption is not set, the host's native OS and Architecture are used.\nIf the given image does not exist in the local image cache, the daemon\nattempts to pull the image with the host's native OS and Architecture.\nIf the given image does exists in the local image cache, but its OS or\narchitecture does not match, a warning is produced.\n\nWhen used with the `fromSrc` option to import an image from an archive,\nthis option sets the platform information for the imported image. If\nthe option is not set, the host's native OS and Architecture are used\nfor the imported image.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Image content if the value `-` has been specified in fromSrc query parameter", - "content": { - "text/plain": { - "schema": { - "type": "string" - } - }, - "application/octet-stream": { - "schema": { - "type": "string" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "repository does not exist or no read access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputImage" - } - }, - "/images/{name}/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "Inspect an image", - "description": "Return low-level information about an image.", - "operationId": "ImageInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImageInspect" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/history": { - "get": { - "tags": [ - "Image" - ], - "summary": "Get the history of an image", - "description": "Return parent layers of an image.", - "operationId": "ImageHistory", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List of image layers", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "HistoryResponseItem", - "required": [ - "Comment", - "Created", - "CreatedBy", - "Id", - "Size", - "Tags" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "Created": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "CreatedBy": { - "type": "string", - "nullable": false - }, - "Tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "Size": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "Comment": { - "type": "string", - "nullable": false - } - }, - "description": "individual image layer information in response to ImageHistory operation", - "x-go-name": "HistoryResponseItem" - } - }, - "example": [ - { - "Id": "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710", - "Created": 1398108230, - "CreatedBy": "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /", - "Tags": [ - "ubuntu:lucid", - "ubuntu:10.04" - ], - "Size": 182964289, - "Comment": "" - }, - { - "Id": "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8", - "Created": 1398108222, - "CreatedBy": "/bin/sh -c #(nop) MAINTAINER Tianon Gravi - mkimage-debootstrap.sh -i iproute,iputils-ping,ubuntu-minimal -t lucid.tar.xz lucid http://archive.ubuntu.com/ubuntu/", - "Tags": [], - "Size": 0, - "Comment": "" - }, - { - "Id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158", - "Created": 1371157430, - "CreatedBy": "", - "Tags": [ - "scratch12:latest", - "scratch:latest" - ], - "Size": 0, - "Comment": "Imported from -" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/push": { - "post": { - "tags": [ - "Image" - ], - "summary": "Push an image", - "description": "Push an image to a registry.\n\nIf you wish to push an image on to a private registry, that image must\nalready have a tag which references the registry. For example,\n`registry.example.com/myimage:latest`.\n\nThe push is cancelled if the HTTP connection is closed.\n", - "operationId": "ImagePush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The tag to associate with the image on the registry.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/tag": { - "post": { - "tags": [ - "Image" - ], - "summary": "Tag an image", - "description": "Tag an image so that it becomes part of a repository.", - "operationId": "ImageTag", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID to tag.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "The repository to tag in. For example, `someuser/someimage`.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The name of the new tag.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "No error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}": { - "delete": { - "tags": [ - "Image" - ], - "summary": "Remove an image", - "description": "Remove an image, along with any untagged parent images that were\nreferenced by that image.\n\nImages can't be removed if they have descendant images, are being\nused by a running container or are being used by a build.\n", - "operationId": "ImageDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Remove the image even if it is being used by stopped containers or has other tags", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "noprune", - "in": "query", - "description": "Do not delete untagged parent images", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "The image was deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "example": [ - { - "Untagged": "3e2f21a89f" - }, - { - "Deleted": "3e2f21a89f" - }, - { - "Deleted": "53b4f83ac9" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/search": { - "get": { - "tags": [ - "Image" - ], - "summary": "Search images", - "description": "Search for an image on Docker Hub.", - "operationId": "ImageSearch", - "parameters": [ - { - "name": "term", - "in": "query", - "description": "Term to search", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Maximum number of results to return", - "schema": { - "type": "integer" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:\n\n- `is-automated=(true|false)` (deprecated, see below)\n- `is-official=(true|false)`\n- `stars=` Matches images that has at least 'number' stars.\n\nThe `is-automated` filter is deprecated. The `is_automated` field has\nbeen deprecated by Docker Hub's search API. Consequently, searching\nfor `is-automated=true` will yield no results.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ImageSearchResponseItem", - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "is_official": { - "type": "boolean" - }, - "is_automated": { - "type": "boolean", - "description": "Whether this repository has automated builds enabled.\n\n


\n\n> **Deprecated**: This field is deprecated and will always\n> be \"false\" in future.\n", - "example": false - }, - "name": { - "type": "string" - }, - "star_count": { - "type": "integer" - } - } - } - }, - "example": [ - { - "description": "A minimal Docker image based on Alpine Linux with a complete package index and only 5 MB in size!", - "is_official": true, - "is_automated": false, - "name": "alpine", - "star_count": 10093 - }, - { - "description": "Busybox base image.", - "is_official": true, - "is_automated": false, - "name": "Busybox base image.", - "star_count": 3037 - }, - { - "description": "The PostgreSQL object-relational database system provides reliability and data integrity.", - "is_official": true, - "is_automated": false, - "name": "postgres", - "star_count": 12408 - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete unused images", - "operationId": "ImagePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:\n\n- `dangling=` When set to `true` (or `1`), prune only\n unused *and* untagged images. When set to `false`\n (or `0`), all unused images are pruned.\n- `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ImagePruneResponse", - "type": "object", - "properties": { - "ImagesDeleted": { - "type": "array", - "description": "Images that were deleted", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/auth": { - "post": { - "tags": [ - "System" - ], - "summary": "Check auth configuration", - "description": "Validate credentials for a registry and, if available, get an identity\ntoken for accessing the registry without password.\n", - "operationId": "SystemAuth", - "requestBody": { - "description": "Authentication to check", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthConfig" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "An identity token was generated successfully.", - "content": { - "application/json": { - "schema": { - "title": "SystemAuthResponse", - "required": [ - "Status" - ], - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "The status of the authentication", - "nullable": false - }, - "IdentityToken": { - "type": "string", - "description": "An opaque token used to authenticate a user after a successful login", - "nullable": false - } - } - }, - "example": { - "Status": "Login Succeeded", - "IdentityToken": "9cbaf023786cd7..." - } - } - } - }, - "204": { - "description": "No error", - "content": {} - }, - "401": { - "description": "Auth error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "authConfig" - } - }, - "/info": { - "get": { - "tags": [ - "System" - ], - "summary": "Get system information", - "operationId": "SystemInfo", - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemInfo" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/version": { - "get": { - "tags": [ - "System" - ], - "summary": "Get version", - "description": "Returns the version of Docker that is running and various information about the system that Docker is running on.", - "operationId": "SystemVersion", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemVersion" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/_ping": { - "get": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPing", - "responses": { - "200": { - "description": "no error", - "headers": { - "Swarm": { - "description": "Contains information about Swarm status of the daemon,\nand if the daemon is acting as a manager or worker node.\n", - "schema": { - "type": "string", - "default": "inactive", - "enum": [ - "inactive", - "pending", - "error", - "locked", - "active/worker", - "active/manager" - ] - } - }, - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder\n\nThe default on Linux is version \"2\" (BuildKit), but the daemon\ncan be configured to recommend version \"1\" (classic Builder).\nWindows does not yet support BuildKit for native Windows images,\nand uses \"1\" (classic builder) as a default.\n\nThis value is a recommendation as advertised by the daemon, and\nit is up to the client to choose which builder to use.\n", - "schema": { - "type": "string", - "default": "2" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "OK" - } - } - } - }, - "500": { - "description": "server error", - "headers": { - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "head": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPingHead", - "responses": { - "200": { - "description": "no error", - "headers": { - "Swarm": { - "description": "Contains information about Swarm status of the daemon,\nand if the daemon is acting as a manager or worker node.\n", - "schema": { - "type": "string", - "default": "inactive", - "enum": [ - "inactive", - "pending", - "error", - "locked", - "active/worker", - "active/manager" - ] - } - }, - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "(empty)" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/commit": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create a new image from a container", - "operationId": "ImageCommit", - "parameters": [ - { - "name": "container", - "in": "query", - "description": "The ID or name of the container to commit", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name for the created image", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag name for the create image", - "schema": { - "type": "string" - } - }, - { - "name": "comment", - "in": "query", - "description": "Commit message", - "schema": { - "type": "string" - } - }, - { - "name": "author", - "in": "query", - "description": "Author of the image (e.g., `John Hannibal Smith `)", - "schema": { - "type": "string" - } - }, - { - "name": "pause", - "in": "query", - "description": "Whether to pause the container before committing", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "changes", - "in": "query", - "description": "`Dockerfile` instructions to apply while committing", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The container configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerConfig" - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "containerConfig" - } - }, - "/events": { - "get": { - "tags": [ - "System" - ], - "summary": "Monitor events", - "description": "Stream real-time events from the server.\n\nVarious objects within Docker report events when something happens to them.\n\nContainers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, `update`, and `prune`\n\nImages report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune`\n\nVolumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune`\n\nNetworks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, `remove`, and `prune`\n\nThe Docker daemon reports these events: `reload`\n\nServices report these events: `create`, `update`, and `remove`\n\nNodes report these events: `create`, `update`, and `remove`\n\nSecrets report these events: `create`, `update`, and `remove`\n\nConfigs report these events: `create`, `update`, and `remove`\n\nThe Builder reports `prune` events\n", - "operationId": "SystemEvents", - "parameters": [ - { - "name": "since", - "in": "query", - "description": "Show events created since this timestamp then stream new events.", - "schema": { - "type": "string" - } - }, - { - "name": "until", - "in": "query", - "description": "Show events created until this timestamp then stop streaming.", - "schema": { - "type": "string" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:\n\n- `config=` config name or ID\n- `container=` container name or ID\n- `daemon=` daemon name or ID\n- `event=` event type\n- `image=` image name or ID\n- `label=` image or container label\n- `network=` network name or ID\n- `node=` node ID\n- `plugin`= plugin name or ID\n- `scope`= local or swarm\n- `secret=` secret name or ID\n- `service=` service name or ID\n- `type=` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config`\n- `volume=` volume name\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventMessage" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/system/df": { - "get": { - "tags": [ - "System" - ], - "summary": "Get data usage information", - "operationId": "SystemDataUsage", - "parameters": [ - { - "name": "type", - "in": "query", - "description": "Object types, for which to compute and return data.\n", - "style": "form", - "explode": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "container", - "image", - "volume", - "build-cache" - ] - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ], - "BuildCache": [ - { - "ID": "hw53o5aio51xtltp5xjp8v7fx", - "Parents": [], - "Type": "regular", - "Description": "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0", - "InUse": false, - "Shared": true, - "Size": 0, - "CreatedAt": "2021-06-28T13:31:01.474619385Z", - "LastUsedAt": "2021-07-07T22:02:32.738075951Z", - "UsageCount": 26 - }, - { - "ID": "ndlpt0hhvkqcdfkputsk4cq9c", - "Parents": [ - "ndlpt0hhvkqcdfkputsk4cq9c" - ], - "Type": "regular", - "Description": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache", - "InUse": false, - "Shared": true, - "Size": 51, - "CreatedAt": "2021-06-28T13:31:03.002625487Z", - "LastUsedAt": "2021-07-07T22:02:32.773909517Z", - "UsageCount": 26 - } - ] - } - } - }, - "text/plain": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ], - "BuildCache": [ - { - "ID": "hw53o5aio51xtltp5xjp8v7fx", - "Parents": [], - "Type": "regular", - "Description": "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0", - "InUse": false, - "Shared": true, - "Size": 0, - "CreatedAt": "2021-06-28T13:31:01.474619385Z", - "LastUsedAt": "2021-07-07T22:02:32.738075951Z", - "UsageCount": 26 - }, - { - "ID": "ndlpt0hhvkqcdfkputsk4cq9c", - "Parents": [ - "ndlpt0hhvkqcdfkputsk4cq9c" - ], - "Type": "regular", - "Description": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache", - "InUse": false, - "Shared": true, - "Size": 51, - "CreatedAt": "2021-06-28T13:31:03.002625487Z", - "LastUsedAt": "2021-07-07T22:02:32.773909517Z", - "UsageCount": 26 - } - ] - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export an image", - "description": "Get a tarball containing all images and metadata for a repository.\n\nIf `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced.\n\n### Image tarball format\n\nAn image tarball contains one directory per image layer (named using its long ID), each containing these files:\n\n- `VERSION`: currently `1.0` - the file format version\n- `json`: detailed layer information, similar to `docker inspect layer_id`\n- `layer.tar`: A tarfile containing the filesystem changes in this layer\n\nThe `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.\n\nIf the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs.\n\n```json\n{\n \"hello-world\": {\n \"latest\": \"565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1\"\n }\n}\n```\n", - "operationId": "ImageGet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export several images", - "description": "Get a tarball containing all images and metadata for several image\nrepositories.\n\nFor each value of the `names` parameter: if it is a specific name and\ntag (e.g. `ubuntu:latest`), then only that image (and its parents) are\nreturned; if it is an image ID, similarly only that image (and its parents)\nare returned and there would be no names referenced in the 'repositories'\nfile for this image ID.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageGetAll", - "parameters": [ - { - "name": "names", - "in": "query", - "description": "Image names to filter by", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/load": { - "post": { - "tags": [ - "Image" - ], - "summary": "Import images", - "description": "Load a set of images and tags into a repository.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageLoad", - "parameters": [ - { - "name": "quiet", - "in": "query", - "description": "Suppress progress details during load.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "description": "Tar archive containing images", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "imagesTarball" - } - }, - "/containers/{id}/exec": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Create an exec instance", - "description": "Run a command inside a running container.", - "operationId": "ContainerExec", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Exec configuration", - "content": { - "application/json": { - "schema": { - "title": "ExecConfig", - "type": "object", - "properties": { - "AttachStdin": { - "type": "boolean", - "description": "Attach to `stdin` of the exec command." - }, - "AttachStdout": { - "type": "boolean", - "description": "Attach to `stdout` of the exec command." - }, - "AttachStderr": { - "type": "boolean", - "description": "Attach to `stderr` of the exec command." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - }, - "DetachKeys": { - "type": "string", - "description": "Override the key sequence for detaching a container. Format is\na single character `[a-Z]` or `ctrl-` where ``\nis one of: `a-z`, `@`, `^`, `[`, `,` or `_`.\n" - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `[\"VAR=value\", ...]`.\n", - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run, as a string or array of strings.", - "items": { - "type": "string" - } - }, - "Privileged": { - "type": "boolean", - "description": "Runs the exec process with extended privileges.", - "default": false - }, - "User": { - "type": "string", - "description": "The user, and optionally, group to run the exec process inside\nthe container. Format is one of: `user`, `user:group`, `uid`,\nor `uid:gid`.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for the exec process inside the container.\n" - } - }, - "example": { - "AttachStdin": false, - "AttachStdout": true, - "AttachStderr": true, - "DetachKeys": "ctrl-p,ctrl-q", - "Tty": false, - "Cmd": [ - "date" - ], - "Env": [ - "FOO=bar", - "BAZ=quux" - ] - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "container is paused", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execConfig" - } - }, - "/exec/{id}/start": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Start an exec instance", - "description": "Starts a previously set up exec instance. If detach is true, this endpoint\nreturns immediately after starting the command. Otherwise, it sets up an\ninteractive session with the command.\n", - "operationId": "ExecStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "ExecStartConfig", - "type": "object", - "properties": { - "Detach": { - "type": "boolean", - "description": "Detach from the command." - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - } - }, - "example": { - "Detach": false, - "Tty": true, - "ConsoleSize": [ - 80, - 64 - ] - } - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such exec instance", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Container is stopped or paused", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execStartConfig" - } - }, - "/exec/{id}/resize": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Resize an exec instance", - "description": "Resize the TTY session used by an exec instance. This endpoint only works\nif `tty` was specified as part of creating and starting the exec instance.\n", - "operationId": "ExecResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/exec/{id}/json": { - "get": { - "tags": [ - "Exec" - ], - "summary": "Inspect an exec instance", - "description": "Return low-level information about an exec instance.", - "operationId": "ExecInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ExecInspectResponse", - "type": "object", - "properties": { - "CanRemove": { - "type": "boolean" - }, - "DetachKeys": { - "type": "string" - }, - "ID": { - "type": "string" - }, - "Running": { - "type": "boolean" - }, - "ExitCode": { - "type": "integer" - }, - "ProcessConfig": { - "$ref": "#/components/schemas/ProcessConfig" - }, - "OpenStdin": { - "type": "boolean" - }, - "OpenStderr": { - "type": "boolean" - }, - "OpenStdout": { - "type": "boolean" - }, - "ContainerID": { - "type": "string" - }, - "Pid": { - "type": "integer", - "description": "The system process ID for the exec process." - } - } - }, - "example": { - "CanRemove": false, - "ContainerID": "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126", - "DetachKeys": "", - "ExitCode": 2, - "ID": "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b", - "OpenStderr": true, - "OpenStdin": true, - "OpenStdout": true, - "ProcessConfig": { - "arguments": [ - "-c", - "exit 2" - ], - "entrypoint": "sh", - "privileged": false, - "tty": true, - "user": "1000" - }, - "Running": false, - "Pid": 42000 - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes": { - "get": { - "tags": [ - "Volume" - ], - "summary": "List volumes", - "operationId": "VolumeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the volumes list. Available filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n volumes that are not in use by a container. When set to `false`\n (or `0`), only volumes that are in use by one or more\n containers are returned.\n- `driver=` Matches volumes based on their driver.\n- `label=` or `label=:` Matches volumes based on\n the presence of a `label` alone or a `label` and a value.\n- `name=` Matches all or part of a volume name.\n", - "schema": { - "type": "string", - "format": "json" - } - } - ], - "responses": { - "200": { - "description": "Summary volume data that matches the query", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeListResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/create": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Create a volume", - "operationId": "VolumeCreate", - "requestBody": { - "description": "Volume configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeCreateOptions" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "The volume was created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "volumeConfig" - } - }, - "/volumes/{name}": { - "get": { - "tags": [ - "Volume" - ], - "summary": "Inspect a volume", - "operationId": "VolumeInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "404": { - "description": "No such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Volume" - ], - "summary": "\"Update a volume. Valid only for Swarm cluster volumes\"\n", - "operationId": "VolumeUpdate", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name or ID of the volume", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the volume being updated. This is required to\navoid conflicting writes. Found in the volume's `ClusterVolume`\nfield.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the volume to update. Currently, only Availability may\nchange. All other fields must remain unchanged.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - } - }, - "description": "Volume configuration" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - }, - "delete": { - "tags": [ - "Volume" - ], - "summary": "Remove a volume", - "description": "Instruct the driver to remove the volume.", - "operationId": "VolumeDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force the removal of the volume", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "The volume was removed", - "content": {} - }, - "404": { - "description": "No such volume or volume driver", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Volume is in use and cannot be removed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/prune": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Delete unused volumes", - "operationId": "VolumePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.\n- `all` (`all=true`) - Consider all (local) volumes for pruning and not just anonymous volumes.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "VolumePruneResponse", - "type": "object", - "properties": { - "VolumesDeleted": { - "type": "array", - "description": "Volumes that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks": { - "get": { - "tags": [ - "Network" - ], - "summary": "List networks", - "description": "Returns a list of networks. For details on the format, see the\n[network inspect endpoint](#operation/NetworkInspect).\n\nNote that it uses a different, smaller representation of a network than\ninspecting a single network. For example, the list of containers attached\nto the network is not propagated in API versions 1.28 and up.\n", - "operationId": "NetworkList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to process\non the networks list.\n\nAvailable filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n networks that are not in use by a container. When set to `false`\n (or `0`), only networks that are in use by one or more\n containers are returned.\n- `driver=` Matches a network's driver.\n- `id=` Matches all or part of a network ID.\n- `label=` or `label==` of a network label.\n- `name=` Matches all or part of a network name.\n- `scope=[\"swarm\"|\"global\"|\"local\"]` Filters networks by scope (`swarm`, `global`, or `local`).\n- `type=[\"custom\"|\"builtin\"]` Filters networks by type. The `custom` keyword returns all user-defined networks.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Network" - } - }, - "example": [ - { - "Name": "bridge", - "Id": "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566", - "Created": "2016-10-19T06:21:00.416543526Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.17.0.0/16" - } - ] - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - } - }, - { - "Name": "none", - "Id": "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "null", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - }, - { - "Name": "host", - "Id": "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "host", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/{id}": { - "get": { - "tags": [ - "Network" - ], - "summary": "Inspect a network", - "operationId": "NetworkInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "verbose", - "in": "query", - "description": "Detailed inspect output for troubleshooting", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "scope", - "in": "query", - "description": "Filter the network by scope (swarm, global, or local)", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Network" - } - } - } - }, - "404": { - "description": "Network not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Network" - ], - "summary": "Remove a network", - "operationId": "NetworkDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such network", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/create": { - "post": { - "tags": [ - "Network" - ], - "summary": "Create a network", - "operationId": "NetworkCreate", - "requestBody": { - "description": "Network configuration", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateRequest", - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The network's name." - }, - "CheckDuplicate": { - "type": "boolean", - "description": "Deprecated: CheckDuplicate is now always enabled.\n" - }, - "Driver": { - "type": "string", - "description": "Name of the network driver plugin to use.", - "default": "bridge" - }, - "Internal": { - "type": "boolean", - "description": "Restrict external access to the network." - }, - "Attachable": { - "type": "boolean", - "description": "Globally scoped network is manually attachable by regular\ncontainers from workers in swarm mode.\n" - }, - "Ingress": { - "type": "boolean", - "description": "Ingress network is the network which provides the routing-mesh\nin swarm mode.\n" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "EnableIPv6": { - "type": "boolean", - "description": "Enable IPv6 on the network." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Network specific options to be used by the drivers." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - } - }, - "example": { - "Name": "isolated_nw", - "CheckDuplicate": false, - "Driver": "bridge", - "EnableIPv6": true, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.20.0.0/16", - "IPRange": "172.20.10.0/24", - "Gateway": "172.20.10.11" - }, - { - "Subnet": "2001:db8:abcd::/64", - "Gateway": "2001:db8:abcd::1011" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": true, - "Attachable": false, - "Ingress": false, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created network." - }, - "Warning": { - "type": "string" - } - }, - "example": { - "Id": "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30", - "Warning": "" - } - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Forbidden operation. This happens when trying to create a network named after a pre-defined network,\nor when trying to create an overlay network on a daemon which is not part of a Swarm cluster.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "plugin not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "networkConfig" - } - }, - "/networks/{id}/connect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Connect a container to a network", - "description": "The network must be either a local-scoped network or a swarm-scoped network with the `attachable` option set. A network cannot be re-attached to a running container", - "operationId": "NetworkConnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "NetworkConnectRequest", - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to connect to the network." - }, - "EndpointConfig": { - "$ref": "#/components/schemas/EndpointSettings" - } - }, - "example": { - "Container": "3613f73ba0e4", - "EndpointConfig": { - "IPAMConfig": { - "IPv4Address": "172.24.56.89", - "IPv6Address": "2001:db8::5689" - }, - "MacAddress": "02:42:ac:12:05:02" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Operation forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/{id}/disconnect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Disconnect a container from a network", - "operationId": "NetworkDisconnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "NetworkDisconnectRequest", - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to disconnect from the network.\n" - }, - "Force": { - "type": "boolean", - "description": "Force the container to disconnect from the network.\n" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/prune": { - "post": { - "tags": [ - "Network" - ], - "summary": "Delete unused networks", - "operationId": "NetworkPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkPruneResponse", - "type": "object", - "properties": { - "NetworksDeleted": { - "type": "array", - "description": "Networks that were deleted", - "items": { - "type": "string" - } - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "List plugins", - "description": "Returns information about installed plugins.", - "operationId": "PluginList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the plugin list.\n\nAvailable filters:\n\n- `capability=`\n- `enable=|`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plugin" - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/privileges": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Get plugin privileges", - "operationId": "GetPluginPrivileges", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/pull": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Install a plugin", - "description": "Pulls and installs a plugin. After the plugin is installed, it can be\nenabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).\n", - "operationId": "PluginPull", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "Remote reference for plugin to install.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "Local name for the pulled plugin.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/{name}/json": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Inspect a plugin", - "operationId": "PluginInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}": { - "delete": { - "tags": [ - "Plugin" - ], - "summary": "Remove a plugin", - "operationId": "PluginDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Disable the plugin before removing. This may result in issues if the\nplugin is in use by a container.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/enable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Enable a plugin", - "operationId": "PluginEnable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "timeout", - "in": "query", - "description": "Set the HTTP client timeout (in seconds)", - "schema": { - "type": "integer", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/disable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Disable a plugin", - "operationId": "PluginDisable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force disable a plugin even if still in use.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/upgrade": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Upgrade a plugin", - "operationId": "PluginUpgrade", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "Remote reference to upgrade to.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/create": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Create a plugin", - "operationId": "PluginCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Path to tar containing plugin rootfs and manifest", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "tarContext" - } - }, - "/plugins/{name}/push": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Push a plugin", - "description": "Push a plugin to the registry.\n", - "operationId": "PluginPush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/set": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Configure a plugin", - "operationId": "PluginSet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - "DEBUG=1" - ], - "items": { - "type": "string" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "404": { - "description": "Plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/nodes": { - "get": { - "tags": [ - "Node" - ], - "summary": "List nodes", - "operationId": "NodeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `id=`\n- `label=`\n- `membership=`(`accepted`|`pending`)`\n- `name=`\n- `node.label=`\n- `role=`(`manager`|`worker`)`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}": { - "get": { - "tags": [ - "Node" - ], - "summary": "Inspect a node", - "operationId": "NodeInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Node" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Node" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Node" - ], - "summary": "Delete a node", - "operationId": "NodeDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force remove a node from the swarm", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}/update": { - "post": { - "tags": [ - "Node" - ], - "summary": "Update a node", - "operationId": "NodeUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the node object being updated. This is required\nto avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Inspect swarm", - "operationId": "SwarmInspect", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - } - } - }, - "404": { - "description": "no such swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/init": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Initialize a new swarm", - "operationId": "SwarmInit", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmInitRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - }, - "text/plain": { - "schema": { - "title": "SwarmInitRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - }, - "text/plain": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/join": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Join an existing swarm", - "operationId": "SwarmJoin", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmJoinRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - }, - "text/plain": { - "schema": { - "title": "SwarmJoinRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/leave": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Leave a swarm", - "operationId": "SwarmLeave", - "parameters": [ - { - "name": "force", - "in": "query", - "description": "Force leave swarm, even if this is the last manager or that it will\nbreak the cluster.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/update": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Update a swarm", - "operationId": "SwarmUpdate", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "The version number of the swarm object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "rotateWorkerToken", - "in": "query", - "description": "Rotate the worker join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerToken", - "in": "query", - "description": "Rotate the manager join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerUnlockKey", - "in": "query", - "description": "Rotate the manager unlock key.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/unlockkey": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Get the unlock key", - "operationId": "SwarmUnlockkey", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - }, - "text/plain": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/unlock": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Unlock a locked manager", - "operationId": "SwarmUnlock", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmUnlockRequest", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services": { - "get": { - "tags": [ - "Service" - ], - "summary": "List services", - "operationId": "ServiceList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the services list.\n\nAvailable filters:\n\n- `id=`\n- `label=`\n- `mode=[\"replicated\"|\"global\"]`\n- `name=`\n", - "schema": { - "type": "string" - } - }, - { - "name": "status", - "in": "query", - "description": "Include service status, with count of running and desired tasks.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/create": { - "post": { - "tags": [ - "Service" - ], - "summary": "Create a service", - "operationId": "ServiceCreate", - "parameters": [ - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "web", - "TaskTemplate": { - "ContainerSpec": { - "Image": "nginx:alpine", - "Mounts": [ - { - "ReadOnly": true, - "Source": "web-data", - "Target": "/usr/share/nginx/html", - "Type": "volume", - "VolumeOptions": { - "DriverConfig": {}, - "Labels": { - "com.example.something": "something-value" - } - } - } - ], - "Hosts": [ - "10.10.10.10 host1", - "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2" - ], - "User": "33", - "DNSConfig": { - "Nameservers": [ - "8.8.8.8" - ], - "Search": [ - "example.org" - ], - "Options": [ - "timeout:3" - ] - }, - "Secrets": [ - { - "File": { - "Name": "www.example.org.key", - "UID": "33", - "GID": "33", - "Mode": 384 - }, - "SecretID": "fpjqlhnwb19zds35k8wn80lq9", - "SecretName": "example_org_domain_key" - } - ] - }, - "LogDriver": { - "Name": "json-file", - "Options": { - "max-file": "3", - "max-size": "10M" - } - }, - "Placement": {}, - "Resources": { - "Limits": { - "MemoryBytes": 104857600 - }, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "on-failure", - "Delay": 10000000000, - "MaxAttempts": 10 - } - }, - "Mode": { - "Replicated": { - "Replicas": 4 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Ports": [ - { - "Protocol": "tcp", - "PublishedPort": 8080, - "TargetPort": 80 - } - ] - }, - "Labels": { - "foo": "bar" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceCreateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "network is not eligible for services", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}": { - "get": { - "tags": [ - "Service" - ], - "summary": "Inspect a service", - "operationId": "ServiceInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "insertDefaults", - "in": "query", - "description": "Fill empty fields with default values.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Service" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Service" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Service" - ], - "summary": "Delete a service", - "operationId": "ServiceDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/{id}/update": { - "post": { - "tags": [ - "Service" - ], - "summary": "Update a service", - "operationId": "ServiceUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the service object being updated. This is\nrequired to avoid conflicting writes.\nThis version number should be the value as currently set on the\nservice *before* the update. You can find the current version by\ncalling `GET /services/{id}`\n", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "registryAuthFrom", - "in": "query", - "description": "If the `X-Registry-Auth` header is not specified, this parameter\nindicates where to find registry authorization credentials.\n", - "schema": { - "type": "string", - "default": "spec", - "enum": [ - "spec", - "previous-spec" - ] - } - }, - { - "name": "rollback", - "in": "query", - "description": "Set to this parameter to `previous` to cause a server-side rollback\nto the previous service spec. The supplied spec will be ignored in\nthis case.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "top", - "TaskTemplate": { - "ContainerSpec": { - "Image": "busybox", - "Args": [ - "top" - ] - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceUpdateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}/logs": { - "get": { - "tags": [ - "Service" - ], - "summary": "Get service logs", - "description": "Get `stdout` and `stderr` logs from a service. See also\n[`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "ServiceLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the service", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show service context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such service: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks": { - "get": { - "tags": [ - "Task" - ], - "summary": "List tasks", - "operationId": "TaskList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the tasks list.\n\nAvailable filters:\n\n- `desired-state=(running | shutdown | accepted)`\n- `id=`\n- `label=key` or `label=\"key=value\"`\n- `name=`\n- `node=`\n- `service=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ] - }, - { - "ID": "1yljwbmlr8er2waf8orvqpwms", - "Version": { - "Index": 30 - }, - "CreatedAt": "2016-06-07T21:07:30.019104782Z", - "UpdatedAt": "2016-06-07T21:07:30.231958098Z", - "Name": "hopeful_cori", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:30.202183143Z", - "State": "shutdown", - "Message": "shutdown", - "ContainerStatus": { - "ContainerID": "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" - } - }, - "DesiredState": "shutdown", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.5/16" - ] - } - ] - } - ], - "items": { - "$ref": "#/components/schemas/Task" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}": { - "get": { - "tags": [ - "Task" - ], - "summary": "Inspect a task", - "operationId": "TaskInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Task" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}/logs": { - "get": { - "tags": [ - "Task" - ], - "summary": "Get task logs", - "description": "Get `stdout` and `stderr` logs from a task.\nSee also [`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "TaskLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show task context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such task: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets": { - "get": { - "tags": [ - "Secret" - ], - "summary": "List secrets", - "operationId": "SecretList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the secrets list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "blt1owaxmitz71s9v5zh81zun", - "Version": { - "Index": 85 - }, - "CreatedAt": "2017-07-20T13:55:28.678958722Z", - "UpdatedAt": "2017-07-20T13:55:28.678958722Z", - "Spec": { - "Name": "mysql-passwd", - "Labels": { - "some.label": "some.value" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - }, - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - } - } - } - ], - "items": { - "$ref": "#/components/schemas/Secret" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/create": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Create a secret", - "operationId": "SecretCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/SecretSpec" - }, - { - "type": "object", - "example": { - "Name": "app-key.crt", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==", - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/secrets/{id}": { - "get": { - "tags": [ - "Secret" - ], - "summary": "Inspect a secret", - "operationId": "SecretInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Secret" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - } - } - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Secret" - ], - "summary": "Delete a secret", - "operationId": "SecretDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/{id}/update": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Update a Secret", - "operationId": "SecretUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the secret", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the secret object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the secret to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[SecretInspect endpoint](#operation/SecretInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such secret", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs": { - "get": { - "tags": [ - "Config" - ], - "summary": "List configs", - "operationId": "ConfigList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the configs list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "server.conf" - } - } - ], - "items": { - "$ref": "#/components/schemas/Config" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/create": { - "post": { - "tags": [ - "Config" - ], - "summary": "Create a config", - "operationId": "ConfigCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ConfigSpec" - }, - { - "type": "object", - "example": { - "Name": "server.conf", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs/{id}": { - "get": { - "tags": [ - "Config" - ], - "summary": "Inspect a config", - "operationId": "ConfigInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Config" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt" - } - } - } - } - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Config" - ], - "summary": "Delete a config", - "operationId": "ConfigDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/{id}/update": { - "post": { - "tags": [ - "Config" - ], - "summary": "Update a Config", - "operationId": "ConfigUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the config", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the config object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the config to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[ConfigInspect endpoint](#operation/ConfigInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such config", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/distribution/{name}/json": { - "get": { - "tags": [ - "Distribution" - ], - "summary": "Get image information from the registry", - "description": "Return image digest and platform information by contacting the registry.\n", - "operationId": "DistributionInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "descriptor and platform information", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DistributionInspect" - } - } - } - }, - "401": { - "description": "Failed authentication or no image found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/session": { - "post": { - "tags": [ - "Session" - ], - "summary": "Initialize interactive session", - "description": "Start a new interactive session with a server. Session allows server to\ncall back to the client for advanced capabilities.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to HTTP2 transport that allows\nthe client to expose gPRC services on that connection.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /session HTTP/1.1\nUpgrade: h2c\nConnection: Upgrade\n```\n\nThe Docker daemon responds with a `101 UPGRADED` response follow with\nthe raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nConnection: Upgrade\nUpgrade: h2c\n```\n", - "operationId": "Session", - "responses": { - "101": { - "description": "no error, hijacking successful", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Port": { - "required": [ - "PrivatePort", - "Type" - ], - "type": "object", - "properties": { - "IP": { - "type": "string", - "description": "Host IP address that the container's port is mapped to", - "format": "ip-address" - }, - "PrivatePort": { - "type": "integer", - "description": "Port on the container", - "format": "uint16", - "nullable": false - }, - "PublicPort": { - "type": "integer", - "description": "Port exposed on the host", - "format": "uint16" - }, - "Type": { - "type": "string", - "nullable": false, - "enum": [ - "tcp", - "udp", - "sctp" - ] - } - }, - "description": "An open port on a container", - "example": { - "PrivatePort": 8080, - "PublicPort": 80, - "Type": "tcp" - } - }, - "MountPoint": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The mount type:\n\n- `bind` a mount of a file or directory from the host into the container.\n- `volume` a docker volume with the given `Name`.\n- `tmpfs` a `tmpfs`.\n- `npipe` a named pipe from the host into the container.\n- `cluster` a Swarm cluster volume\n", - "example": "volume", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe", - "cluster" - ] - }, - "Name": { - "type": "string", - "description": "Name is the name reference to the underlying data defined by `Source`\ne.g., the volume name.\n", - "example": "myvolume" - }, - "Source": { - "type": "string", - "description": "Source location of the mount.\n\nFor volumes, this contains the storage location of the volume (within\n`/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains\nthe source (host) part of the bind-mount. For `tmpfs` mount points, this\nfield is empty.\n", - "example": "/var/lib/docker/volumes/myvolume/_data" - }, - "Destination": { - "type": "string", - "description": "Destination is the path relative to the container root (`/`) where\nthe `Source` is mounted inside the container.\n", - "example": "/usr/share/nginx/html/" - }, - "Driver": { - "type": "string", - "description": "Driver is the volume driver used to create the volume (if it is a volume).\n", - "example": "local" - }, - "Mode": { - "type": "string", - "description": "Mode is a comma separated list of options supplied by the user when\ncreating the bind/volume mount.\n\nThe default is platform-specific (`\"z\"` on Linux, empty on Windows).\n", - "example": "z" - }, - "RW": { - "type": "boolean", - "description": "Whether the mount is mounted writable (read-write).\n", - "example": true - }, - "Propagation": { - "type": "string", - "description": "Propagation describes how mounts are propagated from the host into the\nmount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)\nfor details. This field is not used on Windows.\n", - "example": "" - } - }, - "description": "MountPoint represents a mount point configuration inside the container.\nThis is used for reporting the mountpoints in use by a container.\n" - }, - "DeviceMapping": { - "type": "object", - "properties": { - "PathOnHost": { - "type": "string" - }, - "PathInContainer": { - "type": "string" - }, - "CgroupPermissions": { - "type": "string" - } - }, - "description": "A device mapping between the host and container", - "example": { - "PathOnHost": "/dev/deviceName", - "PathInContainer": "/dev/deviceName", - "CgroupPermissions": "mrw" - } - }, - "DeviceRequest": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "example": "nvidia" - }, - "Count": { - "type": "integer", - "example": -1 - }, - "DeviceIDs": { - "type": "array", - "example": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "items": { - "type": "string" - } - }, - "Capabilities": { - "type": "array", - "description": "A list of capabilities; an OR list of AND lists of capabilities.\n", - "example": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a key/value pairs. These options\nare passed directly to the driver.\n" - } - }, - "description": "A request for devices to be sent to device drivers" - }, - "ThrottleDevice": { - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Device path" - }, - "Rate": { - "minimum": 0, - "type": "integer", - "description": "Rate", - "format": "int64" - } - } - }, - "Mount": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "Container path." - }, - "Source": { - "type": "string", - "description": "Mount source (e.g. a volume name, a host path)." - }, - "Type": { - "type": "string", - "description": "The mount type. Available types:\n\n- `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.\n- `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed.\n- `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.\n- `npipe` Mounts a named pipe from the host into the container. Must exist prior to creating the container.\n- `cluster` a Swarm cluster volume\n", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe", - "cluster" - ] - }, - "ReadOnly": { - "type": "boolean", - "description": "Whether the mount should be read-only." - }, - "Consistency": { - "type": "string", - "description": "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`." - }, - "BindOptions": { - "type": "object", - "properties": { - "Propagation": { - "type": "string", - "description": "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.", - "enum": [ - "private", - "rprivate", - "shared", - "rshared", - "slave", - "rslave" - ] - }, - "NonRecursive": { - "type": "boolean", - "description": "Disable recursive bind mount.", - "default": false - }, - "CreateMountpoint": { - "type": "boolean", - "description": "Create mount point on host if missing", - "default": false - }, - "ReadOnlyNonRecursive": { - "type": "boolean", - "description": "Make the mount non-recursively read-only, but still leave the mount recursive\n(unless NonRecursive is set to true in conjunction).\n", - "default": false - }, - "ReadOnlyForceRecursive": { - "type": "boolean", - "description": "Raise an error if the mount cannot be made recursively read-only.", - "default": false - } - }, - "description": "Optional configuration for the `bind` type." - }, - "VolumeOptions": { - "type": "object", - "properties": { - "NoCopy": { - "type": "boolean", - "description": "Populate volume with data from the target.", - "default": false - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "DriverConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver to use to create the volume." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "key/value map of driver specific options." - } - }, - "description": "Map of driver specific options" - } - }, - "description": "Optional configuration for the `volume` type." - }, - "TmpfsOptions": { - "type": "object", - "properties": { - "SizeBytes": { - "type": "integer", - "description": "The size for the tmpfs mount in bytes.", - "format": "int64" - }, - "Mode": { - "type": "integer", - "description": "The permission mode for the tmpfs mount in an integer." - } - }, - "description": "Optional configuration for the `tmpfs` type." - } - } - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "- Empty string means not to restart\n- `no` Do not automatically restart\n- `always` Always restart\n- `unless-stopped` Restart always except when the user has manually stopped the container\n- `on-failure` Restart only when the container exit code is non-zero\n", - "enum": [ - "", - "no", - "always", - "unless-stopped", - "on-failure" - ] - }, - "MaximumRetryCount": { - "type": "integer", - "description": "If `on-failure` is used, the number of times to retry before giving up.\n" - } - }, - "description": "The behavior to apply when the container exits. The default is not to\nrestart.\n\nAn ever increasing delay (double the previous delay, starting at 100ms) is\nadded before each restart to prevent flooding the server.\n" - }, - "Resources": { - "type": "object", - "properties": { - "CpuShares": { - "type": "integer", - "description": "An integer value representing this container's relative CPU weight\nversus other containers.\n" - }, - "Memory": { - "type": "integer", - "description": "Memory limit in bytes.", - "format": "int64", - "default": 0 - }, - "CgroupParent": { - "type": "string", - "description": "Path to `cgroups` under which the container's `cgroup` is created. If\nthe path is not absolute, the path is considered to be relative to the\n`cgroups` path of the init process. Cgroups are created if they do not\nalready exist.\n" - }, - "BlkioWeight": { - "maximum": 1000, - "minimum": 0, - "type": "integer", - "description": "Block IO weight (relative weight)." - }, - "BlkioWeightDevice": { - "type": "array", - "description": "Block IO weight (relative device weight) in the form:\n\n```\n[{\"Path\": \"device_path\", \"Weight\": weight}]\n```\n", - "items": { - "type": "object", - "properties": { - "Path": { - "type": "string" - }, - "Weight": { - "minimum": 0, - "type": "integer" - } - } - } - }, - "BlkioDeviceReadBps": { - "type": "array", - "description": "Limit read rate (bytes per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteBps": { - "type": "array", - "description": "Limit write rate (bytes per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceReadIOps": { - "type": "array", - "description": "Limit read rate (IO per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteIOps": { - "type": "array", - "description": "Limit write rate (IO per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "CpuPeriod": { - "type": "integer", - "description": "The length of a CPU period in microseconds.", - "format": "int64" - }, - "CpuQuota": { - "type": "integer", - "description": "Microseconds of CPU time that the container can get in a CPU period.\n", - "format": "int64" - }, - "CpuRealtimePeriod": { - "type": "integer", - "description": "The length of a CPU real-time period in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpuRealtimeRuntime": { - "type": "integer", - "description": "The length of a CPU real-time runtime in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpusetCpus": { - "type": "string", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).\n", - "example": "0-3" - }, - "CpusetMems": { - "type": "string", - "description": "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only\neffective on NUMA systems.\n" - }, - "Devices": { - "type": "array", - "description": "A list of devices to add to the container.", - "items": { - "$ref": "#/components/schemas/DeviceMapping" - } - }, - "DeviceCgroupRules": { - "type": "array", - "description": "a list of cgroup rules to apply to the container", - "items": { - "type": "string", - "example": "c 13:* rwm" - } - }, - "DeviceRequests": { - "type": "array", - "description": "A list of requests for devices to be sent to device drivers.\n", - "items": { - "$ref": "#/components/schemas/DeviceRequest" - } - }, - "KernelMemoryTCP": { - "type": "integer", - "description": "Hard limit for kernel TCP buffer memory (in bytes). Depending on the\nOCI runtime in use, this option may be ignored. It is no longer supported\nby the default (runc) runtime.\n\nThis field is omitted when empty.\n", - "format": "int64" - }, - "MemoryReservation": { - "type": "integer", - "description": "Memory soft limit in bytes.", - "format": "int64" - }, - "MemorySwap": { - "type": "integer", - "description": "Total memory limit (memory + swap). Set as `-1` to enable unlimited\nswap.\n", - "format": "int64" - }, - "MemorySwappiness": { - "maximum": 100, - "minimum": 0, - "type": "integer", - "description": "Tune a container's memory swappiness behavior. Accepts an integer\nbetween 0 and 100.\n", - "format": "int64" - }, - "NanoCpus": { - "type": "integer", - "description": "CPU quota in units of 10-9 CPUs.", - "format": "int64" - }, - "OomKillDisable": { - "type": "boolean", - "description": "Disable OOM Killer for the container." - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "PidsLimit": { - "type": "integer", - "description": "Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null`\nto not change.\n", - "format": "int64", - "nullable": true - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example:\n\n```\n{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}\n```\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - }, - "CpuCount": { - "type": "integer", - "description": "The number of usable CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "CpuPercent": { - "type": "integer", - "description": "The usable percentage of the available CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "IOMaximumIOps": { - "type": "integer", - "description": "Maximum IOps for the container system drive (Windows only)", - "format": "int64" - }, - "IOMaximumBandwidth": { - "type": "integer", - "description": "Maximum IO in bytes per second for the container system drive\n(Windows only).\n", - "format": "int64" - } - }, - "description": "A container's resources (cgroups config, ulimits, etc)" - }, - "Limit": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "Pids": { - "type": "integer", - "description": "Limits the maximum number of PIDs in the container. Set `0` for unlimited.\n", - "format": "int64", - "example": 100, - "default": 0 - } - }, - "description": "An object describing a limit on resources which can be requested by a task.\n" - }, - "ResourceObject": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - } - }, - "description": "An object describing the resources which can be advertised by a node and\nrequested by a task.\n" - }, - "GenericResources": { - "type": "array", - "description": "User-defined resources can be either Integer resources (e.g, `SSD=3`) or\nString resources (e.g, `GPU=UUID1`).\n", - "example": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ], - "items": { - "type": "object", - "properties": { - "NamedResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "string" - } - } - }, - "DiscreteResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "integer", - "format": "int64" - } - } - } - } - } - }, - "HealthConfig": { - "type": "object", - "properties": { - "Test": { - "type": "array", - "description": "The test to perform. Possible values are:\n\n- `[]` inherit healthcheck from image or parent image\n- `[\"NONE\"]` disable healthcheck\n- `[\"CMD\", args...]` exec arguments directly\n- `[\"CMD-SHELL\", command]` run command with system's default shell\n", - "items": { - "type": "string" - } - }, - "Interval": { - "type": "integer", - "description": "The time to wait between checks in nanoseconds. It should be 0 or at\nleast 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "Timeout": { - "type": "integer", - "description": "The time to wait before considering the check to have hung. It should\nbe 0 or at least 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "Retries": { - "type": "integer", - "description": "The number of consecutive failures needed to consider a container as\nunhealthy. 0 means inherit.\n" - }, - "StartPeriod": { - "type": "integer", - "description": "Start period for the container to initialize before starting\nhealth-retries countdown in nanoseconds. It should be 0 or at least\n1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "StartInterval": { - "type": "integer", - "description": "The time to wait between checks in nanoseconds during the start period.\nIt should be 0 or at least 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - } - }, - "description": "A test to perform to check that the container is healthy." - }, - "Health": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "Status is one of `none`, `starting`, `healthy` or `unhealthy`\n\n- \"none\" Indicates there is no healthcheck\n- \"starting\" Starting indicates that the container is not yet ready\n- \"healthy\" Healthy indicates that the container is running correctly\n- \"unhealthy\" Unhealthy indicates that the container has a problem\n", - "example": "healthy", - "enum": [ - "none", - "starting", - "healthy", - "unhealthy" - ] - }, - "FailingStreak": { - "type": "integer", - "description": "FailingStreak is the number of consecutive failures", - "example": 0 - }, - "Log": { - "type": "array", - "description": "Log contains the last few results (oldest first)\n", - "items": { - "$ref": "#/components/schemas/HealthcheckResult" - } - } - }, - "description": "Health stores information about the container's healthcheck results.\n", - "nullable": true, - "x-nullable": true - }, - "HealthcheckResult": { - "type": "object", - "properties": { - "Start": { - "type": "string", - "description": "Date and time at which this check started in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "date-time", - "example": "2020-01-04T10:44:24.496525531Z" - }, - "End": { - "type": "string", - "description": "Date and time at which this check ended in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2020-01-04T10:45:21.364524523Z" - }, - "ExitCode": { - "type": "integer", - "description": "ExitCode meanings:\n\n- `0` healthy\n- `1` unhealthy\n- `2` reserved (considered unhealthy)\n- other values: error running probe\n", - "example": 0 - }, - "Output": { - "type": "string", - "description": "Output from last check" - } - }, - "description": "HealthcheckResult stores information about a single run of a healthcheck probe\n", - "nullable": true, - "x-nullable": true - }, - "HostConfig": { - "description": "Container configuration that depends on the host we are running on", - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "Binds": { - "type": "array", - "description": "A list of volume bindings for this container. Each volume binding\nis a string in one of these forms:\n\n- `host-src:container-dest[:options]` to bind-mount a host path\n into the container. Both `host-src`, and `container-dest` must\n be an _absolute_ path.\n- `volume-name:container-dest[:options]` to bind-mount a volume\n managed by a volume driver into the container. `container-dest`\n must be an _absolute_ path.\n\n`options` is an optional, comma-delimited list of:\n\n- `nocopy` disables automatic copying of data from the container\n path to the volume. The `nocopy` flag only applies to named volumes.\n- `[ro|rw]` mounts a volume read-only or read-write, respectively.\n If omitted or set to `rw`, volumes are mounted read-write.\n- `[z|Z]` applies SELinux labels to allow or deny multiple containers\n to read and write to the same volume.\n - `z`: a _shared_ content label is applied to the content. This\n label indicates that multiple containers can share the volume\n content, for both reading and writing.\n - `Z`: a _private unshared_ label is applied to the content.\n This label indicates that only the current container can use\n a private volume. Labeling systems such as SELinux require\n proper labels to be placed on volume content that is mounted\n into a container. Without a label, the security system can\n prevent a container's processes from using the content. By\n default, the labels set by the host operating system are not\n modified.\n- `[[r]shared|[r]slave|[r]private]` specifies mount\n [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).\n This only applies to bind-mounted volumes, not internal volumes\n or named volumes. Mount propagation requires the source mount\n point (the location where the source directory is mounted in the\n host operating system) to have the correct propagation properties.\n For shared volumes, the source mount point must be set to `shared`.\n For slave volumes, the mount must be set to either `shared` or\n `slave`.\n", - "items": { - "type": "string" - } - }, - "ContainerIDFile": { - "type": "string", - "description": "Path to a file where the container ID is written" - }, - "LogConfig": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "json-file", - "syslog", - "journald", - "gelf", - "fluentd", - "awslogs", - "splunk", - "etwlogs", - "none" - ] - }, - "Config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "The logging configuration for this container" - }, - "NetworkMode": { - "type": "string", - "description": "Network mode to use for this container. Supported standard values\nare: `bridge`, `host`, `none`, and `container:`. Any\nother value is taken as a custom network's name to which this\ncontainer should connect to.\n" - }, - "PortBindings": { - "$ref": "#/components/schemas/PortMap" - }, - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - }, - "AutoRemove": { - "type": "boolean", - "description": "Automatically remove the container when the container's process\nexits. This has no effect if `RestartPolicy` is set.\n" - }, - "VolumeDriver": { - "type": "string", - "description": "Driver that this container uses to mount volumes." - }, - "VolumesFrom": { - "type": "array", - "description": "A list of volumes to inherit from another container, specified in\nthe form `[:]`.\n", - "items": { - "type": "string" - } - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to the container.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.\n", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - }, - "Annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Arbitrary non-identifying metadata attached to container and\nprovided to the runtime when the container is started.\n" - }, - "CapAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CapDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CgroupnsMode": { - "type": "string", - "description": "cgroup namespace mode for the container. Possible values are:\n\n- `\"private\"`: the container runs in its own private cgroup namespace\n- `\"host\"`: use the host system's cgroup namespace\n\nIf not specified, the daemon default is used, which can either be `\"private\"`\nor `\"host\"`, depending on daemon version, kernel support and configuration.\n", - "enum": [ - "private", - "host" - ] - }, - "Dns": { - "type": "array", - "description": "A list of DNS servers for the container to use.", - "items": { - "type": "string" - } - }, - "DnsOptions": { - "type": "array", - "description": "A list of DNS options.", - "items": { - "type": "string" - } - }, - "DnsSearch": { - "type": "array", - "description": "A list of DNS search domains.", - "items": { - "type": "string" - } - }, - "ExtraHosts": { - "type": "array", - "description": "A list of hostnames/IP mappings to add to the container's `/etc/hosts`\nfile. Specified in the form `[\"hostname:IP\"]`.\n", - "items": { - "type": "string" - } - }, - "GroupAdd": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "IpcMode": { - "type": "string", - "description": "IPC sharing mode for the container. Possible values are:\n\n- `\"none\"`: own private IPC namespace, with /dev/shm not mounted\n- `\"private\"`: own private IPC namespace\n- `\"shareable\"`: own private IPC namespace, with a possibility to share it with other containers\n- `\"container:\"`: join another (shareable) container's IPC namespace\n- `\"host\"`: use the host system's IPC namespace\n\nIf not specified, daemon default is used, which can either be `\"private\"`\nor `\"shareable\"`, depending on daemon version and configuration.\n" - }, - "Cgroup": { - "type": "string", - "description": "Cgroup to use for the container." - }, - "Links": { - "type": "array", - "description": "A list of links for the container in the form `container_name:alias`.\n", - "items": { - "type": "string" - } - }, - "OomScoreAdj": { - "type": "integer", - "description": "An integer value containing the score given to the container in\norder to tune OOM killer preferences.\n", - "example": 500 - }, - "PidMode": { - "type": "string", - "description": "Set the PID (Process) Namespace mode for the container. It can be\neither:\n\n- `\"container:\"`: joins another container's PID namespace\n- `\"host\"`: use the host's PID namespace inside the container\n" - }, - "Privileged": { - "type": "boolean", - "description": "Gives the container full access to the host." - }, - "PublishAllPorts": { - "type": "boolean", - "description": "Allocates an ephemeral host port for all of a container's\nexposed ports.\n\nPorts are de-allocated when the container stops and allocated when\nthe container starts. The allocated port might be changed when\nrestarting the container.\n\nThe port is selected from the ephemeral port range that depends on\nthe kernel. For example, on Linux the range is defined by\n`/proc/sys/net/ipv4/ip_local_port_range`.\n" - }, - "ReadonlyRootfs": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "SecurityOpt": { - "type": "array", - "description": "A list of string values to customize labels for MLS systems, such\nas SELinux.\n", - "items": { - "type": "string" - } - }, - "StorageOpt": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Storage driver options for this container, in the form `{\"size\": \"120G\"}`.\n" - }, - "Tmpfs": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of container directories which should be replaced by tmpfs\nmounts, and their corresponding mount options. For example:\n\n```\n{ \"/run\": \"rw,noexec,nosuid,size=65536k\" }\n```\n" - }, - "UTSMode": { - "type": "string", - "description": "UTS namespace to use for the container." - }, - "UsernsMode": { - "type": "string", - "description": "Sets the usernamespace mode for the container when usernamespace\nremapping option is enabled.\n" - }, - "ShmSize": { - "minimum": 0, - "type": "integer", - "description": "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.\n", - "format": "int64" - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A list of kernel parameters (sysctls) to set in the container.\nFor example:\n\n```\n{\"net.ipv4.ip_forward\": \"1\"}\n```\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime to use with this container." - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the container. (Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "MaskedPaths": { - "type": "array", - "description": "The list of paths to be masked inside the container (this overrides\nthe default set of paths).\n", - "items": { - "type": "string" - } - }, - "ReadonlyPaths": { - "type": "array", - "description": "The list of paths to be set as read-only inside the container\n(this overrides the default set of paths).\n", - "items": { - "type": "string" - } - } - } - } - ] - }, - "ContainerConfig": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid RFC 1123 hostname.\n", - "example": "439f4e91bd1d" - }, - "Domainname": { - "type": "string", - "description": "The domain name to use for the container.\n" - }, - "User": { - "type": "string", - "description": "The user that commands are run as inside the container." - }, - "AttachStdin": { - "type": "boolean", - "description": "Whether to attach to `stdin`.", - "default": false - }, - "AttachStdout": { - "type": "boolean", - "description": "Whether to attach to `stdout`.", - "default": true - }, - "AttachStderr": { - "type": "boolean", - "description": "Whether to attach to `stderr`.", - "default": true - }, - "ExposedPorts": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping ports to an empty object in the form:\n\n`{\"/\": {}}`\n", - "nullable": true, - "example": { - "80/tcp": {}, - "443/tcp": {} - } - }, - "Tty": { - "type": "boolean", - "description": "Attach standard streams to a TTY, including `stdin` if it is not closed.\n", - "default": false - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`", - "default": false - }, - "StdinOnce": { - "type": "boolean", - "description": "Close `stdin` after one attached client disconnects", - "default": false - }, - "Env": { - "type": "array", - "description": "A list of environment variables to set inside the container in the\nform `[\"VAR=value\", ...]`. A variable without `=` is removed from the\nenvironment, rather than to have an empty value.\n", - "example": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run specified as a string or an array of strings.\n", - "example": [ - "/bin/sh" - ], - "items": { - "type": "string" - } - }, - "Healthcheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "ArgsEscaped": { - "type": "boolean", - "description": "Command is already escaped (Windows only)", - "nullable": true, - "example": false, - "default": false - }, - "Image": { - "type": "string", - "description": "The name (or reference) of the image to use when creating the container,\nor which was used when the container was created.\n", - "example": "example-image:1.0" - }, - "Volumes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping mount point paths inside the container to empty\nobjects.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for commands to run in.", - "example": "/public/" - }, - "Entrypoint": { - "type": "array", - "description": "The entry point for the container as a string or an array of strings.\n\nIf the array consists of exactly one empty string (`[\"\"]`) then the\nentry point is reset to system default (i.e., the entry point used by\ndocker when there is no `ENTRYPOINT` instruction in the `Dockerfile`).\n", - "example": [], - "items": { - "type": "string" - } - }, - "NetworkDisabled": { - "type": "boolean", - "description": "Disable networking for the container.", - "nullable": true - }, - "MacAddress": { - "type": "string", - "description": "MAC address of the container.\n\nDeprecated: this field is deprecated in API v1.44 and up. Use EndpointSettings.MacAddress instead.\n", - "nullable": true - }, - "OnBuild": { - "type": "array", - "description": "`ONBUILD` metadata that were defined in the image's `Dockerfile`.\n", - "nullable": true, - "example": [], - "items": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop a container as a string or unsigned integer.\n", - "nullable": true, - "example": "SIGTERM" - }, - "StopTimeout": { - "type": "integer", - "description": "Timeout to stop a container in seconds.", - "nullable": true - }, - "Shell": { - "type": "array", - "description": "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.\n", - "nullable": true, - "example": [ - "/bin/sh", - "-c" - ], - "items": { - "type": "string" - } - } - }, - "description": "Configuration for a container that is portable between hosts.\n\nWhen used as `ContainerConfig` field in an image, `ContainerConfig` is an\noptional field containing the configuration of the container that was last\ncommitted when creating the image.\n\nPrevious versions of Docker builder used this field to store build cache,\nand it is not in active use anymore.\n" - }, - "NetworkingConfig": { - "type": "object", - "properties": { - "EndpointsConfig": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "A mapping of network name to endpoint configuration for that network.\nThe endpoint configuration can be left empty to connect to that\nnetwork with no particular endpoint configuration.\n" - } - }, - "description": "NetworkingConfig represents the container's networking configuration for\neach of its interfaces.\nIt is used for the networking configs specified in the `docker create`\nand `docker network connect` commands.\n", - "example": { - "EndpointsConfig": { - "isolated_nw": { - "IPAMConfig": { - "IPv4Address": "172.20.30.33", - "IPv6Address": "2001:db8:abcd::3033", - "LinkLocalIPs": [ - "169.254.34.68", - "fe80::3468" - ] - }, - "MacAddress": "02:42:ac:12:05:02", - "Links": [ - "container_1", - "container_2" - ], - "Aliases": [ - "server_x", - "server_y" - ] - }, - "database_nw": {} - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Bridge": { - "type": "string", - "description": "Name of the default bridge interface when dockerd's --bridge flag is set.\n", - "example": "docker0" - }, - "SandboxID": { - "type": "string", - "description": "SandboxID uniquely represents a container's network stack.", - "example": "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3" - }, - "HairpinMode": { - "type": "boolean", - "description": "Indicates if hairpin NAT should be enabled on the virtual interface.\n\nDeprecated: This field is never set and will be removed in a future release.\n", - "example": false - }, - "LinkLocalIPv6Address": { - "type": "string", - "description": "IPv6 unicast address using the link-local prefix.\n\nDeprecated: This field is never set and will be removed in a future release.\n", - "example": "" - }, - "LinkLocalIPv6PrefixLen": { - "type": "integer", - "description": "Prefix length of the IPv6 unicast address.\n\nDeprecated: This field is never set and will be removed in a future release.\n" - }, - "Ports": { - "$ref": "#/components/schemas/PortMap" - }, - "SandboxKey": { - "type": "string", - "description": "SandboxKey is the full path of the netns handle", - "example": "/var/run/docker/netns/8ab54b426c38" - }, - "SecondaryIPAddresses": { - "type": "array", - "description": "Deprecated: This field is never set and will be removed in a future release.", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "SecondaryIPv6Addresses": { - "type": "array", - "description": "Deprecated: This field is never set and will be removed in a future release.", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "EndpointID": { - "type": "string", - "description": "EndpointID uniquely represents a service endpoint in a Sandbox.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.1" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 64 - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address for this network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8:2::100" - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the container on the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "02:42:ac:11:00:04" - }, - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "Information about all networks that the container is connected to.\n" - } - }, - "description": "NetworkSettings exposes the network settings in the API" - }, - "Address": { - "type": "object", - "properties": { - "Addr": { - "type": "string", - "description": "IP address." - }, - "PrefixLen": { - "type": "integer", - "description": "Mask length of the IP address." - } - }, - "description": "Address represents an IPv4 or IPv6 IP address." - }, - "PortMap": { - "type": "object", - "additionalProperties": { - "type": "array", - "nullable": true, - "items": { - "$ref": "#/components/schemas/PortBinding" - } - }, - "description": "PortMap describes the mapping of container ports to host ports, using the\ncontainer's port-number and protocol as key in the format `/`,\nfor example, `80/udp`.\n\nIf a container's port is mapped for multiple protocols, separate entries\nare added to the mapping table.\n", - "example": { - "443/tcp": [ - { - "HostIp": "127.0.0.1", - "HostPort": "4443" - } - ], - "80/tcp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - }, - { - "HostIp": "0.0.0.0", - "HostPort": "8080" - } - ], - "80/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - } - ], - "53/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "53" - } - ] - } - }, - "PortBinding": { - "type": "object", - "properties": { - "HostIp": { - "type": "string", - "description": "Host IP address that the container's port is mapped to.", - "example": "127.0.0.1" - }, - "HostPort": { - "type": "string", - "description": "Host port number that the container's port is mapped to.", - "example": "4443" - } - }, - "description": "PortBinding represents a binding between a host IP address and a host\nport.\n" - }, - "GraphDriverData": { - "required": [ - "Data", - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the storage driver.", - "nullable": false, - "example": "overlay2" - }, - "Data": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Low-level storage metadata, provided as key/value pairs.\n\nThis information is driver-specific, and depends on the storage-driver\nin use, and should be used for informational purposes only.\n", - "nullable": false, - "example": { - "MergedDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/merged", - "UpperDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/diff", - "WorkDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/work" - } - } - }, - "description": "Information about the storage driver used to store the container's and\nimage's filesystem.\n" - }, - "FilesystemChange": { - "required": [ - "Kind", - "Path" - ], - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Path to file or directory that has changed.\n", - "nullable": false - }, - "Kind": { - "$ref": "#/components/schemas/ChangeType" - } - }, - "description": "Change in the container's filesystem.\n" - }, - "ChangeType": { - "type": "integer", - "description": "Kind of change\n\nCan be one of:\n\n- `0`: Modified (\"C\")\n- `1`: Added (\"A\")\n- `2`: Deleted (\"D\")\n", - "format": "uint8", - "nullable": false, - "enum": [ - 0, - 1, - 2 - ], - "x-nullable": false - }, - "ImageInspect": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "ID is the content-addressable ID of an image.\n\nThis identifier is a content-addressable digest calculated from the\nimage's configuration (which includes the digests of layers used by\nthe image).\n\nNote that this digest differs from the `RepoDigests` below, which\nholds digests of image manifests that reference the image.\n", - "nullable": false, - "example": "sha256:ec3f0931a6e6b6855d76b2d7b0be30e81860baccd891b2e243280bf1cd8ad710" - }, - "RepoTags": { - "type": "array", - "description": "List of image names/tags in the local image cache that reference this\nimage.\n\nMultiple image tags can refer to the same image, and this list may be\nempty if no tags reference the image, in which case the image is\n\"untagged\", in which case it can still be referenced by its ID.\n", - "example": [ - "example:1.0", - "example:latest", - "example:stable", - "internal.registry.example.com:5000/example:1.0" - ], - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "description": "List of content-addressable digests of locally available image manifests\nthat the image is referenced from. Multiple manifests can refer to the\nsame image.\n\nThese digests are usually only available if the image was either pulled\nfrom a registry, or if the image was pushed to a registry, which is when\nthe manifest is generated and its digest calculated.\n", - "example": [ - "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", - "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578" - ], - "items": { - "type": "string" - } - }, - "Parent": { - "type": "string", - "description": "ID of the parent image.\n\nDepending on how the image was created, this field may be empty and\nis only set for images that were built/created locally. This field\nis empty if the image was pulled from an image registry.\n", - "nullable": false, - "example": "" - }, - "Comment": { - "type": "string", - "description": "Optional message that was set when committing or importing the image.\n", - "nullable": false, - "example": "" - }, - "Created": { - "type": "string", - "description": "Date and time at which the image was created, formatted in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n\nThis information is only available if present in the image,\nand omitted otherwise.\n", - "format": "dateTime", - "nullable": true, - "example": "2022-02-04T21:20:12.497794809Z" - }, - "Container": { - "type": "string", - "description": "The ID of the container that was used to create the image.\n\nDepending on how the image was created, this field may be empty.\n\n**Deprecated**: this field is kept for backward compatibility, but\nwill be removed in API v1.45.\n", - "example": "65974bc86f1770ae4bff79f651ebdbce166ae9aada632ee3fa9af3a264911735" - }, - "ContainerConfig": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "DockerVersion": { - "type": "string", - "description": "The version of Docker that was used to build the image.\n\nDepending on how the image was created, this field may be empty.\n", - "nullable": false, - "example": "20.10.7" - }, - "Author": { - "type": "string", - "description": "Name of the author that was specified when committing the image, or as\nspecified through MAINTAINER (deprecated) in the Dockerfile.\n", - "nullable": false, - "example": "" - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "Architecture": { - "type": "string", - "description": "Hardware CPU architecture that the image runs on.\n", - "nullable": false, - "example": "arm" - }, - "Variant": { - "type": "string", - "description": "CPU architecture variant (presently ARM-only).\n", - "nullable": true, - "example": "v7" - }, - "Os": { - "type": "string", - "description": "Operating System the image is built to run on.\n", - "nullable": false, - "example": "linux" - }, - "OsVersion": { - "type": "string", - "description": "Operating System version the image is built to run on (especially\nfor Windows).\n", - "nullable": true, - "example": "" - }, - "Size": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "VirtualSize": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n\nDeprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead.\n", - "format": "int64", - "example": 1239828 - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "RootFS": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "layers" - }, - "Layers": { - "type": "array", - "example": [ - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6", - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" - ], - "items": { - "type": "string" - } - } - }, - "description": "Information about the image's RootFS, including the layer IDs.\n" - }, - "Metadata": { - "type": "object", - "properties": { - "LastTagTime": { - "type": "string", - "description": "Date and time at which the image was last tagged in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n\nThis information is only available if the image was tagged locally,\nand omitted otherwise.\n", - "format": "dateTime", - "nullable": true, - "example": "2022-02-28T14:40:02.623929178Z" - } - }, - "description": "Additional metadata of the image in the local cache. This information\nis local to the daemon, and not part of the image itself.\n" - } - }, - "description": "Information about an image in the local image cache.\n" - }, - "ImageSummary": { - "required": [ - "Containers", - "Created", - "Id", - "Labels", - "ParentId", - "RepoDigests", - "RepoTags", - "SharedSize", - "Size" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "ID is the content-addressable ID of an image.\n\nThis identifier is a content-addressable digest calculated from the\nimage's configuration (which includes the digests of layers used by\nthe image).\n\nNote that this digest differs from the `RepoDigests` below, which\nholds digests of image manifests that reference the image.\n", - "nullable": false, - "example": "sha256:ec3f0931a6e6b6855d76b2d7b0be30e81860baccd891b2e243280bf1cd8ad710" - }, - "ParentId": { - "type": "string", - "description": "ID of the parent image.\n\nDepending on how the image was created, this field may be empty and\nis only set for images that were built/created locally. This field\nis empty if the image was pulled from an image registry.\n", - "nullable": false, - "example": "" - }, - "RepoTags": { - "type": "array", - "description": "List of image names/tags in the local image cache that reference this\nimage.\n\nMultiple image tags can refer to the same image, and this list may be\nempty if no tags reference the image, in which case the image is\n\"untagged\", in which case it can still be referenced by its ID.\n", - "nullable": false, - "example": [ - "example:1.0", - "example:latest", - "example:stable", - "internal.registry.example.com:5000/example:1.0" - ], - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "description": "List of content-addressable digests of locally available image manifests\nthat the image is referenced from. Multiple manifests can refer to the\nsame image.\n\nThese digests are usually only available if the image was either pulled\nfrom a registry, or if the image was pushed to a registry, which is when\nthe manifest is generated and its digest calculated.\n", - "nullable": false, - "example": [ - "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", - "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578" - ], - "items": { - "type": "string" - } - }, - "Created": { - "type": "integer", - "description": "Date and time at which the image was created as a Unix timestamp\n(number of seconds sinds EPOCH).\n", - "nullable": false, - "example": 1644009612 - }, - "Size": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n", - "format": "int64", - "nullable": false, - "example": 172064416 - }, - "SharedSize": { - "type": "integer", - "description": "Total size of image layers that are shared between this image and other\nimages.\n\nThis size is not calculated by default. `-1` indicates that the value\nhas not been set / calculated.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "VirtualSize": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n\nDeprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead.", - "format": "int64", - "example": 172064416 - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Containers": { - "type": "integer", - "description": "Number of containers using this image. Includes both stopped and running\ncontainers.\n\nThis size is not calculated by default, and depends on which API endpoint\nis used. `-1` indicates that the value has not been set / calculated.\n", - "nullable": false, - "example": 2 - } - }, - "x-go-name": "Summary" - }, - "AuthConfig": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "email": { - "type": "string" - }, - "serveraddress": { - "type": "string" - } - }, - "example": { - "username": "hannibal", - "password": "xxxx", - "serveraddress": "https://index.docker.io/v1/" - } - }, - "ProcessConfig": { - "type": "object", - "properties": { - "privileged": { - "type": "boolean" - }, - "user": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "entrypoint": { - "type": "string" - }, - "arguments": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Volume": { - "required": [ - "Driver", - "Labels", - "Mountpoint", - "Name", - "Options", - "Scope" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the volume.", - "nullable": false, - "example": "tardis" - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver used by the volume.", - "nullable": false, - "example": "custom" - }, - "Mountpoint": { - "type": "string", - "description": "Mount path of the volume on the host.", - "nullable": false, - "example": "/var/lib/docker/volumes/tardis" - }, - "CreatedAt": { - "type": "string", - "description": "Date/Time the volume was created.", - "format": "dateTime", - "example": "2016-06-07T20:31:11.853781916Z" - }, - "Status": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "Low-level details about the volume, provided by the volume driver.\nDetails are returned as a map with key/value pairs:\n`{\"key\":\"value\",\"key2\":\"value2\"}`.\n\nThe `Status` field is optional, and is omitted if the volume driver\ndoes not support this feature.\n", - "example": { - "hello": "world" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Scope": { - "type": "string", - "description": "The level at which the volume exists. Either `global` for cluster-wide,\nor `local` for machine level.\n", - "nullable": false, - "example": "local", - "default": "local", - "enum": [ - "local", - "global" - ] - }, - "ClusterVolume": { - "$ref": "#/components/schemas/ClusterVolume" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The driver specific options used when creating the volume.\n", - "example": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - }, - "UsageData": { - "required": [ - "RefCount", - "Size" - ], - "type": "object", - "properties": { - "Size": { - "type": "integer", - "description": "Amount of disk space used by the volume (in bytes). This information\nis only available for volumes created with the `\"local\"` volume\ndriver. For volumes created with other volume drivers, this field\nis set to `-1` (\"not available\")\n", - "format": "int64", - "nullable": false, - "default": -1 - }, - "RefCount": { - "type": "integer", - "description": "The number of containers referencing this volume. This field\nis set to `-1` if the reference-count is not available.\n", - "format": "int64", - "nullable": false, - "default": -1 - } - }, - "description": "Usage details about the volume. This information is used by the\n`GET /system/df` endpoint, and omitted in other endpoints.\n", - "nullable": true, - "x-go-name": "UsageData" - } - } - }, - "VolumeCreateOptions": { - "title": "VolumeConfig", - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The new volume's name. If not specified, Docker generates a name.\n", - "nullable": false, - "example": "tardis" - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver to use.", - "nullable": false, - "example": "custom", - "default": "local" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A mapping of driver options and values. These options are\npassed directly to the driver and are driver specific.\n", - "example": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "ClusterVolumeSpec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - } - }, - "description": "Volume configuration", - "x-go-name": "CreateOptions" - }, - "VolumeListResponse": { - "title": "VolumeListResponse", - "type": "object", - "properties": { - "Volumes": { - "type": "array", - "description": "List of volumes", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "Warnings": { - "type": "array", - "description": "Warnings that occurred when fetching the list of volumes.\n", - "example": [], - "items": { - "type": "string" - } - } - }, - "description": "Volume list response", - "x-go-name": "ListResponse" - }, - "Network": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Created": { - "type": "string", - "format": "dateTime" - }, - "Scope": { - "type": "string" - }, - "Driver": { - "type": "string" - }, - "EnableIPv6": { - "type": "boolean" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "Internal": { - "type": "boolean" - }, - "Attachable": { - "type": "boolean" - }, - "Ingress": { - "type": "boolean" - }, - "Containers": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/NetworkContainer" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "example": { - "Name": "net01", - "Id": "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99", - "Created": "2016-10-19T04:33:30.360899459Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.19.0.0/16", - "Gateway": "172.19.0.1" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": false, - "Attachable": false, - "Ingress": false, - "Containers": { - "19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c": { - "Name": "test", - "EndpointID": "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a", - "MacAddress": "02:42:ac:13:00:02", - "IPv4Address": "172.19.0.2/16", - "IPv6Address": "" - } - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "IPAM": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "description": "Name of the IPAM driver to use.", - "default": "default" - }, - "Config": { - "type": "array", - "description": "List of IPAM configuration options, specified as a map:\n\n```\n{\"Subnet\": , \"IPRange\": , \"Gateway\": , \"AuxAddress\": }\n```\n", - "items": { - "$ref": "#/components/schemas/IPAMConfig" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a map." - } - } - }, - "IPAMConfig": { - "type": "object", - "properties": { - "Subnet": { - "type": "string" - }, - "IPRange": { - "type": "string" - }, - "Gateway": { - "type": "string" - }, - "AuxiliaryAddresses": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "NetworkContainer": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "EndpointID": { - "type": "string" - }, - "MacAddress": { - "type": "string" - }, - "IPv4Address": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - } - } - }, - "BuildInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "stream": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - }, - "aux": { - "$ref": "#/components/schemas/ImageID" - } - } - }, - "BuildCache": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique ID of the build cache record.\n", - "example": "ndlpt0hhvkqcdfkputsk4cq9c" - }, - "Parent": { - "type": "string", - "description": "ID of the parent build cache record.\n\n> **Deprecated**: This field is deprecated, and omitted if empty.\n", - "nullable": true, - "example": "" - }, - "Parents": { - "type": "array", - "description": "List of parent build cache record IDs.\n", - "nullable": true, - "example": [ - "hw53o5aio51xtltp5xjp8v7fx" - ], - "items": { - "type": "string" - } - }, - "Type": { - "type": "string", - "description": "Cache record type.\n", - "example": "regular", - "enum": [ - "internal", - "frontend", - "source.local", - "source.git.checkout", - "exec.cachemount", - "regular" - ] - }, - "Description": { - "type": "string", - "description": "Description of the build-step that produced the build cache.\n", - "example": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache" - }, - "InUse": { - "type": "boolean", - "description": "Indicates if the build cache is in use.\n", - "example": false - }, - "Shared": { - "type": "boolean", - "description": "Indicates if the build cache is shared.\n", - "example": true - }, - "Size": { - "type": "integer", - "description": "Amount of disk space used by the build cache (in bytes).\n", - "example": 51 - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the build cache was created in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "LastUsedAt": { - "type": "string", - "description": "Date and time at which the build cache was last used in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "nullable": true, - "example": "2017-08-09T07:09:37.632105588Z" - }, - "UsageCount": { - "type": "integer", - "example": 26 - } - }, - "description": "BuildCache contains information about a build cache record.\n" - }, - "ImageID": { - "type": "object", - "properties": { - "ID": { - "type": "string" - } - }, - "description": "Image ID or Digest", - "example": { - "ID": "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" - } - }, - "CreateImageInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "PushImageInfo": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "ErrorDetail": { - "type": "object", - "properties": { - "code": { - "type": "integer" - }, - "message": { - "type": "string" - } - } - }, - "ProgressDetail": { - "type": "object", - "properties": { - "current": { - "type": "integer" - }, - "total": { - "type": "integer" - } - } - }, - "ErrorResponse": { - "required": [ - "message" - ], - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The error message.", - "nullable": false - } - }, - "description": "Represents an error.", - "example": { - "message": "Something went wrong." - } - }, - "IdResponse": { - "required": [ - "Id" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The id of the newly created object.", - "nullable": false - } - }, - "description": "Response to an API call that returns just an Id" - }, - "EndpointSettings": { - "type": "object", - "properties": { - "IPAMConfig": { - "$ref": "#/components/schemas/EndpointIPAMConfig" - }, - "Links": { - "type": "array", - "example": [ - "container_1", - "container_2" - ], - "items": { - "type": "string" - } - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the endpoint on this network. The network driver might ignore this parameter.\n", - "example": "02:42:ac:11:00:04" - }, - "Aliases": { - "type": "array", - "example": [ - "server_x", - "server_y" - ], - "items": { - "type": "string" - } - }, - "NetworkID": { - "type": "string", - "description": "Unique ID of the network.\n", - "example": "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a" - }, - "EndpointID": { - "type": "string", - "description": "Unique ID for the service endpoint in a Sandbox.\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for this network.\n", - "example": "172.17.0.1" - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address.\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address.\n", - "example": "2001:db8:2::100" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address.\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n", - "format": "int64", - "example": 64 - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "DriverOpts is a mapping of driver options and values. These options\nare passed directly to the driver and are driver specific.\n", - "nullable": true, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "DNSNames": { - "type": "array", - "description": "List of all DNS names an endpoint has on a specific network. This\nlist is based on the container name, network aliases, container short\nID, and hostname.\n\nThese DNS names are non-fully qualified but can contain several dots.\nYou can get fully qualified DNS names by appending `.`.\nFor instance, if container name is `my.ctr` and the network is named\n`testnet`, `DNSNames` will contain `my.ctr` and the FQDN will be\n`my.ctr.testnet`.\n", - "example": [ - "foobar", - "server_x", - "server_y", - "my.ctr" - ], - "items": { - "type": "string" - } - } - }, - "description": "Configuration for a network endpoint." - }, - "EndpointIPAMConfig": { - "type": "object", - "properties": { - "IPv4Address": { - "type": "string", - "example": "172.20.30.33" - }, - "IPv6Address": { - "type": "string", - "example": "2001:db8:abcd::3033" - }, - "LinkLocalIPs": { - "type": "array", - "example": [ - "169.254.34.68", - "fe80::3468" - ], - "items": { - "type": "string" - } - } - }, - "description": "EndpointIPAMConfig represents an endpoint's IPAM configuration.\n", - "nullable": true, - "x-nullable": true - }, - "PluginMount": { - "required": [ - "Description", - "Destination", - "Name", - "Options", - "Settable", - "Source", - "Type" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "some-mount" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "This is a mount that's used by the plugin." - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Source": { - "type": "string", - "example": "/var/lib/docker/plugins/" - }, - "Destination": { - "type": "string", - "nullable": false, - "example": "/mnt/state" - }, - "Type": { - "type": "string", - "nullable": false, - "example": "bind" - }, - "Options": { - "type": "array", - "example": [ - "rbind", - "rw" - ], - "items": { - "type": "string" - } - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginDevice": { - "required": [ - "Description", - "Name", - "Path", - "Settable" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Path": { - "type": "string", - "example": "/dev/fuse" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginEnv": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "string" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginInterfaceType": { - "required": [ - "Capability", - "Prefix", - "Version" - ], - "type": "object", - "properties": { - "Prefix": { - "type": "string", - "nullable": false - }, - "Capability": { - "type": "string", - "nullable": false - }, - "Version": { - "type": "string", - "nullable": false - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginPrivilege": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "example": "network" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "example": [ - "host" - ], - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission the user has to accept upon installing\nthe plugin.\n", - "x-go-name": "PluginPrivilege" - }, - "Plugin": { - "required": [ - "Config", - "Enabled", - "Name", - "Settings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "example": "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" - }, - "Name": { - "type": "string", - "nullable": false, - "example": "tiborvass/sample-volume-plugin" - }, - "Enabled": { - "type": "boolean", - "description": "True if the plugin is running. False if the plugin is not running, only installed.", - "nullable": false, - "example": true - }, - "Settings": { - "required": [ - "Args", - "Devices", - "Env", - "Mounts" - ], - "type": "object", - "properties": { - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - "DEBUG=0" - ], - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "items": { - "type": "string" - } - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "description": "Settings that can be modified by users.", - "nullable": false - }, - "PluginReference": { - "type": "string", - "description": "plugin remote reference used to push/pull the plugin", - "nullable": false, - "example": "localhost:5000/tiborvass/sample-volume-plugin:latest" - }, - "Config": { - "required": [ - "Args", - "Description", - "Documentation", - "Entrypoint", - "Env", - "Interface", - "IpcHost", - "Linux", - "Mounts", - "Network", - "PidHost", - "PropagatedMount", - "WorkDir" - ], - "type": "object", - "properties": { - "DockerVersion": { - "type": "string", - "description": "Docker Version used to create the plugin", - "nullable": false, - "example": "17.06.0-ce" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "A sample volume plugin for Docker" - }, - "Documentation": { - "type": "string", - "nullable": false, - "example": "https://docs.docker.com/engine/extend/plugins/" - }, - "Interface": { - "required": [ - "Socket", - "Types" - ], - "type": "object", - "properties": { - "Types": { - "type": "array", - "example": [ - "docker.volumedriver/1.0" - ], - "items": { - "$ref": "#/components/schemas/PluginInterfaceType" - } - }, - "Socket": { - "type": "string", - "nullable": false, - "example": "plugins.sock" - }, - "ProtocolScheme": { - "type": "string", - "description": "Protocol to use for clients connecting to the plugin.", - "example": "some.protocol/v1.0", - "enum": [ - "", - "moby.plugins.http/v1" - ] - } - }, - "description": "The interface between Docker and the plugin", - "nullable": false - }, - "Entrypoint": { - "type": "array", - "example": [ - "/usr/bin/sample-volume-plugin", - "/data" - ], - "items": { - "type": "string" - } - }, - "WorkDir": { - "type": "string", - "nullable": false, - "example": "/bin/" - }, - "User": { - "type": "object", - "properties": { - "UID": { - "type": "integer", - "format": "uint32", - "example": 1000 - }, - "GID": { - "type": "integer", - "format": "uint32", - "example": 1000 - } - }, - "nullable": false - }, - "Network": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "host" - } - }, - "nullable": false - }, - "Linux": { - "required": [ - "AllowAllDevices", - "Capabilities", - "Devices" - ], - "type": "object", - "properties": { - "Capabilities": { - "type": "array", - "example": [ - "CAP_SYS_ADMIN", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "AllowAllDevices": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "nullable": false - }, - "PropagatedMount": { - "type": "string", - "nullable": false, - "example": "/mnt/volumes" - }, - "IpcHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "PidHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - { - "Name": "DEBUG", - "Description": "If set, prints debug messages", - "Value": "0" - } - ], - "items": { - "$ref": "#/components/schemas/PluginEnv" - } - }, - "Args": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "args" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "command line arguments" - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "nullable": false - }, - "rootfs": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "layers" - }, - "diff_ids": { - "type": "array", - "example": [ - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887", - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" - ], - "items": { - "type": "string" - } - } - } - } - }, - "description": "The config of a plugin.", - "nullable": false - } - }, - "description": "A plugin for the Engine API" - }, - "ObjectVersion": { - "type": "object", - "properties": { - "Index": { - "type": "integer", - "format": "uint64", - "example": 373531 - } - }, - "description": "The version number of the object such as node, service, etc. This is needed\nto avoid conflicting writes. The client must send the version number along\nwith the modified specification when updating these objects.\n\nThis approach ensures safe concurrency and determinism in that the change\non the object may not be applied if the version number has changed from the\nlast read. In other words, if two update requests specify the same base\nversion, only one of the requests can succeed. As a result, two separate\nupdate requests that happen at the same time will not unintentionally\noverwrite each other.\n" - }, - "NodeSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name for the node.", - "example": "my-node" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Role": { - "type": "string", - "description": "Role of the node.", - "example": "manager", - "enum": [ - "worker", - "manager" - ] - }, - "Availability": { - "type": "string", - "description": "Availability of the node.", - "example": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "example": { - "Availability": "active", - "Name": "node-name", - "Role": "manager", - "Labels": { - "foo": "bar" - } - } - }, - "Node": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "24ifsmvkjbyhk" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the node was added to the swarm in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the node was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/NodeSpec" - }, - "Description": { - "$ref": "#/components/schemas/NodeDescription" - }, - "Status": { - "$ref": "#/components/schemas/NodeStatus" - }, - "ManagerStatus": { - "$ref": "#/components/schemas/ManagerStatus" - } - } - }, - "NodeDescription": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "example": "bf3067039e47" - }, - "Platform": { - "$ref": "#/components/schemas/Platform" - }, - "Resources": { - "$ref": "#/components/schemas/ResourceObject" - }, - "Engine": { - "$ref": "#/components/schemas/EngineDescription" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - } - }, - "description": "NodeDescription encapsulates the properties of the Node as reported by the\nagent.\n" - }, - "Platform": { - "type": "object", - "properties": { - "Architecture": { - "type": "string", - "description": "Architecture represents the hardware architecture (for example,\n`x86_64`).\n", - "example": "x86_64" - }, - "OS": { - "type": "string", - "description": "OS represents the Operating System (for example, `linux` or `windows`).\n", - "example": "linux" - } - }, - "description": "Platform represents the platform (Arch/OS).\n" - }, - "EngineDescription": { - "type": "object", - "properties": { - "EngineVersion": { - "type": "string", - "example": "17.06.0" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "example": { - "foo": "bar" - } - }, - "Plugins": { - "type": "array", - "example": [ - { - "Type": "Log", - "Name": "awslogs" - }, - { - "Type": "Log", - "Name": "fluentd" - }, - { - "Type": "Log", - "Name": "gcplogs" - }, - { - "Type": "Log", - "Name": "gelf" - }, - { - "Type": "Log", - "Name": "journald" - }, - { - "Type": "Log", - "Name": "json-file" - }, - { - "Type": "Log", - "Name": "splunk" - }, - { - "Type": "Log", - "Name": "syslog" - }, - { - "Type": "Network", - "Name": "bridge" - }, - { - "Type": "Network", - "Name": "host" - }, - { - "Type": "Network", - "Name": "ipvlan" - }, - { - "Type": "Network", - "Name": "macvlan" - }, - { - "Type": "Network", - "Name": "null" - }, - { - "Type": "Network", - "Name": "overlay" - }, - { - "Type": "Volume", - "Name": "local" - }, - { - "Type": "Volume", - "Name": "localhost:5000/vieux/sshfs:latest" - }, - { - "Type": "Volume", - "Name": "vieux/sshfs:latest" - } - ], - "items": { - "type": "object", - "properties": { - "Type": { - "type": "string" - }, - "Name": { - "type": "string" - } - } - } - } - }, - "description": "EngineDescription provides information about an engine." - }, - "TLSInfo": { - "type": "object", - "properties": { - "TrustRoot": { - "type": "string", - "description": "The root CA certificate(s) that are used to validate leaf TLS\ncertificates.\n" - }, - "CertIssuerSubject": { - "type": "string", - "description": "The base64-url-safe-encoded raw subject bytes of the issuer." - }, - "CertIssuerPublicKey": { - "type": "string", - "description": "The base64-url-safe-encoded raw public key bytes of the issuer.\n" - } - }, - "description": "Information about the issuer of leaf TLS certificates and the trusted root\nCA certificate.\n", - "example": { - "TrustRoot": "-----BEGIN CERTIFICATE-----\nMIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw\nEzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0\nMzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf\n3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO\nPQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz\npxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H\n-----END CERTIFICATE-----\n", - "CertIssuerSubject": "MBMxETAPBgNVBAMTCHN3YXJtLWNh", - "CertIssuerPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A==" - } - }, - "NodeStatus": { - "type": "object", - "properties": { - "State": { - "$ref": "#/components/schemas/NodeState" - }, - "Message": { - "type": "string", - "example": "" - }, - "Addr": { - "type": "string", - "description": "IP address of the node.", - "example": "172.17.0.2" - } - }, - "description": "NodeStatus represents the status of a node.\n\nIt provides the current status of the node, as seen by the manager.\n" - }, - "NodeState": { - "type": "string", - "description": "NodeState represents the state of a node.", - "example": "ready", - "enum": [ - "unknown", - "down", - "ready", - "disconnected" - ] - }, - "ManagerStatus": { - "type": "object", - "properties": { - "Leader": { - "type": "boolean", - "example": true, - "default": false - }, - "Reachability": { - "$ref": "#/components/schemas/Reachability" - }, - "Addr": { - "type": "string", - "description": "The IP address and port at which the manager is reachable.\n", - "example": "10.0.0.46:2377" - } - }, - "description": "ManagerStatus represents the status of a manager.\n\nIt provides the current status of a node's manager component, if the node\nis a manager.\n", - "nullable": true, - "x-nullable": true - }, - "Reachability": { - "type": "string", - "description": "Reachability represents the reachability of a node.", - "example": "reachable", - "enum": [ - "unknown", - "unreachable", - "reachable" - ] - }, - "SwarmSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the swarm.", - "example": "default" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.corp.type": "production", - "com.example.corp.department": "engineering" - } - }, - "Orchestration": { - "type": "object", - "properties": { - "TaskHistoryRetentionLimit": { - "type": "integer", - "description": "The number of historic tasks to keep per instance or node. If\nnegative, never remove completed or failed tasks.\n", - "format": "int64", - "example": 10 - } - }, - "description": "Orchestration configuration.", - "nullable": true - }, - "Raft": { - "type": "object", - "properties": { - "SnapshotInterval": { - "type": "integer", - "description": "The number of log entries between snapshots.", - "format": "uint64", - "example": 10000 - }, - "KeepOldSnapshots": { - "type": "integer", - "description": "The number of snapshots to keep beyond the current snapshot.\n", - "format": "uint64" - }, - "LogEntriesForSlowFollowers": { - "type": "integer", - "description": "The number of log entries to keep around to sync up slow followers\nafter a snapshot is created.\n", - "format": "uint64", - "example": 500 - }, - "ElectionTick": { - "type": "integer", - "description": "The number of ticks that a follower will wait for a message from\nthe leader before becoming a candidate and starting an election.\n`ElectionTick` must be greater than `HeartbeatTick`.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 3 - }, - "HeartbeatTick": { - "type": "integer", - "description": "The number of ticks between heartbeats. Every HeartbeatTick ticks,\nthe leader will send a heartbeat to the followers.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 1 - } - }, - "description": "Raft configuration." - }, - "Dispatcher": { - "type": "object", - "properties": { - "HeartbeatPeriod": { - "type": "integer", - "description": "The delay for an agent to send a heartbeat to the dispatcher.\n", - "format": "int64", - "example": 5000000000 - } - }, - "description": "Dispatcher configuration.", - "nullable": true - }, - "CAConfig": { - "type": "object", - "properties": { - "NodeCertExpiry": { - "type": "integer", - "description": "The duration node certificates are issued for.", - "format": "int64", - "example": 7776000000000000 - }, - "ExternalCAs": { - "type": "array", - "description": "Configuration for forwarding signing requests to an external\ncertificate authority.\n", - "items": { - "type": "object", - "properties": { - "Protocol": { - "type": "string", - "description": "Protocol for communication with the external CA (currently\nonly `cfssl` is supported).\n", - "default": "cfssl", - "enum": [ - "cfssl" - ] - }, - "URL": { - "type": "string", - "description": "URL where certificate signing requests should be sent.\n" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "An object with key/value pairs that are interpreted as\nprotocol-specific options for the external CA driver.\n" - }, - "CACert": { - "type": "string", - "description": "The root CA certificate (in PEM format) this external CA uses\nto issue TLS certificates (assumed to be to the current swarm\nroot CA certificate if not provided).\n" - } - } - } - }, - "SigningCACert": { - "type": "string", - "description": "The desired signing CA certificate for all swarm node TLS leaf\ncertificates, in PEM format.\n" - }, - "SigningCAKey": { - "type": "string", - "description": "The desired signing CA key for all swarm node TLS leaf certificates,\nin PEM format.\n" - }, - "ForceRotate": { - "type": "integer", - "description": "An integer whose purpose is to force swarm to generate a new\nsigning CA certificate and key, if none have been specified in\n`SigningCACert` and `SigningCAKey`\n", - "format": "uint64" - } - }, - "description": "CA configuration.", - "nullable": true - }, - "EncryptionConfig": { - "type": "object", - "properties": { - "AutoLockManagers": { - "type": "boolean", - "description": "If set, generate a key and use it to lock data stored on the\nmanagers.\n", - "example": false - } - }, - "description": "Parameters related to encryption-at-rest." - }, - "TaskDefaults": { - "type": "object", - "properties": { - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The log driver to use as a default for new tasks.\n", - "example": "json-file" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options for the selectd log driver, specified\nas key/value pairs.\n", - "example": { - "max-file": "10", - "max-size": "100m" - } - } - }, - "description": "The log driver to use for tasks created in the orchestrator if\nunspecified by a service.\n\nUpdating this value only affects new tasks. Existing tasks continue\nto use their previously configured log driver until recreated.\n" - } - }, - "description": "Defaults for creating tasks in this cluster." - } - }, - "description": "User modifiable swarm configuration." - }, - "ClusterInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the swarm.", - "example": "abajmipo7b4xz5ip2nrla6b11" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the swarm was initialised in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the swarm was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - }, - "RootRotationInProgress": { - "type": "boolean", - "description": "Whether there is currently a root CA rotation in progress for the swarm\n", - "example": false - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nIf no port is set or is set to 0, the default port (4789) is used.\n", - "format": "uint32", - "example": 4789 - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global scope\nnetworks.\n", - "items": { - "type": "string", - "format": "CIDR", - "example": "" - } - }, - "SubnetSize": { - "maximum": 29, - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created from the\ndefault subnet pool.\n", - "format": "uint32", - "example": 24 - } - }, - "description": "ClusterInfo represents information about the swarm as is returned by the\n\"/info\" endpoint. Join-tokens are not included.\n", - "nullable": true, - "x-nullable": true - }, - "JoinTokens": { - "type": "object", - "properties": { - "Worker": { - "type": "string", - "description": "The token workers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx" - }, - "Manager": { - "type": "string", - "description": "The token managers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - }, - "description": "JoinTokens contains the tokens workers and managers need to join the swarm.\n" - }, - "Swarm": { - "allOf": [ - { - "$ref": "#/components/schemas/ClusterInfo" - }, - { - "type": "object", - "properties": { - "JoinTokens": { - "$ref": "#/components/schemas/JoinTokens" - } - } - } - ] - }, - "TaskSpec": { - "type": "object", - "properties": { - "PluginSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The name or 'alias' to use for the plugin." - }, - "Remote": { - "type": "string", - "description": "The plugin image reference to use." - }, - "Disabled": { - "type": "boolean", - "description": "Disable the plugin once scheduled." - }, - "PluginPrivilege": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "description": "Plugin spec for the service. *(Experimental release only.)*\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "ContainerSpec": { - "type": "object", - "properties": { - "Image": { - "type": "string", - "description": "The image name to use for the container" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value data." - }, - "Command": { - "type": "array", - "description": "The command to be run in the image.", - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "description": "Arguments to the command.", - "items": { - "type": "string" - } - }, - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid\n[RFC 1123](https://tools.ietf.org/html/rfc1123) hostname.\n" - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `VAR=value`.\n", - "items": { - "type": "string" - } - }, - "Dir": { - "type": "string", - "description": "The working directory for commands to run in." - }, - "User": { - "type": "string", - "description": "The user inside the container." - }, - "Groups": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "Privileges": { - "type": "object", - "properties": { - "CredentialSpec": { - "type": "object", - "properties": { - "Config": { - "type": "string", - "description": "Load credential spec from a Swarm Config with the given ID.\nThe specified config must also be present in the Configs\nfield with the Runtime property set.\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "0bt9dmxjvjiqermk6xrop3ekq" - }, - "File": { - "type": "string", - "description": "Load credential spec from this file. The file is read by\nthe daemon, and must be present in the `CredentialSpecs`\nsubdirectory in the docker data directory, which defaults\nto `C:\\ProgramData\\Docker\\` on Windows.\n\nFor example, specifying `spec.json` loads\n`C:\\ProgramData\\Docker\\CredentialSpecs\\spec.json`.\n\n


\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "spec.json" - }, - "Registry": { - "type": "string", - "description": "Load credential spec from this value in the Windows\nregistry. The specified registry value must be located in:\n\n`HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Virtualization\\Containers\\CredentialSpecs`\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n" - } - }, - "description": "CredentialSpec for managed service account (Windows only)" - }, - "SELinuxContext": { - "type": "object", - "properties": { - "Disable": { - "type": "boolean", - "description": "Disable SELinux" - }, - "User": { - "type": "string", - "description": "SELinux user label" - }, - "Role": { - "type": "string", - "description": "SELinux role label" - }, - "Type": { - "type": "string", - "description": "SELinux type label" - }, - "Level": { - "type": "string", - "description": "SELinux level label" - } - }, - "description": "SELinux labels of the container" - }, - "Seccomp": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "enum": [ - "default", - "unconfined", - "custom" - ] - }, - "Profile": { - "type": "string", - "description": "The custom seccomp profile as a json object" - } - }, - "description": "Options for configuring seccomp on the container" - }, - "AppArmor": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "enum": [ - "default", - "disabled" - ] - } - }, - "description": "Options for configuring AppArmor on the container" - }, - "NoNewPrivileges": { - "type": "boolean", - "description": "Configuration of the no_new_privs bit in the container" - } - }, - "description": "Security options for the container" - }, - "TTY": { - "type": "boolean", - "description": "Whether a pseudo-TTY should be allocated." - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`" - }, - "ReadOnly": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to containers created as part\nof the service.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop the container." - }, - "StopGracePeriod": { - "type": "integer", - "description": "Amount of time to wait for the container to terminate before\nforcefully killing it.\n", - "format": "int64" - }, - "HealthCheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "Hosts": { - "type": "array", - "description": "A list of hostname/IP mappings to add to the container's `hosts`\nfile. The format of extra hosts is specified in the\n[hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html)\nman page:\n\n IP_address canonical_hostname [aliases...]\n", - "items": { - "type": "string" - } - }, - "DNSConfig": { - "type": "object", - "properties": { - "Nameservers": { - "type": "array", - "description": "The IP addresses of the name servers.", - "items": { - "type": "string" - } - }, - "Search": { - "type": "array", - "description": "A search list for host-name lookup.", - "items": { - "type": "string" - } - }, - "Options": { - "type": "array", - "description": "A list of internal resolver variables to be modified (e.g.,\n`debug`, `ndots:3`, etc.).\n", - "items": { - "type": "string" - } - } - }, - "description": "Specification for DNS related configurations in resolver configuration\nfile (`resolv.conf`).\n" - }, - "Secrets": { - "type": "array", - "description": "Secrets contains references to zero or more secrets that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n" - }, - "SecretID": { - "type": "string", - "description": "SecretID represents the ID of the specific secret that we're\nreferencing.\n" - }, - "SecretName": { - "type": "string", - "description": "SecretName is the name of the secret that this references,\nbut this is just provided for lookup/display purposes. The\nsecret in the reference will be identified by its ID.\n" - } - } - } - }, - "Configs": { - "type": "array", - "description": "Configs contains references to zero or more configs that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually exclusive\n" - }, - "Runtime": { - "type": "object", - "properties": {}, - "description": "Runtime represents a target that is not mounted into the\ncontainer but is used by the task\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually\n> exclusive\n" - }, - "ConfigID": { - "type": "string", - "description": "ConfigID represents the ID of the specific config that we're\nreferencing.\n" - }, - "ConfigName": { - "type": "string", - "description": "ConfigName is the name of the config that this references,\nbut this is just provided for lookup/display purposes. The\nconfig in the reference will be identified by its ID.\n" - } - } - } - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the containers running the service.\n(Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Set kernel namedspaced parameters (sysctls) in the container.\nThe Sysctls option on services accepts the same sysctls as the\nare supported on containers. Note that while the same sysctls are\nsupported, no guarantees or checks are made about their\nsuitability for a clustered environment, and it's up to the user\nto determine whether a given sysctl will work properly in a\nService.\n" - }, - "CapabilityAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW", - "CAP_SYS_ADMIN", - "CAP_SYS_CHROOT", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "CapabilityDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW" - ], - "items": { - "type": "string" - } - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example: `{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}`\"\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - } - }, - "description": "Container spec for the service.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "NetworkAttachmentSpec": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string", - "description": "ID of the container represented by this task" - } - }, - "description": "Read-only spec type for non-swarm containers attached to swarm overlay\nnetworks.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "Resources": { - "type": "object", - "properties": { - "Limits": { - "$ref": "#/components/schemas/Limit" - }, - "Reservations": { - "$ref": "#/components/schemas/ResourceObject" - } - }, - "description": "Resource requirements which apply to each individual container created\nas part of the service.\n" - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Condition": { - "type": "string", - "description": "Condition for restart.", - "enum": [ - "none", - "on-failure", - "any" - ] - }, - "Delay": { - "type": "integer", - "description": "Delay between restart attempts.", - "format": "int64" - }, - "MaxAttempts": { - "type": "integer", - "description": "Maximum attempts to restart a given container before giving up\n(default value is 0, which is ignored).\n", - "format": "int64", - "default": 0 - }, - "Window": { - "type": "integer", - "description": "Windows is the time window used to evaluate the restart policy\n(default value is 0, which is unbounded).\n", - "format": "int64", - "default": 0 - } - }, - "description": "Specification for the restart policy which applies to containers\ncreated as part of this service.\n" - }, - "Placement": { - "type": "object", - "properties": { - "Constraints": { - "type": "array", - "description": "An array of constraint expressions to limit the set of nodes where\na task can be scheduled. Constraint expressions can either use a\n_match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find\nnodes that satisfy every expression (AND match). Constraints can\nmatch node or Docker Engine labels as follows:\n\nnode attribute | matches | example\n---------------------|--------------------------------|-----------------------------------------------\n`node.id` | Node ID | `node.id==2ivku8v2gvtg4`\n`node.hostname` | Node hostname | `node.hostname!=node-2`\n`node.role` | Node role (`manager`/`worker`) | `node.role==manager`\n`node.platform.os` | Node operating system | `node.platform.os==windows`\n`node.platform.arch` | Node architecture | `node.platform.arch==x86_64`\n`node.labels` | User-defined node labels | `node.labels.security==high`\n`engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04`\n\n`engine.labels` apply to Docker Engine labels like operating system,\ndrivers, etc. Swarm administrators add `node.labels` for operational\npurposes by using the [`node update endpoint`](#operation/NodeUpdate).\n", - "example": [ - "node.hostname!=node3.corp.example.com", - "node.role!=manager", - "node.labels.type==production", - "node.platform.os==linux", - "node.platform.arch==x86_64" - ], - "items": { - "type": "string" - } - }, - "Preferences": { - "type": "array", - "description": "Preferences provide a way to make the scheduler aware of factors\nsuch as topology. They are provided in order from highest to\nlowest precedence.\n", - "example": [ - { - "Spread": { - "SpreadDescriptor": "node.labels.datacenter" - } - }, - { - "Spread": { - "SpreadDescriptor": "node.labels.rack" - } - } - ], - "items": { - "type": "object", - "properties": { - "Spread": { - "type": "object", - "properties": { - "SpreadDescriptor": { - "type": "string", - "description": "label descriptor, such as `engine.labels.az`.\n" - } - } - } - } - } - }, - "MaxReplicas": { - "type": "integer", - "description": "Maximum number of replicas for per node (default value is 0, which\nis unlimited)\n", - "format": "int64", - "default": 0 - }, - "Platforms": { - "type": "array", - "description": "Platforms stores all the platforms that the service's image can\nrun on. This field is used in the platform filter for scheduling.\nIf empty, then the platform filter is off, meaning there are no\nscheduling restrictions.\n", - "items": { - "$ref": "#/components/schemas/Platform" - } - } - } - }, - "ForceUpdate": { - "type": "integer", - "description": "A counter that triggers an update even if no relevant parameters have\nbeen changed.\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime is the type of runtime specified for the task executor.\n" - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "Specifies the log driver to use for tasks created from this spec. If\nnot present, the default one for the swarm will be used, finally\nfalling back to the engine default if not specified.\n" - } - }, - "description": "User modifiable task configuration." - }, - "TaskState": { - "type": "string", - "enum": [ - "new", - "allocated", - "pending", - "assigned", - "accepted", - "preparing", - "ready", - "starting", - "running", - "complete", - "shutdown", - "failed", - "rejected", - "remove", - "orphaned" - ] - }, - "ContainerStatus": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string" - }, - "PID": { - "type": "integer" - }, - "ExitCode": { - "type": "integer" - } - }, - "description": "represents the status of a container." - }, - "PortStatus": { - "type": "object", - "properties": { - "Ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - } - }, - "description": "represents the port status of a task's host ports whose service has published host ports" - }, - "TaskStatus": { - "type": "object", - "properties": { - "Timestamp": { - "type": "string", - "format": "dateTime" - }, - "State": { - "$ref": "#/components/schemas/TaskState" - }, - "Message": { - "type": "string" - }, - "Err": { - "type": "string" - }, - "ContainerStatus": { - "$ref": "#/components/schemas/ContainerStatus" - }, - "PortStatus": { - "$ref": "#/components/schemas/PortStatus" - } - }, - "description": "represents the status of a task." - }, - "Task": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the task." - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Name": { - "type": "string", - "description": "Name of the task." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Spec": { - "$ref": "#/components/schemas/TaskSpec" - }, - "ServiceID": { - "type": "string", - "description": "The ID of the service this task is part of." - }, - "Slot": { - "type": "integer" - }, - "NodeID": { - "type": "string", - "description": "The ID of the node that this task is on." - }, - "AssignedGenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "Status": { - "$ref": "#/components/schemas/TaskStatus" - }, - "DesiredState": { - "$ref": "#/components/schemas/TaskState" - }, - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - } - }, - "example": { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ], - "AssignedGenericResources": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ] - } - }, - "ServiceSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the service." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "TaskTemplate": { - "$ref": "#/components/schemas/TaskSpec" - }, - "Mode": { - "type": "object", - "properties": { - "Replicated": { - "type": "object", - "properties": { - "Replicas": { - "type": "integer", - "format": "int64" - } - } - }, - "Global": { - "type": "object", - "properties": {} - }, - "ReplicatedJob": { - "type": "object", - "properties": { - "MaxConcurrent": { - "type": "integer", - "description": "The maximum number of replicas to run simultaneously.\n", - "format": "int64", - "default": 1 - }, - "TotalCompletions": { - "type": "integer", - "description": "The total number of replicas desired to reach the Completed\nstate. If unset, will default to the value of `MaxConcurrent`\n", - "format": "int64" - } - }, - "description": "The mode used for services with a finite number of tasks that run\nto a completed state.\n" - }, - "GlobalJob": { - "type": "object", - "properties": {}, - "description": "The mode used for services which run a task to the completed state\non each valid node.\n" - } - }, - "description": "Scheduling mode for the service." - }, - "UpdateConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be updated in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between updates, in nanoseconds.", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an updated task fails to run, or stops running\nduring the update.\n", - "enum": [ - "continue", - "pause", - "rollback" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each updated task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during an update before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling out an updated task. Either\nthe old task is shut down before the new task is started, or the\nnew task is started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the update strategy of the service." - }, - "RollbackConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be rolled back in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between rollback iterations, in nanoseconds.\n", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an rolled back task fails to run, or stops\nrunning during the rollback.\n", - "enum": [ - "continue", - "pause" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each rolled back task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during a rollback before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling back a task. Either the old\ntask is shut down before the new task is started, or the new task\nis started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the rollback strategy of the service." - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.\n\nDeprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead.\n", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "EndpointSpec": { - "$ref": "#/components/schemas/EndpointSpec" - } - }, - "description": "User modifiable configuration for a service." - }, - "EndpointPortConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "sctp" - ] - }, - "TargetPort": { - "type": "integer", - "description": "The port inside the container." - }, - "PublishedPort": { - "type": "integer", - "description": "The port on the swarm hosts." - }, - "PublishMode": { - "type": "string", - "description": "The mode in which port is published.\n\n


\n\n- \"ingress\" makes the target port accessible on every node,\n regardless of whether there is a task for the service running on\n that node or not.\n- \"host\" bypasses the routing mesh and publish the port directly on\n the swarm node where that service is running.\n", - "example": "ingress", - "default": "ingress", - "enum": [ - "ingress", - "host" - ] - } - } - }, - "EndpointSpec": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "description": "The mode of resolution to use for internal load balancing between tasks.\n", - "default": "vip", - "enum": [ - "vip", - "dnsrr" - ] - }, - "Ports": { - "type": "array", - "description": "List of exposed ports that this service is accessible on from the\noutside. Ports can only be provided if `vip` resolution mode is used.\n", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - } - }, - "description": "Properties that can be configured to access and load balance a service." - }, - "Service": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ServiceSpec" - }, - "Endpoint": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/EndpointSpec" - }, - "Ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - }, - "VirtualIPs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "NetworkID": { - "type": "string" - }, - "Addr": { - "type": "string" - } - } - } - } - } - }, - "UpdateStatus": { - "type": "object", - "properties": { - "State": { - "type": "string", - "enum": [ - "updating", - "paused", - "completed" - ] - }, - "StartedAt": { - "type": "string", - "format": "dateTime" - }, - "CompletedAt": { - "type": "string", - "format": "dateTime" - }, - "Message": { - "type": "string" - } - }, - "description": "The status of a service update." - }, - "ServiceStatus": { - "type": "object", - "properties": { - "RunningTasks": { - "type": "integer", - "description": "The number of tasks for the service currently in the Running state.\n", - "format": "uint64", - "example": 7 - }, - "DesiredTasks": { - "type": "integer", - "description": "The number of tasks for the service desired to be running.\nFor replicated services, this is the replica count from the\nservice spec. For global services, this is computed by taking\ncount of all tasks for the service with a Desired State other\nthan Shutdown.\n", - "format": "uint64", - "example": 10 - }, - "CompletedTasks": { - "type": "integer", - "description": "The number of tasks for a job that are in the Completed state.\nThis field must be cross-referenced with the service type, as the\nvalue of 0 may mean the service is not in a job mode, or it may\nmean the job-mode service has no tasks yet Completed.\n", - "format": "uint64" - } - }, - "description": "The status of the service's tasks. Provided only when requested as\npart of a ServiceList operation.\n" - }, - "JobStatus": { - "type": "object", - "properties": { - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "LastExecution": { - "type": "string", - "description": "The last time, as observed by the server, that this job was\nstarted.\n", - "format": "dateTime" - } - }, - "description": "The status of the service when it is in one of ReplicatedJob or\nGlobalJob modes. Absent on Replicated and Global mode services. The\nJobIteration is an ObjectVersion, but unlike the Service's version,\ndoes not need to be sent with an update request.\n" - } - }, - "example": { - "ID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Version": { - "Index": 19 - }, - "CreatedAt": "2016-06-07T21:05:51.880065305Z", - "UpdatedAt": "2016-06-07T21:07:29.962229872Z", - "Spec": { - "Name": "hopeful_cori", - "TaskTemplate": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - } - }, - "Endpoint": { - "Spec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - }, - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ], - "VirtualIPs": [ - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.2/16" - }, - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.3/16" - } - ] - } - } - }, - "ImageDeleteResponseItem": { - "type": "object", - "properties": { - "Untagged": { - "type": "string", - "description": "The image ID of an image that was untagged" - }, - "Deleted": { - "type": "string", - "description": "The image ID of an image that was deleted" - } - }, - "x-go-name": "DeleteResponse" - }, - "ServiceCreateResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the created service.", - "nullable": false, - "example": "ak7w3gjqoa3kuz8xcpnyy0pvl" - }, - "Warnings": { - "type": "array", - "description": "Optional warning message.\n\nFIXME(thaJeztah): this should have \"omitempty\" in the generated type.\n", - "nullable": true, - "example": [ - "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - ], - "items": { - "type": "string" - } - } - }, - "description": "contains the information returned to a client on the\ncreation of a new service.\n" - }, - "ServiceUpdateResponse": { - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "description": "Optional warning messages", - "items": { - "type": "string" - } - } - }, - "example": { - "Warnings": [ - "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - ] - } - }, - "ContainerSummary": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of this container", - "x-go-name": "ID" - }, - "Names": { - "type": "array", - "description": "The names that this container has been given", - "items": { - "type": "string" - } - }, - "Image": { - "type": "string", - "description": "The name of the image used when creating this container" - }, - "ImageID": { - "type": "string", - "description": "The ID of the image that this container was created from" - }, - "Command": { - "type": "string", - "description": "Command to run when starting the container" - }, - "Created": { - "type": "integer", - "description": "When the container was created", - "format": "int64" - }, - "Ports": { - "type": "array", - "description": "The ports exposed by this container", - "items": { - "$ref": "#/components/schemas/Port" - } - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this container", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container", - "format": "int64" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "State": { - "type": "string", - "description": "The state of this container (e.g. `Exited`)" - }, - "Status": { - "type": "string", - "description": "Additional human-readable status of this container (e.g. `Exit 0`)" - }, - "HostConfig": { - "type": "object", - "properties": { - "NetworkMode": { - "type": "string" - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - } - } - }, - "description": "A summary of the container's network settings" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - } - } - }, - "Driver": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver.", - "nullable": false, - "example": "some-driver" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Key/value map of driver-specific options.", - "nullable": false, - "example": { - "OptionA": "value for driver-specific option A", - "OptionB": "value for driver-specific option B" - } - } - }, - "description": "Driver represents a driver (network, logging, secrets)." - }, - "SecretSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the secret." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\ndata to store as secret.\n\nThis field is only used to _create_ a secret, and is not returned by\nother endpoints.\n", - "example": "" - }, - "Driver": { - "$ref": "#/components/schemas/Driver" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Secret": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "blt1owaxmitz71s9v5zh81zun" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "Spec": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "ConfigSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the config." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\nconfig data.\n" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Config": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "ContainerState": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "String representation of the container state. Can be one of \"created\",\n\"running\", \"paused\", \"restarting\", \"removing\", \"exited\", or \"dead\".\n", - "example": "running", - "enum": [ - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - }, - "Running": { - "type": "boolean", - "description": "Whether this container is running.\n\nNote that a running container can be _paused_. The `Running` and `Paused`\nbooleans are not mutually exclusive:\n\nWhen pausing a container (on Linux), the freezer cgroup is used to suspend\nall processes in the container. Freezing the process requires the process to\nbe running. As a result, paused containers are both `Running` _and_ `Paused`.\n\nUse the `Status` field instead to determine if a container's state is \"running\".\n", - "example": true - }, - "Paused": { - "type": "boolean", - "description": "Whether this container is paused.", - "example": false - }, - "Restarting": { - "type": "boolean", - "description": "Whether this container is restarting.", - "example": false - }, - "OOMKilled": { - "type": "boolean", - "description": "Whether a process within this container has been killed because it ran\nout of memory since the container was last started.\n", - "example": false - }, - "Dead": { - "type": "boolean", - "example": false - }, - "Pid": { - "type": "integer", - "description": "The process ID of this container", - "example": 1234 - }, - "ExitCode": { - "type": "integer", - "description": "The last exit code of this container", - "example": 0 - }, - "Error": { - "type": "string" - }, - "StartedAt": { - "type": "string", - "description": "The time when this container was last started.", - "example": "2020-01-06T09:06:59.461876391Z" - }, - "FinishedAt": { - "type": "string", - "description": "The time when this container last exited.", - "example": "2020-01-06T09:07:59.461876391Z" - }, - "Health": { - "$ref": "#/components/schemas/Health" - } - }, - "description": "ContainerState stores container's running state. It's part of ContainerJSONBase\nand will be returned by the \"inspect\" command.\n", - "nullable": true, - "x-nullable": true - }, - "ContainerCreateResponse": { - "title": "ContainerCreateResponse", - "required": [ - "Id", - "Warnings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created container", - "nullable": false, - "example": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" - }, - "Warnings": { - "type": "array", - "description": "Warnings encountered when creating the container", - "nullable": false, - "example": [], - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerCreate operation", - "x-go-name": "CreateResponse" - }, - "ContainerWaitResponse": { - "title": "ContainerWaitResponse", - "required": [ - "StatusCode" - ], - "type": "object", - "properties": { - "StatusCode": { - "type": "integer", - "description": "Exit code of the container", - "format": "int64", - "nullable": false - }, - "Error": { - "$ref": "#/components/schemas/ContainerWaitExitError" - } - }, - "description": "OK response to ContainerWait operation", - "x-go-name": "WaitResponse" - }, - "ContainerWaitExitError": { - "type": "object", - "properties": { - "Message": { - "type": "string", - "description": "Details of an error" - } - }, - "description": "container waiting error, if any", - "x-go-name": "WaitExitError" - }, - "SystemVersion": { - "type": "object", - "properties": { - "Platform": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string" - } - } - }, - "Components": { - "type": "array", - "description": "Information about system components\n", - "items": { - "required": [ - "Name", - "Version" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the component\n", - "example": "Engine" - }, - "Version": { - "type": "string", - "description": "Version of the component\n", - "nullable": false, - "example": "19.03.12" - }, - "Details": { - "type": "object", - "properties": {}, - "description": "Key/value pairs of strings with additional information about the\ncomponent. These values are intended for informational purposes\nonly, and their content is not defined, and not part of the API\nspecification.\n\nThese messages can be printed by the client as information to the user.\n", - "nullable": true - } - }, - "x-go-name": "ComponentVersion" - } - }, - "Version": { - "type": "string", - "description": "The version of the daemon", - "example": "19.03.12" - }, - "ApiVersion": { - "type": "string", - "description": "The default (and highest) API version that is supported by the daemon\n", - "example": "1.40" - }, - "MinAPIVersion": { - "type": "string", - "description": "The minimum API version that is supported by the daemon\n", - "example": "1.12" - }, - "GitCommit": { - "type": "string", - "description": "The Git commit of the source code that was used to build the daemon\n", - "example": "48a66213fe" - }, - "GoVersion": { - "type": "string", - "description": "The version Go used to compile the daemon, and the version of the Go\nruntime in use.\n", - "example": "go1.13.14" - }, - "Os": { - "type": "string", - "description": "The operating system that the daemon is running on (\"linux\" or \"windows\")\n", - "example": "linux" - }, - "Arch": { - "type": "string", - "description": "The architecture that the daemon is running on\n", - "example": "amd64" - }, - "KernelVersion": { - "type": "string", - "description": "The kernel version (`uname -r`) that the daemon is running on.\n\nThis field is omitted when empty.\n", - "example": "4.19.76-linuxkit" - }, - "Experimental": { - "type": "boolean", - "description": "Indicates if the daemon is started with experimental features enabled.\n\nThis field is omitted when empty / false.\n", - "example": true - }, - "BuildTime": { - "type": "string", - "description": "The date and time that the daemon was compiled.\n", - "example": "2020-06-22T15:49:27.000000000+00:00" - } - }, - "description": "Response of Engine API: GET \"/version\"\n" - }, - "SystemInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique identifier of the daemon.\n\n


\n\n> **Note**: The format of the ID itself is not part of the API, and\n> should not be considered stable.\n", - "example": "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS" - }, - "Containers": { - "type": "integer", - "description": "Total number of containers on the host.", - "example": 14 - }, - "ContainersRunning": { - "type": "integer", - "description": "Number of containers with status `\"running\"`.\n", - "example": 3 - }, - "ContainersPaused": { - "type": "integer", - "description": "Number of containers with status `\"paused\"`.\n", - "example": 1 - }, - "ContainersStopped": { - "type": "integer", - "description": "Number of containers with status `\"stopped\"`.\n", - "example": 10 - }, - "Images": { - "type": "integer", - "description": "Total number of images on the host.\n\nBoth _tagged_ and _untagged_ (dangling) images are counted.\n", - "example": 508 - }, - "Driver": { - "type": "string", - "description": "Name of the storage driver in use.", - "example": "overlay2" - }, - "DriverStatus": { - "type": "array", - "description": "Information specific to the storage driver, provided as\n\"label\" / \"value\" pairs.\n\nThis information is provided by the storage driver, and formatted\nin a way consistent with the output of `docker info` on the command\nline.\n\n


\n\n> **Note**: The information returned in this field, including the\n> formatting of values and labels, should not be considered stable,\n> and may change without notice.\n", - "example": [ - [ - "Backing Filesystem", - "extfs" - ], - [ - "Supports d_type", - "true" - ], - [ - "Native Overlay Diff", - "true" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "DockerRootDir": { - "type": "string", - "description": "Root directory of persistent Docker state.\n\nDefaults to `/var/lib/docker` on Linux, and `C:\\ProgramData\\docker`\non Windows.\n", - "example": "/var/lib/docker" - }, - "Plugins": { - "$ref": "#/components/schemas/PluginsInfo" - }, - "MemoryLimit": { - "type": "boolean", - "description": "Indicates if the host has memory limit support enabled.", - "example": true - }, - "SwapLimit": { - "type": "boolean", - "description": "Indicates if the host has memory swap limit support enabled.", - "example": true - }, - "KernelMemoryTCP": { - "type": "boolean", - "description": "Indicates if the host has kernel memory TCP limit support enabled. This\nfield is omitted if not supported.\n\nKernel memory TCP limits are not supported when using cgroups v2, which\ndoes not support the corresponding `memory.kmem.tcp.limit_in_bytes` cgroup.\n", - "example": true - }, - "CpuCfsPeriod": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by\nthe host.\n", - "example": true - }, - "CpuCfsQuota": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by\nthe host.\n", - "example": true - }, - "CPUShares": { - "type": "boolean", - "description": "Indicates if CPU Shares limiting is supported by the host.\n", - "example": true - }, - "CPUSet": { - "type": "boolean", - "description": "Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.\n\nSee [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)\n", - "example": true - }, - "PidsLimit": { - "type": "boolean", - "description": "Indicates if the host kernel has PID limit support enabled.", - "example": true - }, - "OomKillDisable": { - "type": "boolean", - "description": "Indicates if OOM killer disable is supported on the host." - }, - "IPv4Forwarding": { - "type": "boolean", - "description": "Indicates IPv4 forwarding is enabled.", - "example": true - }, - "BridgeNfIptables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-iptables` is available on the host.", - "example": true - }, - "BridgeNfIp6tables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-ip6tables` is available on the host.", - "example": true - }, - "Debug": { - "type": "boolean", - "description": "Indicates if the daemon is running in debug-mode / with debug-level\nlogging enabled.\n", - "example": true - }, - "NFd": { - "type": "integer", - "description": "The total number of file Descriptors in use by the daemon process.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 64 - }, - "NGoroutines": { - "type": "integer", - "description": "The number of goroutines that currently exist.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 174 - }, - "SystemTime": { - "type": "string", - "description": "Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat with nano-seconds.\n", - "example": "2017-08-08T20:28:29.06202363Z" - }, - "LoggingDriver": { - "type": "string", - "description": "The logging driver to use as a default for new containers.\n" - }, - "CgroupDriver": { - "type": "string", - "description": "The driver to use for managing cgroups.\n", - "example": "cgroupfs", - "default": "cgroupfs", - "enum": [ - "cgroupfs", - "systemd", - "none" - ] - }, - "CgroupVersion": { - "type": "string", - "description": "The version of the cgroup.\n", - "example": "1", - "default": "1", - "enum": [ - "1", - "2" - ] - }, - "NEventsListener": { - "type": "integer", - "description": "Number of event listeners subscribed.", - "example": 30 - }, - "KernelVersion": { - "type": "string", - "description": "Kernel version of the host.\n\nOn Linux, this information obtained from `uname`. On Windows this\ninformation is queried from the HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\\nregistry value, for example _\"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)\"_.\n", - "example": "4.9.38-moby" - }, - "OperatingSystem": { - "type": "string", - "description": "Name of the host's operating system, for example: \"Ubuntu 16.04.2 LTS\"\nor \"Windows Server 2016 Datacenter\"\n", - "example": "Alpine Linux v3.5" - }, - "OSVersion": { - "type": "string", - "description": "Version of the host's operating system\n\n


\n\n> **Note**: The information returned in this field, including its\n> very existence, and the formatting of values, should not be considered\n> stable, and may change without notice.\n", - "example": "16.04" - }, - "OSType": { - "type": "string", - "description": "Generic type of the operating system of the host, as returned by the\nGo runtime (`GOOS`).\n\nCurrently returned values are \"linux\" and \"windows\". A full list of\npossible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment).\n", - "example": "linux" - }, - "Architecture": { - "type": "string", - "description": "Hardware architecture of the host, as returned by the Go runtime\n(`GOARCH`).\n\nA full list of possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment).\n", - "example": "x86_64" - }, - "NCPU": { - "type": "integer", - "description": "The number of logical CPUs usable by the daemon.\n\nThe number of available CPUs is checked by querying the operating\nsystem when the daemon starts. Changes to operating system CPU\nallocation after the daemon is started are not reflected.\n", - "example": 4 - }, - "MemTotal": { - "type": "integer", - "description": "Total amount of physical memory available on the host, in bytes.\n", - "format": "int64", - "example": 2095882240 - }, - "IndexServerAddress": { - "type": "string", - "description": "Address / URL of the index server that is used for image search,\nand as a default for user authentication for Docker Hub and Docker Cloud.\n", - "example": "https://index.docker.io/v1/", - "default": "https://index.docker.io/v1/" - }, - "RegistryConfig": { - "$ref": "#/components/schemas/RegistryServiceConfig" - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "HttpProxy": { - "type": "string", - "description": "HTTP-proxy configured for the daemon. This value is obtained from the\n[`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "http://xxxxx:xxxxx@proxy.corp.example.com:8080" - }, - "HttpsProxy": { - "type": "string", - "description": "HTTPS-proxy configured for the daemon. This value is obtained from the\n[`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "https://xxxxx:xxxxx@proxy.corp.example.com:4443" - }, - "NoProxy": { - "type": "string", - "description": "Comma-separated list of domain extensions for which no proxy should be\nused. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)\nenvironment variable.\n\nContainers do not automatically inherit this configuration.\n", - "example": "*.local, 169.254/16" - }, - "Name": { - "type": "string", - "description": "Hostname of the host.", - "example": "node5.corp.example.com" - }, - "Labels": { - "type": "array", - "description": "User-defined labels (key/value metadata) as set on the daemon.\n\n


\n\n> **Note**: When part of a Swarm, nodes can both have _daemon_ labels,\n> set through the daemon configuration, and _node_ labels, set from a\n> manager node in the Swarm. Node labels are not included in this\n> field. Node labels can be retrieved using the `/nodes/(id)` endpoint\n> on a manager node in the Swarm.\n", - "example": [ - "storage=ssd", - "production" - ], - "items": { - "type": "string" - } - }, - "ExperimentalBuild": { - "type": "boolean", - "description": "Indicates if experimental features are enabled on the daemon.\n", - "example": true - }, - "ServerVersion": { - "type": "string", - "description": "Version string of the daemon.\n", - "example": "24.0.2" - }, - "Runtimes": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Runtime" - }, - "description": "List of [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntimes configured on the daemon. Keys hold the \"name\" used to\nreference the runtime.\n\nThe Docker daemon relies on an OCI compliant runtime (invoked via the\n`containerd` daemon) as its interface to the Linux kernel namespaces,\ncgroups, and SELinux.\n\nThe default runtime is `runc`, and automatically configured. Additional\nruntimes can be configured by the user and will be listed here.\n", - "example": { - "runc": { - "path": "runc" - }, - "runc-master": { - "path": "/go/bin/runc" - }, - "custom": { - "path": "/usr/local/bin/my-oci-runtime", - "runtimeArgs": [ - "--debug", - "--systemd-cgroup=false" - ] - } - } - }, - "DefaultRuntime": { - "type": "string", - "description": "Name of the default OCI runtime that is used when starting containers.\n\nThe default can be overridden per-container at create time.\n", - "example": "runc", - "default": "runc" - }, - "Swarm": { - "$ref": "#/components/schemas/SwarmInfo" - }, - "LiveRestoreEnabled": { - "type": "boolean", - "description": "Indicates if live restore is enabled.\n\nIf enabled, containers are kept running when the daemon is shutdown\nor upon daemon start if running containers are detected.\n", - "example": false, - "default": false - }, - "Isolation": { - "type": "string", - "description": "Represents the isolation technology to use as a default for containers.\nThe supported values are platform-specific.\n\nIf no isolation value is specified on daemon start, on Windows client,\nthe default is `hyperv`, and on Windows server, the default is `process`.\n\nThis option is currently not used on other platforms.\n", - "default": "default", - "enum": [ - "default", - "hyperv", - "process" - ] - }, - "InitBinary": { - "type": "string", - "description": "Name and, optional, path of the `docker-init` binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "docker-init" - }, - "ContainerdCommit": { - "$ref": "#/components/schemas/Commit" - }, - "RuncCommit": { - "$ref": "#/components/schemas/Commit" - }, - "InitCommit": { - "$ref": "#/components/schemas/Commit" - }, - "SecurityOptions": { - "type": "array", - "description": "List of security features that are enabled on the daemon, such as\napparmor, seccomp, SELinux, user-namespaces (userns), rootless and\nno-new-privileges.\n\nAdditional configuration options for each security feature may\nbe present, and are included as a comma-separated list of key/value\npairs.\n", - "example": [ - "name=apparmor", - "name=seccomp,profile=default", - "name=selinux", - "name=userns", - "name=rootless" - ], - "items": { - "type": "string" - } - }, - "ProductLicense": { - "type": "string", - "description": "Reports a summary of the product license on the daemon.\n\nIf a commercial license has been applied to the daemon, information\nsuch as number of nodes, and expiration are included.\n", - "example": "Community Engine" - }, - "DefaultAddressPools": { - "type": "array", - "description": "List of custom default address pools for local networks, which can be\nspecified in the daemon.json file or dockerd option.\n\nExample: a Base \"10.10.0.0/16\" with Size 24 will define the set of 256\n10.10.[0-255].0/24 address pools.\n", - "items": { - "type": "object", - "properties": { - "Base": { - "type": "string", - "description": "The network address in CIDR format", - "example": "10.10.0.0/16" - }, - "Size": { - "type": "integer", - "description": "The network pool size", - "example": 24 - } - } - } - }, - "Warnings": { - "type": "array", - "description": "List of warnings / informational messages about missing features, or\nissues related to the daemon configuration.\n\nThese messages can be printed by the client as information to the user.\n", - "example": [ - "WARNING: No memory limit support", - "WARNING: bridge-nf-call-iptables is disabled", - "WARNING: bridge-nf-call-ip6tables is disabled" - ], - "items": { - "type": "string" - } - }, - "CDISpecDirs": { - "type": "array", - "description": "List of directories where (Container Device Interface) CDI\nspecifications are located.\n\nThese specifications define vendor-specific modifications to an OCI\nruntime specification for a container being created.\n\nAn empty list indicates that CDI device injection is disabled.\n\nNote that since using CDI device injection requires the daemon to have\nexperimental enabled. For non-experimental daemons an empty list will\nalways be returned.\n", - "example": [ - "/etc/cdi", - "/var/run/cdi" - ], - "items": { - "type": "string" - } - } - } - }, - "PluginsInfo": { - "type": "object", - "properties": { - "Volume": { - "type": "array", - "description": "Names of available volume-drivers, and network-driver plugins.", - "example": [ - "local" - ], - "items": { - "type": "string" - } - }, - "Network": { - "type": "array", - "description": "Names of available network-drivers, and network-driver plugins.", - "example": [ - "bridge", - "host", - "ipvlan", - "macvlan", - "null", - "overlay" - ], - "items": { - "type": "string" - } - }, - "Authorization": { - "type": "array", - "description": "Names of available authorization plugins.", - "example": [ - "img-authz-plugin", - "hbm" - ], - "items": { - "type": "string" - } - }, - "Log": { - "type": "array", - "description": "Names of available logging-drivers, and logging-driver plugins.", - "example": [ - "awslogs", - "fluentd", - "gcplogs", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "items": { - "type": "string" - } - } - }, - "description": "Available plugins per type.\n\n


\n\n> **Note**: Only unmanaged (V1) plugins are included in this list.\n> V1 plugins are \"lazily\" loaded, and are not returned in this list\n> if there is no resource using the plugin.\n" - }, - "RegistryServiceConfig": { - "type": "object", - "properties": { - "AllowNondistributableArtifactsCIDRs": { - "type": "array", - "description": "List of IP ranges to which nondistributable artifacts can be pushed,\nusing the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632).\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior, and enables the daemon to\npush nondistributable artifacts to all registries whose resolved IP\naddress is within the subnet described by the CIDR syntax.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "AllowNondistributableArtifactsHostnames": { - "type": "array", - "description": "List of registry hostnames to which nondistributable artifacts can be\npushed, using the format `[:]` or `[:]`.\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior for the specified\nregistries.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "registry.internal.corp.example.com:3000", - "[2001:db8:a0b:12f0::1]:443" - ], - "items": { - "type": "string" - } - }, - "InsecureRegistryCIDRs": { - "type": "array", - "description": "List of IP ranges of insecure registries, using the CIDR syntax\n([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries\naccept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates\nfrom unknown CAs) communication.\n\nBy default, local registries (`127.0.0.0/8`) are configured as\ninsecure. All other registries are secure. Communicating with an\ninsecure registry is not possible if the daemon assumes that registry\nis secure.\n\nThis configuration override this behavior, insecure communication with\nregistries whose resolved IP address is within the subnet described by\nthe CIDR syntax.\n\nRegistries can also be marked insecure by hostname. Those registries\nare listed under `IndexConfigs` and have their `Secure` field set to\n`false`.\n\n> **Warning**: Using this option can be useful when running a local\n> registry, but introduces security vulnerabilities. This option\n> should therefore ONLY be used for testing purposes. For increased\n> security, users should add their CA to their system's list of trusted\n> CAs instead of enabling this option.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "IndexConfigs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/IndexInfo" - }, - "example": { - "127.0.0.1:5000": { - "Name": "127.0.0.1:5000", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "[2001:db8:a0b:12f0::1]:80": { - "Name": "[2001:db8:a0b:12f0::1]:80", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "docker.io": { - "Name": "docker.io", - "Mirrors": [ - "https://hub-mirror.corp.example.com:5000/" - ], - "Secure": true, - "Official": true - }, - "registry.internal.corp.example.com:3000": { - "Name": "registry.internal.corp.example.com:3000", - "Mirrors": [], - "Secure": false, - "Official": false - } - } - }, - "Mirrors": { - "type": "array", - "description": "List of registry URLs that act as a mirror for the official\n(`docker.io`) registry.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://[2001:db8:a0b:12f0::1]/" - ], - "items": { - "type": "string" - } - } - }, - "description": "RegistryServiceConfig stores daemon registry services configuration.\n", - "nullable": true, - "x-nullable": true - }, - "IndexInfo": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the registry, such as \"docker.io\".\n", - "example": "docker.io" - }, - "Mirrors": { - "type": "array", - "description": "List of mirrors, expressed as URIs.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://registry-2.docker.io/", - "https://registry-3.docker.io/" - ], - "items": { - "type": "string" - } - }, - "Secure": { - "type": "boolean", - "description": "Indicates if the registry is part of the list of insecure\nregistries.\n\nIf `false`, the registry is insecure. Insecure registries accept\nun-encrypted (HTTP) and/or untrusted (HTTPS with certificates from\nunknown CAs) communication.\n\n> **Warning**: Insecure registries can be useful when running a local\n> registry. However, because its use creates security vulnerabilities\n> it should ONLY be enabled for testing purposes. For increased\n> security, users should add their CA to their system's list of\n> trusted CAs instead of enabling this option.\n", - "example": true - }, - "Official": { - "type": "boolean", - "description": "Indicates whether this is an official registry (i.e., Docker Hub / docker.io)\n", - "example": true - } - }, - "description": "IndexInfo contains information about a registry.", - "nullable": true, - "x-nullable": true - }, - "Runtime": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Name and, optional, path, of the OCI executable binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "/usr/local/bin/my-oci-runtime" - }, - "runtimeArgs": { - "type": "array", - "description": "List of command-line arguments to pass to the runtime when invoked.\n", - "nullable": true, - "example": [ - "--debug", - "--systemd-cgroup=false" - ], - "items": { - "type": "string" - } - }, - "status": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Information specific to the runtime.\n\nWhile this API specification does not define data provided by runtimes,\nthe following well-known properties may be provided by runtimes:\n\n`org.opencontainers.runtime-spec.features`: features structure as defined\nin the [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/main/features.md),\nin a JSON string representation.\n\n


\n\n> **Note**: The information returned in this field, including the\n> formatting of values and labels, should not be considered stable,\n> and may change without notice.\n", - "nullable": true, - "example": { - "org.opencontainers.runtime-spec.features": "{\"ociVersionMin\":\"1.0.0\",\"ociVersionMax\":\"1.1.0\",\"...\":\"...\"}" - } - } - }, - "description": "Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntime.\n\nThe runtime is invoked by the daemon via the `containerd` daemon. OCI\nruntimes act as an interface to the Linux kernel namespaces, cgroups,\nand SELinux.\n" - }, - "Commit": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Actual commit ID of external tool.", - "example": "cfb82a876ecc11b5ca0977d1733adbe58599088a" - }, - "Expected": { - "type": "string", - "description": "Commit ID of external tool expected by dockerd as set at build time.\n", - "example": "2d41c047c83e09a6d61d464906feb2a2f3c52aa4" - } - }, - "description": "Commit holds the Git-commit (SHA1) that a binary was built from, as\nreported in the version-string of external tools, such as `containerd`,\nor `runC`.\n" - }, - "SwarmInfo": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm.", - "example": "k67qz4598weg5unwwffg6z1m1", - "default": "" - }, - "NodeAddr": { - "type": "string", - "description": "IP address at which this node can be reached by other nodes in the\nswarm.\n", - "example": "10.0.0.46", - "default": "" - }, - "LocalNodeState": { - "$ref": "#/components/schemas/LocalNodeState" - }, - "ControlAvailable": { - "type": "boolean", - "example": true, - "default": false - }, - "Error": { - "type": "string", - "default": "" - }, - "RemoteManagers": { - "type": "array", - "description": "List of ID's and addresses of other managers in the swarm.\n", - "nullable": true, - "example": [ - { - "NodeID": "71izy0goik036k48jg985xnds", - "Addr": "10.0.0.158:2377" - }, - { - "NodeID": "79y6h1o4gv8n120drcprv5nmc", - "Addr": "10.0.0.159:2377" - }, - { - "NodeID": "k67qz4598weg5unwwffg6z1m1", - "Addr": "10.0.0.46:2377" - } - ], - "items": { - "$ref": "#/components/schemas/PeerNode" - } - }, - "Nodes": { - "type": "integer", - "description": "Total number of nodes in the swarm.", - "nullable": true, - "example": 4 - }, - "Managers": { - "type": "integer", - "description": "Total number of managers in the swarm.", - "nullable": true, - "example": 3 - }, - "Cluster": { - "$ref": "#/components/schemas/ClusterInfo" - } - }, - "description": "Represents generic information about swarm.\n" - }, - "LocalNodeState": { - "type": "string", - "description": "Current local status of this node.", - "example": "active", - "default": "", - "enum": [ - "", - "inactive", - "pending", - "active", - "error", - "locked" - ] - }, - "PeerNode": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm." - }, - "Addr": { - "type": "string", - "description": "IP address and ports at which this node can be reached.\n" - } - }, - "description": "Represents a peer-node in the swarm" - }, - "NetworkAttachmentConfig": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "The target network for attachment. Must be a network name or ID.\n" - }, - "Aliases": { - "type": "array", - "description": "Discoverable alternate names for the service on this network.\n", - "items": { - "type": "string" - } - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver attachment options for the network target.\n" - } - }, - "description": "Specifies how a service should be attached to a particular network.\n" - }, - "EventActor": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the object emitting the event", - "example": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" - }, - "Attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Various key/value attributes of the object, depending on its type.\n", - "example": { - "com.example.some-label": "some-label-value", - "image": "alpine:latest", - "name": "my-container" - } - } - }, - "description": "Actor describes something that generates events, like a container, network,\nor a volume.\n" - }, - "EventMessage": { - "title": "SystemEventsResponse", - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The type of object emitting the event", - "example": "container", - "enum": [ - "builder", - "config", - "container", - "daemon", - "image", - "network", - "node", - "plugin", - "secret", - "service", - "volume" - ] - }, - "Action": { - "type": "string", - "description": "The type of event", - "example": "create" - }, - "Actor": { - "$ref": "#/components/schemas/EventActor" - }, - "scope": { - "type": "string", - "description": "Scope of the event. Engine events are `local` scope. Cluster (Swarm)\nevents are `swarm` scope.\n", - "enum": [ - "local", - "swarm" - ] - }, - "time": { - "type": "integer", - "description": "Timestamp of event", - "format": "int64", - "example": 1629574695 - }, - "timeNano": { - "type": "integer", - "description": "Timestamp of event, with nanosecond accuracy", - "format": "int64", - "example": 1629574695515050000 - } - }, - "description": "EventMessage represents the information an event contains.\n" - }, - "OCIDescriptor": { - "type": "object", - "properties": { - "mediaType": { - "type": "string", - "description": "The media type of the object this schema refers to.\n", - "example": "application/vnd.docker.distribution.manifest.v2+json" - }, - "digest": { - "type": "string", - "description": "The digest of the targeted content.\n", - "example": "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96" - }, - "size": { - "type": "integer", - "description": "The size in bytes of the blob.\n", - "format": "int64", - "example": 3987495 - } - }, - "description": "A descriptor struct containing digest, media type, and size, as defined in\nthe [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).\n", - "x-go-name": "Descriptor" - }, - "OCIPlatform": { - "type": "object", - "properties": { - "architecture": { - "type": "string", - "description": "The CPU architecture, for example `amd64` or `ppc64`.\n", - "example": "arm" - }, - "os": { - "type": "string", - "description": "The operating system, for example `linux` or `windows`.\n", - "example": "windows" - }, - "os.version": { - "type": "string", - "description": "Optional field specifying the operating system version, for example on\nWindows `10.0.19041.1165`.\n", - "example": "10.0.19041.1165" - }, - "os.features": { - "type": "array", - "description": "Optional field specifying an array of strings, each listing a required\nOS feature (for example on Windows `win32k`).\n", - "example": [ - "win32k" - ], - "items": { - "type": "string" - } - }, - "variant": { - "type": "string", - "description": "Optional field specifying a variant of the CPU, for example `v7` to\nspecify ARMv7 when architecture is `arm`.\n", - "example": "v7" - } - }, - "description": "Describes the platform which the image in the manifest runs on, as defined\nin the [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).\n", - "x-go-name": "Platform" - }, - "DistributionInspect": { - "title": "DistributionInspectResponse", - "required": [ - "Descriptor", - "Platforms" - ], - "type": "object", - "properties": { - "Descriptor": { - "$ref": "#/components/schemas/OCIDescriptor" - }, - "Platforms": { - "type": "array", - "description": "An array containing all platforms supported by the image.\n", - "items": { - "$ref": "#/components/schemas/OCIPlatform" - } - } - }, - "description": "Describes the result obtained from contacting the registry to retrieve\nimage metadata.\n", - "x-go-name": "DistributionInspect" - }, - "ClusterVolume": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The Swarm ID of this volume. Because cluster volumes are Swarm\nobjects, they have an ID, unlike non-cluster volumes. This ID can\nbe used to refer to the Volume instead of the name.\n" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - }, - "Info": { - "type": "object", - "properties": { - "CapacityBytes": { - "type": "integer", - "description": "The capacity of the volume in bytes. A value of 0 indicates that\nthe capacity is unknown.\n", - "format": "int64" - }, - "VolumeContext": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of strings to strings returned from the storage plugin when\nthe volume is created.\n" - }, - "VolumeID": { - "type": "string", - "description": "The ID of the volume as returned by the CSI storage plugin. This\nis distinct from the volume's ID as provided by Docker. This ID\nis never used by the user when communicating with Docker to refer\nto this volume. If the ID is blank, then the Volume has not been\nsuccessfully created in the plugin yet.\n" - }, - "AccessibleTopology": { - "type": "array", - "description": "The topology this volume is actually accessible from.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - } - }, - "description": "Information about the global status of the volume.\n" - }, - "PublishStatus": { - "type": "array", - "description": "The status of the volume as it pertains to its publishing and use on\nspecific nodes\n", - "items": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "The ID of the Swarm node the volume is published on.\n" - }, - "State": { - "type": "string", - "description": "The published state of the volume.\n* `pending-publish` The volume should be published to this node, but the call to the controller plugin to do so has not yet been successfully completed.\n* `published` The volume is published successfully to the node.\n* `pending-node-unpublish` The volume should be unpublished from the node, and the manager is awaiting confirmation from the worker that it has done so.\n* `pending-controller-unpublish` The volume is successfully unpublished from the node, but has not yet been successfully unpublished on the controller.\n", - "enum": [ - "pending-publish", - "published", - "pending-node-unpublish", - "pending-controller-unpublish" - ] - }, - "PublishContext": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of strings to strings returned by the CSI controller\nplugin when a volume is published.\n" - } - } - } - } - }, - "description": "Options and information specific to, and only present on, Swarm CSI\ncluster volumes.\n" - }, - "ClusterVolumeSpec": { - "type": "object", - "properties": { - "Group": { - "type": "string", - "description": "Group defines the volume group of this volume. Volumes belonging to\nthe same group can be referred to by group name when creating\nServices. Referring to a volume by group instructs Swarm to treat\nvolumes in that group interchangeably for the purpose of scheduling.\nVolumes with an empty string for a group technically all belong to\nthe same, emptystring group.\n" - }, - "AccessMode": { - "type": "object", - "properties": { - "Scope": { - "type": "string", - "description": "The set of nodes this volume can be used on at one time.\n- `single` The volume may only be scheduled to one node at a time.\n- `multi` the volume may be scheduled to any supported number of nodes at a time.\n", - "nullable": false, - "default": "single", - "enum": [ - "single", - "multi" - ] - }, - "Sharing": { - "type": "string", - "description": "The number and way that different tasks can use this volume\nat one time.\n- `none` The volume may only be used by one task at a time.\n- `readonly` The volume may be used by any number of tasks, but they all must mount the volume as readonly\n- `onewriter` The volume may be used by any number of tasks, but only one may mount it as read/write.\n- `all` The volume may have any number of readers and writers.\n", - "nullable": false, - "default": "none", - "enum": [ - "none", - "readonly", - "onewriter", - "all" - ] - }, - "MountVolume": { - "type": "object", - "properties": {}, - "description": "Options for using this volume as a Mount-type volume.\n\n Either MountVolume or BlockVolume, but not both, must be\n present.\n properties:\n FsType:\n type: \"string\"\n description: |\n Specifies the filesystem type for the mount volume.\n Optional.\n MountFlags:\n type: \"array\"\n description: |\n Flags to pass when mounting the volume. Optional.\n items:\n type: \"string\"\nBlockVolume:\n type: \"object\"\n description: |\n Options for using this volume as a Block-type volume.\n Intentionally empty.\n" - }, - "Secrets": { - "type": "array", - "description": "Swarm Secrets that are passed to the CSI storage plugin when\noperating on this volume.\n", - "items": { - "type": "object", - "properties": { - "Key": { - "type": "string", - "description": "Key is the name of the key of the key-value pair passed to\nthe plugin.\n" - }, - "Secret": { - "type": "string", - "description": "Secret is the swarm Secret object from which to read data.\nThis can be a Secret name or ID. The Secret data is\nretrieved by swarm and used as the value of the key-value\npair passed to the plugin.\n" - } - }, - "description": "One cluster volume secret entry. Defines a key-value pair that\nis passed to the plugin.\n" - } - }, - "AccessibilityRequirements": { - "type": "object", - "properties": { - "Requisite": { - "type": "array", - "description": "A list of required topologies, at least one of which the\nvolume must be accessible from.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - }, - "Preferred": { - "type": "array", - "description": "A list of topologies that the volume should attempt to be\nprovisioned in.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - } - }, - "description": "Requirements for the accessible topology of the volume. These\nfields are optional. For an in-depth description of what these\nfields mean, see the CSI specification.\n" - }, - "CapacityRange": { - "type": "object", - "properties": { - "RequiredBytes": { - "type": "integer", - "description": "The volume must be at least this big. The value of 0\nindicates an unspecified minimum\n", - "format": "int64" - }, - "LimitBytes": { - "type": "integer", - "description": "The volume must not be bigger than this. The value of 0\nindicates an unspecified maximum.\n", - "format": "int64" - } - }, - "description": "The desired capacity that the volume should be created with. If\nempty, the plugin will decide the capacity.\n" - }, - "Availability": { - "type": "string", - "description": "The availability of the volume for use in tasks.\n- `active` The volume is fully available for scheduling on the cluster\n- `pause` No new workloads should use the volume, but existing workloads are not stopped.\n- `drain` All workloads using this volume should be stopped and rescheduled, and no new ones should be started.\n", - "nullable": false, - "default": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "description": "Defines how the volume is used by tasks.\n" - } - }, - "description": "Cluster-specific options used to create the volume.\n" - }, - "Topology": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of topological domains to topological segments. For in depth\ndetails, see documentation for the Topology object in the CSI\nspecification.\n" - } - } - } -} diff --git a/app/vendor/beluga-php/docker-php-api/spec/v1.45.json b/app/vendor/beluga-php/docker-php-api/spec/v1.45.json deleted file mode 100644 index b896416ae..000000000 --- a/app/vendor/beluga-php/docker-php-api/spec/v1.45.json +++ /dev/null @@ -1,16806 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Docker Engine API", - "description": "The Engine API is an HTTP API served by Docker Engine. It is the API the\nDocker client uses to communicate with the Engine, so everything the Docker\nclient can do can be done with the API.\n\nMost of the client's commands map directly to API endpoints (e.g. `docker ps`\nis `GET /containers/json`). The notable exception is running containers,\nwhich consists of several API calls.\n\n# Errors\n\nThe API uses standard HTTP status codes to indicate the success or failure\nof the API call. The body of the response will be JSON in the following\nformat:\n\n```\n{\n \"message\": \"page not found\"\n}\n```\n\n# Versioning\n\nThe API is usually changed in each release, so API calls are versioned to\nensure that clients don't break. To lock to a specific version of the API,\nyou prefix the URL with its version, for example, call `/v1.30/info` to use\nthe v1.30 version of the `/info` endpoint. If the API version specified in\nthe URL is not supported by the daemon, a HTTP `400 Bad Request` error message\nis returned.\n\nIf you omit the version-prefix, the current version of the API (v1.45) is used.\nFor example, calling `/info` is the same as calling `/v1.45/info`. Using the\nAPI without a version-prefix is deprecated and will be removed in a future release.\n\nEngine releases in the near future should support this version of the API,\nso your client will continue to work even if it is talking to a newer Engine.\n\nThe API uses an open schema model, which means server may add extra properties\nto responses. Likewise, the server will ignore any extra query parameters and\nrequest body properties. When you write clients, you need to ignore additional\nproperties in responses to ensure they do not break when talking to newer\ndaemons.\n\n\n# Authentication\n\nAuthentication for registries is handled client side. The client has to send\nauthentication details to various endpoints that need to communicate with\nregistries, such as `POST /images/(name)/push`. These are sent as\n`X-Registry-Auth` header as a [base64url encoded](https://tools.ietf.org/html/rfc4648#section-5)\n(JSON) string with the following structure:\n\n```\n{\n \"username\": \"string\",\n \"password\": \"string\",\n \"email\": \"string\",\n \"serveraddress\": \"string\"\n}\n```\n\nThe `serveraddress` is a domain/IP without a protocol. Throughout this\nstructure, double quotes are required.\n\nIf you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth),\nyou can just pass this instead of credentials:\n\n```\n{\n \"identitytoken\": \"9cbaf023786cd7...\"\n}\n```\n", - "version": "1.45", - "x-logo": { - "url": "https://docs.docker.com/assets/images/logo-docker-main.png" - } - }, - "servers": [ - { - "url": "/v1.45" - } - ], - "tags": [ - { - "name": "Container", - "description": "Create and manage containers.\n", - "x-displayName": "Containers" - }, - { - "name": "Image", - "x-displayName": "Images" - }, - { - "name": "Network", - "description": "Networks are user-defined networks that containers can be attached to.\nSee the [networking documentation](https://docs.docker.com/network/)\nfor more information.\n", - "x-displayName": "Networks" - }, - { - "name": "Volume", - "description": "Create and manage persistent storage that can be attached to containers.\n", - "x-displayName": "Volumes" - }, - { - "name": "Exec", - "description": "Run new commands inside running containers. Refer to the\n[command-line reference](https://docs.docker.com/engine/reference/commandline/exec/)\nfor more information.\n\nTo exec a command in a container, you first need to create an exec instance,\nthen start it. These two API endpoints are wrapped up in a single command-line\ncommand, `docker exec`.\n", - "x-displayName": "Exec" - }, - { - "name": "Swarm", - "description": "Engines can be clustered together in a swarm. Refer to the\n[swarm mode documentation](https://docs.docker.com/engine/swarm/)\nfor more information.\n", - "x-displayName": "Swarm" - }, - { - "name": "Node", - "description": "Nodes are instances of the Engine participating in a swarm. Swarm mode\nmust be enabled for these endpoints to work.\n", - "x-displayName": "Nodes" - }, - { - "name": "Service", - "description": "Services are the definitions of tasks to run on a swarm. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Services" - }, - { - "name": "Task", - "description": "A task is a container running on a swarm. It is the atomic scheduling unit\nof swarm. Swarm mode must be enabled for these endpoints to work.\n", - "x-displayName": "Tasks" - }, - { - "name": "Secret", - "description": "Secrets are sensitive data that can be used by services. Swarm mode must\nbe enabled for these endpoints to work.\n", - "x-displayName": "Secrets" - }, - { - "name": "Config", - "description": "Configs are application configurations that can be used by services. Swarm\nmode must be enabled for these endpoints to work.\n", - "x-displayName": "Configs" - }, - { - "name": "Plugin", - "x-displayName": "Plugins" - }, - { - "name": "System", - "x-displayName": "System" - } - ], - "paths": { - "/containers/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "List containers", - "description": "Returns a list of containers. For details on the format, see the\n[inspect endpoint](#operation/ContainerInspect).\n\nNote that it uses a different, smaller representation of a container\nthan inspecting a single container. For example, the list of linked\ncontainers is not propagated .\n", - "operationId": "ContainerList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Return all containers. By default, only running containers are shown.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "limit", - "in": "query", - "description": "Return this number of most recently created containers, including\nnon-running ones.\n", - "schema": { - "type": "integer" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "Filters to process on the container list, encoded as JSON (a\n`map[string][]string`). For example, `{\"status\": [\"paused\"]}` will\nonly return paused containers.\n\nAvailable filters:\n\n- `ancestor`=(`[:]`, ``, or ``)\n- `before`=(`` or ``)\n- `expose`=(`[/]`|`/[]`)\n- `exited=` containers with exit code of ``\n- `health`=(`starting`|`healthy`|`unhealthy`|`none`)\n- `id=` a container's ID\n- `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)\n- `is-task=`(`true`|`false`)\n- `label=key` or `label=\"key=value\"` of a container label\n- `name=` a container's name\n- `network`=(`` or ``)\n- `publish`=(`[/]`|`/[]`)\n- `since`=(`` or ``)\n- `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)\n- `volume`=(`` or ``)\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "example": [ - { - "Id": "8dfafdbc3a40", - "Names": [ - "/boring_feynman" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 1", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [ - { - "PrivatePort": 2222, - "PublicPort": 3333, - "Type": "tcp" - } - ], - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:02" - } - } - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - }, - { - "Id": "9cd87474be90", - "Names": [ - "/coolName" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 222222", - "Created": 1367854155, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.8", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:08" - } - } - }, - "Mounts": [] - }, - { - "Id": "3176a2479c92", - "Names": [ - "/sleepy_dog" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 3333333333333333", - "Created": 1367854154, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.6", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:06" - } - } - }, - "Mounts": [] - }, - { - "Id": "4cb07b47f9fb", - "Names": [ - "/running_cat" - ], - "Image": "ubuntu:latest", - "ImageID": "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82", - "Command": "echo 444444444444444444444444444444444", - "Created": 1367854152, - "State": "Exited", - "Status": "Exit 0", - "Ports": [], - "Labels": {}, - "SizeRw": 12288, - "SizeRootFs": 0, - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.5", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:11:00:05" - } - } - }, - "Mounts": [] - } - ] - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/create": { - "post": { - "tags": [ - "Container" - ], - "summary": "Create a container", - "operationId": "ContainerCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Assign the specified name to the container. Must match\n`/?[a-zA-Z0-9][a-zA-Z0-9_.-]+`.\n", - "schema": { - "pattern": "^/?[a-zA-Z0-9][a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format `os[/arch[/variant]]` used for image lookup.\n\nWhen specified, the daemon checks if the requested image is present\nin the local image cache with the given OS and Architecture, and\notherwise returns a `404` status.\n\nIf the option is not set, the host's native OS and Architecture are\nused to look up the image in the image cache. However, if no platform\nis passed and the given image does exist in the local image cache,\nbut its OS or architecture does not match, the container is created\nwith the available image, and a warning is added to the `Warnings`\nfield in the response, for example;\n\n WARNING: The requested image's platform (linux/arm64/v8) does not\n match the detected host platform (linux/amd64) and no\n specific platform was requested\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Container to create", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - }, - "application/octet-stream": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ContainerConfig" - }, - { - "type": "object", - "properties": { - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "NetworkingConfig": { - "$ref": "#/components/schemas/NetworkingConfig" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "Container created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerCreateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/containers/{id}/json": { - "get": { - "tags": [ - "Container" - ], - "summary": "Inspect a container", - "description": "Return low-level information about a container.", - "operationId": "ContainerInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Return the size of container as fields `SizeRw` and `SizeRootFs`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerInspectResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the container" - }, - "Created": { - "type": "string", - "description": "The time the container was created" - }, - "Path": { - "type": "string", - "description": "The path to the command being run" - }, - "Args": { - "type": "array", - "description": "The arguments to the command being run", - "items": { - "type": "string" - } - }, - "State": { - "$ref": "#/components/schemas/ContainerState" - }, - "Image": { - "type": "string", - "description": "The container's image ID" - }, - "ResolvConfPath": { - "type": "string" - }, - "HostnamePath": { - "type": "string" - }, - "HostsPath": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestartCount": { - "type": "integer" - }, - "Driver": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "MountLabel": { - "type": "string" - }, - "ProcessLabel": { - "type": "string" - }, - "AppArmorProfile": { - "type": "string" - }, - "ExecIDs": { - "type": "array", - "description": "IDs of exec instances that are running in the container.", - "nullable": true, - "items": { - "type": "string" - } - }, - "HostConfig": { - "$ref": "#/components/schemas/HostConfig" - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this\ncontainer.\n", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container.", - "format": "int64" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "NetworkSettings": { - "$ref": "#/components/schemas/NetworkSettings" - } - } - }, - "example": { - "AppArmorProfile": "", - "Args": [ - "-c", - "exit 9" - ], - "Config": { - "AttachStderr": true, - "AttachStdin": false, - "AttachStdout": true, - "Cmd": [ - "/bin/sh", - "-c", - "exit 9" - ], - "Domainname": "", - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "Healthcheck": { - "Test": [ - "CMD-SHELL", - "exit 0" - ] - }, - "Hostname": "ba033ac44011", - "Image": "ubuntu", - "Labels": { - "com.example.vendor": "Acme", - "com.example.license": "GPL", - "com.example.version": "1.0" - }, - "MacAddress": "", - "NetworkDisabled": false, - "OpenStdin": false, - "StdinOnce": false, - "Tty": false, - "User": "", - "Volumes": { - "/volumes/data": {} - }, - "WorkingDir": "", - "StopSignal": "SIGTERM", - "StopTimeout": 10 - }, - "Created": "2015-01-06T15:47:31.485331387Z", - "Driver": "overlay2", - "ExecIDs": [ - "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca", - "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4" - ], - "HostConfig": { - "MaximumIOps": 0, - "MaximumIOBps": 0, - "BlkioWeight": 0, - "BlkioWeightDevice": [ - {} - ], - "BlkioDeviceReadBps": [ - {} - ], - "BlkioDeviceWriteBps": [ - {} - ], - "BlkioDeviceReadIOps": [ - {} - ], - "BlkioDeviceWriteIOps": [ - {} - ], - "ContainerIDFile": "", - "CpusetCpus": "", - "CpusetMems": "", - "CpuPercent": 80, - "CpuShares": 0, - "CpuPeriod": 100000, - "CpuRealtimePeriod": 1000000, - "CpuRealtimeRuntime": 10000, - "Devices": [], - "DeviceRequests": [ - { - "Driver": "nvidia", - "Count": -1, - "DeviceIDs\"": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "Capabilities": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "Options": { - "property1": "string", - "property2": "string" - } - } - ], - "IpcMode": "", - "Memory": 0, - "MemorySwap": 0, - "MemoryReservation": 0, - "OomKillDisable": false, - "OomScoreAdj": 500, - "NetworkMode": "bridge", - "PidMode": "", - "PortBindings": {}, - "Privileged": false, - "ReadonlyRootfs": false, - "PublishAllPorts": false, - "RestartPolicy": { - "MaximumRetryCount": 2, - "Name": "on-failure" - }, - "LogConfig": { - "Type": "json-file" - }, - "Sysctls": { - "net.ipv4.ip_forward": "1" - }, - "Ulimits": [ - {} - ], - "VolumeDriver": "", - "ShmSize": 67108864 - }, - "HostnamePath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname", - "HostsPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts", - "LogPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log", - "Id": "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39", - "Image": "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2", - "MountLabel": "", - "Name": "/boring_euclid", - "NetworkSettings": { - "Bridge": "", - "SandboxID": "", - "HairpinMode": false, - "LinkLocalIPv6Address": "", - "LinkLocalIPv6PrefixLen": 0, - "SandboxKey": "", - "EndpointID": "", - "Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "IPAddress": "", - "IPPrefixLen": 0, - "IPv6Gateway": "", - "MacAddress": "", - "Networks": { - "bridge": { - "NetworkID": "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", - "EndpointID": "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d", - "Gateway": "172.17.0.1", - "IPAddress": "172.17.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Path": "/bin/sh", - "ProcessLabel": "", - "ResolvConfPath": "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf", - "RestartCount": 1, - "State": { - "Error": "", - "ExitCode": 9, - "FinishedAt": "2015-01-06T15:47:32.080254511Z", - "Health": { - "Status": "healthy", - "FailingStreak": 0, - "Log": [ - { - "Start": "2019-12-22T10:59:05.6385933Z", - "End": "2019-12-22T10:59:05.8078452Z", - "ExitCode": 0, - "Output": "" - } - ] - }, - "OOMKilled": false, - "Dead": false, - "Paused": false, - "Pid": 0, - "Restarting": false, - "Running": true, - "StartedAt": "2015-01-06T15:47:32.072697474Z", - "Status": "running" - }, - "Mounts": [ - { - "Name": "fac362...80535", - "Source": "/data", - "Destination": "/data", - "Driver": "local", - "Mode": "ro,Z", - "RW": false, - "Propagation": "" - } - ] - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/top": { - "get": { - "tags": [ - "Container" - ], - "summary": "List processes running inside a container", - "description": "On Unix systems, this is done by running the `ps` command. This endpoint\nis not supported on Windows.\n", - "operationId": "ContainerTop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ps_args", - "in": "query", - "description": "The arguments to pass to `ps`. For example, `aux`", - "schema": { - "type": "string", - "default": "-ef" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - }, - "example": { - "Titles": [ - "UID", - "PID", - "PPID", - "C", - "STIME", - "TTY", - "TIME", - "CMD" - ], - "Processes": [ - [ - "root", - "13642", - "882", - "0", - "17:03", - "pts/0", - "00:00:00", - "/bin/bash" - ], - [ - "root", - "13735", - "13642", - "0", - "17:06", - "pts/0", - "00:00:00", - "sleep 10" - ] - ] - } - }, - "text/plain": { - "schema": { - "title": "ContainerTopResponse", - "type": "object", - "properties": { - "Titles": { - "type": "array", - "description": "The ps column titles", - "items": { - "type": "string" - } - }, - "Processes": { - "type": "array", - "description": "Each process running in the container, where each is process\nis an array of values corresponding to the titles.\n", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "description": "OK response to ContainerTop operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/logs": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container logs", - "description": "Get `stdout` and `stderr` logs from a container.\n\nNote: This endpoint works only for containers with the `json-file` or\n`journald` logging driver.\n", - "operationId": "ContainerLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "until", - "in": "query", - "description": "Only return logs before this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body.\nFor the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).\nNote that unlike the attach endpoint, the logs endpoint does not\nupgrade the connection and does not set Content-Type.\n", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/changes": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get changes on a container’s filesystem", - "description": "Returns which files in a container's filesystem have been added, deleted,\nor modified. The `Kind` of modification can be one of:\n\n- `0`: Modified (\"C\")\n- `1`: Added (\"A\")\n- `2`: Deleted (\"D\")\n", - "operationId": "ContainerChanges", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "The list of changes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FilesystemChange" - } - }, - "example": [ - { - "Path": "/dev", - "Kind": 0 - }, - { - "Path": "/dev/kmsg", - "Kind": 1 - }, - { - "Path": "/test", - "Kind": 1 - } - ] - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/export": { - "get": { - "tags": [ - "Container" - ], - "summary": "Export a container", - "description": "Export the contents of a container as a tarball.", - "operationId": "ContainerExport", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stats": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get container stats based on resource usage", - "description": "This endpoint returns a live stream of a container’s resource usage\nstatistics.\n\nThe `precpu_stats` is the CPU statistic of the *previous* read, and is\nused to calculate the CPU usage percentage. It is not an exact copy\nof the `cpu_stats` field.\n\nIf either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is\nnil then for compatibility with older daemons the length of the\ncorresponding `cpu_usage.percpu_usage` array should be used.\n\nOn a cgroup v2 host, the following fields are not set\n* `blkio_stats`: all fields other than `io_service_bytes_recursive`\n* `cpu_stats`: `cpu_usage.percpu_usage`\n* `memory_stats`: `max_usage` and `failcnt`\nAlso, `memory_stats.stats` fields are incompatible with cgroup v1.\n\nTo calculate the values shown by the `stats` command of the docker cli tool\nthe following formulas can be used:\n* used_memory = `memory_stats.usage - memory_stats.stats.cache`\n* available_memory = `memory_stats.limit`\n* Memory usage % = `(used_memory / available_memory) * 100.0`\n* cpu_delta = `cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage`\n* system_cpu_delta = `cpu_stats.system_cpu_usage - precpu_stats.system_cpu_usage`\n* number_cpus = `lenght(cpu_stats.cpu_usage.percpu_usage)` or `cpu_stats.online_cpus`\n* CPU usage % = `(cpu_delta / system_cpu_delta) * number_cpus * 100.0`\n", - "operationId": "ContainerStats", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream the output. If false, the stats will be output once and then\nit will disconnect.\n", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "one-shot", - "in": "query", - "description": "Only get a single stat instead of waiting for 2 cycles. Must be used\nwith `stream=false`.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "read": "2015-01-08T22:57:31.547920715Z", - "pids_stats": { - "current": 3 - }, - "networks": { - "eth0": { - "rx_bytes": 5338, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 36, - "tx_bytes": 648, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 8 - }, - "eth5": { - "rx_bytes": 4641, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 26, - "tx_bytes": 690, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 9 - } - }, - "memory_stats": { - "stats": { - "total_pgmajfault": 0, - "cache": 0, - "mapped_file": 0, - "total_inactive_file": 0, - "pgpgout": 414, - "rss": 6537216, - "total_mapped_file": 0, - "writeback": 0, - "unevictable": 0, - "pgpgin": 477, - "total_unevictable": 0, - "pgmajfault": 0, - "total_rss": 6537216, - "total_rss_huge": 6291456, - "total_writeback": 0, - "total_inactive_anon": 0, - "rss_huge": 6291456, - "hierarchical_memory_limit": 67108864, - "total_pgfault": 964, - "total_active_file": 0, - "active_anon": 6537216, - "total_active_anon": 6537216, - "total_pgpgout": 414, - "total_cache": 0, - "inactive_anon": 0, - "active_file": 0, - "pgfault": 964, - "inactive_file": 0, - "total_pgpgin": 477 - }, - "max_usage": 6651904, - "usage": 6537216, - "failcnt": 0, - "limit": 67108864 - }, - "blkio_stats": {}, - "cpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24472255, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100215355, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 739306590000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - }, - "precpu_stats": { - "cpu_usage": { - "percpu_usage": [ - 8646879, - 24350896, - 36438778, - 30657443 - ], - "usage_in_usermode": 50000000, - "total_usage": 100093996, - "usage_in_kernelmode": 30000000 - }, - "system_cpu_usage": 9492140000000, - "online_cpus": 4, - "throttling_data": { - "periods": 0, - "throttled_periods": 0, - "throttled_time": 0 - } - } - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/resize": { - "post": { - "tags": [ - "Container" - ], - "summary": "Resize a container TTY", - "description": "Resize the TTY for a container.", - "operationId": "ContainerResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "cannot resize container", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/start": { - "post": { - "tags": [ - "Container" - ], - "summary": "Start a container", - "operationId": "ContainerStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container. Format is a\nsingle character `[a-Z]` or `ctrl-` where `` is one\nof: `a-z`, `@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already started", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/stop": { - "post": { - "tags": [ - "Container" - ], - "summary": "Stop a container", - "operationId": "ContainerStop", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "304": { - "description": "container already stopped", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/restart": { - "post": { - "tags": [ - "Container" - ], - "summary": "Restart a container", - "operationId": "ContainerRestart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string" - } - }, - { - "name": "t", - "in": "query", - "description": "Number of seconds to wait before killing the container", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/kill": { - "post": { - "tags": [ - "Container" - ], - "summary": "Kill a container", - "description": "Send a POSIX signal to a container, defaulting to killing to the\ncontainer.\n", - "operationId": "ContainerKill", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "signal", - "in": "query", - "description": "Signal to send to the container as an integer or string (e.g. `SIGINT`).\n", - "schema": { - "type": "string", - "default": "SIGKILL" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "container is not running", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Container d37cde0fe4ad63c3a7252023b2f9800282894247d145cb5933ddf6e52cc03a28 is not running" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/update": { - "post": { - "tags": [ - "Container" - ], - "summary": "Update a container", - "description": "Change various configuration options of a container without having to\nrecreate it.\n", - "operationId": "ContainerUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The container has been updated.", - "content": { - "application/json": { - "schema": { - "title": "ContainerUpdateResponse", - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerUpdate operation" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "update" - } - }, - "/containers/{id}/rename": { - "post": { - "tags": [ - "Container" - ], - "summary": "Rename a container", - "operationId": "ContainerRename", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "New name for the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name already in use", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/pause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Pause a container", - "description": "Use the freezer cgroup to suspend all processes in a container.\n\nTraditionally, when suspending a process the `SIGSTOP` signal is used,\nwhich is observable by the process being suspended. With the freezer\ncgroup the process is unaware, and unable to capture, that it is being\nsuspended, and subsequently resumed.\n", - "operationId": "ContainerPause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/unpause": { - "post": { - "tags": [ - "Container" - ], - "summary": "Unpause a container", - "description": "Resume a container which has been paused.", - "operationId": "ContainerUnpause", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach": { - "post": { - "tags": [ - "Container" - ], - "summary": "Attach to a container", - "description": "Attach to a container to read its output or send it input. You can attach\nto the same container multiple times and you can reattach to containers\nthat have been detached.\n\nEither the `stream` or `logs` parameter must be `true` for this endpoint\nto do anything.\n\nSee the [documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/)\nfor more details.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to transport `stdin`, `stdout`,\nand `stderr` on the same socket.\n\nThis is the response from the daemon for an attach request:\n\n```\nHTTP/1.1 200 OK\nContent-Type: application/vnd.docker.raw-stream\n\n[STREAM]\n```\n\nAfter the headers and two new lines, the TCP connection can now be used\nfor raw, bidirectional communication between the client and server.\n\nTo hint potential proxies about connection hijacking, the Docker client\ncan also optionally send connection upgrade headers.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1\nUpgrade: tcp\nConnection: Upgrade\n```\n\nThe Docker daemon will respond with a `101 UPGRADED` response, and will\nsimilarly follow with the raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nContent-Type: application/vnd.docker.raw-stream\nConnection: Upgrade\nUpgrade: tcp\n\n[STREAM]\n```\n\n### Stream format\n\nWhen the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe HTTP Content-Type header is set to application/vnd.docker.multiplexed-stream\nand the stream over the hijacked connected is multiplexed to separate out\n`stdout` and `stderr`. The stream consists of a series of frames, each\ncontaining a header and a payload.\n\nThe header contains the information which the stream writes (`stdout` or\n`stderr`). It also contains the size of the associated frame encoded in\nthe last four bytes (`uint32`).\n\nIt is encoded on the first eight bytes like this:\n\n```go\nheader := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}\n```\n\n`STREAM_TYPE` can be:\n\n- 0: `stdin` (is written on `stdout`)\n- 1: `stdout`\n- 2: `stderr`\n\n`SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size\nencoded as big endian.\n\nFollowing the header is the payload, which is the specified number of\nbytes of `STREAM_TYPE`.\n\nThe simplest way to implement this protocol is the following:\n\n1. Read 8 bytes.\n2. Choose `stdout` or `stderr` depending on the first byte.\n3. Extract the frame size from the last four bytes.\n4. Read the extracted size and output it on the correct output.\n5. Goto 1.\n\n### Stream format when using a TTY\n\nWhen the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate),\nthe stream is not multiplexed. The data exchanged over the hijacked\nconnection is simply the raw data from the process PTY and client's\n`stdin`.\n", - "operationId": "ContainerAttach", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,` or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Replay previous logs from the container.\n\nThis is useful for attaching to a container that has started and you\nwant to output everything since the container started.\n\nIf `stream` is also enabled, once all the previous output has been\nreturned, it will seamlessly transition into streaming current\noutput.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Stream attached streams from the time the request was made onwards.\n", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/attach/ws": { - "get": { - "tags": [ - "Container" - ], - "summary": "Attach to a container via a websocket", - "operationId": "ContainerAttachWebsocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "detachKeys", - "in": "query", - "description": "Override the key sequence for detaching a container.Format is a single\ncharacter `[a-Z]` or `ctrl-` where `` is one of: `a-z`,\n`@`, `^`, `[`, `,`, or `_`.\n", - "schema": { - "type": "string" - } - }, - { - "name": "logs", - "in": "query", - "description": "Return logs", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stream", - "in": "query", - "description": "Return stream", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdin", - "in": "query", - "description": "Attach to `stdin`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Attach to `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Attach to `stderr`", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "101": { - "description": "no error, hints proxy about hijacking", - "content": {} - }, - "200": { - "description": "no error, no upgrade header found", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/wait": { - "post": { - "tags": [ - "Container" - ], - "summary": "Wait for a container", - "description": "Block until a container stops, then returns the exit code.", - "operationId": "ContainerWait", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "condition", - "in": "query", - "description": "Wait until a container state reaches the given condition.\n\nDefaults to `not-running` if omitted or empty.\n", - "schema": { - "type": "string", - "default": "not-running", - "enum": [ - "not-running", - "next-exit", - "removed" - ] - } - } - ], - "responses": { - "200": { - "description": "The container has exit.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerWaitResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}": { - "delete": { - "tags": [ - "Container" - ], - "summary": "Remove a container", - "operationId": "ContainerDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "v", - "in": "query", - "description": "Remove anonymous volumes associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "force", - "in": "query", - "description": "If the container is running, kill it before removing it.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "link", - "in": "query", - "description": "Remove the specified link associated with the container.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "You cannot remove a running container: c2ada9df5af8. Stop the\ncontainer before attempting removal or force remove\n" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/{id}/archive": { - "get": { - "tags": [ - "Container" - ], - "summary": "Get an archive of a filesystem resource in a container", - "description": "Get a tar archive of a resource in the filesystem of container id.", - "operationId": "ContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Container" - ], - "summary": "Extract an archive of files or folders to a directory in a container", - "description": "Upload a tar archive to be extracted to a path in the filesystem of container id.\n`path` parameter is asserted to be a directory. If it exists as a file, 400 error\nwill be returned with message \"not a directory\".\n", - "operationId": "PutContainerArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Path to a directory in the container to extract the archive’s contents into. ", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "noOverwriteDirNonDir", - "in": "query", - "description": "If `1`, `true`, or `True` then it will be an error if unpacking the\ngiven content would cause an existing directory to be replaced with\na non-directory and vice versa.\n", - "schema": { - "type": "string" - } - }, - { - "name": "copyUIDGID", - "in": "query", - "description": "If `1`, `true`, then it will copy UID/GID maps to the dest file or\ndir\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The input stream must be a tar archive compressed with one of the\nfollowing algorithms: `identity` (no compression), `gzip`, `bzip2`,\nor `xz`.\n", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The content was extracted successfully", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "not a directory" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Permission denied, the volume or container rootfs is marked as read-only.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such container or path does not exist inside the container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - }, - "head": { - "tags": [ - "Container" - ], - "summary": "Get information about files in a container", - "description": "A response header `X-Docker-Container-Path-Stat` is returned, containing\na base64 - encoded JSON object with some filesystem header information\nabout the path.\n", - "operationId": "ContainerArchiveInfo", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the container", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "path", - "in": "query", - "description": "Resource in the container’s filesystem to archive.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "headers": { - "X-Docker-Container-Path-Stat": { - "description": "A base64 - encoded JSON object with some filesystem header\ninformation about the path\n", - "schema": { - "type": "string" - } - } - }, - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Container or path does not exist", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/containers/prune": { - "post": { - "tags": [ - "Container" - ], - "summary": "Delete stopped containers", - "operationId": "ContainerPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ContainerPruneResponse", - "type": "object", - "properties": { - "ContainersDeleted": { - "type": "array", - "description": "Container IDs that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "List Images", - "description": "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image.", - "operationId": "ImageList", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Show all images. Only images from a final layer (no children) are shown by default.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the images list.\n\nAvailable filters:\n\n- `before`=(`[:]`, `` or ``)\n- `dangling=true`\n- `label=key` or `label=\"key=value\"` of an image label\n- `reference`=(`[:]`)\n- `since`=(`[:]`, `` or ``)\n- `until=`\n", - "schema": { - "type": "string" - } - }, - { - "name": "shared-size", - "in": "query", - "description": "Compute and show shared size as a `SharedSize` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "digests", - "in": "query", - "description": "Show digest information as a `RepoDigests` field on each image.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "Summary image data for the images matching the query", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/build": { - "post": { - "tags": [ - "Image" - ], - "summary": "Build an image", - "description": "Build an image from a tar archive with a `Dockerfile` in it.\n\nThe `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/).\n\nThe Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output.\n\nThe build is canceled if the client drops the connection by quitting or being killed.\n", - "operationId": "ImageBuild", - "parameters": [ - { - "name": "dockerfile", - "in": "query", - "description": "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`.", - "schema": { - "type": "string", - "default": "Dockerfile" - } - }, - { - "name": "t", - "in": "query", - "description": "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters.", - "schema": { - "type": "string" - } - }, - { - "name": "extrahosts", - "in": "query", - "description": "Extra hosts to add to /etc/hosts", - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball.", - "schema": { - "type": "string" - } - }, - { - "name": "q", - "in": "query", - "description": "Suppress verbose build output.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "nocache", - "in": "query", - "description": "Do not use the cache when building the image.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "cachefrom", - "in": "query", - "description": "JSON array of images used for build cache resolution.", - "schema": { - "type": "string" - } - }, - { - "name": "pull", - "in": "query", - "description": "Attempt to pull the image even if an older image exists locally.", - "schema": { - "type": "string" - } - }, - { - "name": "rm", - "in": "query", - "description": "Remove intermediate containers after a successful build.", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "forcerm", - "in": "query", - "description": "Always remove intermediate containers, even upon failure.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "memory", - "in": "query", - "description": "Set memory limit for build.", - "schema": { - "type": "integer" - } - }, - { - "name": "memswap", - "in": "query", - "description": "Total memory (memory + swap). Set as `-1` to disable swap.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpushares", - "in": "query", - "description": "CPU shares (relative weight).", - "schema": { - "type": "integer" - } - }, - { - "name": "cpusetcpus", - "in": "query", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).", - "schema": { - "type": "string" - } - }, - { - "name": "cpuperiod", - "in": "query", - "description": "The length of a CPU period in microseconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "cpuquota", - "in": "query", - "description": "Microseconds of CPU time that the container can get in a CPU period.", - "schema": { - "type": "integer" - } - }, - { - "name": "buildargs", - "in": "query", - "description": "JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values.\n\nFor example, the build arg `FOO=bar` would become `{\"FOO\":\"bar\"}` in JSON. This would result in the query parameter `buildargs={\"FOO\":\"bar\"}`. Note that `{\"FOO\":\"bar\"}` should be URI component encoded.\n\n[Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)\n", - "schema": { - "type": "string" - } - }, - { - "name": "shmsize", - "in": "query", - "description": "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB.", - "schema": { - "type": "integer" - } - }, - { - "name": "squash", - "in": "query", - "description": "Squash the resulting images layers into a single layer. *(Experimental release only.)*", - "schema": { - "type": "boolean" - } - }, - { - "name": "labels", - "in": "query", - "description": "Arbitrary key/value labels to set on the image, as a JSON map of string pairs.", - "schema": { - "type": "string" - } - }, - { - "name": "networkmode", - "in": "query", - "description": "Sets the networking mode for the run commands during build. Supported\nstandard values are: `bridge`, `host`, `none`, and `container:`.\nAny other value is taken as a custom network's name or ID to which this\ncontainer should connect to.\n", - "schema": { - "type": "string" - } - }, - { - "name": "Content-type", - "in": "header", - "schema": { - "type": "string", - "default": "application/x-tar", - "enum": [ - "application/x-tar" - ] - } - }, - { - "name": "X-Registry-Config", - "in": "header", - "description": "This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.\n\nThe key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:\n\n```\n{\n \"docker.example.com\": {\n \"username\": \"janedoe\",\n \"password\": \"hunter2\"\n },\n \"https://index.docker.io/v1/\": {\n \"username\": \"mobydock\",\n \"password\": \"conta1n3rize14\"\n }\n}\n```\n\nOnly the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API.\n", - "schema": { - "type": "string" - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]]", - "schema": { - "type": "string" - } - }, - { - "name": "target", - "in": "query", - "description": "Target build stage", - "schema": { - "type": "string" - } - }, - { - "name": "outputs", - "in": "query", - "description": "BuildKit output configuration", - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "Version of the builder backend to use.\n\n- `1` is the first generation classic (deprecated) builder in the Docker daemon (default)\n- `2` is [BuildKit](https://github.com/moby/buildkit)\n", - "schema": { - "type": "string", - "default": "1", - "enum": [ - "1", - "2" - ] - } - } - ], - "requestBody": { - "description": "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz.", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputStream" - } - }, - "/build/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete builder cache", - "operationId": "BuildPrune", - "parameters": [ - { - "name": "keep-storage", - "in": "query", - "description": "Amount of disk space in bytes to keep for cache", - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "all", - "in": "query", - "description": "Remove all types of build cache", - "schema": { - "type": "boolean" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the list of build cache objects.\n\nAvailable filters:\n\n- `until=` remove cache older than ``. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon's local time.\n- `id=`\n- `parent=`\n- `type=`\n- `description=`\n- `inuse`\n- `shared`\n- `private`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "BuildPruneResponse", - "type": "object", - "properties": { - "CachesDeleted": { - "type": "array", - "items": { - "type": "string", - "description": "ID of build cache object" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/create": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create an image", - "description": "Pull or import an image.", - "operationId": "ImageCreate", - "parameters": [ - { - "name": "fromImage", - "in": "query", - "description": "Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed.", - "schema": { - "type": "string" - } - }, - { - "name": "fromSrc", - "in": "query", - "description": "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled.", - "schema": { - "type": "string" - } - }, - { - "name": "message", - "in": "query", - "description": "Set commit message for imported image.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - }, - { - "name": "changes", - "in": "query", - "description": "Apply `Dockerfile` instructions to the image that is created,\nfor example: `changes=ENV DEBUG=true`.\nNote that `ENV DEBUG=true` should be URI component encoded.\n\nSupported `Dockerfile` instructions:\n`CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`\n", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "platform", - "in": "query", - "description": "Platform in the format os[/arch[/variant]].\n\nWhen used in combination with the `fromImage` option, the daemon checks\nif the given image is present in the local image cache with the given\nOS and Architecture, and otherwise attempts to pull the image. If the\noption is not set, the host's native OS and Architecture are used.\nIf the given image does not exist in the local image cache, the daemon\nattempts to pull the image with the host's native OS and Architecture.\nIf the given image does exists in the local image cache, but its OS or\narchitecture does not match, a warning is produced.\n\nWhen used with the `fromSrc` option to import an image from an archive,\nthis option sets the platform information for the imported image. If\nthe option is not set, the host's native OS and Architecture are used\nfor the imported image.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Image content if the value `-` has been specified in fromSrc query parameter", - "content": { - "text/plain": { - "schema": { - "type": "string" - } - }, - "application/octet-stream": { - "schema": { - "type": "string" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "repository does not exist or no read access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "inputImage" - } - }, - "/images/{name}/json": { - "get": { - "tags": [ - "Image" - ], - "summary": "Inspect an image", - "description": "Return low-level information about an image.", - "operationId": "ImageInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImageInspect" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/history": { - "get": { - "tags": [ - "Image" - ], - "summary": "Get the history of an image", - "description": "Return parent layers of an image.", - "operationId": "ImageHistory", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List of image layers", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "HistoryResponseItem", - "required": [ - "Comment", - "Created", - "CreatedBy", - "Id", - "Size", - "Tags" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "nullable": false - }, - "Created": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "CreatedBy": { - "type": "string", - "nullable": false - }, - "Tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "Size": { - "type": "integer", - "format": "int64", - "nullable": false - }, - "Comment": { - "type": "string", - "nullable": false - } - }, - "description": "individual image layer information in response to ImageHistory operation", - "x-go-name": "HistoryResponseItem" - } - }, - "example": [ - { - "Id": "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710", - "Created": 1398108230, - "CreatedBy": "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /", - "Tags": [ - "ubuntu:lucid", - "ubuntu:10.04" - ], - "Size": 182964289, - "Comment": "" - }, - { - "Id": "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8", - "Created": 1398108222, - "CreatedBy": "/bin/sh -c #(nop) MAINTAINER Tianon Gravi - mkimage-debootstrap.sh -i iproute,iputils-ping,ubuntu-minimal -t lucid.tar.xz lucid http://archive.ubuntu.com/ubuntu/", - "Tags": [], - "Size": 0, - "Comment": "" - }, - { - "Id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158", - "Created": 1371157430, - "CreatedBy": "", - "Tags": [ - "scratch12:latest", - "scratch:latest" - ], - "Size": 0, - "Comment": "Imported from -" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/push": { - "post": { - "tags": [ - "Image" - ], - "summary": "Push an image", - "description": "Push an image to a registry.\n\nIf you wish to push an image on to a private registry, that image must\nalready have a tag which references the registry. For example,\n`registry.example.com/myimage:latest`.\n\nThe push is cancelled if the HTTP connection is closed.\n", - "operationId": "ImagePush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The tag to associate with the image on the registry.", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/tag": { - "post": { - "tags": [ - "Image" - ], - "summary": "Tag an image", - "description": "Tag an image so that it becomes part of a repository.", - "operationId": "ImageTag", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID to tag.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "The repository to tag in. For example, `someuser/someimage`.", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "The name of the new tag.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "No error", - "content": {} - }, - "400": { - "description": "Bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}": { - "delete": { - "tags": [ - "Image" - ], - "summary": "Remove an image", - "description": "Remove an image, along with any untagged parent images that were\nreferenced by that image.\n\nImages can't be removed if they have descendant images, are being\nused by a running container or are being used by a build.\n", - "operationId": "ImageDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Remove the image even if it is being used by stopped containers or has other tags", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "noprune", - "in": "query", - "description": "Do not delete untagged parent images", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "The image was deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "example": [ - { - "Untagged": "3e2f21a89f" - }, - { - "Deleted": "3e2f21a89f" - }, - { - "Deleted": "53b4f83ac9" - } - ] - } - } - }, - "404": { - "description": "No such image", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/search": { - "get": { - "tags": [ - "Image" - ], - "summary": "Search images", - "description": "Search for an image on Docker Hub.", - "operationId": "ImageSearch", - "parameters": [ - { - "name": "term", - "in": "query", - "description": "Term to search", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Maximum number of results to return", - "schema": { - "type": "integer" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:\n\n- `is-official=(true|false)`\n- `stars=` Matches images that has at least 'number' stars.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "title": "ImageSearchResponseItem", - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "is_official": { - "type": "boolean" - }, - "is_automated": { - "type": "boolean", - "description": "Whether this repository has automated builds enabled.\n\n


\n\n> **Deprecated**: This field is deprecated and will always be \"false\".\n", - "example": false - }, - "name": { - "type": "string" - }, - "star_count": { - "type": "integer" - } - } - } - }, - "example": [ - { - "description": "A minimal Docker image based on Alpine Linux with a complete package index and only 5 MB in size!", - "is_official": true, - "is_automated": false, - "name": "alpine", - "star_count": 10093 - }, - { - "description": "Busybox base image.", - "is_official": true, - "is_automated": false, - "name": "Busybox base image.", - "star_count": 3037 - }, - { - "description": "The PostgreSQL object-relational database system provides reliability and data integrity.", - "is_official": true, - "is_automated": false, - "name": "postgres", - "star_count": 12408 - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/prune": { - "post": { - "tags": [ - "Image" - ], - "summary": "Delete unused images", - "operationId": "ImagePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:\n\n- `dangling=` When set to `true` (or `1`), prune only\n unused *and* untagged images. When set to `false`\n (or `0`), all unused images are pruned.\n- `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ImagePruneResponse", - "type": "object", - "properties": { - "ImagesDeleted": { - "type": "array", - "description": "Images that were deleted", - "items": { - "$ref": "#/components/schemas/ImageDeleteResponseItem" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/auth": { - "post": { - "tags": [ - "System" - ], - "summary": "Check auth configuration", - "description": "Validate credentials for a registry and, if available, get an identity\ntoken for accessing the registry without password.\n", - "operationId": "SystemAuth", - "requestBody": { - "description": "Authentication to check", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthConfig" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "An identity token was generated successfully.", - "content": { - "application/json": { - "schema": { - "title": "SystemAuthResponse", - "required": [ - "Status" - ], - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "The status of the authentication", - "nullable": false - }, - "IdentityToken": { - "type": "string", - "description": "An opaque token used to authenticate a user after a successful login", - "nullable": false - } - } - }, - "example": { - "Status": "Login Succeeded", - "IdentityToken": "9cbaf023786cd7..." - } - } - } - }, - "204": { - "description": "No error", - "content": {} - }, - "401": { - "description": "Auth error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "authConfig" - } - }, - "/info": { - "get": { - "tags": [ - "System" - ], - "summary": "Get system information", - "operationId": "SystemInfo", - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemInfo" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/version": { - "get": { - "tags": [ - "System" - ], - "summary": "Get version", - "description": "Returns the version of Docker that is running and various information about the system that Docker is running on.", - "operationId": "SystemVersion", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemVersion" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/_ping": { - "get": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPing", - "responses": { - "200": { - "description": "no error", - "headers": { - "Swarm": { - "description": "Contains information about Swarm status of the daemon,\nand if the daemon is acting as a manager or worker node.\n", - "schema": { - "type": "string", - "default": "inactive", - "enum": [ - "inactive", - "pending", - "error", - "locked", - "active/worker", - "active/manager" - ] - } - }, - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder\n\nThe default on Linux is version \"2\" (BuildKit), but the daemon\ncan be configured to recommend version \"1\" (classic Builder).\nWindows does not yet support BuildKit for native Windows images,\nand uses \"1\" (classic builder) as a default.\n\nThis value is a recommendation as advertised by the daemon, and\nit is up to the client to choose which builder to use.\n", - "schema": { - "type": "string", - "default": "2" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "OK" - } - } - } - }, - "500": { - "description": "server error", - "headers": { - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "head": { - "tags": [ - "System" - ], - "summary": "Ping", - "description": "This is a dummy endpoint you can use to test if the server is accessible.", - "operationId": "SystemPingHead", - "responses": { - "200": { - "description": "no error", - "headers": { - "Swarm": { - "description": "Contains information about Swarm status of the daemon,\nand if the daemon is acting as a manager or worker node.\n", - "schema": { - "type": "string", - "default": "inactive", - "enum": [ - "inactive", - "pending", - "error", - "locked", - "active/worker", - "active/manager" - ] - } - }, - "Docker-Experimental": { - "description": "If the server is running with experimental mode enabled", - "schema": { - "type": "boolean" - } - }, - "Cache-Control": { - "schema": { - "type": "string", - "default": "no-cache, no-store, must-revalidate" - } - }, - "Pragma": { - "schema": { - "type": "string", - "default": "no-cache" - } - }, - "API-Version": { - "description": "Max API Version the server supports", - "schema": { - "type": "string" - } - }, - "Builder-Version": { - "description": "Default version of docker image builder", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "type": "string", - "example": "(empty)" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/commit": { - "post": { - "tags": [ - "Image" - ], - "summary": "Create a new image from a container", - "operationId": "ImageCommit", - "parameters": [ - { - "name": "container", - "in": "query", - "description": "The ID or name of the container to commit", - "schema": { - "type": "string" - } - }, - { - "name": "repo", - "in": "query", - "description": "Repository name for the created image", - "schema": { - "type": "string" - } - }, - { - "name": "tag", - "in": "query", - "description": "Tag name for the create image", - "schema": { - "type": "string" - } - }, - { - "name": "comment", - "in": "query", - "description": "Commit message", - "schema": { - "type": "string" - } - }, - { - "name": "author", - "in": "query", - "description": "Author of the image (e.g., `John Hannibal Smith `)", - "schema": { - "type": "string" - } - }, - { - "name": "pause", - "in": "query", - "description": "Whether to pause the container before committing", - "schema": { - "type": "boolean", - "default": true - } - }, - { - "name": "changes", - "in": "query", - "description": "`Dockerfile` instructions to apply while committing", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The container configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContainerConfig" - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "containerConfig" - } - }, - "/events": { - "get": { - "tags": [ - "System" - ], - "summary": "Monitor events", - "description": "Stream real-time events from the server.\n\nVarious objects within Docker report events when something happens to them.\n\nContainers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, `update`, and `prune`\n\nImages report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune`\n\nVolumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune`\n\nNetworks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, `remove`, and `prune`\n\nThe Docker daemon reports these events: `reload`\n\nServices report these events: `create`, `update`, and `remove`\n\nNodes report these events: `create`, `update`, and `remove`\n\nSecrets report these events: `create`, `update`, and `remove`\n\nConfigs report these events: `create`, `update`, and `remove`\n\nThe Builder reports `prune` events\n", - "operationId": "SystemEvents", - "parameters": [ - { - "name": "since", - "in": "query", - "description": "Show events created since this timestamp then stream new events.", - "schema": { - "type": "string" - } - }, - { - "name": "until", - "in": "query", - "description": "Show events created until this timestamp then stop streaming.", - "schema": { - "type": "string" - } - }, - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:\n\n- `config=` config name or ID\n- `container=` container name or ID\n- `daemon=` daemon name or ID\n- `event=` event type\n- `image=` image name or ID\n- `label=` image or container label\n- `network=` network name or ID\n- `node=` node ID\n- `plugin`= plugin name or ID\n- `scope`= local or swarm\n- `secret=` secret name or ID\n- `service=` service name or ID\n- `type=` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config`\n- `volume=` volume name\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventMessage" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/system/df": { - "get": { - "tags": [ - "System" - ], - "summary": "Get data usage information", - "operationId": "SystemDataUsage", - "parameters": [ - { - "name": "type", - "in": "query", - "description": "Object types, for which to compute and return data.\n", - "style": "form", - "explode": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "container", - "image", - "volume", - "build-cache" - ] - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ], - "BuildCache": [ - { - "ID": "hw53o5aio51xtltp5xjp8v7fx", - "Parents": [], - "Type": "regular", - "Description": "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0", - "InUse": false, - "Shared": true, - "Size": 0, - "CreatedAt": "2021-06-28T13:31:01.474619385Z", - "LastUsedAt": "2021-07-07T22:02:32.738075951Z", - "UsageCount": 26 - }, - { - "ID": "ndlpt0hhvkqcdfkputsk4cq9c", - "Parents": [ - "ndlpt0hhvkqcdfkputsk4cq9c" - ], - "Type": "regular", - "Description": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache", - "InUse": false, - "Shared": true, - "Size": 51, - "CreatedAt": "2021-06-28T13:31:03.002625487Z", - "LastUsedAt": "2021-07-07T22:02:32.773909517Z", - "UsageCount": 26 - } - ] - } - } - }, - "text/plain": { - "schema": { - "title": "SystemDataUsageResponse", - "type": "object", - "properties": { - "LayersSize": { - "type": "integer", - "format": "int64" - }, - "Images": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageSummary" - } - }, - "Containers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContainerSummary" - } - }, - "Volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "BuildCache": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BuildCache" - } - } - }, - "example": { - "LayersSize": 1092588, - "Images": [ - { - "Id": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "ParentId": "", - "RepoTags": [ - "busybox:latest" - ], - "RepoDigests": [ - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" - ], - "Created": 1466724217, - "Size": 1092588, - "SharedSize": 0, - "Labels": {}, - "Containers": 1 - } - ], - "Containers": [ - { - "Id": "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148", - "Names": [ - "/top" - ], - "Image": "busybox", - "ImageID": "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749", - "Command": "top", - "Created": 1472592424, - "Ports": [], - "SizeRootFs": 1092588, - "Labels": {}, - "State": "exited", - "Status": "Exited (0) 56 minutes ago", - "HostConfig": { - "NetworkMode": "default" - }, - "NetworkSettings": { - "Networks": { - "bridge": { - "NetworkID": "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92", - "EndpointID": "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a", - "Gateway": "172.18.0.1", - "IPAddress": "172.18.0.2", - "IPPrefixLen": 16, - "IPv6Gateway": "", - "GlobalIPv6Address": "", - "GlobalIPv6PrefixLen": 0, - "MacAddress": "02:42:ac:12:00:02" - } - } - }, - "Mounts": [] - } - ], - "Volumes": [ - { - "Name": "my-volume", - "Driver": "local", - "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", - "Scope": "local", - "UsageData": { - "Size": 10920104, - "RefCount": 2 - } - } - ], - "BuildCache": [ - { - "ID": "hw53o5aio51xtltp5xjp8v7fx", - "Parents": [], - "Type": "regular", - "Description": "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0", - "InUse": false, - "Shared": true, - "Size": 0, - "CreatedAt": "2021-06-28T13:31:01.474619385Z", - "LastUsedAt": "2021-07-07T22:02:32.738075951Z", - "UsageCount": 26 - }, - { - "ID": "ndlpt0hhvkqcdfkputsk4cq9c", - "Parents": [ - "ndlpt0hhvkqcdfkputsk4cq9c" - ], - "Type": "regular", - "Description": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache", - "InUse": false, - "Shared": true, - "Size": 51, - "CreatedAt": "2021-06-28T13:31:03.002625487Z", - "LastUsedAt": "2021-07-07T22:02:32.773909517Z", - "UsageCount": 26 - } - ] - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/{name}/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export an image", - "description": "Get a tarball containing all images and metadata for a repository.\n\nIf `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced.\n\n### Image tarball format\n\nAn image tarball contains one directory per image layer (named using its long ID), each containing these files:\n\n- `VERSION`: currently `1.0` - the file format version\n- `json`: detailed layer information, similar to `docker inspect layer_id`\n- `layer.tar`: A tarfile containing the filesystem changes in this layer\n\nThe `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.\n\nIf the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs.\n\n```json\n{\n \"hello-world\": {\n \"latest\": \"565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1\"\n }\n}\n```\n", - "operationId": "ImageGet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/get": { - "get": { - "tags": [ - "Image" - ], - "summary": "Export several images", - "description": "Get a tarball containing all images and metadata for several image\nrepositories.\n\nFor each value of the `names` parameter: if it is a specific name and\ntag (e.g. `ubuntu:latest`), then only that image (and its parents) are\nreturned; if it is an image ID, similarly only that image (and its parents)\nare returned and there would be no names referenced in the 'repositories'\nfile for this image ID.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageGetAll", - "parameters": [ - { - "name": "names", - "in": "query", - "description": "Image names to filter by", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/x-tar": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/images/load": { - "post": { - "tags": [ - "Image" - ], - "summary": "Import images", - "description": "Load a set of images and tags into a repository.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n", - "operationId": "ImageLoad", - "parameters": [ - { - "name": "quiet", - "in": "query", - "description": "Suppress progress details during load.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "description": "Tar archive containing images", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "imagesTarball" - } - }, - "/containers/{id}/exec": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Create an exec instance", - "description": "Run a command inside a running container.", - "operationId": "ContainerExec", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of container", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Exec configuration", - "content": { - "application/json": { - "schema": { - "title": "ExecConfig", - "type": "object", - "properties": { - "AttachStdin": { - "type": "boolean", - "description": "Attach to `stdin` of the exec command." - }, - "AttachStdout": { - "type": "boolean", - "description": "Attach to `stdout` of the exec command." - }, - "AttachStderr": { - "type": "boolean", - "description": "Attach to `stderr` of the exec command." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - }, - "DetachKeys": { - "type": "string", - "description": "Override the key sequence for detaching a container. Format is\na single character `[a-Z]` or `ctrl-` where ``\nis one of: `a-z`, `@`, `^`, `[`, `,` or `_`.\n" - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `[\"VAR=value\", ...]`.\n", - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run, as a string or array of strings.", - "items": { - "type": "string" - } - }, - "Privileged": { - "type": "boolean", - "description": "Runs the exec process with extended privileges.", - "default": false - }, - "User": { - "type": "string", - "description": "The user, and optionally, group to run the exec process inside\nthe container. Format is one of: `user`, `user:group`, `uid`,\nor `uid:gid`.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for the exec process inside the container.\n" - } - }, - "example": { - "AttachStdin": false, - "AttachStdout": true, - "AttachStderr": true, - "DetachKeys": "ctrl-p,ctrl-q", - "Tty": false, - "Cmd": [ - "date" - ], - "Env": [ - "FOO=bar", - "BAZ=quux" - ] - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "404": { - "description": "no such container", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such container: c2ada9df5af8" - } - } - } - }, - "409": { - "description": "container is paused", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execConfig" - } - }, - "/exec/{id}/start": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Start an exec instance", - "description": "Starts a previously set up exec instance. If detach is true, this endpoint\nreturns immediately after starting the command. Otherwise, it sets up an\ninteractive session with the command.\n", - "operationId": "ExecStart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "ExecStartConfig", - "type": "object", - "properties": { - "Detach": { - "type": "boolean", - "description": "Detach from the command." - }, - "Tty": { - "type": "boolean", - "description": "Allocate a pseudo-TTY." - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - } - }, - "example": { - "Detach": false, - "Tty": true, - "ConsoleSize": [ - 80, - 64 - ] - } - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "404": { - "description": "No such exec instance", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Container is stopped or paused", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "execStartConfig" - } - }, - "/exec/{id}/resize": { - "post": { - "tags": [ - "Exec" - ], - "summary": "Resize an exec instance", - "description": "Resize the TTY session used by an exec instance. This endpoint only works\nif `tty` was specified as part of creating and starting the exec instance.\n", - "operationId": "ExecResize", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "h", - "in": "query", - "description": "Height of the TTY session in characters", - "schema": { - "type": "integer" - } - }, - { - "name": "w", - "in": "query", - "description": "Width of the TTY session in characters", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/exec/{id}/json": { - "get": { - "tags": [ - "Exec" - ], - "summary": "Inspect an exec instance", - "description": "Return low-level information about an exec instance.", - "operationId": "ExecInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Exec instance ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "ExecInspectResponse", - "type": "object", - "properties": { - "CanRemove": { - "type": "boolean" - }, - "DetachKeys": { - "type": "string" - }, - "ID": { - "type": "string" - }, - "Running": { - "type": "boolean" - }, - "ExitCode": { - "type": "integer" - }, - "ProcessConfig": { - "$ref": "#/components/schemas/ProcessConfig" - }, - "OpenStdin": { - "type": "boolean" - }, - "OpenStderr": { - "type": "boolean" - }, - "OpenStdout": { - "type": "boolean" - }, - "ContainerID": { - "type": "string" - }, - "Pid": { - "type": "integer", - "description": "The system process ID for the exec process." - } - } - }, - "example": { - "CanRemove": false, - "ContainerID": "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126", - "DetachKeys": "", - "ExitCode": 2, - "ID": "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b", - "OpenStderr": true, - "OpenStdin": true, - "OpenStdout": true, - "ProcessConfig": { - "arguments": [ - "-c", - "exit 2" - ], - "entrypoint": "sh", - "privileged": false, - "tty": true, - "user": "1000" - }, - "Running": false, - "Pid": 42000 - } - } - } - }, - "404": { - "description": "No such exec instance", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes": { - "get": { - "tags": [ - "Volume" - ], - "summary": "List volumes", - "operationId": "VolumeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the volumes list. Available filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n volumes that are not in use by a container. When set to `false`\n (or `0`), only volumes that are in use by one or more\n containers are returned.\n- `driver=` Matches volumes based on their driver.\n- `label=` or `label=:` Matches volumes based on\n the presence of a `label` alone or a `label` and a value.\n- `name=` Matches all or part of a volume name.\n", - "schema": { - "type": "string", - "format": "json" - } - } - ], - "responses": { - "200": { - "description": "Summary volume data that matches the query", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeListResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/create": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Create a volume", - "operationId": "VolumeCreate", - "requestBody": { - "description": "Volume configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeCreateOptions" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "The volume was created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "volumeConfig" - } - }, - "/volumes/{name}": { - "get": { - "tags": [ - "Volume" - ], - "summary": "Inspect a volume", - "operationId": "VolumeInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Volume" - } - } - } - }, - "404": { - "description": "No such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "put": { - "tags": [ - "Volume" - ], - "summary": "\"Update a volume. Valid only for Swarm cluster volumes\"\n", - "operationId": "VolumeUpdate", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name or ID of the volume", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the volume being updated. This is required to\navoid conflicting writes. Found in the volume's `ClusterVolume`\nfield.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the volume to update. Currently, only Availability may\nchange. All other fields must remain unchanged.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - } - }, - "description": "Volume configuration" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such volume", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - }, - "delete": { - "tags": [ - "Volume" - ], - "summary": "Remove a volume", - "description": "Instruct the driver to remove the volume.", - "operationId": "VolumeDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Volume name or ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force the removal of the volume", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "204": { - "description": "The volume was removed", - "content": {} - }, - "404": { - "description": "No such volume or volume driver", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "Volume is in use and cannot be removed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/volumes/prune": { - "post": { - "tags": [ - "Volume" - ], - "summary": "Delete unused volumes", - "operationId": "VolumePrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.\n- `all` (`all=true`) - Consider all (local) volumes for pruning and not just anonymous volumes.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "VolumePruneResponse", - "type": "object", - "properties": { - "VolumesDeleted": { - "type": "array", - "description": "Volumes that were deleted", - "items": { - "type": "string" - } - }, - "SpaceReclaimed": { - "type": "integer", - "description": "Disk space reclaimed in bytes", - "format": "int64" - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks": { - "get": { - "tags": [ - "Network" - ], - "summary": "List networks", - "description": "Returns a list of networks. For details on the format, see the\n[network inspect endpoint](#operation/NetworkInspect).\n\nNote that it uses a different, smaller representation of a network than\ninspecting a single network. For example, the list of containers attached\nto the network is not propagated in API versions 1.28 and up.\n", - "operationId": "NetworkList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "JSON encoded value of the filters (a `map[string][]string`) to process\non the networks list.\n\nAvailable filters:\n\n- `dangling=` When set to `true` (or `1`), returns all\n networks that are not in use by a container. When set to `false`\n (or `0`), only networks that are in use by one or more\n containers are returned.\n- `driver=` Matches a network's driver.\n- `id=` Matches all or part of a network ID.\n- `label=` or `label==` of a network label.\n- `name=` Matches all or part of a network name.\n- `scope=[\"swarm\"|\"global\"|\"local\"]` Filters networks by scope (`swarm`, `global`, or `local`).\n- `type=[\"custom\"|\"builtin\"]` Filters networks by type. The `custom` keyword returns all user-defined networks.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Network" - } - }, - "example": [ - { - "Name": "bridge", - "Id": "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566", - "Created": "2016-10-19T06:21:00.416543526Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.17.0.0/16" - } - ] - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - } - }, - { - "Name": "none", - "Id": "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "null", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - }, - { - "Name": "host", - "Id": "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e", - "Created": "0001-01-01T00:00:00Z", - "Scope": "local", - "Driver": "host", - "EnableIPv6": false, - "Internal": false, - "Attachable": false, - "Ingress": false, - "IPAM": { - "Driver": "default", - "Config": [] - }, - "Containers": {}, - "Options": {} - } - ] - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/{id}": { - "get": { - "tags": [ - "Network" - ], - "summary": "Inspect a network", - "operationId": "NetworkInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "verbose", - "in": "query", - "description": "Detailed inspect output for troubleshooting", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "scope", - "in": "query", - "description": "Filter the network by scope (swarm, global, or local)", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Network" - } - } - } - }, - "404": { - "description": "Network not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Network" - ], - "summary": "Remove a network", - "operationId": "NetworkDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "403": { - "description": "operation not supported for pre-defined networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such network", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/networks/create": { - "post": { - "tags": [ - "Network" - ], - "summary": "Create a network", - "operationId": "NetworkCreate", - "requestBody": { - "description": "Network configuration", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateRequest", - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The network's name." - }, - "CheckDuplicate": { - "type": "boolean", - "description": "Deprecated: CheckDuplicate is now always enabled.\n" - }, - "Driver": { - "type": "string", - "description": "Name of the network driver plugin to use.", - "default": "bridge" - }, - "Internal": { - "type": "boolean", - "description": "Restrict external access to the network." - }, - "Attachable": { - "type": "boolean", - "description": "Globally scoped network is manually attachable by regular\ncontainers from workers in swarm mode.\n" - }, - "Ingress": { - "type": "boolean", - "description": "Ingress network is the network which provides the routing-mesh\nin swarm mode.\n" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "EnableIPv6": { - "type": "boolean", - "description": "Enable IPv6 on the network." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Network specific options to be used by the drivers." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - } - }, - "example": { - "Name": "isolated_nw", - "CheckDuplicate": false, - "Driver": "bridge", - "EnableIPv6": true, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.20.0.0/16", - "IPRange": "172.20.10.0/24", - "Gateway": "172.20.10.11" - }, - { - "Subnet": "2001:db8:abcd::/64", - "Gateway": "2001:db8:abcd::1011" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": true, - "Attachable": false, - "Ingress": false, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkCreateResponse", - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created network." - }, - "Warning": { - "type": "string" - } - }, - "example": { - "Id": "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30", - "Warning": "" - } - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Forbidden operation. This happens when trying to create a network named after a pre-defined network,\nor when trying to create an overlay network on a daemon which is not part of a Swarm cluster.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "plugin not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "networkConfig" - } - }, - "/networks/{id}/connect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Connect a container to a network", - "description": "The network must be either a local-scoped network or a swarm-scoped network with the `attachable` option set. A network cannot be re-attached to a running container", - "operationId": "NetworkConnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "NetworkConnectRequest", - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to connect to the network." - }, - "EndpointConfig": { - "$ref": "#/components/schemas/EndpointSettings" - } - }, - "example": { - "Container": "3613f73ba0e4", - "EndpointConfig": { - "IPAMConfig": { - "IPv4Address": "172.24.56.89", - "IPv6Address": "2001:db8::5689" - }, - "MacAddress": "02:42:ac:12:05:02" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "Operation forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/{id}/disconnect": { - "post": { - "tags": [ - "Network" - ], - "summary": "Disconnect a container from a network", - "operationId": "NetworkDisconnect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Network ID or name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "NetworkDisconnectRequest", - "type": "object", - "properties": { - "Container": { - "type": "string", - "description": "The ID or name of the container to disconnect from the network.\n" - }, - "Force": { - "type": "boolean", - "description": "Force the container to disconnect from the network.\n" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "No error", - "content": {} - }, - "403": { - "description": "Operation not supported for swarm scoped networks", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "Network or container not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "container" - } - }, - "/networks/prune": { - "post": { - "tags": [ - "Network" - ], - "summary": "Delete unused networks", - "operationId": "NetworkPrune", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `until=` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels.\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "title": "NetworkPruneResponse", - "type": "object", - "properties": { - "NetworksDeleted": { - "type": "array", - "description": "Networks that were deleted", - "items": { - "type": "string" - } - } - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "List plugins", - "description": "Returns information about installed plugins.", - "operationId": "PluginList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the plugin list.\n\nAvailable filters:\n\n- `capability=`\n- `enable=|`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "No error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plugin" - } - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/privileges": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Get plugin privileges", - "operationId": "GetPluginPrivileges", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/pull": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Install a plugin", - "description": "Pulls and installs a plugin. After the plugin is installed, it can be\nenabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).\n", - "operationId": "PluginPull", - "parameters": [ - { - "name": "remote", - "in": "query", - "description": "Remote reference for plugin to install.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "name", - "in": "query", - "description": "Local name for the pulled plugin.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/{name}/json": { - "get": { - "tags": [ - "Plugin" - ], - "summary": "Inspect a plugin", - "operationId": "PluginInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}": { - "delete": { - "tags": [ - "Plugin" - ], - "summary": "Remove a plugin", - "operationId": "PluginDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Disable the plugin before removing. This may result in issues if the\nplugin is in use by a container.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Plugin" - } - } - } - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/enable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Enable a plugin", - "operationId": "PluginEnable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "timeout", - "in": "query", - "description": "Set the HTTP client timeout (in seconds)", - "schema": { - "type": "integer", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/disable": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Disable a plugin", - "operationId": "PluginDisable", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force disable a plugin even if still in use.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin is not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/upgrade": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Upgrade a plugin", - "operationId": "PluginUpgrade", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "remote", - "in": "query", - "description": "Remote reference to upgrade to.\n\nThe `:latest` tag is optional, and is used as the default if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration to use when pulling a plugin\nfrom a registry.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "example": [ - { - "Name": "network", - "Description": "", - "Value": [ - "host" - ] - }, - { - "Name": "mount", - "Description": "", - "Value": [ - "/data" - ] - }, - { - "Name": "device", - "Description": "", - "Value": [ - "/dev/cpu_dma_latency" - ] - } - ], - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/plugins/create": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Create a plugin", - "operationId": "PluginCreate", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Path to tar containing plugin rootfs and manifest", - "content": { - "application/x-tar": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "tarContext" - } - }, - "/plugins/{name}/push": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Push a plugin", - "description": "Push a plugin to the registry.\n", - "operationId": "PluginPush", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/plugins/{name}/set": { - "post": { - "tags": [ - "Plugin" - ], - "summary": "Configure a plugin", - "operationId": "PluginSet", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "The name of the plugin. The `:latest` tag is optional, and is the\ndefault if omitted.\n", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - "DEBUG=1" - ], - "items": { - "type": "string" - } - } - } - }, - "required": false - }, - "responses": { - "204": { - "description": "No error", - "content": {} - }, - "404": { - "description": "Plugin not installed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/nodes": { - "get": { - "tags": [ - "Node" - ], - "summary": "List nodes", - "operationId": "NodeList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).\n\nAvailable filters:\n- `id=`\n- `label=`\n- `membership=`(`accepted`|`pending`)`\n- `name=`\n- `node.label=`\n- `role=`(`manager`|`worker`)`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Node" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}": { - "get": { - "tags": [ - "Node" - ], - "summary": "Inspect a node", - "operationId": "NodeInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Node" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Node" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Node" - ], - "summary": "Delete a node", - "operationId": "NodeDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "force", - "in": "query", - "description": "Force remove a node from the swarm", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/nodes/{id}/update": { - "post": { - "tags": [ - "Node" - ], - "summary": "Update a node", - "operationId": "NodeUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID of the node", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the node object being updated. This is required\nto avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/NodeSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such node", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Inspect swarm", - "operationId": "SwarmInspect", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Swarm" - } - } - } - }, - "404": { - "description": "no such swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/init": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Initialize a new swarm", - "operationId": "SwarmInit", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmInitRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - }, - "text/plain": { - "schema": { - "title": "SwarmInitRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication, as well\nas determining the networking interface used for the VXLAN\nTunnel Endpoint (VTEP). This can either be an address/port\ncombination in the form `192.168.1.1:4567`, or an interface\nfollowed by a port number, like `eth0:4567`. If the port number\nis omitted, the default swarm listening port is used.\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nif no port is set or is set to 0, default port 4789 will be used.\n", - "format": "uint32" - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global\nscope networks.\n", - "items": { - "type": "string", - "example": "" - } - }, - "ForceNewCluster": { - "type": "boolean", - "description": "Force creation of a new swarm." - }, - "SubnetSize": { - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created\nfrom the default subnet pool.\n", - "format": "uint32" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "DataPathPort": 4789, - "DefaultAddrPool": [ - "10.10.0.0/8", - "20.20.0.0/8" - ], - "SubnetSize": 24, - "ForceNewCluster": false, - "Spec": { - "Orchestration": {}, - "Raft": {}, - "Dispatcher": {}, - "CAConfig": {}, - "EncryptionConfig": { - "AutoLockManagers": false - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - }, - "text/plain": { - "schema": { - "type": "string", - "description": "The node ID", - "example": "7v2t30z9blmxuhnyo6s4cpenp" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/join": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Join an existing swarm", - "operationId": "SwarmJoin", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmJoinRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - }, - "text/plain": { - "schema": { - "title": "SwarmJoinRequest", - "type": "object", - "properties": { - "ListenAddr": { - "type": "string", - "description": "Listen address used for inter-manager communication if the node\ngets promoted to manager, as well as determining the networking\ninterface used for the VXLAN Tunnel Endpoint (VTEP).\n" - }, - "AdvertiseAddr": { - "type": "string", - "description": "Externally reachable address advertised to other nodes. This\ncan either be an address/port combination in the form\n`192.168.1.1:4567`, or an interface followed by a port number,\nlike `eth0:4567`. If the port number is omitted, the port\nnumber from the listen address is used. If `AdvertiseAddr` is\nnot specified, it will be automatically detected when possible.\n" - }, - "DataPathAddr": { - "type": "string", - "description": "Address or interface to use for data path traffic (format:\n``), for example, `192.168.1.1`, or an interface,\nlike `eth0`. If `DataPathAddr` is unspecified, the same address\nas `AdvertiseAddr` is used.\n\nThe `DataPathAddr` specifies the address that global scope\nnetwork drivers will publish towards other nodes in order to\nreach the containers running on this node. Using this parameter\nit is possible to separate the container data traffic from the\nmanagement traffic of the cluster.\n" - }, - "RemoteAddrs": { - "type": "array", - "description": "Addresses of manager nodes already participating in the swarm.\n", - "items": { - "type": "string" - } - }, - "JoinToken": { - "type": "string", - "description": "Secret token for joining this swarm." - } - }, - "example": { - "ListenAddr": "0.0.0.0:2377", - "AdvertiseAddr": "192.168.1.1:2377", - "RemoteAddrs": [ - "node1:2377" - ], - "JoinToken": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is already part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/leave": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Leave a swarm", - "operationId": "SwarmLeave", - "parameters": [ - { - "name": "force", - "in": "query", - "description": "Force leave swarm, even if this is the last manager or that it will\nbreak the cluster.\n", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/update": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Update a swarm", - "operationId": "SwarmUpdate", - "parameters": [ - { - "name": "version", - "in": "query", - "description": "The version number of the swarm object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "rotateWorkerToken", - "in": "query", - "description": "Rotate the worker join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerToken", - "in": "query", - "description": "Rotate the manager join token.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "rotateManagerUnlockKey", - "in": "query", - "description": "Rotate the manager unlock key.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SwarmSpec" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/swarm/unlockkey": { - "get": { - "tags": [ - "Swarm" - ], - "summary": "Get the unlock key", - "operationId": "SwarmUnlockkey", - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - }, - "text/plain": { - "schema": { - "title": "UnlockKeyResponse", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/swarm/unlock": { - "post": { - "tags": [ - "Swarm" - ], - "summary": "Unlock a locked manager", - "operationId": "SwarmUnlock", - "requestBody": { - "content": { - "application/json": { - "schema": { - "title": "SwarmUnlockRequest", - "type": "object", - "properties": { - "UnlockKey": { - "type": "string", - "description": "The swarm's unlock key." - } - }, - "example": { - "UnlockKey": "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services": { - "get": { - "tags": [ - "Service" - ], - "summary": "List services", - "operationId": "ServiceList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the services list.\n\nAvailable filters:\n\n- `id=`\n- `label=`\n- `mode=[\"replicated\"|\"global\"]`\n- `name=`\n", - "schema": { - "type": "string" - } - }, - { - "name": "status", - "in": "query", - "description": "Include service status, with count of running and desired tasks.\n", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - }, - "text/plain": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Service" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/create": { - "post": { - "tags": [ - "Service" - ], - "summary": "Create a service", - "operationId": "ServiceCreate", - "parameters": [ - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "web", - "TaskTemplate": { - "ContainerSpec": { - "Image": "nginx:alpine", - "Mounts": [ - { - "ReadOnly": true, - "Source": "web-data", - "Target": "/usr/share/nginx/html", - "Type": "volume", - "VolumeOptions": { - "DriverConfig": {}, - "Labels": { - "com.example.something": "something-value" - } - } - } - ], - "Hosts": [ - "10.10.10.10 host1", - "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2" - ], - "User": "33", - "DNSConfig": { - "Nameservers": [ - "8.8.8.8" - ], - "Search": [ - "example.org" - ], - "Options": [ - "timeout:3" - ] - }, - "Secrets": [ - { - "File": { - "Name": "www.example.org.key", - "UID": "33", - "GID": "33", - "Mode": 384 - }, - "SecretID": "fpjqlhnwb19zds35k8wn80lq9", - "SecretName": "example_org_domain_key" - } - ] - }, - "LogDriver": { - "Name": "json-file", - "Options": { - "max-file": "3", - "max-size": "10M" - } - }, - "Placement": {}, - "Resources": { - "Limits": { - "MemoryBytes": 104857600 - }, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "on-failure", - "Delay": 10000000000, - "MaxAttempts": 10 - } - }, - "Mode": { - "Replicated": { - "Replicas": 4 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Ports": [ - { - "Protocol": "tcp", - "PublishedPort": 8080, - "TargetPort": 80 - } - ] - }, - "Labels": { - "foo": "bar" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceCreateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "403": { - "description": "network is not eligible for services", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}": { - "get": { - "tags": [ - "Service" - ], - "summary": "Inspect a service", - "operationId": "ServiceInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "insertDefaults", - "in": "query", - "description": "Fill empty fields with default values.", - "schema": { - "type": "boolean", - "default": false - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Service" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Service" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Service" - ], - "summary": "Delete a service", - "operationId": "ServiceDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/services/{id}/update": { - "post": { - "tags": [ - "Service" - ], - "summary": "Update a service", - "operationId": "ServiceUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of service.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the service object being updated. This is\nrequired to avoid conflicting writes.\nThis version number should be the value as currently set on the\nservice *before* the update. You can find the current version by\ncalling `GET /services/{id}`\n", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "registryAuthFrom", - "in": "query", - "description": "If the `X-Registry-Auth` header is not specified, this parameter\nindicates where to find registry authorization credentials.\n", - "schema": { - "type": "string", - "default": "spec", - "enum": [ - "spec", - "previous-spec" - ] - } - }, - { - "name": "rollback", - "in": "query", - "description": "Set to this parameter to `previous` to cause a server-side rollback\nto the previous service spec. The supplied spec will be ignored in\nthis case.\n", - "schema": { - "type": "string" - } - }, - { - "name": "X-Registry-Auth", - "in": "header", - "description": "A base64url-encoded auth configuration for pulling from private\nregistries.\n\nRefer to the [authentication section](#section/Authentication) for\ndetails.\n", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceSpec" - }, - { - "type": "object", - "example": { - "Name": "top", - "TaskTemplate": { - "ContainerSpec": { - "Image": "busybox", - "Args": [ - "top" - ] - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 2, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip" - } - } - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceUpdateResponse" - } - } - } - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/services/{id}/logs": { - "get": { - "tags": [ - "Service" - ], - "summary": "Get service logs", - "description": "Get `stdout` and `stderr` logs from a service. See also\n[`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "ServiceLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID or name of the service", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show service context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such service", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such service: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks": { - "get": { - "tags": [ - "Task" - ], - "summary": "List tasks", - "operationId": "TaskList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the tasks list.\n\nAvailable filters:\n\n- `desired-state=(running | shutdown | accepted)`\n- `id=`\n- `label=key` or `label=\"key=value\"`\n- `name=`\n- `node=`\n- `service=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ] - }, - { - "ID": "1yljwbmlr8er2waf8orvqpwms", - "Version": { - "Index": 30 - }, - "CreatedAt": "2016-06-07T21:07:30.019104782Z", - "UpdatedAt": "2016-06-07T21:07:30.231958098Z", - "Name": "hopeful_cori", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:30.202183143Z", - "State": "shutdown", - "Message": "shutdown", - "ContainerStatus": { - "ContainerID": "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" - } - }, - "DesiredState": "shutdown", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.5/16" - ] - } - ] - } - ], - "items": { - "$ref": "#/components/schemas/Task" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}": { - "get": { - "tags": [ - "Task" - ], - "summary": "Inspect a task", - "operationId": "TaskInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Task" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/tasks/{id}/logs": { - "get": { - "tags": [ - "Task" - ], - "summary": "Get task logs", - "description": "Get `stdout` and `stderr` logs from a task.\nSee also [`/containers/{id}/logs`](#operation/ContainerLogs).\n\n**Note**: This endpoint works only for services with the `local`,\n`json-file` or `journald` logging drivers.\n", - "operationId": "TaskLogs", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the task", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "details", - "in": "query", - "description": "Show task context and extra details provided to logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "follow", - "in": "query", - "description": "Keep connection after returning logs.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stdout", - "in": "query", - "description": "Return logs from `stdout`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "stderr", - "in": "query", - "description": "Return logs from `stderr`", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "since", - "in": "query", - "description": "Only return logs since this time, as a UNIX timestamp", - "schema": { - "type": "integer", - "default": 0 - } - }, - { - "name": "timestamps", - "in": "query", - "description": "Add timestamps to every log line", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tail", - "in": "query", - "description": "Only return this number of log lines from the end of the logs.\nSpecify as an integer or `all` to output all log lines.\n", - "schema": { - "type": "string", - "default": "all" - } - } - ], - "responses": { - "200": { - "description": "logs returned as a stream in response body", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "description": "no such task", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/json": { - "example": { - "message": "No such task: c2ada9df5af8" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "application/vnd.docker.multiplexed-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets": { - "get": { - "tags": [ - "Secret" - ], - "summary": "List secrets", - "operationId": "SecretList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the secrets list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "blt1owaxmitz71s9v5zh81zun", - "Version": { - "Index": 85 - }, - "CreatedAt": "2017-07-20T13:55:28.678958722Z", - "UpdatedAt": "2017-07-20T13:55:28.678958722Z", - "Spec": { - "Name": "mysql-passwd", - "Labels": { - "some.label": "some.value" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - }, - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - } - } - } - ], - "items": { - "$ref": "#/components/schemas/Secret" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/create": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Create a secret", - "operationId": "SecretCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/SecretSpec" - }, - { - "type": "object", - "example": { - "Name": "app-key.crt", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==", - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/secrets/{id}": { - "get": { - "tags": [ - "Secret" - ], - "summary": "Inspect a secret", - "operationId": "SecretInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Secret" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt", - "Labels": { - "foo": "bar" - }, - "Driver": { - "Name": "secret-bucket", - "Options": { - "OptionA": "value for driver option A", - "OptionB": "value for driver option B" - } - } - } - } - } - } - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Secret" - ], - "summary": "Delete a secret", - "operationId": "SecretDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the secret", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "secret not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/secrets/{id}/update": { - "post": { - "tags": [ - "Secret" - ], - "summary": "Update a Secret", - "operationId": "SecretUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the secret", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the secret object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the secret to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[SecretInspect endpoint](#operation/SecretInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such secret", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs": { - "get": { - "tags": [ - "Config" - ], - "summary": "List configs", - "operationId": "ConfigList", - "parameters": [ - { - "name": "filters", - "in": "query", - "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the configs list.\n\nAvailable filters:\n\n- `id=`\n- `label= or label==value`\n- `name=`\n- `names=`\n", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "type": "array", - "example": [ - { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "server.conf" - } - } - ], - "items": { - "$ref": "#/components/schemas/Config" - } - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/create": { - "post": { - "tags": [ - "Config" - ], - "summary": "Create a config", - "operationId": "ConfigCreate", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ConfigSpec" - }, - { - "type": "object", - "example": { - "Name": "server.conf", - "Labels": { - "foo": "bar" - }, - "Data": "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" - } - } - ] - } - } - }, - "required": false - }, - "responses": { - "201": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdResponse" - } - } - } - }, - "409": { - "description": "name conflicts with an existing object", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/configs/{id}": { - "get": { - "tags": [ - "Config" - ], - "summary": "Inspect a config", - "operationId": "ConfigInspect", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "no error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Config" - }, - "example": { - "ID": "ktnbjxoalbkvbvedmg1urrz8h", - "Version": { - "Index": 11 - }, - "CreatedAt": "2016-11-05T01:20:17.327670065Z", - "UpdatedAt": "2016-11-05T01:20:17.327670065Z", - "Spec": { - "Name": "app-dev.crt" - } - } - } - } - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Config" - ], - "summary": "Delete a config", - "operationId": "ConfigDelete", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of the config", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "no error", - "content": {} - }, - "404": { - "description": "config not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/configs/{id}/update": { - "post": { - "tags": [ - "Config" - ], - "summary": "Update a Config", - "operationId": "ConfigUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID or name of the config", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "description": "The version number of the config object being updated. This is\nrequired to avoid conflicting writes.\n", - "required": true, - "schema": { - "type": "integer", - "format": "int64" - } - } - ], - "requestBody": { - "description": "The spec of the config to update. Currently, only the Labels field\ncan be updated. All other fields must remain unchanged from the\n[ConfigInspect endpoint](#operation/ConfigInspect) response values.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "required": false - }, - "responses": { - "200": { - "description": "no error", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "404": { - "description": "no such config", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "503": { - "description": "node is not part of a swarm", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/distribution/{name}/json": { - "get": { - "tags": [ - "Distribution" - ], - "summary": "Get image information from the registry", - "description": "Return image digest and platform information by contacting the registry.\n", - "operationId": "DistributionInspect", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Image name or id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "descriptor and platform information", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DistributionInspect" - } - } - } - }, - "401": { - "description": "Failed authentication or no image found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "No such image: someimage (tag: latest)" - } - } - } - }, - "500": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - }, - "/session": { - "post": { - "tags": [ - "Session" - ], - "summary": "Initialize interactive session", - "description": "Start a new interactive session with a server. Session allows server to\ncall back to the client for advanced capabilities.\n\n### Hijacking\n\nThis endpoint hijacks the HTTP connection to HTTP2 transport that allows\nthe client to expose gPRC services on that connection.\n\nFor example, the client sends this request to upgrade the connection:\n\n```\nPOST /session HTTP/1.1\nUpgrade: h2c\nConnection: Upgrade\n```\n\nThe Docker daemon responds with a `101 UPGRADED` response follow with\nthe raw stream:\n\n```\nHTTP/1.1 101 UPGRADED\nConnection: Upgrade\nUpgrade: h2c\n```\n", - "operationId": "Session", - "responses": { - "101": { - "description": "no error, hijacking successful", - "content": {} - }, - "400": { - "description": "bad parameter", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "500": { - "description": "server error", - "content": { - "application/vnd.docker.raw-stream": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Port": { - "required": [ - "PrivatePort", - "Type" - ], - "type": "object", - "properties": { - "IP": { - "type": "string", - "description": "Host IP address that the container's port is mapped to", - "format": "ip-address" - }, - "PrivatePort": { - "type": "integer", - "description": "Port on the container", - "format": "uint16", - "nullable": false - }, - "PublicPort": { - "type": "integer", - "description": "Port exposed on the host", - "format": "uint16" - }, - "Type": { - "type": "string", - "nullable": false, - "enum": [ - "tcp", - "udp", - "sctp" - ] - } - }, - "description": "An open port on a container", - "example": { - "PrivatePort": 8080, - "PublicPort": 80, - "Type": "tcp" - } - }, - "MountPoint": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The mount type:\n\n- `bind` a mount of a file or directory from the host into the container.\n- `volume` a docker volume with the given `Name`.\n- `tmpfs` a `tmpfs`.\n- `npipe` a named pipe from the host into the container.\n- `cluster` a Swarm cluster volume\n", - "example": "volume", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe", - "cluster" - ] - }, - "Name": { - "type": "string", - "description": "Name is the name reference to the underlying data defined by `Source`\ne.g., the volume name.\n", - "example": "myvolume" - }, - "Source": { - "type": "string", - "description": "Source location of the mount.\n\nFor volumes, this contains the storage location of the volume (within\n`/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains\nthe source (host) part of the bind-mount. For `tmpfs` mount points, this\nfield is empty.\n", - "example": "/var/lib/docker/volumes/myvolume/_data" - }, - "Destination": { - "type": "string", - "description": "Destination is the path relative to the container root (`/`) where\nthe `Source` is mounted inside the container.\n", - "example": "/usr/share/nginx/html/" - }, - "Driver": { - "type": "string", - "description": "Driver is the volume driver used to create the volume (if it is a volume).\n", - "example": "local" - }, - "Mode": { - "type": "string", - "description": "Mode is a comma separated list of options supplied by the user when\ncreating the bind/volume mount.\n\nThe default is platform-specific (`\"z\"` on Linux, empty on Windows).\n", - "example": "z" - }, - "RW": { - "type": "boolean", - "description": "Whether the mount is mounted writable (read-write).\n", - "example": true - }, - "Propagation": { - "type": "string", - "description": "Propagation describes how mounts are propagated from the host into the\nmount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)\nfor details. This field is not used on Windows.\n", - "example": "" - } - }, - "description": "MountPoint represents a mount point configuration inside the container.\nThis is used for reporting the mountpoints in use by a container.\n" - }, - "DeviceMapping": { - "type": "object", - "properties": { - "PathOnHost": { - "type": "string" - }, - "PathInContainer": { - "type": "string" - }, - "CgroupPermissions": { - "type": "string" - } - }, - "description": "A device mapping between the host and container", - "example": { - "PathOnHost": "/dev/deviceName", - "PathInContainer": "/dev/deviceName", - "CgroupPermissions": "mrw" - } - }, - "DeviceRequest": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "example": "nvidia" - }, - "Count": { - "type": "integer", - "example": -1 - }, - "DeviceIDs": { - "type": "array", - "example": [ - "0", - "1", - "GPU-fef8089b-4820-abfc-e83e-94318197576e" - ], - "items": { - "type": "string" - } - }, - "Capabilities": { - "type": "array", - "description": "A list of capabilities; an OR list of AND lists of capabilities.\n", - "example": [ - [ - "gpu", - "nvidia", - "compute" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a key/value pairs. These options\nare passed directly to the driver.\n" - } - }, - "description": "A request for devices to be sent to device drivers" - }, - "ThrottleDevice": { - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Device path" - }, - "Rate": { - "minimum": 0, - "type": "integer", - "description": "Rate", - "format": "int64" - } - } - }, - "Mount": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "Container path." - }, - "Source": { - "type": "string", - "description": "Mount source (e.g. a volume name, a host path)." - }, - "Type": { - "type": "string", - "description": "The mount type. Available types:\n\n- `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.\n- `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed.\n- `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.\n- `npipe` Mounts a named pipe from the host into the container. Must exist prior to creating the container.\n- `cluster` a Swarm cluster volume\n", - "enum": [ - "bind", - "volume", - "tmpfs", - "npipe", - "cluster" - ] - }, - "ReadOnly": { - "type": "boolean", - "description": "Whether the mount should be read-only." - }, - "Consistency": { - "type": "string", - "description": "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`." - }, - "BindOptions": { - "type": "object", - "properties": { - "Propagation": { - "type": "string", - "description": "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.", - "enum": [ - "private", - "rprivate", - "shared", - "rshared", - "slave", - "rslave" - ] - }, - "NonRecursive": { - "type": "boolean", - "description": "Disable recursive bind mount.", - "default": false - }, - "CreateMountpoint": { - "type": "boolean", - "description": "Create mount point on host if missing", - "default": false - }, - "ReadOnlyNonRecursive": { - "type": "boolean", - "description": "Make the mount non-recursively read-only, but still leave the mount recursive\n(unless NonRecursive is set to `true` in conjunction).\n\nAddded in v1.44, before that version all read-only mounts were\nnon-recursive by default. To match the previous behaviour this\nwill default to `true` for clients on versions prior to v1.44.\n", - "default": false - }, - "ReadOnlyForceRecursive": { - "type": "boolean", - "description": "Raise an error if the mount cannot be made recursively read-only.", - "default": false - } - }, - "description": "Optional configuration for the `bind` type." - }, - "VolumeOptions": { - "type": "object", - "properties": { - "NoCopy": { - "type": "boolean", - "description": "Populate volume with data from the target.", - "default": false - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "DriverConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver to use to create the volume." - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "key/value map of driver specific options." - } - }, - "description": "Map of driver specific options" - }, - "Subpath": { - "type": "string", - "description": "Source path inside the volume. Must be relative without any back traversals.", - "example": "dir-inside-volume/subdirectory" - } - }, - "description": "Optional configuration for the `volume` type." - }, - "TmpfsOptions": { - "type": "object", - "properties": { - "SizeBytes": { - "type": "integer", - "description": "The size for the tmpfs mount in bytes.", - "format": "int64" - }, - "Mode": { - "type": "integer", - "description": "The permission mode for the tmpfs mount in an integer." - } - }, - "description": "Optional configuration for the `tmpfs` type." - } - } - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "- Empty string means not to restart\n- `no` Do not automatically restart\n- `always` Always restart\n- `unless-stopped` Restart always except when the user has manually stopped the container\n- `on-failure` Restart only when the container exit code is non-zero\n", - "enum": [ - "", - "no", - "always", - "unless-stopped", - "on-failure" - ] - }, - "MaximumRetryCount": { - "type": "integer", - "description": "If `on-failure` is used, the number of times to retry before giving up.\n" - } - }, - "description": "The behavior to apply when the container exits. The default is not to\nrestart.\n\nAn ever increasing delay (double the previous delay, starting at 100ms) is\nadded before each restart to prevent flooding the server.\n" - }, - "Resources": { - "type": "object", - "properties": { - "CpuShares": { - "type": "integer", - "description": "An integer value representing this container's relative CPU weight\nversus other containers.\n" - }, - "Memory": { - "type": "integer", - "description": "Memory limit in bytes.", - "format": "int64", - "default": 0 - }, - "CgroupParent": { - "type": "string", - "description": "Path to `cgroups` under which the container's `cgroup` is created. If\nthe path is not absolute, the path is considered to be relative to the\n`cgroups` path of the init process. Cgroups are created if they do not\nalready exist.\n" - }, - "BlkioWeight": { - "maximum": 1000, - "minimum": 0, - "type": "integer", - "description": "Block IO weight (relative weight)." - }, - "BlkioWeightDevice": { - "type": "array", - "description": "Block IO weight (relative device weight) in the form:\n\n```\n[{\"Path\": \"device_path\", \"Weight\": weight}]\n```\n", - "items": { - "type": "object", - "properties": { - "Path": { - "type": "string" - }, - "Weight": { - "minimum": 0, - "type": "integer" - } - } - } - }, - "BlkioDeviceReadBps": { - "type": "array", - "description": "Limit read rate (bytes per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteBps": { - "type": "array", - "description": "Limit write rate (bytes per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceReadIOps": { - "type": "array", - "description": "Limit read rate (IO per second) from a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "BlkioDeviceWriteIOps": { - "type": "array", - "description": "Limit write rate (IO per second) to a device, in the form:\n\n```\n[{\"Path\": \"device_path\", \"Rate\": rate}]\n```\n", - "items": { - "$ref": "#/components/schemas/ThrottleDevice" - } - }, - "CpuPeriod": { - "type": "integer", - "description": "The length of a CPU period in microseconds.", - "format": "int64" - }, - "CpuQuota": { - "type": "integer", - "description": "Microseconds of CPU time that the container can get in a CPU period.\n", - "format": "int64" - }, - "CpuRealtimePeriod": { - "type": "integer", - "description": "The length of a CPU real-time period in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpuRealtimeRuntime": { - "type": "integer", - "description": "The length of a CPU real-time runtime in microseconds. Set to 0 to\nallocate no time allocated to real-time tasks.\n", - "format": "int64" - }, - "CpusetCpus": { - "type": "string", - "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`).\n", - "example": "0-3" - }, - "CpusetMems": { - "type": "string", - "description": "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only\neffective on NUMA systems.\n" - }, - "Devices": { - "type": "array", - "description": "A list of devices to add to the container.", - "items": { - "$ref": "#/components/schemas/DeviceMapping" - } - }, - "DeviceCgroupRules": { - "type": "array", - "description": "a list of cgroup rules to apply to the container", - "items": { - "type": "string", - "example": "c 13:* rwm" - } - }, - "DeviceRequests": { - "type": "array", - "description": "A list of requests for devices to be sent to device drivers.\n", - "items": { - "$ref": "#/components/schemas/DeviceRequest" - } - }, - "KernelMemoryTCP": { - "type": "integer", - "description": "Hard limit for kernel TCP buffer memory (in bytes). Depending on the\nOCI runtime in use, this option may be ignored. It is no longer supported\nby the default (runc) runtime.\n\nThis field is omitted when empty.\n", - "format": "int64" - }, - "MemoryReservation": { - "type": "integer", - "description": "Memory soft limit in bytes.", - "format": "int64" - }, - "MemorySwap": { - "type": "integer", - "description": "Total memory limit (memory + swap). Set as `-1` to enable unlimited\nswap.\n", - "format": "int64" - }, - "MemorySwappiness": { - "maximum": 100, - "minimum": 0, - "type": "integer", - "description": "Tune a container's memory swappiness behavior. Accepts an integer\nbetween 0 and 100.\n", - "format": "int64" - }, - "NanoCpus": { - "type": "integer", - "description": "CPU quota in units of 10-9 CPUs.", - "format": "int64" - }, - "OomKillDisable": { - "type": "boolean", - "description": "Disable OOM Killer for the container." - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "PidsLimit": { - "type": "integer", - "description": "Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null`\nto not change.\n", - "format": "int64", - "nullable": true - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example:\n\n```\n{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}\n```\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - }, - "CpuCount": { - "type": "integer", - "description": "The number of usable CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "CpuPercent": { - "type": "integer", - "description": "The usable percentage of the available CPUs (Windows only).\n\nOn Windows Server containers, the processor resource controls are\nmutually exclusive. The order of precedence is `CPUCount` first, then\n`CPUShares`, and `CPUPercent` last.\n", - "format": "int64" - }, - "IOMaximumIOps": { - "type": "integer", - "description": "Maximum IOps for the container system drive (Windows only)", - "format": "int64" - }, - "IOMaximumBandwidth": { - "type": "integer", - "description": "Maximum IO in bytes per second for the container system drive\n(Windows only).\n", - "format": "int64" - } - }, - "description": "A container's resources (cgroups config, ulimits, etc)" - }, - "Limit": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "Pids": { - "type": "integer", - "description": "Limits the maximum number of PIDs in the container. Set `0` for unlimited.\n", - "format": "int64", - "example": 100, - "default": 0 - } - }, - "description": "An object describing a limit on resources which can be requested by a task.\n" - }, - "ResourceObject": { - "type": "object", - "properties": { - "NanoCPUs": { - "type": "integer", - "format": "int64", - "example": 4000000000 - }, - "MemoryBytes": { - "type": "integer", - "format": "int64", - "example": 8272408576 - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - } - }, - "description": "An object describing the resources which can be advertised by a node and\nrequested by a task.\n" - }, - "GenericResources": { - "type": "array", - "description": "User-defined resources can be either Integer resources (e.g, `SSD=3`) or\nString resources (e.g, `GPU=UUID1`).\n", - "example": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ], - "items": { - "type": "object", - "properties": { - "NamedResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "string" - } - } - }, - "DiscreteResourceSpec": { - "type": "object", - "properties": { - "Kind": { - "type": "string" - }, - "Value": { - "type": "integer", - "format": "int64" - } - } - } - } - } - }, - "HealthConfig": { - "type": "object", - "properties": { - "Test": { - "type": "array", - "description": "The test to perform. Possible values are:\n\n- `[]` inherit healthcheck from image or parent image\n- `[\"NONE\"]` disable healthcheck\n- `[\"CMD\", args...]` exec arguments directly\n- `[\"CMD-SHELL\", command]` run command with system's default shell\n", - "items": { - "type": "string" - } - }, - "Interval": { - "type": "integer", - "description": "The time to wait between checks in nanoseconds. It should be 0 or at\nleast 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "Timeout": { - "type": "integer", - "description": "The time to wait before considering the check to have hung. It should\nbe 0 or at least 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "Retries": { - "type": "integer", - "description": "The number of consecutive failures needed to consider a container as\nunhealthy. 0 means inherit.\n" - }, - "StartPeriod": { - "type": "integer", - "description": "Start period for the container to initialize before starting\nhealth-retries countdown in nanoseconds. It should be 0 or at least\n1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - }, - "StartInterval": { - "type": "integer", - "description": "The time to wait between checks in nanoseconds during the start period.\nIt should be 0 or at least 1000000 (1 ms). 0 means inherit.\n", - "format": "int64" - } - }, - "description": "A test to perform to check that the container is healthy." - }, - "Health": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "Status is one of `none`, `starting`, `healthy` or `unhealthy`\n\n- \"none\" Indicates there is no healthcheck\n- \"starting\" Starting indicates that the container is not yet ready\n- \"healthy\" Healthy indicates that the container is running correctly\n- \"unhealthy\" Unhealthy indicates that the container has a problem\n", - "example": "healthy", - "enum": [ - "none", - "starting", - "healthy", - "unhealthy" - ] - }, - "FailingStreak": { - "type": "integer", - "description": "FailingStreak is the number of consecutive failures", - "example": 0 - }, - "Log": { - "type": "array", - "description": "Log contains the last few results (oldest first)\n", - "items": { - "$ref": "#/components/schemas/HealthcheckResult" - } - } - }, - "description": "Health stores information about the container's healthcheck results.\n", - "nullable": true, - "x-nullable": true - }, - "HealthcheckResult": { - "type": "object", - "properties": { - "Start": { - "type": "string", - "description": "Date and time at which this check started in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "date-time", - "example": "2020-01-04T10:44:24.496525531Z" - }, - "End": { - "type": "string", - "description": "Date and time at which this check ended in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2020-01-04T10:45:21.364524523Z" - }, - "ExitCode": { - "type": "integer", - "description": "ExitCode meanings:\n\n- `0` healthy\n- `1` unhealthy\n- `2` reserved (considered unhealthy)\n- other values: error running probe\n", - "example": 0 - }, - "Output": { - "type": "string", - "description": "Output from last check" - } - }, - "description": "HealthcheckResult stores information about a single run of a healthcheck probe\n", - "nullable": true, - "x-nullable": true - }, - "HostConfig": { - "description": "Container configuration that depends on the host we are running on", - "allOf": [ - { - "$ref": "#/components/schemas/Resources" - }, - { - "type": "object", - "properties": { - "Binds": { - "type": "array", - "description": "A list of volume bindings for this container. Each volume binding\nis a string in one of these forms:\n\n- `host-src:container-dest[:options]` to bind-mount a host path\n into the container. Both `host-src`, and `container-dest` must\n be an _absolute_ path.\n- `volume-name:container-dest[:options]` to bind-mount a volume\n managed by a volume driver into the container. `container-dest`\n must be an _absolute_ path.\n\n`options` is an optional, comma-delimited list of:\n\n- `nocopy` disables automatic copying of data from the container\n path to the volume. The `nocopy` flag only applies to named volumes.\n- `[ro|rw]` mounts a volume read-only or read-write, respectively.\n If omitted or set to `rw`, volumes are mounted read-write.\n- `[z|Z]` applies SELinux labels to allow or deny multiple containers\n to read and write to the same volume.\n - `z`: a _shared_ content label is applied to the content. This\n label indicates that multiple containers can share the volume\n content, for both reading and writing.\n - `Z`: a _private unshared_ label is applied to the content.\n This label indicates that only the current container can use\n a private volume. Labeling systems such as SELinux require\n proper labels to be placed on volume content that is mounted\n into a container. Without a label, the security system can\n prevent a container's processes from using the content. By\n default, the labels set by the host operating system are not\n modified.\n- `[[r]shared|[r]slave|[r]private]` specifies mount\n [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).\n This only applies to bind-mounted volumes, not internal volumes\n or named volumes. Mount propagation requires the source mount\n point (the location where the source directory is mounted in the\n host operating system) to have the correct propagation properties.\n For shared volumes, the source mount point must be set to `shared`.\n For slave volumes, the mount must be set to either `shared` or\n `slave`.\n", - "items": { - "type": "string" - } - }, - "ContainerIDFile": { - "type": "string", - "description": "Path to a file where the container ID is written" - }, - "LogConfig": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "json-file", - "syslog", - "journald", - "gelf", - "fluentd", - "awslogs", - "splunk", - "etwlogs", - "none" - ] - }, - "Config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "The logging configuration for this container" - }, - "NetworkMode": { - "type": "string", - "description": "Network mode to use for this container. Supported standard values\nare: `bridge`, `host`, `none`, and `container:`. Any\nother value is taken as a custom network's name to which this\ncontainer should connect to.\n" - }, - "PortBindings": { - "$ref": "#/components/schemas/PortMap" - }, - "RestartPolicy": { - "$ref": "#/components/schemas/RestartPolicy" - }, - "AutoRemove": { - "type": "boolean", - "description": "Automatically remove the container when the container's process\nexits. This has no effect if `RestartPolicy` is set.\n" - }, - "VolumeDriver": { - "type": "string", - "description": "Driver that this container uses to mount volumes." - }, - "VolumesFrom": { - "type": "array", - "description": "A list of volumes to inherit from another container, specified in\nthe form `[:]`.\n", - "items": { - "type": "string" - } - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to the container.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "ConsoleSize": { - "maxItems": 2, - "minItems": 2, - "type": "array", - "description": "Initial console size, as an `[height, width]` array.\n", - "nullable": true, - "items": { - "minimum": 0, - "type": "integer" - } - }, - "Annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Arbitrary non-identifying metadata attached to container and\nprovided to the runtime when the container is started.\n" - }, - "CapAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CapDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the container. Conflicts\nwith option 'Capabilities'.\n", - "items": { - "type": "string" - } - }, - "CgroupnsMode": { - "type": "string", - "description": "cgroup namespace mode for the container. Possible values are:\n\n- `\"private\"`: the container runs in its own private cgroup namespace\n- `\"host\"`: use the host system's cgroup namespace\n\nIf not specified, the daemon default is used, which can either be `\"private\"`\nor `\"host\"`, depending on daemon version, kernel support and configuration.\n", - "enum": [ - "private", - "host" - ] - }, - "Dns": { - "type": "array", - "description": "A list of DNS servers for the container to use.", - "items": { - "type": "string" - } - }, - "DnsOptions": { - "type": "array", - "description": "A list of DNS options.", - "items": { - "type": "string" - } - }, - "DnsSearch": { - "type": "array", - "description": "A list of DNS search domains.", - "items": { - "type": "string" - } - }, - "ExtraHosts": { - "type": "array", - "description": "A list of hostnames/IP mappings to add to the container's `/etc/hosts`\nfile. Specified in the form `[\"hostname:IP\"]`.\n", - "items": { - "type": "string" - } - }, - "GroupAdd": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "IpcMode": { - "type": "string", - "description": "IPC sharing mode for the container. Possible values are:\n\n- `\"none\"`: own private IPC namespace, with /dev/shm not mounted\n- `\"private\"`: own private IPC namespace\n- `\"shareable\"`: own private IPC namespace, with a possibility to share it with other containers\n- `\"container:\"`: join another (shareable) container's IPC namespace\n- `\"host\"`: use the host system's IPC namespace\n\nIf not specified, daemon default is used, which can either be `\"private\"`\nor `\"shareable\"`, depending on daemon version and configuration.\n" - }, - "Cgroup": { - "type": "string", - "description": "Cgroup to use for the container." - }, - "Links": { - "type": "array", - "description": "A list of links for the container in the form `container_name:alias`.\n", - "items": { - "type": "string" - } - }, - "OomScoreAdj": { - "type": "integer", - "description": "An integer value containing the score given to the container in\norder to tune OOM killer preferences.\n", - "example": 500 - }, - "PidMode": { - "type": "string", - "description": "Set the PID (Process) Namespace mode for the container. It can be\neither:\n\n- `\"container:\"`: joins another container's PID namespace\n- `\"host\"`: use the host's PID namespace inside the container\n" - }, - "Privileged": { - "type": "boolean", - "description": "Gives the container full access to the host." - }, - "PublishAllPorts": { - "type": "boolean", - "description": "Allocates an ephemeral host port for all of a container's\nexposed ports.\n\nPorts are de-allocated when the container stops and allocated when\nthe container starts. The allocated port might be changed when\nrestarting the container.\n\nThe port is selected from the ephemeral port range that depends on\nthe kernel. For example, on Linux the range is defined by\n`/proc/sys/net/ipv4/ip_local_port_range`.\n" - }, - "ReadonlyRootfs": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "SecurityOpt": { - "type": "array", - "description": "A list of string values to customize labels for MLS systems, such\nas SELinux.\n", - "items": { - "type": "string" - } - }, - "StorageOpt": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Storage driver options for this container, in the form `{\"size\": \"120G\"}`.\n" - }, - "Tmpfs": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of container directories which should be replaced by tmpfs\nmounts, and their corresponding mount options. For example:\n\n```\n{ \"/run\": \"rw,noexec,nosuid,size=65536k\" }\n```\n" - }, - "UTSMode": { - "type": "string", - "description": "UTS namespace to use for the container." - }, - "UsernsMode": { - "type": "string", - "description": "Sets the usernamespace mode for the container when usernamespace\nremapping option is enabled.\n" - }, - "ShmSize": { - "minimum": 0, - "type": "integer", - "description": "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.\n", - "format": "int64" - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A list of kernel parameters (sysctls) to set in the container.\nFor example:\n\n```\n{\"net.ipv4.ip_forward\": \"1\"}\n```\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime to use with this container." - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the container. (Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "MaskedPaths": { - "type": "array", - "description": "The list of paths to be masked inside the container (this overrides\nthe default set of paths).\n", - "items": { - "type": "string" - } - }, - "ReadonlyPaths": { - "type": "array", - "description": "The list of paths to be set as read-only inside the container\n(this overrides the default set of paths).\n", - "items": { - "type": "string" - } - } - } - } - ] - }, - "ContainerConfig": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid RFC 1123 hostname.\n", - "example": "439f4e91bd1d" - }, - "Domainname": { - "type": "string", - "description": "The domain name to use for the container.\n" - }, - "User": { - "type": "string", - "description": "The user that commands are run as inside the container." - }, - "AttachStdin": { - "type": "boolean", - "description": "Whether to attach to `stdin`.", - "default": false - }, - "AttachStdout": { - "type": "boolean", - "description": "Whether to attach to `stdout`.", - "default": true - }, - "AttachStderr": { - "type": "boolean", - "description": "Whether to attach to `stderr`.", - "default": true - }, - "ExposedPorts": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping ports to an empty object in the form:\n\n`{\"/\": {}}`\n", - "nullable": true, - "example": { - "80/tcp": {}, - "443/tcp": {} - } - }, - "Tty": { - "type": "boolean", - "description": "Attach standard streams to a TTY, including `stdin` if it is not closed.\n", - "default": false - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`", - "default": false - }, - "StdinOnce": { - "type": "boolean", - "description": "Close `stdin` after one attached client disconnects", - "default": false - }, - "Env": { - "type": "array", - "description": "A list of environment variables to set inside the container in the\nform `[\"VAR=value\", ...]`. A variable without `=` is removed from the\nenvironment, rather than to have an empty value.\n", - "example": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - ], - "items": { - "type": "string" - } - }, - "Cmd": { - "type": "array", - "description": "Command to run specified as a string or an array of strings.\n", - "example": [ - "/bin/sh" - ], - "items": { - "type": "string" - } - }, - "Healthcheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "ArgsEscaped": { - "type": "boolean", - "description": "Command is already escaped (Windows only)", - "nullable": true, - "example": false, - "default": false - }, - "Image": { - "type": "string", - "description": "The name (or reference) of the image to use when creating the container,\nor which was used when the container was created.\n", - "example": "example-image:1.0" - }, - "Volumes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "An object mapping mount point paths inside the container to empty\nobjects.\n" - }, - "WorkingDir": { - "type": "string", - "description": "The working directory for commands to run in.", - "example": "/public/" - }, - "Entrypoint": { - "type": "array", - "description": "The entry point for the container as a string or an array of strings.\n\nIf the array consists of exactly one empty string (`[\"\"]`) then the\nentry point is reset to system default (i.e., the entry point used by\ndocker when there is no `ENTRYPOINT` instruction in the `Dockerfile`).\n", - "example": [], - "items": { - "type": "string" - } - }, - "NetworkDisabled": { - "type": "boolean", - "description": "Disable networking for the container.", - "nullable": true - }, - "MacAddress": { - "type": "string", - "description": "MAC address of the container.\n\nDeprecated: this field is deprecated in API v1.44 and up. Use EndpointSettings.MacAddress instead.\n", - "nullable": true - }, - "OnBuild": { - "type": "array", - "description": "`ONBUILD` metadata that were defined in the image's `Dockerfile`.\n", - "nullable": true, - "example": [], - "items": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop a container as a string or unsigned integer.\n", - "nullable": true, - "example": "SIGTERM" - }, - "StopTimeout": { - "type": "integer", - "description": "Timeout to stop a container in seconds.", - "nullable": true - }, - "Shell": { - "type": "array", - "description": "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.\n", - "nullable": true, - "example": [ - "/bin/sh", - "-c" - ], - "items": { - "type": "string" - } - } - }, - "description": "Configuration for a container that is portable between hosts.\n\nWhen used as `ContainerConfig` field in an image, `ContainerConfig` is an\noptional field containing the configuration of the container that was last\ncommitted when creating the image.\n\nPrevious versions of Docker builder used this field to store build cache,\nand it is not in active use anymore.\n" - }, - "NetworkingConfig": { - "type": "object", - "properties": { - "EndpointsConfig": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "A mapping of network name to endpoint configuration for that network.\nThe endpoint configuration can be left empty to connect to that\nnetwork with no particular endpoint configuration.\n" - } - }, - "description": "NetworkingConfig represents the container's networking configuration for\neach of its interfaces.\nIt is used for the networking configs specified in the `docker create`\nand `docker network connect` commands.\n", - "example": { - "EndpointsConfig": { - "isolated_nw": { - "IPAMConfig": { - "IPv4Address": "172.20.30.33", - "IPv6Address": "2001:db8:abcd::3033", - "LinkLocalIPs": [ - "169.254.34.68", - "fe80::3468" - ] - }, - "MacAddress": "02:42:ac:12:05:02", - "Links": [ - "container_1", - "container_2" - ], - "Aliases": [ - "server_x", - "server_y" - ] - }, - "database_nw": {} - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Bridge": { - "type": "string", - "description": "Name of the default bridge interface when dockerd's --bridge flag is set.\n", - "example": "docker0" - }, - "SandboxID": { - "type": "string", - "description": "SandboxID uniquely represents a container's network stack.", - "example": "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3" - }, - "HairpinMode": { - "type": "boolean", - "description": "Indicates if hairpin NAT should be enabled on the virtual interface.\n\nDeprecated: This field is never set and will be removed in a future release.\n", - "example": false - }, - "LinkLocalIPv6Address": { - "type": "string", - "description": "IPv6 unicast address using the link-local prefix.\n\nDeprecated: This field is never set and will be removed in a future release.\n", - "example": "" - }, - "LinkLocalIPv6PrefixLen": { - "type": "integer", - "description": "Prefix length of the IPv6 unicast address.\n\nDeprecated: This field is never set and will be removed in a future release.\n" - }, - "Ports": { - "$ref": "#/components/schemas/PortMap" - }, - "SandboxKey": { - "type": "string", - "description": "SandboxKey is the full path of the netns handle", - "example": "/var/run/docker/netns/8ab54b426c38" - }, - "SecondaryIPAddresses": { - "type": "array", - "description": "Deprecated: This field is never set and will be removed in a future release.", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "SecondaryIPv6Addresses": { - "type": "array", - "description": "Deprecated: This field is never set and will be removed in a future release.", - "nullable": true, - "items": { - "$ref": "#/components/schemas/Address" - } - }, - "EndpointID": { - "type": "string", - "description": "EndpointID uniquely represents a service endpoint in a Sandbox.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.1" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 64 - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address for the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address for this network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "2001:db8:2::100" - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the container on the default \"bridge\" network.\n\n


\n\n> **Deprecated**: This field is only propagated when attached to the\n> default \"bridge\" network. Use the information from the \"bridge\"\n> network inside the `Networks` map instead, which contains the same\n> information. This field was deprecated in Docker 1.9 and is scheduled\n> to be removed in Docker 17.12.0\n", - "example": "02:42:ac:11:00:04" - }, - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - }, - "description": "Information about all networks that the container is connected to.\n" - } - }, - "description": "NetworkSettings exposes the network settings in the API" - }, - "Address": { - "type": "object", - "properties": { - "Addr": { - "type": "string", - "description": "IP address." - }, - "PrefixLen": { - "type": "integer", - "description": "Mask length of the IP address." - } - }, - "description": "Address represents an IPv4 or IPv6 IP address." - }, - "PortMap": { - "type": "object", - "additionalProperties": { - "type": "array", - "nullable": true, - "items": { - "$ref": "#/components/schemas/PortBinding" - } - }, - "description": "PortMap describes the mapping of container ports to host ports, using the\ncontainer's port-number and protocol as key in the format `/`,\nfor example, `80/udp`.\n\nIf a container's port is mapped for multiple protocols, separate entries\nare added to the mapping table.\n", - "example": { - "443/tcp": [ - { - "HostIp": "127.0.0.1", - "HostPort": "4443" - } - ], - "80/tcp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - }, - { - "HostIp": "0.0.0.0", - "HostPort": "8080" - } - ], - "80/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "80" - } - ], - "53/udp": [ - { - "HostIp": "0.0.0.0", - "HostPort": "53" - } - ] - } - }, - "PortBinding": { - "type": "object", - "properties": { - "HostIp": { - "type": "string", - "description": "Host IP address that the container's port is mapped to.", - "example": "127.0.0.1" - }, - "HostPort": { - "type": "string", - "description": "Host port number that the container's port is mapped to.", - "example": "4443" - } - }, - "description": "PortBinding represents a binding between a host IP address and a host\nport.\n" - }, - "GraphDriverData": { - "required": [ - "Data", - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the storage driver.", - "nullable": false, - "example": "overlay2" - }, - "Data": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Low-level storage metadata, provided as key/value pairs.\n\nThis information is driver-specific, and depends on the storage-driver\nin use, and should be used for informational purposes only.\n", - "nullable": false, - "example": { - "MergedDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/merged", - "UpperDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/diff", - "WorkDir": "/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/work" - } - } - }, - "description": "Information about the storage driver used to store the container's and\nimage's filesystem.\n" - }, - "FilesystemChange": { - "required": [ - "Kind", - "Path" - ], - "type": "object", - "properties": { - "Path": { - "type": "string", - "description": "Path to file or directory that has changed.\n", - "nullable": false - }, - "Kind": { - "$ref": "#/components/schemas/ChangeType" - } - }, - "description": "Change in the container's filesystem.\n" - }, - "ChangeType": { - "type": "integer", - "description": "Kind of change\n\nCan be one of:\n\n- `0`: Modified (\"C\")\n- `1`: Added (\"A\")\n- `2`: Deleted (\"D\")\n", - "format": "uint8", - "nullable": false, - "enum": [ - 0, - 1, - 2 - ], - "x-nullable": false - }, - "ImageInspect": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "ID is the content-addressable ID of an image.\n\nThis identifier is a content-addressable digest calculated from the\nimage's configuration (which includes the digests of layers used by\nthe image).\n\nNote that this digest differs from the `RepoDigests` below, which\nholds digests of image manifests that reference the image.\n", - "nullable": false, - "example": "sha256:ec3f0931a6e6b6855d76b2d7b0be30e81860baccd891b2e243280bf1cd8ad710" - }, - "RepoTags": { - "type": "array", - "description": "List of image names/tags in the local image cache that reference this\nimage.\n\nMultiple image tags can refer to the same image, and this list may be\nempty if no tags reference the image, in which case the image is\n\"untagged\", in which case it can still be referenced by its ID.\n", - "example": [ - "example:1.0", - "example:latest", - "example:stable", - "internal.registry.example.com:5000/example:1.0" - ], - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "description": "List of content-addressable digests of locally available image manifests\nthat the image is referenced from. Multiple manifests can refer to the\nsame image.\n\nThese digests are usually only available if the image was either pulled\nfrom a registry, or if the image was pushed to a registry, which is when\nthe manifest is generated and its digest calculated.\n", - "example": [ - "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", - "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578" - ], - "items": { - "type": "string" - } - }, - "Parent": { - "type": "string", - "description": "ID of the parent image.\n\nDepending on how the image was created, this field may be empty and\nis only set for images that were built/created locally. This field\nis empty if the image was pulled from an image registry.\n", - "nullable": false, - "example": "" - }, - "Comment": { - "type": "string", - "description": "Optional message that was set when committing or importing the image.\n", - "nullable": false, - "example": "" - }, - "Created": { - "type": "string", - "description": "Date and time at which the image was created, formatted in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n\nThis information is only available if present in the image,\nand omitted otherwise.\n", - "format": "dateTime", - "nullable": true, - "example": "2022-02-04T21:20:12.497794809Z" - }, - "Container": { - "type": "string", - "description": "The ID of the container that was used to create the image.\n\nDepending on how the image was created, this field may be empty.\n\n**Deprecated**: this field is kept for backward compatibility, but\nwill be removed in API v1.45.\n", - "example": "65974bc86f1770ae4bff79f651ebdbce166ae9aada632ee3fa9af3a264911735" - }, - "ContainerConfig": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "DockerVersion": { - "type": "string", - "description": "The version of Docker that was used to build the image.\n\nDepending on how the image was created, this field may be empty.\n", - "nullable": false, - "example": "20.10.7" - }, - "Author": { - "type": "string", - "description": "Name of the author that was specified when committing the image, or as\nspecified through MAINTAINER (deprecated) in the Dockerfile.\n", - "nullable": false, - "example": "" - }, - "Config": { - "$ref": "#/components/schemas/ContainerConfig" - }, - "Architecture": { - "type": "string", - "description": "Hardware CPU architecture that the image runs on.\n", - "nullable": false, - "example": "arm" - }, - "Variant": { - "type": "string", - "description": "CPU architecture variant (presently ARM-only).\n", - "nullable": true, - "example": "v7" - }, - "Os": { - "type": "string", - "description": "Operating System the image is built to run on.\n", - "nullable": false, - "example": "linux" - }, - "OsVersion": { - "type": "string", - "description": "Operating System version the image is built to run on (especially\nfor Windows).\n", - "nullable": true, - "example": "" - }, - "Size": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "VirtualSize": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n\nDeprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead.\n", - "format": "int64", - "example": 1239828 - }, - "GraphDriver": { - "$ref": "#/components/schemas/GraphDriverData" - }, - "RootFS": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "layers" - }, - "Layers": { - "type": "array", - "example": [ - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6", - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" - ], - "items": { - "type": "string" - } - } - }, - "description": "Information about the image's RootFS, including the layer IDs.\n" - }, - "Metadata": { - "type": "object", - "properties": { - "LastTagTime": { - "type": "string", - "description": "Date and time at which the image was last tagged in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n\nThis information is only available if the image was tagged locally,\nand omitted otherwise.\n", - "format": "dateTime", - "nullable": true, - "example": "2022-02-28T14:40:02.623929178Z" - } - }, - "description": "Additional metadata of the image in the local cache. This information\nis local to the daemon, and not part of the image itself.\n" - } - }, - "description": "Information about an image in the local image cache.\n" - }, - "ImageSummary": { - "required": [ - "Containers", - "Created", - "Id", - "Labels", - "ParentId", - "RepoDigests", - "RepoTags", - "SharedSize", - "Size" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "ID is the content-addressable ID of an image.\n\nThis identifier is a content-addressable digest calculated from the\nimage's configuration (which includes the digests of layers used by\nthe image).\n\nNote that this digest differs from the `RepoDigests` below, which\nholds digests of image manifests that reference the image.\n", - "nullable": false, - "example": "sha256:ec3f0931a6e6b6855d76b2d7b0be30e81860baccd891b2e243280bf1cd8ad710" - }, - "ParentId": { - "type": "string", - "description": "ID of the parent image.\n\nDepending on how the image was created, this field may be empty and\nis only set for images that were built/created locally. This field\nis empty if the image was pulled from an image registry.\n", - "nullable": false, - "example": "" - }, - "RepoTags": { - "type": "array", - "description": "List of image names/tags in the local image cache that reference this\nimage.\n\nMultiple image tags can refer to the same image, and this list may be\nempty if no tags reference the image, in which case the image is\n\"untagged\", in which case it can still be referenced by its ID.\n", - "nullable": false, - "example": [ - "example:1.0", - "example:latest", - "example:stable", - "internal.registry.example.com:5000/example:1.0" - ], - "items": { - "type": "string" - } - }, - "RepoDigests": { - "type": "array", - "description": "List of content-addressable digests of locally available image manifests\nthat the image is referenced from. Multiple manifests can refer to the\nsame image.\n\nThese digests are usually only available if the image was either pulled\nfrom a registry, or if the image was pushed to a registry, which is when\nthe manifest is generated and its digest calculated.\n", - "nullable": false, - "example": [ - "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", - "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578" - ], - "items": { - "type": "string" - } - }, - "Created": { - "type": "integer", - "description": "Date and time at which the image was created as a Unix timestamp\n(number of seconds sinds EPOCH).\n", - "nullable": false, - "example": 1644009612 - }, - "Size": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n", - "format": "int64", - "nullable": false, - "example": 172064416 - }, - "SharedSize": { - "type": "integer", - "description": "Total size of image layers that are shared between this image and other\nimages.\n\nThis size is not calculated by default. `-1` indicates that the value\nhas not been set / calculated.\n", - "format": "int64", - "nullable": false, - "example": 1239828 - }, - "VirtualSize": { - "type": "integer", - "description": "Total size of the image including all layers it is composed of.\n\nDeprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead.", - "format": "int64", - "example": 172064416 - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Containers": { - "type": "integer", - "description": "Number of containers using this image. Includes both stopped and running\ncontainers.\n\nThis size is not calculated by default, and depends on which API endpoint\nis used. `-1` indicates that the value has not been set / calculated.\n", - "nullable": false, - "example": 2 - } - }, - "x-go-name": "Summary" - }, - "AuthConfig": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "email": { - "type": "string" - }, - "serveraddress": { - "type": "string" - } - }, - "example": { - "username": "hannibal", - "password": "xxxx", - "serveraddress": "https://index.docker.io/v1/" - } - }, - "ProcessConfig": { - "type": "object", - "properties": { - "privileged": { - "type": "boolean" - }, - "user": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "entrypoint": { - "type": "string" - }, - "arguments": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Volume": { - "required": [ - "Driver", - "Labels", - "Mountpoint", - "Name", - "Options", - "Scope" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the volume.", - "nullable": false, - "example": "tardis" - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver used by the volume.", - "nullable": false, - "example": "custom" - }, - "Mountpoint": { - "type": "string", - "description": "Mount path of the volume on the host.", - "nullable": false, - "example": "/var/lib/docker/volumes/tardis" - }, - "CreatedAt": { - "type": "string", - "description": "Date/Time the volume was created.", - "format": "dateTime", - "example": "2016-06-07T20:31:11.853781916Z" - }, - "Status": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {} - }, - "description": "Low-level details about the volume, provided by the volume driver.\nDetails are returned as a map with key/value pairs:\n`{\"key\":\"value\",\"key2\":\"value2\"}`.\n\nThe `Status` field is optional, and is omitted if the volume driver\ndoes not support this feature.\n", - "example": { - "hello": "world" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "nullable": false, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Scope": { - "type": "string", - "description": "The level at which the volume exists. Either `global` for cluster-wide,\nor `local` for machine level.\n", - "nullable": false, - "example": "local", - "default": "local", - "enum": [ - "local", - "global" - ] - }, - "ClusterVolume": { - "$ref": "#/components/schemas/ClusterVolume" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The driver specific options used when creating the volume.\n", - "example": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - }, - "UsageData": { - "required": [ - "RefCount", - "Size" - ], - "type": "object", - "properties": { - "Size": { - "type": "integer", - "description": "Amount of disk space used by the volume (in bytes). This information\nis only available for volumes created with the `\"local\"` volume\ndriver. For volumes created with other volume drivers, this field\nis set to `-1` (\"not available\")\n", - "format": "int64", - "nullable": false, - "default": -1 - }, - "RefCount": { - "type": "integer", - "description": "The number of containers referencing this volume. This field\nis set to `-1` if the reference-count is not available.\n", - "format": "int64", - "nullable": false, - "default": -1 - } - }, - "description": "Usage details about the volume. This information is used by the\n`GET /system/df` endpoint, and omitted in other endpoints.\n", - "nullable": true, - "x-go-name": "UsageData" - } - } - }, - "VolumeCreateOptions": { - "title": "VolumeConfig", - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The new volume's name. If not specified, Docker generates a name.\n", - "nullable": false, - "example": "tardis" - }, - "Driver": { - "type": "string", - "description": "Name of the volume driver to use.", - "nullable": false, - "example": "custom", - "default": "local" - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A mapping of driver options and values. These options are\npassed directly to the driver and are driver specific.\n", - "example": { - "device": "tmpfs", - "o": "size=100m,uid=1000", - "type": "tmpfs" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "ClusterVolumeSpec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - } - }, - "description": "Volume configuration", - "x-go-name": "CreateOptions" - }, - "VolumeListResponse": { - "title": "VolumeListResponse", - "type": "object", - "properties": { - "Volumes": { - "type": "array", - "description": "List of volumes", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "Warnings": { - "type": "array", - "description": "Warnings that occurred when fetching the list of volumes.\n", - "example": [], - "items": { - "type": "string" - } - } - }, - "description": "Volume list response", - "x-go-name": "ListResponse" - }, - "Network": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Created": { - "type": "string", - "format": "dateTime" - }, - "Scope": { - "type": "string" - }, - "Driver": { - "type": "string" - }, - "EnableIPv6": { - "type": "boolean" - }, - "IPAM": { - "$ref": "#/components/schemas/IPAM" - }, - "Internal": { - "type": "boolean" - }, - "Attachable": { - "type": "boolean" - }, - "Ingress": { - "type": "boolean" - }, - "Containers": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/NetworkContainer" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "example": { - "Name": "net01", - "Id": "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99", - "Created": "2016-10-19T04:33:30.360899459Z", - "Scope": "local", - "Driver": "bridge", - "EnableIPv6": false, - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.19.0.0/16", - "Gateway": "172.19.0.1" - } - ], - "Options": { - "foo": "bar" - } - }, - "Internal": false, - "Attachable": false, - "Ingress": false, - "Containers": { - "19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c": { - "Name": "test", - "EndpointID": "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a", - "MacAddress": "02:42:ac:13:00:02", - "IPv4Address": "172.19.0.2/16", - "IPv6Address": "" - } - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - }, - "Labels": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - } - }, - "IPAM": { - "type": "object", - "properties": { - "Driver": { - "type": "string", - "description": "Name of the IPAM driver to use.", - "default": "default" - }, - "Config": { - "type": "array", - "description": "List of IPAM configuration options, specified as a map:\n\n```\n{\"Subnet\": , \"IPRange\": , \"Gateway\": , \"AuxAddress\": }\n```\n", - "items": { - "$ref": "#/components/schemas/IPAMConfig" - } - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options, specified as a map." - } - } - }, - "IPAMConfig": { - "type": "object", - "properties": { - "Subnet": { - "type": "string" - }, - "IPRange": { - "type": "string" - }, - "Gateway": { - "type": "string" - }, - "AuxiliaryAddresses": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "NetworkContainer": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "EndpointID": { - "type": "string" - }, - "MacAddress": { - "type": "string" - }, - "IPv4Address": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - } - } - }, - "BuildInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "stream": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - }, - "aux": { - "$ref": "#/components/schemas/ImageID" - } - } - }, - "BuildCache": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique ID of the build cache record.\n", - "example": "ndlpt0hhvkqcdfkputsk4cq9c" - }, - "Parent": { - "type": "string", - "description": "ID of the parent build cache record.\n\n> **Deprecated**: This field is deprecated, and omitted if empty.\n", - "nullable": true, - "example": "" - }, - "Parents": { - "type": "array", - "description": "List of parent build cache record IDs.\n", - "nullable": true, - "example": [ - "hw53o5aio51xtltp5xjp8v7fx" - ], - "items": { - "type": "string" - } - }, - "Type": { - "type": "string", - "description": "Cache record type.\n", - "example": "regular", - "enum": [ - "internal", - "frontend", - "source.local", - "source.git.checkout", - "exec.cachemount", - "regular" - ] - }, - "Description": { - "type": "string", - "description": "Description of the build-step that produced the build cache.\n", - "example": "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache" - }, - "InUse": { - "type": "boolean", - "description": "Indicates if the build cache is in use.\n", - "example": false - }, - "Shared": { - "type": "boolean", - "description": "Indicates if the build cache is shared.\n", - "example": true - }, - "Size": { - "type": "integer", - "description": "Amount of disk space used by the build cache (in bytes).\n", - "example": 51 - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the build cache was created in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "LastUsedAt": { - "type": "string", - "description": "Date and time at which the build cache was last used in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "nullable": true, - "example": "2017-08-09T07:09:37.632105588Z" - }, - "UsageCount": { - "type": "integer", - "example": 26 - } - }, - "description": "BuildCache contains information about a build cache record.\n" - }, - "ImageID": { - "type": "object", - "properties": { - "ID": { - "type": "string" - } - }, - "description": "Image ID or Digest", - "example": { - "ID": "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" - } - }, - "CreateImageInfo": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "error": { - "type": "string" - }, - "errorDetail": { - "$ref": "#/components/schemas/ErrorDetail" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "PushImageInfo": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "status": { - "type": "string" - }, - "progress": { - "type": "string" - }, - "progressDetail": { - "$ref": "#/components/schemas/ProgressDetail" - } - } - }, - "ErrorDetail": { - "type": "object", - "properties": { - "code": { - "type": "integer" - }, - "message": { - "type": "string" - } - } - }, - "ProgressDetail": { - "type": "object", - "properties": { - "current": { - "type": "integer" - }, - "total": { - "type": "integer" - } - } - }, - "ErrorResponse": { - "required": [ - "message" - ], - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The error message.", - "nullable": false - } - }, - "description": "Represents an error.", - "example": { - "message": "Something went wrong." - } - }, - "IdResponse": { - "required": [ - "Id" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The id of the newly created object.", - "nullable": false - } - }, - "description": "Response to an API call that returns just an Id" - }, - "EndpointSettings": { - "type": "object", - "properties": { - "IPAMConfig": { - "$ref": "#/components/schemas/EndpointIPAMConfig" - }, - "Links": { - "type": "array", - "example": [ - "container_1", - "container_2" - ], - "items": { - "type": "string" - } - }, - "MacAddress": { - "type": "string", - "description": "MAC address for the endpoint on this network. The network driver might ignore this parameter.\n", - "example": "02:42:ac:11:00:04" - }, - "Aliases": { - "type": "array", - "example": [ - "server_x", - "server_y" - ], - "items": { - "type": "string" - } - }, - "NetworkID": { - "type": "string", - "description": "Unique ID of the network.\n", - "example": "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a" - }, - "EndpointID": { - "type": "string", - "description": "Unique ID for the service endpoint in a Sandbox.\n", - "example": "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" - }, - "Gateway": { - "type": "string", - "description": "Gateway address for this network.\n", - "example": "172.17.0.1" - }, - "IPAddress": { - "type": "string", - "description": "IPv4 address.\n", - "example": "172.17.0.4" - }, - "IPPrefixLen": { - "type": "integer", - "description": "Mask length of the IPv4 address.\n", - "example": 16 - }, - "IPv6Gateway": { - "type": "string", - "description": "IPv6 gateway address.\n", - "example": "2001:db8:2::100" - }, - "GlobalIPv6Address": { - "type": "string", - "description": "Global IPv6 address.\n", - "example": "2001:db8::5689" - }, - "GlobalIPv6PrefixLen": { - "type": "integer", - "description": "Mask length of the global IPv6 address.\n", - "format": "int64", - "example": 64 - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "DriverOpts is a mapping of driver options and values. These options\nare passed directly to the driver and are driver specific.\n", - "nullable": true, - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "DNSNames": { - "type": "array", - "description": "List of all DNS names an endpoint has on a specific network. This\nlist is based on the container name, network aliases, container short\nID, and hostname.\n\nThese DNS names are non-fully qualified but can contain several dots.\nYou can get fully qualified DNS names by appending `.`.\nFor instance, if container name is `my.ctr` and the network is named\n`testnet`, `DNSNames` will contain `my.ctr` and the FQDN will be\n`my.ctr.testnet`.\n", - "example": [ - "foobar", - "server_x", - "server_y", - "my.ctr" - ], - "items": { - "type": "string" - } - } - }, - "description": "Configuration for a network endpoint." - }, - "EndpointIPAMConfig": { - "type": "object", - "properties": { - "IPv4Address": { - "type": "string", - "example": "172.20.30.33" - }, - "IPv6Address": { - "type": "string", - "example": "2001:db8:abcd::3033" - }, - "LinkLocalIPs": { - "type": "array", - "example": [ - "169.254.34.68", - "fe80::3468" - ], - "items": { - "type": "string" - } - } - }, - "description": "EndpointIPAMConfig represents an endpoint's IPAM configuration.\n", - "nullable": true, - "x-nullable": true - }, - "PluginMount": { - "required": [ - "Description", - "Destination", - "Name", - "Options", - "Settable", - "Source", - "Type" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "some-mount" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "This is a mount that's used by the plugin." - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Source": { - "type": "string", - "example": "/var/lib/docker/plugins/" - }, - "Destination": { - "type": "string", - "nullable": false, - "example": "/mnt/state" - }, - "Type": { - "type": "string", - "nullable": false, - "example": "bind" - }, - "Options": { - "type": "array", - "example": [ - "rbind", - "rw" - ], - "items": { - "type": "string" - } - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginDevice": { - "required": [ - "Description", - "Name", - "Path", - "Settable" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Path": { - "type": "string", - "example": "/dev/fuse" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginEnv": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false - }, - "Description": { - "type": "string", - "nullable": false - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "string" - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginInterfaceType": { - "required": [ - "Capability", - "Prefix", - "Version" - ], - "type": "object", - "properties": { - "Prefix": { - "type": "string", - "nullable": false - }, - "Capability": { - "type": "string", - "nullable": false - }, - "Version": { - "type": "string", - "nullable": false - } - }, - "nullable": false, - "x-nullable": false - }, - "PluginPrivilege": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "example": "network" - }, - "Description": { - "type": "string" - }, - "Value": { - "type": "array", - "example": [ - "host" - ], - "items": { - "type": "string" - } - } - }, - "description": "Describes a permission the user has to accept upon installing\nthe plugin.\n", - "x-go-name": "PluginPrivilege" - }, - "Plugin": { - "required": [ - "Config", - "Enabled", - "Name", - "Settings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "example": "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" - }, - "Name": { - "type": "string", - "nullable": false, - "example": "tiborvass/sample-volume-plugin" - }, - "Enabled": { - "type": "boolean", - "description": "True if the plugin is running. False if the plugin is not running, only installed.", - "nullable": false, - "example": true - }, - "Settings": { - "required": [ - "Args", - "Devices", - "Env", - "Mounts" - ], - "type": "object", - "properties": { - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - "DEBUG=0" - ], - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "items": { - "type": "string" - } - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "description": "Settings that can be modified by users.", - "nullable": false - }, - "PluginReference": { - "type": "string", - "description": "plugin remote reference used to push/pull the plugin", - "nullable": false, - "example": "localhost:5000/tiborvass/sample-volume-plugin:latest" - }, - "Config": { - "required": [ - "Args", - "Description", - "Documentation", - "Entrypoint", - "Env", - "Interface", - "IpcHost", - "Linux", - "Mounts", - "Network", - "PidHost", - "PropagatedMount", - "WorkDir" - ], - "type": "object", - "properties": { - "DockerVersion": { - "type": "string", - "description": "Docker Version used to create the plugin", - "nullable": false, - "example": "17.06.0-ce" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "A sample volume plugin for Docker" - }, - "Documentation": { - "type": "string", - "nullable": false, - "example": "https://docs.docker.com/engine/extend/plugins/" - }, - "Interface": { - "required": [ - "Socket", - "Types" - ], - "type": "object", - "properties": { - "Types": { - "type": "array", - "example": [ - "docker.volumedriver/1.0" - ], - "items": { - "$ref": "#/components/schemas/PluginInterfaceType" - } - }, - "Socket": { - "type": "string", - "nullable": false, - "example": "plugins.sock" - }, - "ProtocolScheme": { - "type": "string", - "description": "Protocol to use for clients connecting to the plugin.", - "example": "some.protocol/v1.0", - "enum": [ - "", - "moby.plugins.http/v1" - ] - } - }, - "description": "The interface between Docker and the plugin", - "nullable": false - }, - "Entrypoint": { - "type": "array", - "example": [ - "/usr/bin/sample-volume-plugin", - "/data" - ], - "items": { - "type": "string" - } - }, - "WorkDir": { - "type": "string", - "nullable": false, - "example": "/bin/" - }, - "User": { - "type": "object", - "properties": { - "UID": { - "type": "integer", - "format": "uint32", - "example": 1000 - }, - "GID": { - "type": "integer", - "format": "uint32", - "example": 1000 - } - }, - "nullable": false - }, - "Network": { - "required": [ - "Type" - ], - "type": "object", - "properties": { - "Type": { - "type": "string", - "nullable": false, - "example": "host" - } - }, - "nullable": false - }, - "Linux": { - "required": [ - "AllowAllDevices", - "Capabilities", - "Devices" - ], - "type": "object", - "properties": { - "Capabilities": { - "type": "array", - "example": [ - "CAP_SYS_ADMIN", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "AllowAllDevices": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Devices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginDevice" - } - } - }, - "nullable": false - }, - "PropagatedMount": { - "type": "string", - "nullable": false, - "example": "/mnt/volumes" - }, - "IpcHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "PidHost": { - "type": "boolean", - "nullable": false, - "example": false - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginMount" - } - }, - "Env": { - "type": "array", - "example": [ - { - "Name": "DEBUG", - "Description": "If set, prints debug messages", - "Value": "0" - } - ], - "items": { - "$ref": "#/components/schemas/PluginEnv" - } - }, - "Args": { - "required": [ - "Description", - "Name", - "Settable", - "Value" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "nullable": false, - "example": "args" - }, - "Description": { - "type": "string", - "nullable": false, - "example": "command line arguments" - }, - "Settable": { - "type": "array", - "items": { - "type": "string" - } - }, - "Value": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "nullable": false - }, - "rootfs": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "layers" - }, - "diff_ids": { - "type": "array", - "example": [ - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887", - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" - ], - "items": { - "type": "string" - } - } - } - } - }, - "description": "The config of a plugin.", - "nullable": false - } - }, - "description": "A plugin for the Engine API" - }, - "ObjectVersion": { - "type": "object", - "properties": { - "Index": { - "type": "integer", - "format": "uint64", - "example": 373531 - } - }, - "description": "The version number of the object such as node, service, etc. This is needed\nto avoid conflicting writes. The client must send the version number along\nwith the modified specification when updating these objects.\n\nThis approach ensures safe concurrency and determinism in that the change\non the object may not be applied if the version number has changed from the\nlast read. In other words, if two update requests specify the same base\nversion, only one of the requests can succeed. As a result, two separate\nupdate requests that happen at the same time will not unintentionally\noverwrite each other.\n" - }, - "NodeSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name for the node.", - "example": "my-node" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Role": { - "type": "string", - "description": "Role of the node.", - "example": "manager", - "enum": [ - "worker", - "manager" - ] - }, - "Availability": { - "type": "string", - "description": "Availability of the node.", - "example": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "example": { - "Availability": "active", - "Name": "node-name", - "Role": "manager", - "Labels": { - "foo": "bar" - } - } - }, - "Node": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "24ifsmvkjbyhk" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the node was added to the swarm in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the node was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/NodeSpec" - }, - "Description": { - "$ref": "#/components/schemas/NodeDescription" - }, - "Status": { - "$ref": "#/components/schemas/NodeStatus" - }, - "ManagerStatus": { - "$ref": "#/components/schemas/ManagerStatus" - } - } - }, - "NodeDescription": { - "type": "object", - "properties": { - "Hostname": { - "type": "string", - "example": "bf3067039e47" - }, - "Platform": { - "$ref": "#/components/schemas/Platform" - }, - "Resources": { - "$ref": "#/components/schemas/ResourceObject" - }, - "Engine": { - "$ref": "#/components/schemas/EngineDescription" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - } - }, - "description": "NodeDescription encapsulates the properties of the Node as reported by the\nagent.\n" - }, - "Platform": { - "type": "object", - "properties": { - "Architecture": { - "type": "string", - "description": "Architecture represents the hardware architecture (for example,\n`x86_64`).\n", - "example": "x86_64" - }, - "OS": { - "type": "string", - "description": "OS represents the Operating System (for example, `linux` or `windows`).\n", - "example": "linux" - } - }, - "description": "Platform represents the platform (Arch/OS).\n" - }, - "EngineDescription": { - "type": "object", - "properties": { - "EngineVersion": { - "type": "string", - "example": "17.06.0" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "example": { - "foo": "bar" - } - }, - "Plugins": { - "type": "array", - "example": [ - { - "Type": "Log", - "Name": "awslogs" - }, - { - "Type": "Log", - "Name": "fluentd" - }, - { - "Type": "Log", - "Name": "gcplogs" - }, - { - "Type": "Log", - "Name": "gelf" - }, - { - "Type": "Log", - "Name": "journald" - }, - { - "Type": "Log", - "Name": "json-file" - }, - { - "Type": "Log", - "Name": "splunk" - }, - { - "Type": "Log", - "Name": "syslog" - }, - { - "Type": "Network", - "Name": "bridge" - }, - { - "Type": "Network", - "Name": "host" - }, - { - "Type": "Network", - "Name": "ipvlan" - }, - { - "Type": "Network", - "Name": "macvlan" - }, - { - "Type": "Network", - "Name": "null" - }, - { - "Type": "Network", - "Name": "overlay" - }, - { - "Type": "Volume", - "Name": "local" - }, - { - "Type": "Volume", - "Name": "localhost:5000/vieux/sshfs:latest" - }, - { - "Type": "Volume", - "Name": "vieux/sshfs:latest" - } - ], - "items": { - "type": "object", - "properties": { - "Type": { - "type": "string" - }, - "Name": { - "type": "string" - } - } - } - } - }, - "description": "EngineDescription provides information about an engine." - }, - "TLSInfo": { - "type": "object", - "properties": { - "TrustRoot": { - "type": "string", - "description": "The root CA certificate(s) that are used to validate leaf TLS\ncertificates.\n" - }, - "CertIssuerSubject": { - "type": "string", - "description": "The base64-url-safe-encoded raw subject bytes of the issuer." - }, - "CertIssuerPublicKey": { - "type": "string", - "description": "The base64-url-safe-encoded raw public key bytes of the issuer.\n" - } - }, - "description": "Information about the issuer of leaf TLS certificates and the trusted root\nCA certificate.\n", - "example": { - "TrustRoot": "-----BEGIN CERTIFICATE-----\nMIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw\nEzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0\nMzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf\n3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO\nPQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz\npxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H\n-----END CERTIFICATE-----\n", - "CertIssuerSubject": "MBMxETAPBgNVBAMTCHN3YXJtLWNh", - "CertIssuerPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A==" - } - }, - "NodeStatus": { - "type": "object", - "properties": { - "State": { - "$ref": "#/components/schemas/NodeState" - }, - "Message": { - "type": "string", - "example": "" - }, - "Addr": { - "type": "string", - "description": "IP address of the node.", - "example": "172.17.0.2" - } - }, - "description": "NodeStatus represents the status of a node.\n\nIt provides the current status of the node, as seen by the manager.\n" - }, - "NodeState": { - "type": "string", - "description": "NodeState represents the state of a node.", - "example": "ready", - "enum": [ - "unknown", - "down", - "ready", - "disconnected" - ] - }, - "ManagerStatus": { - "type": "object", - "properties": { - "Leader": { - "type": "boolean", - "example": true, - "default": false - }, - "Reachability": { - "$ref": "#/components/schemas/Reachability" - }, - "Addr": { - "type": "string", - "description": "The IP address and port at which the manager is reachable.\n", - "example": "10.0.0.46:2377" - } - }, - "description": "ManagerStatus represents the status of a manager.\n\nIt provides the current status of a node's manager component, if the node\nis a manager.\n", - "nullable": true, - "x-nullable": true - }, - "Reachability": { - "type": "string", - "description": "Reachability represents the reachability of a node.", - "example": "reachable", - "enum": [ - "unknown", - "unreachable", - "reachable" - ] - }, - "SwarmSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the swarm.", - "example": "default" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.corp.type": "production", - "com.example.corp.department": "engineering" - } - }, - "Orchestration": { - "type": "object", - "properties": { - "TaskHistoryRetentionLimit": { - "type": "integer", - "description": "The number of historic tasks to keep per instance or node. If\nnegative, never remove completed or failed tasks.\n", - "format": "int64", - "example": 10 - } - }, - "description": "Orchestration configuration.", - "nullable": true - }, - "Raft": { - "type": "object", - "properties": { - "SnapshotInterval": { - "type": "integer", - "description": "The number of log entries between snapshots.", - "format": "uint64", - "example": 10000 - }, - "KeepOldSnapshots": { - "type": "integer", - "description": "The number of snapshots to keep beyond the current snapshot.\n", - "format": "uint64" - }, - "LogEntriesForSlowFollowers": { - "type": "integer", - "description": "The number of log entries to keep around to sync up slow followers\nafter a snapshot is created.\n", - "format": "uint64", - "example": 500 - }, - "ElectionTick": { - "type": "integer", - "description": "The number of ticks that a follower will wait for a message from\nthe leader before becoming a candidate and starting an election.\n`ElectionTick` must be greater than `HeartbeatTick`.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 3 - }, - "HeartbeatTick": { - "type": "integer", - "description": "The number of ticks between heartbeats. Every HeartbeatTick ticks,\nthe leader will send a heartbeat to the followers.\n\nA tick currently defaults to one second, so these translate\ndirectly to seconds currently, but this is NOT guaranteed.\n", - "example": 1 - } - }, - "description": "Raft configuration." - }, - "Dispatcher": { - "type": "object", - "properties": { - "HeartbeatPeriod": { - "type": "integer", - "description": "The delay for an agent to send a heartbeat to the dispatcher.\n", - "format": "int64", - "example": 5000000000 - } - }, - "description": "Dispatcher configuration.", - "nullable": true - }, - "CAConfig": { - "type": "object", - "properties": { - "NodeCertExpiry": { - "type": "integer", - "description": "The duration node certificates are issued for.", - "format": "int64", - "example": 7776000000000000 - }, - "ExternalCAs": { - "type": "array", - "description": "Configuration for forwarding signing requests to an external\ncertificate authority.\n", - "items": { - "type": "object", - "properties": { - "Protocol": { - "type": "string", - "description": "Protocol for communication with the external CA (currently\nonly `cfssl` is supported).\n", - "default": "cfssl", - "enum": [ - "cfssl" - ] - }, - "URL": { - "type": "string", - "description": "URL where certificate signing requests should be sent.\n" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "An object with key/value pairs that are interpreted as\nprotocol-specific options for the external CA driver.\n" - }, - "CACert": { - "type": "string", - "description": "The root CA certificate (in PEM format) this external CA uses\nto issue TLS certificates (assumed to be to the current swarm\nroot CA certificate if not provided).\n" - } - } - } - }, - "SigningCACert": { - "type": "string", - "description": "The desired signing CA certificate for all swarm node TLS leaf\ncertificates, in PEM format.\n" - }, - "SigningCAKey": { - "type": "string", - "description": "The desired signing CA key for all swarm node TLS leaf certificates,\nin PEM format.\n" - }, - "ForceRotate": { - "type": "integer", - "description": "An integer whose purpose is to force swarm to generate a new\nsigning CA certificate and key, if none have been specified in\n`SigningCACert` and `SigningCAKey`\n", - "format": "uint64" - } - }, - "description": "CA configuration.", - "nullable": true - }, - "EncryptionConfig": { - "type": "object", - "properties": { - "AutoLockManagers": { - "type": "boolean", - "description": "If set, generate a key and use it to lock data stored on the\nmanagers.\n", - "example": false - } - }, - "description": "Parameters related to encryption-at-rest." - }, - "TaskDefaults": { - "type": "object", - "properties": { - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The log driver to use as a default for new tasks.\n", - "example": "json-file" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver-specific options for the selectd log driver, specified\nas key/value pairs.\n", - "example": { - "max-file": "10", - "max-size": "100m" - } - } - }, - "description": "The log driver to use for tasks created in the orchestrator if\nunspecified by a service.\n\nUpdating this value only affects new tasks. Existing tasks continue\nto use their previously configured log driver until recreated.\n" - } - }, - "description": "Defaults for creating tasks in this cluster." - } - }, - "description": "User modifiable swarm configuration." - }, - "ClusterInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the swarm.", - "example": "abajmipo7b4xz5ip2nrla6b11" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "description": "Date and time at which the swarm was initialised in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2016-08-18T10:44:24.496525531Z" - }, - "UpdatedAt": { - "type": "string", - "description": "Date and time at which the swarm was last updated in\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.\n", - "format": "dateTime", - "example": "2017-08-09T07:09:37.632105588Z" - }, - "Spec": { - "$ref": "#/components/schemas/SwarmSpec" - }, - "TLSInfo": { - "$ref": "#/components/schemas/TLSInfo" - }, - "RootRotationInProgress": { - "type": "boolean", - "description": "Whether there is currently a root CA rotation in progress for the swarm\n", - "example": false - }, - "DataPathPort": { - "type": "integer", - "description": "DataPathPort specifies the data path port number for data traffic.\nAcceptable port range is 1024 to 49151.\nIf no port is set or is set to 0, the default port (4789) is used.\n", - "format": "uint32", - "example": 4789 - }, - "DefaultAddrPool": { - "type": "array", - "description": "Default Address Pool specifies default subnet pools for global scope\nnetworks.\n", - "items": { - "type": "string", - "format": "CIDR", - "example": "" - } - }, - "SubnetSize": { - "maximum": 29, - "type": "integer", - "description": "SubnetSize specifies the subnet size of the networks created from the\ndefault subnet pool.\n", - "format": "uint32", - "example": 24 - } - }, - "description": "ClusterInfo represents information about the swarm as is returned by the\n\"/info\" endpoint. Join-tokens are not included.\n", - "nullable": true, - "x-nullable": true - }, - "JoinTokens": { - "type": "object", - "properties": { - "Worker": { - "type": "string", - "description": "The token workers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx" - }, - "Manager": { - "type": "string", - "description": "The token managers can use to join the swarm.\n", - "example": "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" - } - }, - "description": "JoinTokens contains the tokens workers and managers need to join the swarm.\n" - }, - "Swarm": { - "allOf": [ - { - "$ref": "#/components/schemas/ClusterInfo" - }, - { - "type": "object", - "properties": { - "JoinTokens": { - "$ref": "#/components/schemas/JoinTokens" - } - } - } - ] - }, - "TaskSpec": { - "type": "object", - "properties": { - "PluginSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The name or 'alias' to use for the plugin." - }, - "Remote": { - "type": "string", - "description": "The plugin image reference to use." - }, - "Disabled": { - "type": "boolean", - "description": "Disable the plugin once scheduled." - }, - "PluginPrivilege": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PluginPrivilege" - } - } - }, - "description": "Plugin spec for the service. *(Experimental release only.)*\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "ContainerSpec": { - "type": "object", - "properties": { - "Image": { - "type": "string", - "description": "The image name to use for the container" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value data." - }, - "Command": { - "type": "array", - "description": "The command to be run in the image.", - "items": { - "type": "string" - } - }, - "Args": { - "type": "array", - "description": "Arguments to the command.", - "items": { - "type": "string" - } - }, - "Hostname": { - "type": "string", - "description": "The hostname to use for the container, as a valid\n[RFC 1123](https://tools.ietf.org/html/rfc1123) hostname.\n" - }, - "Env": { - "type": "array", - "description": "A list of environment variables in the form `VAR=value`.\n", - "items": { - "type": "string" - } - }, - "Dir": { - "type": "string", - "description": "The working directory for commands to run in." - }, - "User": { - "type": "string", - "description": "The user inside the container." - }, - "Groups": { - "type": "array", - "description": "A list of additional groups that the container process will run as.\n", - "items": { - "type": "string" - } - }, - "Privileges": { - "type": "object", - "properties": { - "CredentialSpec": { - "type": "object", - "properties": { - "Config": { - "type": "string", - "description": "Load credential spec from a Swarm Config with the given ID.\nThe specified config must also be present in the Configs\nfield with the Runtime property set.\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "0bt9dmxjvjiqermk6xrop3ekq" - }, - "File": { - "type": "string", - "description": "Load credential spec from this file. The file is read by\nthe daemon, and must be present in the `CredentialSpecs`\nsubdirectory in the docker data directory, which defaults\nto `C:\\ProgramData\\Docker\\` on Windows.\n\nFor example, specifying `spec.json` loads\n`C:\\ProgramData\\Docker\\CredentialSpecs\\spec.json`.\n\n


\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n", - "example": "spec.json" - }, - "Registry": { - "type": "string", - "description": "Load credential spec from this value in the Windows\nregistry. The specified registry value must be located in:\n\n`HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Virtualization\\Containers\\CredentialSpecs`\n\n


\n\n\n> **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`,\n> and `CredentialSpec.Config` are mutually exclusive.\n" - } - }, - "description": "CredentialSpec for managed service account (Windows only)" - }, - "SELinuxContext": { - "type": "object", - "properties": { - "Disable": { - "type": "boolean", - "description": "Disable SELinux" - }, - "User": { - "type": "string", - "description": "SELinux user label" - }, - "Role": { - "type": "string", - "description": "SELinux role label" - }, - "Type": { - "type": "string", - "description": "SELinux type label" - }, - "Level": { - "type": "string", - "description": "SELinux level label" - } - }, - "description": "SELinux labels of the container" - }, - "Seccomp": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "enum": [ - "default", - "unconfined", - "custom" - ] - }, - "Profile": { - "type": "string", - "description": "The custom seccomp profile as a json object" - } - }, - "description": "Options for configuring seccomp on the container" - }, - "AppArmor": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "enum": [ - "default", - "disabled" - ] - } - }, - "description": "Options for configuring AppArmor on the container" - }, - "NoNewPrivileges": { - "type": "boolean", - "description": "Configuration of the no_new_privs bit in the container" - } - }, - "description": "Security options for the container" - }, - "TTY": { - "type": "boolean", - "description": "Whether a pseudo-TTY should be allocated." - }, - "OpenStdin": { - "type": "boolean", - "description": "Open `stdin`" - }, - "ReadOnly": { - "type": "boolean", - "description": "Mount the container's root filesystem as read only." - }, - "Mounts": { - "type": "array", - "description": "Specification for mounts to be added to containers created as part\nof the service.\n", - "items": { - "$ref": "#/components/schemas/Mount" - } - }, - "StopSignal": { - "type": "string", - "description": "Signal to stop the container." - }, - "StopGracePeriod": { - "type": "integer", - "description": "Amount of time to wait for the container to terminate before\nforcefully killing it.\n", - "format": "int64" - }, - "HealthCheck": { - "$ref": "#/components/schemas/HealthConfig" - }, - "Hosts": { - "type": "array", - "description": "A list of hostname/IP mappings to add to the container's `hosts`\nfile. The format of extra hosts is specified in the\n[hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html)\nman page:\n\n IP_address canonical_hostname [aliases...]\n", - "items": { - "type": "string" - } - }, - "DNSConfig": { - "type": "object", - "properties": { - "Nameservers": { - "type": "array", - "description": "The IP addresses of the name servers.", - "items": { - "type": "string" - } - }, - "Search": { - "type": "array", - "description": "A search list for host-name lookup.", - "items": { - "type": "string" - } - }, - "Options": { - "type": "array", - "description": "A list of internal resolver variables to be modified (e.g.,\n`debug`, `ndots:3`, etc.).\n", - "items": { - "type": "string" - } - } - }, - "description": "Specification for DNS related configurations in resolver configuration\nfile (`resolv.conf`).\n" - }, - "Secrets": { - "type": "array", - "description": "Secrets contains references to zero or more secrets that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n" - }, - "SecretID": { - "type": "string", - "description": "SecretID represents the ID of the specific secret that we're\nreferencing.\n" - }, - "SecretName": { - "type": "string", - "description": "SecretName is the name of the secret that this references,\nbut this is just provided for lookup/display purposes. The\nsecret in the reference will be identified by its ID.\n" - } - } - } - }, - "Configs": { - "type": "array", - "description": "Configs contains references to zero or more configs that will be\nexposed to the service.\n", - "items": { - "type": "object", - "properties": { - "File": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name represents the final filename in the filesystem.\n" - }, - "UID": { - "type": "string", - "description": "UID represents the file UID." - }, - "GID": { - "type": "string", - "description": "GID represents the file GID." - }, - "Mode": { - "type": "integer", - "description": "Mode represents the FileMode of the file.", - "format": "uint32" - } - }, - "description": "File represents a specific target that is backed by a file.\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually exclusive\n" - }, - "Runtime": { - "type": "object", - "properties": {}, - "description": "Runtime represents a target that is not mounted into the\ncontainer but is used by the task\n\n


\n\n> **Note**: `Configs.File` and `Configs.Runtime` are mutually\n> exclusive\n" - }, - "ConfigID": { - "type": "string", - "description": "ConfigID represents the ID of the specific config that we're\nreferencing.\n" - }, - "ConfigName": { - "type": "string", - "description": "ConfigName is the name of the config that this references,\nbut this is just provided for lookup/display purposes. The\nconfig in the reference will be identified by its ID.\n" - } - } - } - }, - "Isolation": { - "type": "string", - "description": "Isolation technology of the containers running the service.\n(Windows only)\n", - "enum": [ - "default", - "process", - "hyperv" - ] - }, - "Init": { - "type": "boolean", - "description": "Run an init inside the container that forwards signals and reaps\nprocesses. This field is omitted if empty, and the default (as\nconfigured on the daemon) is used.\n", - "nullable": true - }, - "Sysctls": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Set kernel namedspaced parameters (sysctls) in the container.\nThe Sysctls option on services accepts the same sysctls as the\nare supported on containers. Note that while the same sysctls are\nsupported, no guarantees or checks are made about their\nsuitability for a clustered environment, and it's up to the user\nto determine whether a given sysctl will work properly in a\nService.\n" - }, - "CapabilityAdd": { - "type": "array", - "description": "A list of kernel capabilities to add to the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW", - "CAP_SYS_ADMIN", - "CAP_SYS_CHROOT", - "CAP_SYSLOG" - ], - "items": { - "type": "string" - } - }, - "CapabilityDrop": { - "type": "array", - "description": "A list of kernel capabilities to drop from the default set\nfor the container.\n", - "example": [ - "CAP_NET_RAW" - ], - "items": { - "type": "string" - } - }, - "Ulimits": { - "type": "array", - "description": "A list of resource limits to set in the container. For example: `{\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}`\"\n", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of ulimit" - }, - "Soft": { - "type": "integer", - "description": "Soft limit" - }, - "Hard": { - "type": "integer", - "description": "Hard limit" - } - } - } - } - }, - "description": "Container spec for the service.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "NetworkAttachmentSpec": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string", - "description": "ID of the container represented by this task" - } - }, - "description": "Read-only spec type for non-swarm containers attached to swarm overlay\nnetworks.\n\n


\n\n> **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are\n> mutually exclusive. PluginSpec is only used when the Runtime field\n> is set to `plugin`. NetworkAttachmentSpec is used when the Runtime\n> field is set to `attachment`.\n" - }, - "Resources": { - "type": "object", - "properties": { - "Limits": { - "$ref": "#/components/schemas/Limit" - }, - "Reservations": { - "$ref": "#/components/schemas/ResourceObject" - } - }, - "description": "Resource requirements which apply to each individual container created\nas part of the service.\n" - }, - "RestartPolicy": { - "type": "object", - "properties": { - "Condition": { - "type": "string", - "description": "Condition for restart.", - "enum": [ - "none", - "on-failure", - "any" - ] - }, - "Delay": { - "type": "integer", - "description": "Delay between restart attempts.", - "format": "int64" - }, - "MaxAttempts": { - "type": "integer", - "description": "Maximum attempts to restart a given container before giving up\n(default value is 0, which is ignored).\n", - "format": "int64", - "default": 0 - }, - "Window": { - "type": "integer", - "description": "Windows is the time window used to evaluate the restart policy\n(default value is 0, which is unbounded).\n", - "format": "int64", - "default": 0 - } - }, - "description": "Specification for the restart policy which applies to containers\ncreated as part of this service.\n" - }, - "Placement": { - "type": "object", - "properties": { - "Constraints": { - "type": "array", - "description": "An array of constraint expressions to limit the set of nodes where\na task can be scheduled. Constraint expressions can either use a\n_match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find\nnodes that satisfy every expression (AND match). Constraints can\nmatch node or Docker Engine labels as follows:\n\nnode attribute | matches | example\n---------------------|--------------------------------|-----------------------------------------------\n`node.id` | Node ID | `node.id==2ivku8v2gvtg4`\n`node.hostname` | Node hostname | `node.hostname!=node-2`\n`node.role` | Node role (`manager`/`worker`) | `node.role==manager`\n`node.platform.os` | Node operating system | `node.platform.os==windows`\n`node.platform.arch` | Node architecture | `node.platform.arch==x86_64`\n`node.labels` | User-defined node labels | `node.labels.security==high`\n`engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04`\n\n`engine.labels` apply to Docker Engine labels like operating system,\ndrivers, etc. Swarm administrators add `node.labels` for operational\npurposes by using the [`node update endpoint`](#operation/NodeUpdate).\n", - "example": [ - "node.hostname!=node3.corp.example.com", - "node.role!=manager", - "node.labels.type==production", - "node.platform.os==linux", - "node.platform.arch==x86_64" - ], - "items": { - "type": "string" - } - }, - "Preferences": { - "type": "array", - "description": "Preferences provide a way to make the scheduler aware of factors\nsuch as topology. They are provided in order from highest to\nlowest precedence.\n", - "example": [ - { - "Spread": { - "SpreadDescriptor": "node.labels.datacenter" - } - }, - { - "Spread": { - "SpreadDescriptor": "node.labels.rack" - } - } - ], - "items": { - "type": "object", - "properties": { - "Spread": { - "type": "object", - "properties": { - "SpreadDescriptor": { - "type": "string", - "description": "label descriptor, such as `engine.labels.az`.\n" - } - } - } - } - } - }, - "MaxReplicas": { - "type": "integer", - "description": "Maximum number of replicas for per node (default value is 0, which\nis unlimited)\n", - "format": "int64", - "default": 0 - }, - "Platforms": { - "type": "array", - "description": "Platforms stores all the platforms that the service's image can\nrun on. This field is used in the platform filter for scheduling.\nIf empty, then the platform filter is off, meaning there are no\nscheduling restrictions.\n", - "items": { - "$ref": "#/components/schemas/Platform" - } - } - } - }, - "ForceUpdate": { - "type": "integer", - "description": "A counter that triggers an update even if no relevant parameters have\nbeen changed.\n" - }, - "Runtime": { - "type": "string", - "description": "Runtime is the type of runtime specified for the task executor.\n" - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "LogDriver": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "description": "Specifies the log driver to use for tasks created from this spec. If\nnot present, the default one for the swarm will be used, finally\nfalling back to the engine default if not specified.\n" - } - }, - "description": "User modifiable task configuration." - }, - "TaskState": { - "type": "string", - "enum": [ - "new", - "allocated", - "pending", - "assigned", - "accepted", - "preparing", - "ready", - "starting", - "running", - "complete", - "shutdown", - "failed", - "rejected", - "remove", - "orphaned" - ] - }, - "ContainerStatus": { - "type": "object", - "properties": { - "ContainerID": { - "type": "string" - }, - "PID": { - "type": "integer" - }, - "ExitCode": { - "type": "integer" - } - }, - "description": "represents the status of a container." - }, - "PortStatus": { - "type": "object", - "properties": { - "Ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - } - }, - "description": "represents the port status of a task's host ports whose service has published host ports" - }, - "TaskStatus": { - "type": "object", - "properties": { - "Timestamp": { - "type": "string", - "format": "dateTime" - }, - "State": { - "$ref": "#/components/schemas/TaskState" - }, - "Message": { - "type": "string" - }, - "Err": { - "type": "string" - }, - "ContainerStatus": { - "$ref": "#/components/schemas/ContainerStatus" - }, - "PortStatus": { - "$ref": "#/components/schemas/PortStatus" - } - }, - "description": "represents the status of a task." - }, - "Task": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the task." - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Name": { - "type": "string", - "description": "Name of the task." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Spec": { - "$ref": "#/components/schemas/TaskSpec" - }, - "ServiceID": { - "type": "string", - "description": "The ID of the service this task is part of." - }, - "Slot": { - "type": "integer" - }, - "NodeID": { - "type": "string", - "description": "The ID of the node that this task is on." - }, - "AssignedGenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "Status": { - "$ref": "#/components/schemas/TaskStatus" - }, - "DesiredState": { - "$ref": "#/components/schemas/TaskState" - }, - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - } - }, - "example": { - "ID": "0kzzo1i0y4jz6027t0k7aezc7", - "Version": { - "Index": 71 - }, - "CreatedAt": "2016-06-07T21:07:31.171892745Z", - "UpdatedAt": "2016-06-07T21:07:31.376370513Z", - "Spec": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {} - }, - "ServiceID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Slot": 1, - "NodeID": "60gvrl6tm78dmak4yl7srz94v", - "Status": { - "Timestamp": "2016-06-07T21:07:31.290032978Z", - "State": "running", - "Message": "started", - "ContainerStatus": { - "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035", - "PID": 677 - } - }, - "DesiredState": "running", - "NetworksAttachments": [ - { - "Network": { - "ID": "4qvuz4ko70xaltuqbt8956gd1", - "Version": { - "Index": 18 - }, - "CreatedAt": "2016-06-07T20:31:11.912919752Z", - "UpdatedAt": "2016-06-07T21:07:29.955277358Z", - "Spec": { - "Name": "ingress", - "Labels": { - "com.docker.swarm.internal": "true" - }, - "DriverConfiguration": {}, - "IPAMOptions": { - "Driver": {}, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "DriverState": { - "Name": "overlay", - "Options": { - "com.docker.network.driver.overlay.vxlanid_list": "256" - } - }, - "IPAMOptions": { - "Driver": { - "Name": "default" - }, - "Configs": [ - { - "Subnet": "10.255.0.0/16", - "Gateway": "10.255.0.1" - } - ] - } - }, - "Addresses": [ - "10.255.0.10/16" - ] - } - ], - "AssignedGenericResources": [ - { - "DiscreteResourceSpec": { - "Kind": "SSD", - "Value": 3 - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID1" - } - }, - { - "NamedResourceSpec": { - "Kind": "GPU", - "Value": "UUID2" - } - } - ] - } - }, - "ServiceSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the service." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "TaskTemplate": { - "$ref": "#/components/schemas/TaskSpec" - }, - "Mode": { - "type": "object", - "properties": { - "Replicated": { - "type": "object", - "properties": { - "Replicas": { - "type": "integer", - "format": "int64" - } - } - }, - "Global": { - "type": "object", - "properties": {} - }, - "ReplicatedJob": { - "type": "object", - "properties": { - "MaxConcurrent": { - "type": "integer", - "description": "The maximum number of replicas to run simultaneously.\n", - "format": "int64", - "default": 1 - }, - "TotalCompletions": { - "type": "integer", - "description": "The total number of replicas desired to reach the Completed\nstate. If unset, will default to the value of `MaxConcurrent`\n", - "format": "int64" - } - }, - "description": "The mode used for services with a finite number of tasks that run\nto a completed state.\n" - }, - "GlobalJob": { - "type": "object", - "properties": {}, - "description": "The mode used for services which run a task to the completed state\non each valid node.\n" - } - }, - "description": "Scheduling mode for the service." - }, - "UpdateConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be updated in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between updates, in nanoseconds.", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an updated task fails to run, or stops running\nduring the update.\n", - "enum": [ - "continue", - "pause", - "rollback" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each updated task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during an update before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling out an updated task. Either\nthe old task is shut down before the new task is started, or the\nnew task is started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the update strategy of the service." - }, - "RollbackConfig": { - "type": "object", - "properties": { - "Parallelism": { - "type": "integer", - "description": "Maximum number of tasks to be rolled back in one iteration (0 means\nunlimited parallelism).\n", - "format": "int64" - }, - "Delay": { - "type": "integer", - "description": "Amount of time between rollback iterations, in nanoseconds.\n", - "format": "int64" - }, - "FailureAction": { - "type": "string", - "description": "Action to take if an rolled back task fails to run, or stops\nrunning during the rollback.\n", - "enum": [ - "continue", - "pause" - ] - }, - "Monitor": { - "type": "integer", - "description": "Amount of time to monitor each rolled back task for failures, in\nnanoseconds.\n", - "format": "int64" - }, - "MaxFailureRatio": { - "type": "number", - "description": "The fraction of tasks that may fail during a rollback before the\nfailure action is invoked, specified as a floating point number\nbetween 0 and 1.\n" - }, - "Order": { - "type": "string", - "description": "The order of operations when rolling back a task. Either the old\ntask is shut down before the new task is started, or the new task\nis started before the old task is shut down.\n", - "enum": [ - "stop-first", - "start-first" - ] - } - }, - "description": "Specification for the rollback strategy of the service." - }, - "Networks": { - "type": "array", - "description": "Specifies which networks the service should attach to.\n\nDeprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead.\n", - "items": { - "$ref": "#/components/schemas/NetworkAttachmentConfig" - } - }, - "EndpointSpec": { - "$ref": "#/components/schemas/EndpointSpec" - } - }, - "description": "User modifiable configuration for a service." - }, - "EndpointPortConfig": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "sctp" - ] - }, - "TargetPort": { - "type": "integer", - "description": "The port inside the container." - }, - "PublishedPort": { - "type": "integer", - "description": "The port on the swarm hosts." - }, - "PublishMode": { - "type": "string", - "description": "The mode in which port is published.\n\n


\n\n- \"ingress\" makes the target port accessible on every node,\n regardless of whether there is a task for the service running on\n that node or not.\n- \"host\" bypasses the routing mesh and publish the port directly on\n the swarm node where that service is running.\n", - "example": "ingress", - "default": "ingress", - "enum": [ - "ingress", - "host" - ] - } - } - }, - "EndpointSpec": { - "type": "object", - "properties": { - "Mode": { - "type": "string", - "description": "The mode of resolution to use for internal load balancing between tasks.\n", - "default": "vip", - "enum": [ - "vip", - "dnsrr" - ] - }, - "Ports": { - "type": "array", - "description": "List of exposed ports that this service is accessible on from the\noutside. Ports can only be provided if `vip` resolution mode is used.\n", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - } - }, - "description": "Properties that can be configured to access and load balance a service." - }, - "Service": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ServiceSpec" - }, - "Endpoint": { - "type": "object", - "properties": { - "Spec": { - "$ref": "#/components/schemas/EndpointSpec" - }, - "Ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EndpointPortConfig" - } - }, - "VirtualIPs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "NetworkID": { - "type": "string" - }, - "Addr": { - "type": "string" - } - } - } - } - } - }, - "UpdateStatus": { - "type": "object", - "properties": { - "State": { - "type": "string", - "enum": [ - "updating", - "paused", - "completed" - ] - }, - "StartedAt": { - "type": "string", - "format": "dateTime" - }, - "CompletedAt": { - "type": "string", - "format": "dateTime" - }, - "Message": { - "type": "string" - } - }, - "description": "The status of a service update." - }, - "ServiceStatus": { - "type": "object", - "properties": { - "RunningTasks": { - "type": "integer", - "description": "The number of tasks for the service currently in the Running state.\n", - "format": "uint64", - "example": 7 - }, - "DesiredTasks": { - "type": "integer", - "description": "The number of tasks for the service desired to be running.\nFor replicated services, this is the replica count from the\nservice spec. For global services, this is computed by taking\ncount of all tasks for the service with a Desired State other\nthan Shutdown.\n", - "format": "uint64", - "example": 10 - }, - "CompletedTasks": { - "type": "integer", - "description": "The number of tasks for a job that are in the Completed state.\nThis field must be cross-referenced with the service type, as the\nvalue of 0 may mean the service is not in a job mode, or it may\nmean the job-mode service has no tasks yet Completed.\n", - "format": "uint64" - } - }, - "description": "The status of the service's tasks. Provided only when requested as\npart of a ServiceList operation.\n" - }, - "JobStatus": { - "type": "object", - "properties": { - "JobIteration": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "LastExecution": { - "type": "string", - "description": "The last time, as observed by the server, that this job was\nstarted.\n", - "format": "dateTime" - } - }, - "description": "The status of the service when it is in one of ReplicatedJob or\nGlobalJob modes. Absent on Replicated and Global mode services. The\nJobIteration is an ObjectVersion, but unlike the Service's version,\ndoes not need to be sent with an update request.\n" - } - }, - "example": { - "ID": "9mnpnzenvg8p8tdbtq4wvbkcz", - "Version": { - "Index": 19 - }, - "CreatedAt": "2016-06-07T21:05:51.880065305Z", - "UpdatedAt": "2016-06-07T21:07:29.962229872Z", - "Spec": { - "Name": "hopeful_cori", - "TaskTemplate": { - "ContainerSpec": { - "Image": "redis" - }, - "Resources": { - "Limits": {}, - "Reservations": {} - }, - "RestartPolicy": { - "Condition": "any", - "MaxAttempts": 0 - }, - "Placement": {}, - "ForceUpdate": 0 - }, - "Mode": { - "Replicated": { - "Replicas": 1 - } - }, - "UpdateConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "RollbackConfig": { - "Parallelism": 1, - "Delay": 1000000000, - "FailureAction": "pause", - "Monitor": 15000000000, - "MaxFailureRatio": 0.15 - }, - "EndpointSpec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - } - }, - "Endpoint": { - "Spec": { - "Mode": "vip", - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ] - }, - "Ports": [ - { - "Protocol": "tcp", - "TargetPort": 6379, - "PublishedPort": 30001 - } - ], - "VirtualIPs": [ - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.2/16" - }, - { - "NetworkID": "4qvuz4ko70xaltuqbt8956gd1", - "Addr": "10.255.0.3/16" - } - ] - } - } - }, - "ImageDeleteResponseItem": { - "type": "object", - "properties": { - "Untagged": { - "type": "string", - "description": "The image ID of an image that was untagged" - }, - "Deleted": { - "type": "string", - "description": "The image ID of an image that was deleted" - } - }, - "x-go-name": "DeleteResponse" - }, - "ServiceCreateResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the created service.", - "nullable": false, - "example": "ak7w3gjqoa3kuz8xcpnyy0pvl" - }, - "Warnings": { - "type": "array", - "description": "Optional warning message.\n\nFIXME(thaJeztah): this should have \"omitempty\" in the generated type.\n", - "nullable": true, - "example": [ - "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - ], - "items": { - "type": "string" - } - } - }, - "description": "contains the information returned to a client on the\ncreation of a new service.\n" - }, - "ServiceUpdateResponse": { - "type": "object", - "properties": { - "Warnings": { - "type": "array", - "description": "Optional warning messages", - "items": { - "type": "string" - } - } - }, - "example": { - "Warnings": [ - "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" - ] - } - }, - "ContainerSummary": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of this container", - "x-go-name": "ID" - }, - "Names": { - "type": "array", - "description": "The names that this container has been given", - "items": { - "type": "string" - } - }, - "Image": { - "type": "string", - "description": "The name of the image used when creating this container" - }, - "ImageID": { - "type": "string", - "description": "The ID of the image that this container was created from" - }, - "Command": { - "type": "string", - "description": "Command to run when starting the container" - }, - "Created": { - "type": "integer", - "description": "When the container was created", - "format": "int64" - }, - "Ports": { - "type": "array", - "description": "The ports exposed by this container", - "items": { - "$ref": "#/components/schemas/Port" - } - }, - "SizeRw": { - "type": "integer", - "description": "The size of files that have been created or changed by this container", - "format": "int64" - }, - "SizeRootFs": { - "type": "integer", - "description": "The total size of all the files in this container", - "format": "int64" - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "State": { - "type": "string", - "description": "The state of this container (e.g. `Exited`)" - }, - "Status": { - "type": "string", - "description": "Additional human-readable status of this container (e.g. `Exit 0`)" - }, - "HostConfig": { - "type": "object", - "properties": { - "NetworkMode": { - "type": "string" - } - } - }, - "NetworkSettings": { - "type": "object", - "properties": { - "Networks": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/EndpointSettings" - } - } - }, - "description": "A summary of the container's network settings" - }, - "Mounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MountPoint" - } - } - } - }, - "Driver": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the driver.", - "nullable": false, - "example": "some-driver" - }, - "Options": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Key/value map of driver-specific options.", - "nullable": false, - "example": { - "OptionA": "value for driver-specific option A", - "OptionB": "value for driver-specific option B" - } - } - }, - "description": "Driver represents a driver (network, logging, secrets)." - }, - "SecretSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the secret." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata.", - "example": { - "com.example.some-label": "some-value", - "com.example.some-other-label": "some-other-value" - } - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\ndata to store as secret.\n\nThis field is only used to _create_ a secret, and is not returned by\nother endpoints.\n", - "example": "" - }, - "Driver": { - "$ref": "#/components/schemas/Driver" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Secret": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "example": "blt1owaxmitz71s9v5zh81zun" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime", - "example": "2017-07-20T13:55:28.678958722Z" - }, - "Spec": { - "$ref": "#/components/schemas/SecretSpec" - } - } - }, - "ConfigSpec": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "User-defined name of the config." - }, - "Labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined key/value metadata." - }, - "Data": { - "type": "string", - "description": "Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))\nconfig data.\n" - }, - "Templating": { - "$ref": "#/components/schemas/Driver" - } - } - }, - "Config": { - "type": "object", - "properties": { - "ID": { - "type": "string" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ConfigSpec" - } - } - }, - "ContainerState": { - "type": "object", - "properties": { - "Status": { - "type": "string", - "description": "String representation of the container state. Can be one of \"created\",\n\"running\", \"paused\", \"restarting\", \"removing\", \"exited\", or \"dead\".\n", - "example": "running", - "enum": [ - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - }, - "Running": { - "type": "boolean", - "description": "Whether this container is running.\n\nNote that a running container can be _paused_. The `Running` and `Paused`\nbooleans are not mutually exclusive:\n\nWhen pausing a container (on Linux), the freezer cgroup is used to suspend\nall processes in the container. Freezing the process requires the process to\nbe running. As a result, paused containers are both `Running` _and_ `Paused`.\n\nUse the `Status` field instead to determine if a container's state is \"running\".\n", - "example": true - }, - "Paused": { - "type": "boolean", - "description": "Whether this container is paused.", - "example": false - }, - "Restarting": { - "type": "boolean", - "description": "Whether this container is restarting.", - "example": false - }, - "OOMKilled": { - "type": "boolean", - "description": "Whether a process within this container has been killed because it ran\nout of memory since the container was last started.\n", - "example": false - }, - "Dead": { - "type": "boolean", - "example": false - }, - "Pid": { - "type": "integer", - "description": "The process ID of this container", - "example": 1234 - }, - "ExitCode": { - "type": "integer", - "description": "The last exit code of this container", - "example": 0 - }, - "Error": { - "type": "string" - }, - "StartedAt": { - "type": "string", - "description": "The time when this container was last started.", - "example": "2020-01-06T09:06:59.461876391Z" - }, - "FinishedAt": { - "type": "string", - "description": "The time when this container last exited.", - "example": "2020-01-06T09:07:59.461876391Z" - }, - "Health": { - "$ref": "#/components/schemas/Health" - } - }, - "description": "ContainerState stores container's running state. It's part of ContainerJSONBase\nand will be returned by the \"inspect\" command.\n", - "nullable": true, - "x-nullable": true - }, - "ContainerCreateResponse": { - "title": "ContainerCreateResponse", - "required": [ - "Id", - "Warnings" - ], - "type": "object", - "properties": { - "Id": { - "type": "string", - "description": "The ID of the created container", - "nullable": false, - "example": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" - }, - "Warnings": { - "type": "array", - "description": "Warnings encountered when creating the container", - "nullable": false, - "example": [], - "items": { - "type": "string" - } - } - }, - "description": "OK response to ContainerCreate operation", - "x-go-name": "CreateResponse" - }, - "ContainerWaitResponse": { - "title": "ContainerWaitResponse", - "required": [ - "StatusCode" - ], - "type": "object", - "properties": { - "StatusCode": { - "type": "integer", - "description": "Exit code of the container", - "format": "int64", - "nullable": false - }, - "Error": { - "$ref": "#/components/schemas/ContainerWaitExitError" - } - }, - "description": "OK response to ContainerWait operation", - "x-go-name": "WaitResponse" - }, - "ContainerWaitExitError": { - "type": "object", - "properties": { - "Message": { - "type": "string", - "description": "Details of an error" - } - }, - "description": "container waiting error, if any", - "x-go-name": "WaitExitError" - }, - "SystemVersion": { - "type": "object", - "properties": { - "Platform": { - "required": [ - "Name" - ], - "type": "object", - "properties": { - "Name": { - "type": "string" - } - } - }, - "Components": { - "type": "array", - "description": "Information about system components\n", - "items": { - "required": [ - "Name", - "Version" - ], - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the component\n", - "example": "Engine" - }, - "Version": { - "type": "string", - "description": "Version of the component\n", - "nullable": false, - "example": "19.03.12" - }, - "Details": { - "type": "object", - "properties": {}, - "description": "Key/value pairs of strings with additional information about the\ncomponent. These values are intended for informational purposes\nonly, and their content is not defined, and not part of the API\nspecification.\n\nThese messages can be printed by the client as information to the user.\n", - "nullable": true - } - }, - "x-go-name": "ComponentVersion" - } - }, - "Version": { - "type": "string", - "description": "The version of the daemon", - "example": "19.03.12" - }, - "ApiVersion": { - "type": "string", - "description": "The default (and highest) API version that is supported by the daemon\n", - "example": "1.40" - }, - "MinAPIVersion": { - "type": "string", - "description": "The minimum API version that is supported by the daemon\n", - "example": "1.12" - }, - "GitCommit": { - "type": "string", - "description": "The Git commit of the source code that was used to build the daemon\n", - "example": "48a66213fe" - }, - "GoVersion": { - "type": "string", - "description": "The version Go used to compile the daemon, and the version of the Go\nruntime in use.\n", - "example": "go1.13.14" - }, - "Os": { - "type": "string", - "description": "The operating system that the daemon is running on (\"linux\" or \"windows\")\n", - "example": "linux" - }, - "Arch": { - "type": "string", - "description": "The architecture that the daemon is running on\n", - "example": "amd64" - }, - "KernelVersion": { - "type": "string", - "description": "The kernel version (`uname -r`) that the daemon is running on.\n\nThis field is omitted when empty.\n", - "example": "4.19.76-linuxkit" - }, - "Experimental": { - "type": "boolean", - "description": "Indicates if the daemon is started with experimental features enabled.\n\nThis field is omitted when empty / false.\n", - "example": true - }, - "BuildTime": { - "type": "string", - "description": "The date and time that the daemon was compiled.\n", - "example": "2020-06-22T15:49:27.000000000+00:00" - } - }, - "description": "Response of Engine API: GET \"/version\"\n" - }, - "SystemInfo": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Unique identifier of the daemon.\n\n


\n\n> **Note**: The format of the ID itself is not part of the API, and\n> should not be considered stable.\n", - "example": "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS" - }, - "Containers": { - "type": "integer", - "description": "Total number of containers on the host.", - "example": 14 - }, - "ContainersRunning": { - "type": "integer", - "description": "Number of containers with status `\"running\"`.\n", - "example": 3 - }, - "ContainersPaused": { - "type": "integer", - "description": "Number of containers with status `\"paused\"`.\n", - "example": 1 - }, - "ContainersStopped": { - "type": "integer", - "description": "Number of containers with status `\"stopped\"`.\n", - "example": 10 - }, - "Images": { - "type": "integer", - "description": "Total number of images on the host.\n\nBoth _tagged_ and _untagged_ (dangling) images are counted.\n", - "example": 508 - }, - "Driver": { - "type": "string", - "description": "Name of the storage driver in use.", - "example": "overlay2" - }, - "DriverStatus": { - "type": "array", - "description": "Information specific to the storage driver, provided as\n\"label\" / \"value\" pairs.\n\nThis information is provided by the storage driver, and formatted\nin a way consistent with the output of `docker info` on the command\nline.\n\n


\n\n> **Note**: The information returned in this field, including the\n> formatting of values and labels, should not be considered stable,\n> and may change without notice.\n", - "example": [ - [ - "Backing Filesystem", - "extfs" - ], - [ - "Supports d_type", - "true" - ], - [ - "Native Overlay Diff", - "true" - ] - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "DockerRootDir": { - "type": "string", - "description": "Root directory of persistent Docker state.\n\nDefaults to `/var/lib/docker` on Linux, and `C:\\ProgramData\\docker`\non Windows.\n", - "example": "/var/lib/docker" - }, - "Plugins": { - "$ref": "#/components/schemas/PluginsInfo" - }, - "MemoryLimit": { - "type": "boolean", - "description": "Indicates if the host has memory limit support enabled.", - "example": true - }, - "SwapLimit": { - "type": "boolean", - "description": "Indicates if the host has memory swap limit support enabled.", - "example": true - }, - "KernelMemoryTCP": { - "type": "boolean", - "description": "Indicates if the host has kernel memory TCP limit support enabled. This\nfield is omitted if not supported.\n\nKernel memory TCP limits are not supported when using cgroups v2, which\ndoes not support the corresponding `memory.kmem.tcp.limit_in_bytes` cgroup.\n", - "example": true - }, - "CpuCfsPeriod": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by\nthe host.\n", - "example": true - }, - "CpuCfsQuota": { - "type": "boolean", - "description": "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by\nthe host.\n", - "example": true - }, - "CPUShares": { - "type": "boolean", - "description": "Indicates if CPU Shares limiting is supported by the host.\n", - "example": true - }, - "CPUSet": { - "type": "boolean", - "description": "Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.\n\nSee [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)\n", - "example": true - }, - "PidsLimit": { - "type": "boolean", - "description": "Indicates if the host kernel has PID limit support enabled.", - "example": true - }, - "OomKillDisable": { - "type": "boolean", - "description": "Indicates if OOM killer disable is supported on the host." - }, - "IPv4Forwarding": { - "type": "boolean", - "description": "Indicates IPv4 forwarding is enabled.", - "example": true - }, - "BridgeNfIptables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-iptables` is available on the host.", - "example": true - }, - "BridgeNfIp6tables": { - "type": "boolean", - "description": "Indicates if `bridge-nf-call-ip6tables` is available on the host.", - "example": true - }, - "Debug": { - "type": "boolean", - "description": "Indicates if the daemon is running in debug-mode / with debug-level\nlogging enabled.\n", - "example": true - }, - "NFd": { - "type": "integer", - "description": "The total number of file Descriptors in use by the daemon process.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 64 - }, - "NGoroutines": { - "type": "integer", - "description": "The number of goroutines that currently exist.\n\nThis information is only returned if debug-mode is enabled.\n", - "example": 174 - }, - "SystemTime": { - "type": "string", - "description": "Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat with nano-seconds.\n", - "example": "2017-08-08T20:28:29.06202363Z" - }, - "LoggingDriver": { - "type": "string", - "description": "The logging driver to use as a default for new containers.\n" - }, - "CgroupDriver": { - "type": "string", - "description": "The driver to use for managing cgroups.\n", - "example": "cgroupfs", - "default": "cgroupfs", - "enum": [ - "cgroupfs", - "systemd", - "none" - ] - }, - "CgroupVersion": { - "type": "string", - "description": "The version of the cgroup.\n", - "example": "1", - "default": "1", - "enum": [ - "1", - "2" - ] - }, - "NEventsListener": { - "type": "integer", - "description": "Number of event listeners subscribed.", - "example": 30 - }, - "KernelVersion": { - "type": "string", - "description": "Kernel version of the host.\n\nOn Linux, this information obtained from `uname`. On Windows this\ninformation is queried from the HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\\nregistry value, for example _\"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)\"_.\n", - "example": "4.9.38-moby" - }, - "OperatingSystem": { - "type": "string", - "description": "Name of the host's operating system, for example: \"Ubuntu 16.04.2 LTS\"\nor \"Windows Server 2016 Datacenter\"\n", - "example": "Alpine Linux v3.5" - }, - "OSVersion": { - "type": "string", - "description": "Version of the host's operating system\n\n


\n\n> **Note**: The information returned in this field, including its\n> very existence, and the formatting of values, should not be considered\n> stable, and may change without notice.\n", - "example": "16.04" - }, - "OSType": { - "type": "string", - "description": "Generic type of the operating system of the host, as returned by the\nGo runtime (`GOOS`).\n\nCurrently returned values are \"linux\" and \"windows\". A full list of\npossible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment).\n", - "example": "linux" - }, - "Architecture": { - "type": "string", - "description": "Hardware architecture of the host, as returned by the Go runtime\n(`GOARCH`).\n\nA full list of possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment).\n", - "example": "x86_64" - }, - "NCPU": { - "type": "integer", - "description": "The number of logical CPUs usable by the daemon.\n\nThe number of available CPUs is checked by querying the operating\nsystem when the daemon starts. Changes to operating system CPU\nallocation after the daemon is started are not reflected.\n", - "example": 4 - }, - "MemTotal": { - "type": "integer", - "description": "Total amount of physical memory available on the host, in bytes.\n", - "format": "int64", - "example": 2095882240 - }, - "IndexServerAddress": { - "type": "string", - "description": "Address / URL of the index server that is used for image search,\nand as a default for user authentication for Docker Hub and Docker Cloud.\n", - "example": "https://index.docker.io/v1/", - "default": "https://index.docker.io/v1/" - }, - "RegistryConfig": { - "$ref": "#/components/schemas/RegistryServiceConfig" - }, - "GenericResources": { - "$ref": "#/components/schemas/GenericResources" - }, - "HttpProxy": { - "type": "string", - "description": "HTTP-proxy configured for the daemon. This value is obtained from the\n[`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "http://xxxxx:xxxxx@proxy.corp.example.com:8080" - }, - "HttpsProxy": { - "type": "string", - "description": "HTTPS-proxy configured for the daemon. This value is obtained from the\n[`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.\nCredentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL\nare masked in the API response.\n\nContainers do not automatically inherit this configuration.\n", - "example": "https://xxxxx:xxxxx@proxy.corp.example.com:4443" - }, - "NoProxy": { - "type": "string", - "description": "Comma-separated list of domain extensions for which no proxy should be\nused. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)\nenvironment variable.\n\nContainers do not automatically inherit this configuration.\n", - "example": "*.local, 169.254/16" - }, - "Name": { - "type": "string", - "description": "Hostname of the host.", - "example": "node5.corp.example.com" - }, - "Labels": { - "type": "array", - "description": "User-defined labels (key/value metadata) as set on the daemon.\n\n


\n\n> **Note**: When part of a Swarm, nodes can both have _daemon_ labels,\n> set through the daemon configuration, and _node_ labels, set from a\n> manager node in the Swarm. Node labels are not included in this\n> field. Node labels can be retrieved using the `/nodes/(id)` endpoint\n> on a manager node in the Swarm.\n", - "example": [ - "storage=ssd", - "production" - ], - "items": { - "type": "string" - } - }, - "ExperimentalBuild": { - "type": "boolean", - "description": "Indicates if experimental features are enabled on the daemon.\n", - "example": true - }, - "ServerVersion": { - "type": "string", - "description": "Version string of the daemon.\n", - "example": "24.0.2" - }, - "Runtimes": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Runtime" - }, - "description": "List of [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntimes configured on the daemon. Keys hold the \"name\" used to\nreference the runtime.\n\nThe Docker daemon relies on an OCI compliant runtime (invoked via the\n`containerd` daemon) as its interface to the Linux kernel namespaces,\ncgroups, and SELinux.\n\nThe default runtime is `runc`, and automatically configured. Additional\nruntimes can be configured by the user and will be listed here.\n", - "example": { - "runc": { - "path": "runc" - }, - "runc-master": { - "path": "/go/bin/runc" - }, - "custom": { - "path": "/usr/local/bin/my-oci-runtime", - "runtimeArgs": [ - "--debug", - "--systemd-cgroup=false" - ] - } - } - }, - "DefaultRuntime": { - "type": "string", - "description": "Name of the default OCI runtime that is used when starting containers.\n\nThe default can be overridden per-container at create time.\n", - "example": "runc", - "default": "runc" - }, - "Swarm": { - "$ref": "#/components/schemas/SwarmInfo" - }, - "LiveRestoreEnabled": { - "type": "boolean", - "description": "Indicates if live restore is enabled.\n\nIf enabled, containers are kept running when the daemon is shutdown\nor upon daemon start if running containers are detected.\n", - "example": false, - "default": false - }, - "Isolation": { - "type": "string", - "description": "Represents the isolation technology to use as a default for containers.\nThe supported values are platform-specific.\n\nIf no isolation value is specified on daemon start, on Windows client,\nthe default is `hyperv`, and on Windows server, the default is `process`.\n\nThis option is currently not used on other platforms.\n", - "default": "default", - "enum": [ - "default", - "hyperv", - "process" - ] - }, - "InitBinary": { - "type": "string", - "description": "Name and, optional, path of the `docker-init` binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "docker-init" - }, - "ContainerdCommit": { - "$ref": "#/components/schemas/Commit" - }, - "RuncCommit": { - "$ref": "#/components/schemas/Commit" - }, - "InitCommit": { - "$ref": "#/components/schemas/Commit" - }, - "SecurityOptions": { - "type": "array", - "description": "List of security features that are enabled on the daemon, such as\napparmor, seccomp, SELinux, user-namespaces (userns), rootless and\nno-new-privileges.\n\nAdditional configuration options for each security feature may\nbe present, and are included as a comma-separated list of key/value\npairs.\n", - "example": [ - "name=apparmor", - "name=seccomp,profile=default", - "name=selinux", - "name=userns", - "name=rootless" - ], - "items": { - "type": "string" - } - }, - "ProductLicense": { - "type": "string", - "description": "Reports a summary of the product license on the daemon.\n\nIf a commercial license has been applied to the daemon, information\nsuch as number of nodes, and expiration are included.\n", - "example": "Community Engine" - }, - "DefaultAddressPools": { - "type": "array", - "description": "List of custom default address pools for local networks, which can be\nspecified in the daemon.json file or dockerd option.\n\nExample: a Base \"10.10.0.0/16\" with Size 24 will define the set of 256\n10.10.[0-255].0/24 address pools.\n", - "items": { - "type": "object", - "properties": { - "Base": { - "type": "string", - "description": "The network address in CIDR format", - "example": "10.10.0.0/16" - }, - "Size": { - "type": "integer", - "description": "The network pool size", - "example": 24 - } - } - } - }, - "Warnings": { - "type": "array", - "description": "List of warnings / informational messages about missing features, or\nissues related to the daemon configuration.\n\nThese messages can be printed by the client as information to the user.\n", - "example": [ - "WARNING: No memory limit support", - "WARNING: bridge-nf-call-iptables is disabled", - "WARNING: bridge-nf-call-ip6tables is disabled" - ], - "items": { - "type": "string" - } - }, - "CDISpecDirs": { - "type": "array", - "description": "List of directories where (Container Device Interface) CDI\nspecifications are located.\n\nThese specifications define vendor-specific modifications to an OCI\nruntime specification for a container being created.\n\nAn empty list indicates that CDI device injection is disabled.\n\nNote that since using CDI device injection requires the daemon to have\nexperimental enabled. For non-experimental daemons an empty list will\nalways be returned.\n", - "example": [ - "/etc/cdi", - "/var/run/cdi" - ], - "items": { - "type": "string" - } - } - } - }, - "PluginsInfo": { - "type": "object", - "properties": { - "Volume": { - "type": "array", - "description": "Names of available volume-drivers, and network-driver plugins.", - "example": [ - "local" - ], - "items": { - "type": "string" - } - }, - "Network": { - "type": "array", - "description": "Names of available network-drivers, and network-driver plugins.", - "example": [ - "bridge", - "host", - "ipvlan", - "macvlan", - "null", - "overlay" - ], - "items": { - "type": "string" - } - }, - "Authorization": { - "type": "array", - "description": "Names of available authorization plugins.", - "example": [ - "img-authz-plugin", - "hbm" - ], - "items": { - "type": "string" - } - }, - "Log": { - "type": "array", - "description": "Names of available logging-drivers, and logging-driver plugins.", - "example": [ - "awslogs", - "fluentd", - "gcplogs", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "items": { - "type": "string" - } - } - }, - "description": "Available plugins per type.\n\n


\n\n> **Note**: Only unmanaged (V1) plugins are included in this list.\n> V1 plugins are \"lazily\" loaded, and are not returned in this list\n> if there is no resource using the plugin.\n" - }, - "RegistryServiceConfig": { - "type": "object", - "properties": { - "AllowNondistributableArtifactsCIDRs": { - "type": "array", - "description": "List of IP ranges to which nondistributable artifacts can be pushed,\nusing the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632).\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior, and enables the daemon to\npush nondistributable artifacts to all registries whose resolved IP\naddress is within the subnet described by the CIDR syntax.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "AllowNondistributableArtifactsHostnames": { - "type": "array", - "description": "List of registry hostnames to which nondistributable artifacts can be\npushed, using the format `[:]` or `[:]`.\n\nSome images (for example, Windows base images) contain artifacts\nwhose distribution is restricted by license. When these images are\npushed to a registry, restricted artifacts are not included.\n\nThis configuration override this behavior for the specified\nregistries.\n\nThis option is useful when pushing images containing\nnondistributable artifacts to a registry on an air-gapped network so\nhosts on that network can pull the images without connecting to\nanother server.\n\n> **Warning**: Nondistributable artifacts typically have restrictions\n> on how and where they can be distributed and shared. Only use this\n> feature to push artifacts to private registries and ensure that you\n> are in compliance with any terms that cover redistributing\n> nondistributable artifacts.\n", - "example": [ - "registry.internal.corp.example.com:3000", - "[2001:db8:a0b:12f0::1]:443" - ], - "items": { - "type": "string" - } - }, - "InsecureRegistryCIDRs": { - "type": "array", - "description": "List of IP ranges of insecure registries, using the CIDR syntax\n([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries\naccept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates\nfrom unknown CAs) communication.\n\nBy default, local registries (`127.0.0.0/8`) are configured as\ninsecure. All other registries are secure. Communicating with an\ninsecure registry is not possible if the daemon assumes that registry\nis secure.\n\nThis configuration override this behavior, insecure communication with\nregistries whose resolved IP address is within the subnet described by\nthe CIDR syntax.\n\nRegistries can also be marked insecure by hostname. Those registries\nare listed under `IndexConfigs` and have their `Secure` field set to\n`false`.\n\n> **Warning**: Using this option can be useful when running a local\n> registry, but introduces security vulnerabilities. This option\n> should therefore ONLY be used for testing purposes. For increased\n> security, users should add their CA to their system's list of trusted\n> CAs instead of enabling this option.\n", - "example": [ - "::1/128", - "127.0.0.0/8" - ], - "items": { - "type": "string" - } - }, - "IndexConfigs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/IndexInfo" - }, - "example": { - "127.0.0.1:5000": { - "Name": "127.0.0.1:5000", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "[2001:db8:a0b:12f0::1]:80": { - "Name": "[2001:db8:a0b:12f0::1]:80", - "Mirrors": [], - "Secure": false, - "Official": false - }, - "docker.io": { - "Name": "docker.io", - "Mirrors": [ - "https://hub-mirror.corp.example.com:5000/" - ], - "Secure": true, - "Official": true - }, - "registry.internal.corp.example.com:3000": { - "Name": "registry.internal.corp.example.com:3000", - "Mirrors": [], - "Secure": false, - "Official": false - } - } - }, - "Mirrors": { - "type": "array", - "description": "List of registry URLs that act as a mirror for the official\n(`docker.io`) registry.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://[2001:db8:a0b:12f0::1]/" - ], - "items": { - "type": "string" - } - } - }, - "description": "RegistryServiceConfig stores daemon registry services configuration.\n", - "nullable": true, - "x-nullable": true - }, - "IndexInfo": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "Name of the registry, such as \"docker.io\".\n", - "example": "docker.io" - }, - "Mirrors": { - "type": "array", - "description": "List of mirrors, expressed as URIs.\n", - "example": [ - "https://hub-mirror.corp.example.com:5000/", - "https://registry-2.docker.io/", - "https://registry-3.docker.io/" - ], - "items": { - "type": "string" - } - }, - "Secure": { - "type": "boolean", - "description": "Indicates if the registry is part of the list of insecure\nregistries.\n\nIf `false`, the registry is insecure. Insecure registries accept\nun-encrypted (HTTP) and/or untrusted (HTTPS with certificates from\nunknown CAs) communication.\n\n> **Warning**: Insecure registries can be useful when running a local\n> registry. However, because its use creates security vulnerabilities\n> it should ONLY be enabled for testing purposes. For increased\n> security, users should add their CA to their system's list of\n> trusted CAs instead of enabling this option.\n", - "example": true - }, - "Official": { - "type": "boolean", - "description": "Indicates whether this is an official registry (i.e., Docker Hub / docker.io)\n", - "example": true - } - }, - "description": "IndexInfo contains information about a registry.", - "nullable": true, - "x-nullable": true - }, - "Runtime": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Name and, optional, path, of the OCI executable binary.\n\nIf the path is omitted, the daemon searches the host's `$PATH` for the\nbinary and uses the first result.\n", - "example": "/usr/local/bin/my-oci-runtime" - }, - "runtimeArgs": { - "type": "array", - "description": "List of command-line arguments to pass to the runtime when invoked.\n", - "nullable": true, - "example": [ - "--debug", - "--systemd-cgroup=false" - ], - "items": { - "type": "string" - } - }, - "status": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Information specific to the runtime.\n\nWhile this API specification does not define data provided by runtimes,\nthe following well-known properties may be provided by runtimes:\n\n`org.opencontainers.runtime-spec.features`: features structure as defined\nin the [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/main/features.md),\nin a JSON string representation.\n\n


\n\n> **Note**: The information returned in this field, including the\n> formatting of values and labels, should not be considered stable,\n> and may change without notice.\n", - "nullable": true, - "example": { - "org.opencontainers.runtime-spec.features": "{\"ociVersionMin\":\"1.0.0\",\"ociVersionMax\":\"1.1.0\",\"...\":\"...\"}" - } - } - }, - "description": "Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec)\nruntime.\n\nThe runtime is invoked by the daemon via the `containerd` daemon. OCI\nruntimes act as an interface to the Linux kernel namespaces, cgroups,\nand SELinux.\n" - }, - "Commit": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "Actual commit ID of external tool.", - "example": "cfb82a876ecc11b5ca0977d1733adbe58599088a" - }, - "Expected": { - "type": "string", - "description": "Commit ID of external tool expected by dockerd as set at build time.\n", - "example": "2d41c047c83e09a6d61d464906feb2a2f3c52aa4" - } - }, - "description": "Commit holds the Git-commit (SHA1) that a binary was built from, as\nreported in the version-string of external tools, such as `containerd`,\nor `runC`.\n" - }, - "SwarmInfo": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm.", - "example": "k67qz4598weg5unwwffg6z1m1", - "default": "" - }, - "NodeAddr": { - "type": "string", - "description": "IP address at which this node can be reached by other nodes in the\nswarm.\n", - "example": "10.0.0.46", - "default": "" - }, - "LocalNodeState": { - "$ref": "#/components/schemas/LocalNodeState" - }, - "ControlAvailable": { - "type": "boolean", - "example": true, - "default": false - }, - "Error": { - "type": "string", - "default": "" - }, - "RemoteManagers": { - "type": "array", - "description": "List of ID's and addresses of other managers in the swarm.\n", - "nullable": true, - "example": [ - { - "NodeID": "71izy0goik036k48jg985xnds", - "Addr": "10.0.0.158:2377" - }, - { - "NodeID": "79y6h1o4gv8n120drcprv5nmc", - "Addr": "10.0.0.159:2377" - }, - { - "NodeID": "k67qz4598weg5unwwffg6z1m1", - "Addr": "10.0.0.46:2377" - } - ], - "items": { - "$ref": "#/components/schemas/PeerNode" - } - }, - "Nodes": { - "type": "integer", - "description": "Total number of nodes in the swarm.", - "nullable": true, - "example": 4 - }, - "Managers": { - "type": "integer", - "description": "Total number of managers in the swarm.", - "nullable": true, - "example": 3 - }, - "Cluster": { - "$ref": "#/components/schemas/ClusterInfo" - } - }, - "description": "Represents generic information about swarm.\n" - }, - "LocalNodeState": { - "type": "string", - "description": "Current local status of this node.", - "example": "active", - "default": "", - "enum": [ - "", - "inactive", - "pending", - "active", - "error", - "locked" - ] - }, - "PeerNode": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "Unique identifier of for this node in the swarm." - }, - "Addr": { - "type": "string", - "description": "IP address and ports at which this node can be reached.\n" - } - }, - "description": "Represents a peer-node in the swarm" - }, - "NetworkAttachmentConfig": { - "type": "object", - "properties": { - "Target": { - "type": "string", - "description": "The target network for attachment. Must be a network name or ID.\n" - }, - "Aliases": { - "type": "array", - "description": "Discoverable alternate names for the service on this network.\n", - "items": { - "type": "string" - } - }, - "DriverOpts": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Driver attachment options for the network target.\n" - } - }, - "description": "Specifies how a service should be attached to a particular network.\n" - }, - "EventActor": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The ID of the object emitting the event", - "example": "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" - }, - "Attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Various key/value attributes of the object, depending on its type.\n", - "example": { - "com.example.some-label": "some-label-value", - "image": "alpine:latest", - "name": "my-container" - } - } - }, - "description": "Actor describes something that generates events, like a container, network,\nor a volume.\n" - }, - "EventMessage": { - "title": "SystemEventsResponse", - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The type of object emitting the event", - "example": "container", - "enum": [ - "builder", - "config", - "container", - "daemon", - "image", - "network", - "node", - "plugin", - "secret", - "service", - "volume" - ] - }, - "Action": { - "type": "string", - "description": "The type of event", - "example": "create" - }, - "Actor": { - "$ref": "#/components/schemas/EventActor" - }, - "scope": { - "type": "string", - "description": "Scope of the event. Engine events are `local` scope. Cluster (Swarm)\nevents are `swarm` scope.\n", - "enum": [ - "local", - "swarm" - ] - }, - "time": { - "type": "integer", - "description": "Timestamp of event", - "format": "int64", - "example": 1629574695 - }, - "timeNano": { - "type": "integer", - "description": "Timestamp of event, with nanosecond accuracy", - "format": "int64", - "example": 1629574695515050000 - } - }, - "description": "EventMessage represents the information an event contains.\n" - }, - "OCIDescriptor": { - "type": "object", - "properties": { - "mediaType": { - "type": "string", - "description": "The media type of the object this schema refers to.\n", - "example": "application/vnd.docker.distribution.manifest.v2+json" - }, - "digest": { - "type": "string", - "description": "The digest of the targeted content.\n", - "example": "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96" - }, - "size": { - "type": "integer", - "description": "The size in bytes of the blob.\n", - "format": "int64", - "example": 3987495 - } - }, - "description": "A descriptor struct containing digest, media type, and size, as defined in\nthe [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).\n", - "x-go-name": "Descriptor" - }, - "OCIPlatform": { - "type": "object", - "properties": { - "architecture": { - "type": "string", - "description": "The CPU architecture, for example `amd64` or `ppc64`.\n", - "example": "arm" - }, - "os": { - "type": "string", - "description": "The operating system, for example `linux` or `windows`.\n", - "example": "windows" - }, - "os.version": { - "type": "string", - "description": "Optional field specifying the operating system version, for example on\nWindows `10.0.19041.1165`.\n", - "example": "10.0.19041.1165" - }, - "os.features": { - "type": "array", - "description": "Optional field specifying an array of strings, each listing a required\nOS feature (for example on Windows `win32k`).\n", - "example": [ - "win32k" - ], - "items": { - "type": "string" - } - }, - "variant": { - "type": "string", - "description": "Optional field specifying a variant of the CPU, for example `v7` to\nspecify ARMv7 when architecture is `arm`.\n", - "example": "v7" - } - }, - "description": "Describes the platform which the image in the manifest runs on, as defined\nin the [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).\n", - "x-go-name": "Platform" - }, - "DistributionInspect": { - "title": "DistributionInspectResponse", - "required": [ - "Descriptor", - "Platforms" - ], - "type": "object", - "properties": { - "Descriptor": { - "$ref": "#/components/schemas/OCIDescriptor" - }, - "Platforms": { - "type": "array", - "description": "An array containing all platforms supported by the image.\n", - "items": { - "$ref": "#/components/schemas/OCIPlatform" - } - } - }, - "description": "Describes the result obtained from contacting the registry to retrieve\nimage metadata.\n", - "x-go-name": "DistributionInspect" - }, - "ClusterVolume": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "The Swarm ID of this volume. Because cluster volumes are Swarm\nobjects, they have an ID, unlike non-cluster volumes. This ID can\nbe used to refer to the Volume instead of the name.\n" - }, - "Version": { - "$ref": "#/components/schemas/ObjectVersion" - }, - "CreatedAt": { - "type": "string", - "format": "dateTime" - }, - "UpdatedAt": { - "type": "string", - "format": "dateTime" - }, - "Spec": { - "$ref": "#/components/schemas/ClusterVolumeSpec" - }, - "Info": { - "type": "object", - "properties": { - "CapacityBytes": { - "type": "integer", - "description": "The capacity of the volume in bytes. A value of 0 indicates that\nthe capacity is unknown.\n", - "format": "int64" - }, - "VolumeContext": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of strings to strings returned from the storage plugin when\nthe volume is created.\n" - }, - "VolumeID": { - "type": "string", - "description": "The ID of the volume as returned by the CSI storage plugin. This\nis distinct from the volume's ID as provided by Docker. This ID\nis never used by the user when communicating with Docker to refer\nto this volume. If the ID is blank, then the Volume has not been\nsuccessfully created in the plugin yet.\n" - }, - "AccessibleTopology": { - "type": "array", - "description": "The topology this volume is actually accessible from.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - } - }, - "description": "Information about the global status of the volume.\n" - }, - "PublishStatus": { - "type": "array", - "description": "The status of the volume as it pertains to its publishing and use on\nspecific nodes\n", - "items": { - "type": "object", - "properties": { - "NodeID": { - "type": "string", - "description": "The ID of the Swarm node the volume is published on.\n" - }, - "State": { - "type": "string", - "description": "The published state of the volume.\n* `pending-publish` The volume should be published to this node, but the call to the controller plugin to do so has not yet been successfully completed.\n* `published` The volume is published successfully to the node.\n* `pending-node-unpublish` The volume should be unpublished from the node, and the manager is awaiting confirmation from the worker that it has done so.\n* `pending-controller-unpublish` The volume is successfully unpublished from the node, but has not yet been successfully unpublished on the controller.\n", - "enum": [ - "pending-publish", - "published", - "pending-node-unpublish", - "pending-controller-unpublish" - ] - }, - "PublishContext": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of strings to strings returned by the CSI controller\nplugin when a volume is published.\n" - } - } - } - } - }, - "description": "Options and information specific to, and only present on, Swarm CSI\ncluster volumes.\n" - }, - "ClusterVolumeSpec": { - "type": "object", - "properties": { - "Group": { - "type": "string", - "description": "Group defines the volume group of this volume. Volumes belonging to\nthe same group can be referred to by group name when creating\nServices. Referring to a volume by group instructs Swarm to treat\nvolumes in that group interchangeably for the purpose of scheduling.\nVolumes with an empty string for a group technically all belong to\nthe same, emptystring group.\n" - }, - "AccessMode": { - "type": "object", - "properties": { - "Scope": { - "type": "string", - "description": "The set of nodes this volume can be used on at one time.\n- `single` The volume may only be scheduled to one node at a time.\n- `multi` the volume may be scheduled to any supported number of nodes at a time.\n", - "nullable": false, - "default": "single", - "enum": [ - "single", - "multi" - ] - }, - "Sharing": { - "type": "string", - "description": "The number and way that different tasks can use this volume\nat one time.\n- `none` The volume may only be used by one task at a time.\n- `readonly` The volume may be used by any number of tasks, but they all must mount the volume as readonly\n- `onewriter` The volume may be used by any number of tasks, but only one may mount it as read/write.\n- `all` The volume may have any number of readers and writers.\n", - "nullable": false, - "default": "none", - "enum": [ - "none", - "readonly", - "onewriter", - "all" - ] - }, - "MountVolume": { - "type": "object", - "properties": {}, - "description": "Options for using this volume as a Mount-type volume.\n\n Either MountVolume or BlockVolume, but not both, must be\n present.\n properties:\n FsType:\n type: \"string\"\n description: |\n Specifies the filesystem type for the mount volume.\n Optional.\n MountFlags:\n type: \"array\"\n description: |\n Flags to pass when mounting the volume. Optional.\n items:\n type: \"string\"\nBlockVolume:\n type: \"object\"\n description: |\n Options for using this volume as a Block-type volume.\n Intentionally empty.\n" - }, - "Secrets": { - "type": "array", - "description": "Swarm Secrets that are passed to the CSI storage plugin when\noperating on this volume.\n", - "items": { - "type": "object", - "properties": { - "Key": { - "type": "string", - "description": "Key is the name of the key of the key-value pair passed to\nthe plugin.\n" - }, - "Secret": { - "type": "string", - "description": "Secret is the swarm Secret object from which to read data.\nThis can be a Secret name or ID. The Secret data is\nretrieved by swarm and used as the value of the key-value\npair passed to the plugin.\n" - } - }, - "description": "One cluster volume secret entry. Defines a key-value pair that\nis passed to the plugin.\n" - } - }, - "AccessibilityRequirements": { - "type": "object", - "properties": { - "Requisite": { - "type": "array", - "description": "A list of required topologies, at least one of which the\nvolume must be accessible from.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - }, - "Preferred": { - "type": "array", - "description": "A list of topologies that the volume should attempt to be\nprovisioned in.\n", - "items": { - "$ref": "#/components/schemas/Topology" - } - } - }, - "description": "Requirements for the accessible topology of the volume. These\nfields are optional. For an in-depth description of what these\nfields mean, see the CSI specification.\n" - }, - "CapacityRange": { - "type": "object", - "properties": { - "RequiredBytes": { - "type": "integer", - "description": "The volume must be at least this big. The value of 0\nindicates an unspecified minimum\n", - "format": "int64" - }, - "LimitBytes": { - "type": "integer", - "description": "The volume must not be bigger than this. The value of 0\nindicates an unspecified maximum.\n", - "format": "int64" - } - }, - "description": "The desired capacity that the volume should be created with. If\nempty, the plugin will decide the capacity.\n" - }, - "Availability": { - "type": "string", - "description": "The availability of the volume for use in tasks.\n- `active` The volume is fully available for scheduling on the cluster\n- `pause` No new workloads should use the volume, but existing workloads are not stopped.\n- `drain` All workloads using this volume should be stopped and rescheduled, and no new ones should be started.\n", - "nullable": false, - "default": "active", - "enum": [ - "active", - "pause", - "drain" - ] - } - }, - "description": "Defines how the volume is used by tasks.\n" - } - }, - "description": "Cluster-specific options used to create the volume.\n" - }, - "Topology": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of topological domains to topological segments. For in depth\ndetails, see documentation for the Topology object in the CSI\nspecification.\n" - } - } - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Client.php b/app/vendor/beluga-php/docker-php-api/src/Client.php deleted file mode 100644 index 73a045a6b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Client.php +++ /dev/null @@ -1,2662 +0,0 @@ -[:]`, ``, or ``) - * - `before`=(`` or ``) - * - `expose`=(`[/]`|`/[]`) - * - `exited=` containers with exit code of `` - * - `health`=(`starting`|`healthy`|`unhealthy`|`none`) - * - `id=` a container's ID - * - `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only) - * - `is-task=`(`true`|`false`) - * - `label=key` or `label="key=value"` of a container label - * - `name=` a container's name - * - `network`=(`` or ``) - * - `publish`=(`[/]`|`/[]`) - * - `since`=(`` or ``) - * - `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`) - * - `volume`=(`` or ``) - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerListBadRequestException - * @throws Exception\ContainerListInternalServerErrorException - * - * @return Model\ContainerSummary[]|\Psr\Http\Message\ResponseInterface|null - */ - public function containerList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerList($queryParameters), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $name Assign the specified name to the container. Must match - * `/?[a-zA-Z0-9][a-zA-Z0-9_.-]+`. - * @var string $platform Platform in the format `os[/arch[/variant]]` used for image lookup. - * - * When specified, the daemon checks if the requested image is present - * in the local image cache with the given OS and Architecture, and - * otherwise returns a `404` status. - * - * If the option is not set, the host's native OS and Architecture are - * used to look up the image in the image cache. However, if no platform - * is passed and the given image does exist in the local image cache, - * but its OS or architecture does not match, the container is created - * with the available image, and a warning is added to the `Warnings` - * field in the response, for example; - * - * WARNING: The requested image's platform (linux/arm64/v8) does not - * match the detected host platform (linux/amd64) and no - * specific platform was requested - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerCreateBadRequestException - * @throws Exception\ContainerCreateNotFoundException - * @throws Exception\ContainerCreateConflictException - * @throws Exception\ContainerCreateInternalServerErrorException - * - * @return Model\ContainerCreateResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function containerCreate(?Model\ContainersCreatePostBody $requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerCreate($requestBody, $queryParameters), $fetch); - } - - /** - * Return low-level information about a container. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var bool $size Return the size of container as fields `SizeRw` and `SizeRootFs` - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerInspectNotFoundException - * @throws Exception\ContainerInspectInternalServerErrorException - * - * @return Model\ContainersIdJsonGetResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function containerInspect(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerInspect($id, $queryParameters), $fetch); - } - - /** - * On Unix systems, this is done by running the `ps` command. This endpoint - * is not supported on Windows. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $ps_args The arguments to pass to `ps`. For example, `aux` - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerTopNotFoundException - * @throws Exception\ContainerTopInternalServerErrorException - * - * @return Model\ContainersIdTopGetJsonResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function containerTop(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerTop($id, $queryParameters, $accept), $fetch); - } - - /** - * Get `stdout` and `stderr` logs from a container. - * - * Note: This endpoint works only for containers with the `json-file` or - * `journald` logging driver. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var bool $follow keep connection after returning logs - * @var bool $stdout Return logs from `stdout` - * @var bool $stderr Return logs from `stderr` - * @var int $since Only return logs since this time, as a UNIX timestamp - * @var int $until Only return logs before this time, as a UNIX timestamp - * @var bool $timestamps Add timestamps to every log line - * @var string $tail Only return this number of log lines from the end of the logs. - * Specify as an integer or `all` to output all log lines. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/vnd.docker.raw-stream|application/vnd.docker.multiplexed-stream|application/json - * - * @throws Exception\ContainerLogsNotFoundException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerLogs(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerLogs($id, $queryParameters, $accept), $fetch); - } - - /** - * Returns which files in a container's filesystem have been added, deleted, - * or modified. The `Kind` of modification can be one of: - * - * - `0`: Modified ("C") - * - `1`: Added ("A") - * - `2`: Deleted ("D") - * - * @param string $id ID or name of the container - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerChangesNotFoundException - * @throws Exception\ContainerChangesInternalServerErrorException - * - * @return Model\FilesystemChange[]|\Psr\Http\Message\ResponseInterface|null - */ - public function containerChanges(string $id, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerChanges($id), $fetch); - } - - /** - * Export the contents of a container as a tarball. - * - * @param string $id ID or name of the container - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/octet-stream|application/json - * - * @throws Exception\ContainerExportNotFoundException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerExport(string $id, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerExport($id, $accept), $fetch); - } - - /** - * This endpoint returns a live stream of a container’s resource usage - * statistics. - * - * The `precpu_stats` is the CPU statistic of the *previous* read, and is - * used to calculate the CPU usage percentage. It is not an exact copy - * of the `cpu_stats` field. - * - * If either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is - * nil then for compatibility with older daemons the length of the - * corresponding `cpu_usage.percpu_usage` array should be used. - * - * On a cgroup v2 host, the following fields are not set - * `blkio_stats`: all fields other than `io_service_bytes_recursive` - * `cpu_stats`: `cpu_usage.percpu_usage` - * `memory_stats`: `max_usage` and `failcnt` - * Also, `memory_stats.stats` fields are incompatible with cgroup v1. - * - * To calculate the values shown by the `stats` command of the docker cli tool - * the following formulas can be used: - * used_memory = `memory_stats.usage - memory_stats.stats.cache` - * available_memory = `memory_stats.limit` - * Memory usage % = `(used_memory / available_memory) * 100.0` - * cpu_delta = `cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage` - * system_cpu_delta = `cpu_stats.system_cpu_usage - precpu_stats.system_cpu_usage` - * number_cpus = `lenght(cpu_stats.cpu_usage.percpu_usage)` or `cpu_stats.online_cpus` - * CPU usage % = `(cpu_delta / system_cpu_delta) * number_cpus * 100.0` - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var bool $stream Stream the output. If false, the stats will be output once and then - * it will disconnect. - * @var bool $one-shot Only get a single stat instead of waiting for 2 cycles. Must be used - * with `stream=false`. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerStatsNotFoundException - * @throws Exception\ContainerStatsInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerStats(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerStats($id, $queryParameters), $fetch); - } - - /** - * Resize the TTY for a container. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var int $h Height of the TTY session in characters - * @var int $w Width of the TTY session in characters - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header text/plain|application/json - * - * @throws Exception\ContainerResizeNotFoundException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerResize(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerResize($id, $queryParameters, $accept), $fetch); - } - - /** - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $detachKeys Override the key sequence for detaching a container. Format is a - * single character `[a-Z]` or `ctrl-` where `` is one - * of: `a-z`, `@`, `^`, `[`, `,` or `_`. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerStartNotFoundException - * @throws Exception\ContainerStartInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerStart(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerStart($id, $queryParameters, $accept), $fetch); - } - - /** - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $signal Signal to send to the container as an integer or string (e.g. `SIGINT`). - * @var int $t Number of seconds to wait before killing the container - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerStopNotFoundException - * @throws Exception\ContainerStopInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerStop(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerStop($id, $queryParameters, $accept), $fetch); - } - - /** - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $signal Signal to send to the container as an integer or string (e.g. `SIGINT`). - * @var int $t Number of seconds to wait before killing the container - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerRestartNotFoundException - * @throws Exception\ContainerRestartInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerRestart(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerRestart($id, $queryParameters, $accept), $fetch); - } - - /** - * Send a POSIX signal to a container, defaulting to killing to the - * container. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $signal Signal to send to the container as an integer or string (e.g. `SIGINT`). - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerKillNotFoundException - * @throws Exception\ContainerKillConflictException - * @throws Exception\ContainerKillInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerKill(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerKill($id, $queryParameters, $accept), $fetch); - } - - /** - * Change various configuration options of a container without having to - * recreate it. - * - * @param string $id ID or name of the container - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerUpdateNotFoundException - * @throws Exception\ContainerUpdateInternalServerErrorException - * - * @return Model\ContainersIdUpdatePostResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function containerUpdate(string $id, ?Model\ContainersIdUpdatePostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerUpdate($id, $requestBody), $fetch); - } - - /** - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $name New name for the container - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerRenameNotFoundException - * @throws Exception\ContainerRenameConflictException - * @throws Exception\ContainerRenameInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerRename(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerRename($id, $queryParameters, $accept), $fetch); - } - - /** - * Use the freezer cgroup to suspend all processes in a container. - * - * Traditionally, when suspending a process the `SIGSTOP` signal is used, - * which is observable by the process being suspended. With the freezer - * cgroup the process is unaware, and unable to capture, that it is being - * suspended, and subsequently resumed. - * - * @param string $id ID or name of the container - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerPauseNotFoundException - * @throws Exception\ContainerPauseInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerPause(string $id, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerPause($id, $accept), $fetch); - } - - /** - * Resume a container which has been paused. - * - * @param string $id ID or name of the container - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerUnpauseNotFoundException - * @throws Exception\ContainerUnpauseInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerUnpause(string $id, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerUnpause($id, $accept), $fetch); - } - - /** - * Attach to a container to read its output or send it input. You can attach - * to the same container multiple times and you can reattach to containers - * that have been detached. - * - * Either the `stream` or `logs` parameter must be `true` for this endpoint - * to do anything. - * - * See the [documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/) - * for more details. - * - * ### Hijacking - * - * This endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, - * and `stderr` on the same socket. - * - * This is the response from the daemon for an attach request: - * - * ``` - * HTTP/1.1 200 OK - * Content-Type: application/vnd.docker.raw-stream - * - * [STREAM] - * ``` - * - * After the headers and two new lines, the TCP connection can now be used - * for raw, bidirectional communication between the client and server. - * - * To hint potential proxies about connection hijacking, the Docker client - * can also optionally send connection upgrade headers. - * - * For example, the client sends this request to upgrade the connection: - * - * ``` - * POST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1 - * Upgrade: tcp - * Connection: Upgrade - * ``` - * - * The Docker daemon will respond with a `101 UPGRADED` response, and will - * similarly follow with the raw stream: - * - * ``` - * HTTP/1.1 101 UPGRADED - * Content-Type: application/vnd.docker.raw-stream - * Connection: Upgrade - * Upgrade: tcp - * - * [STREAM] - * ``` - * - * ### Stream format - * - * When the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate), - * the HTTP Content-Type header is set to application/vnd.docker.multiplexed-stream - * and the stream over the hijacked connected is multiplexed to separate out - * `stdout` and `stderr`. The stream consists of a series of frames, each - * containing a header and a payload. - * - * The header contains the information which the stream writes (`stdout` or - * `stderr`). It also contains the size of the associated frame encoded in - * the last four bytes (`uint32`). - * - * It is encoded on the first eight bytes like this: - * - * ```go - * header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4} - * ``` - * - * `STREAM_TYPE` can be: - * - * - 0: `stdin` (is written on `stdout`) - * - 1: `stdout` - * - 2: `stderr` - * - * `SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size - * encoded as big endian. - * - * Following the header is the payload, which is the specified number of - * bytes of `STREAM_TYPE`. - * - * The simplest way to implement this protocol is the following: - * - * 1. Read 8 bytes. - * 2. Choose `stdout` or `stderr` depending on the first byte. - * 3. Extract the frame size from the last four bytes. - * 4. Read the extracted size and output it on the correct output. - * 5. Goto 1. - * - * ### Stream format when using a TTY - * - * When the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate), - * the stream is not multiplexed. The data exchanged over the hijacked - * connection is simply the raw data from the process PTY and client's - * `stdin`. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $detachKeys Override the key sequence for detaching a container.Format is a single - * character `[a-Z]` or `ctrl-` where `` is one of: `a-z`, - * `@`, `^`, `[`, `,` or `_`. - * @var bool $logs Replay previous logs from the container. - * - * This is useful for attaching to a container that has started and you - * want to output everything since the container started. - * - * If `stream` is also enabled, once all the previous output has been - * returned, it will seamlessly transition into streaming current - * output. - * @var bool $stream stream attached streams from the time the request was made onwards - * @var bool $stdin Attach to `stdin` - * @var bool $stdout Attach to `stdout` - * @var bool $stderr Attach to `stderr` - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/vnd.docker.raw-stream|application/vnd.docker.multiplexed-stream|application/json - * - * @throws Exception\ContainerAttachNotFoundException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerAttach(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerAttach($id, $queryParameters, $accept), $fetch); - } - - /** - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $detachKeys Override the key sequence for detaching a container.Format is a single - * character `[a-Z]` or `ctrl-` where `` is one of: `a-z`, - * `@`, `^`, `[`, `,`, or `_`. - * @var bool $logs Return logs - * @var bool $stream Return stream - * @var bool $stdin Attach to `stdin` - * @var bool $stdout Attach to `stdout` - * @var bool $stderr Attach to `stderr` - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerAttachWebsocketBadRequestException - * @throws Exception\ContainerAttachWebsocketNotFoundException - * @throws Exception\ContainerAttachWebsocketInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerAttachWebsocket(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerAttachWebsocket($id, $queryParameters, $accept), $fetch); - } - - /** - * Block until a container stops, then returns the exit code. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $condition Wait until a container state reaches the given condition. - * - * Defaults to `not-running` if omitted or empty. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerWaitBadRequestException - * @throws Exception\ContainerWaitNotFoundException - * @throws Exception\ContainerWaitInternalServerErrorException - * - * @return Model\ContainerWaitResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function containerWait(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerWait($id, $queryParameters), $fetch); - } - - /** - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var bool $v remove anonymous volumes associated with the container - * @var bool $force if the container is running, kill it before removing it - * @var bool $link Remove the specified link associated with the container. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerDeleteBadRequestException - * @throws Exception\ContainerDeleteNotFoundException - * @throws Exception\ContainerDeleteConflictException - * @throws Exception\ContainerDeleteInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerDelete(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerDelete($id, $queryParameters, $accept), $fetch); - } - - /** - * Get a tar archive of a resource in the filesystem of container id. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $path Resource in the container’s filesystem to archive. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/x-tar|application/json - * - * @throws Exception\ContainerArchiveNotFoundException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerArchive(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerArchive($id, $queryParameters, $accept), $fetch); - } - - /** - * A response header `X-Docker-Container-Path-Stat` is returned, containing - * a base64 - encoded JSON object with some filesystem header information - * about the path. - * - * @param string $id ID or name of the container - * @param array $queryParameters { - * - * @var string $path Resource in the container’s filesystem to archive. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ContainerArchiveInfoBadRequestException - * @throws Exception\ContainerArchiveInfoNotFoundException - * @throws Exception\ContainerArchiveInfoInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function containerArchiveInfo(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ContainerArchiveInfo($id, $queryParameters, $accept), $fetch); - } - - /** - * Upload a tar archive to be extracted to a path in the filesystem of container id. - * `path` parameter is asserted to be a directory. If it exists as a file, 400 error - * will be returned with message "not a directory". - * - * @param string $id ID or name of the container - * @param string|resource|\Psr\Http\Message\StreamInterface|null $requestBody - * @param array $queryParameters { - * - * @var string $path path to a directory in the container to extract the archive’s contents into - * @var string $noOverwriteDirNonDir if `1`, `true`, or `True` then it will be an error if unpacking the - * given content would cause an existing directory to be replaced with - * a non-directory and vice versa - * @var string $copyUIDGID If `1`, `true`, then it will copy UID/GID maps to the dest file or - * dir - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PutContainerArchiveBadRequestException - * @throws Exception\PutContainerArchiveForbiddenException - * @throws Exception\PutContainerArchiveNotFoundException - * @throws Exception\PutContainerArchiveInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function putContainerArchive(string $id, $requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PutContainerArchive($id, $requestBody, $queryParameters, $accept), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters Filters to process on the prune list, encoded as JSON (a `map[string][]string`). - * - * Available filters: - * - `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - * - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerPruneInternalServerErrorException - * - * @return Model\ContainersPrunePostResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function containerPrune(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerPrune($queryParameters), $fetch); - } - - /** - * Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image. - * - * @param array $queryParameters { - * - * @var bool $all Show all images. Only images from a final layer (no children) are shown by default. - * @var string $filters A JSON encoded value of the filters (a `map[string][]string`) to - * process on the images list. - * - * Available filters: - * - * - `before`=(`[:]`, `` or ``) - * - `dangling=true` - * - `label=key` or `label="key=value"` of an image label - * - `reference`=(`[:]`) - * - `since`=(`[:]`, `` or ``) - * - `until=` - * @var bool $shared-size Compute and show shared size as a `SharedSize` field on each image - * @var bool $digests Show digest information as a `RepoDigests` field on each image. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageListInternalServerErrorException - * - * @return Model\ImageSummary[]|\Psr\Http\Message\ResponseInterface|null - */ - public function imageList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageList($queryParameters), $fetch); - } - - /** - * Build an image from a tar archive with a `Dockerfile` in it. - * - * The `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/). - * - * The Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output. - * - * The build is canceled if the client drops the connection by quitting or being killed. - * - * @param string|resource|\Psr\Http\Message\StreamInterface|null $requestBody - * @param array $queryParameters { - * - * @var string $dockerfile Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`. - * @var string $t A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters. - * @var string $extrahosts Extra hosts to add to /etc/hosts - * @var string $remote A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball. - * @var bool $q suppress verbose build output - * @var bool $nocache do not use the cache when building the image - * @var string $cachefrom JSON array of images used for build cache resolution - * @var string $pull attempt to pull the image even if an older image exists locally - * @var bool $rm remove intermediate containers after a successful build - * @var bool $forcerm always remove intermediate containers, even upon failure - * @var int $memory set memory limit for build - * @var int $memswap Total memory (memory + swap). Set as `-1` to disable swap. - * @var int $cpushares CPU shares (relative weight) - * @var string $cpusetcpus CPUs in which to allow execution (e.g., `0-3`, `0,1`). - * @var int $cpuperiod the length of a CPU period in microseconds - * @var int $cpuquota microseconds of CPU time that the container can get in a CPU period - * @var string $buildargs JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values. - * - * For example, the build arg `FOO=bar` would become `{"FOO":"bar"}` in JSON. This would result in the query parameter `buildargs={"FOO":"bar"}`. Note that `{"FOO":"bar"}` should be URI component encoded. - * - * [Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg) - * @var int $shmsize Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB. - * @var bool $squash Squash the resulting images layers into a single layer. *(Experimental release only.)* - * @var string $labels arbitrary key/value labels to set on the image, as a JSON map of string pairs - * @var string $networkmode Sets the networking mode for the run commands during build. Supported - * standard values are: `bridge`, `host`, `none`, and `container:`. - * Any other value is taken as a custom network's name or ID to which this - * container should connect to. - * @var string $platform Platform in the format os[/arch[/variant]] - * @var string $target Target build stage - * @var string $outputs BuildKit output configuration - * @var string $version Version of the builder backend to use. - * - * - `1` is the first generation classic (deprecated) builder in the Docker daemon (default) - * - `2` is [BuildKit](https://github.com/moby/buildkit) - * - * } - * - * @param array $headerParameters { - * - * @var string $Content-type - * @var string $X-Registry-Config This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to. - * - * The key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example: - * - * ``` - * { - * "docker.example.com": { - * "username": "janedoe", - * "password": "hunter2" - * }, - * "https://index.docker.io/v1/": { - * "username": "mobydock", - * "password": "conta1n3rize14" - * } - * } - * ``` - * - * Only the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageBuildBadRequestException - * @throws Exception\ImageBuildInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function imageBuild($requestBody = null, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageBuild($requestBody, $queryParameters, $headerParameters), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var int $keep-storage Amount of disk space in bytes to keep for cache - * @var bool $all Remove all types of build cache - * @var string $filters A JSON encoded value of the filters (a `map[string][]string`) to - * process on the list of build cache objects. - * - * Available filters: - * - * - `until=` remove cache older than ``. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon's local time. - * - `id=` - * - `parent=` - * - `type=` - * - `description=` - * - `inuse` - * - `shared` - * - `private` - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\BuildPruneInternalServerErrorException - * - * @return Model\BuildPrunePostResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function buildPrune(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\BuildPrune($queryParameters), $fetch); - } - - /** - * Pull or import an image. - * - * @param array $queryParameters { - * - * @var string $fromImage Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed. - * @var string $fromSrc Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image. - * @var string $repo Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image. - * @var string $tag Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled. - * @var string $message set commit message for imported image - * @var array $changes Apply `Dockerfile` instructions to the image that is created, - * for example: `changes=ENV DEBUG=true`. - * Note that `ENV DEBUG=true` should be URI component encoded. - * - * Supported `Dockerfile` instructions: - * `CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR` - * @var string $platform Platform in the format os[/arch[/variant]]. - * - * When used in combination with the `fromImage` option, the daemon checks - * if the given image is present in the local image cache with the given - * OS and Architecture, and otherwise attempts to pull the image. If the - * option is not set, the host's native OS and Architecture are used. - * If the given image does not exist in the local image cache, the daemon - * attempts to pull the image with the host's native OS and Architecture. - * If the given image does exists in the local image cache, but its OS or - * architecture does not match, a warning is produced. - * - * When used with the `fromSrc` option to import an image from an archive, - * this option sets the platform information for the imported image. If - * the option is not set, the host's native OS and Architecture are used - * for the imported image. - * - * } - * - * @param array $headerParameters { - * - * @var string $X-Registry-Auth A base64url-encoded auth configuration. - * - * Refer to the [authentication section](#section/Authentication) for - * details. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageCreateNotFoundException - * @throws Exception\ImageCreateInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function imageCreate(?string $requestBody = null, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageCreate($requestBody, $queryParameters, $headerParameters), $fetch); - } - - /** - * Return low-level information about an image. - * - * @param string $name Image name or id - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageInspectNotFoundException - * @throws Exception\ImageInspectInternalServerErrorException - * - * @return Model\ImageInspect|\Psr\Http\Message\ResponseInterface|null - */ - public function imageInspect(string $name, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageInspect($name), $fetch); - } - - /** - * Return parent layers of an image. - * - * @param string $name Image name or ID - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageHistoryNotFoundException - * @throws Exception\ImageHistoryInternalServerErrorException - * - * @return Model\ImagesNameHistoryGetResponse200Item[]|\Psr\Http\Message\ResponseInterface|null - */ - public function imageHistory(string $name, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageHistory($name), $fetch); - } - - /** - * Push an image to a registry. - * - * If you wish to push an image on to a private registry, that image must - * already have a tag which references the registry. For example, - * `registry.example.com/myimage:latest`. - * - * The push is cancelled if the HTTP connection is closed. - * - * @param string $name image name or ID - * @param array $queryParameters { - * - * @var string $tag The tag to associate with the image on the registry. - * } - * - * @param array $headerParameters { - * - * @var string $X-Registry-Auth A base64url-encoded auth configuration. - * - * Refer to the [authentication section](#section/Authentication) for - * details. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ImagePushNotFoundException - * @throws Exception\ImagePushInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function imagePush(string $name, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ImagePush($name, $queryParameters, $headerParameters, $accept), $fetch); - } - - /** - * Tag an image so that it becomes part of a repository. - * - * @param string $name image name or ID to tag - * @param array $queryParameters { - * - * @var string $repo The repository to tag in. For example, `someuser/someimage`. - * @var string $tag The name of the new tag. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ImageTagBadRequestException - * @throws Exception\ImageTagNotFoundException - * @throws Exception\ImageTagConflictException - * @throws Exception\ImageTagInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function imageTag(string $name, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ImageTag($name, $queryParameters, $accept), $fetch); - } - - /** - * Remove an image, along with any untagged parent images that were - * referenced by that image. - * - * Images can't be removed if they have descendant images, are being - * used by a running container or are being used by a build. - * - * @param string $name Image name or ID - * @param array $queryParameters { - * - * @var bool $force Remove the image even if it is being used by stopped containers or has other tags - * @var bool $noprune Do not delete untagged parent images - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageDeleteNotFoundException - * @throws Exception\ImageDeleteConflictException - * @throws Exception\ImageDeleteInternalServerErrorException - * - * @return Model\ImageDeleteResponseItem[]|\Psr\Http\Message\ResponseInterface|null - */ - public function imageDelete(string $name, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageDelete($name, $queryParameters), $fetch); - } - - /** - * Search for an image on Docker Hub. - * - * @param array $queryParameters { - * - * @var string $term Term to search - * @var int $limit Maximum number of results to return - * @var string $filters A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: - * - * - `is-official=(true|false)` - * - `stars=` Matches images that has at least 'number' stars. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageSearchInternalServerErrorException - * - * @return Model\ImagesSearchGetResponse200Item[]|\Psr\Http\Message\ResponseInterface|null - */ - public function imageSearch(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageSearch($queryParameters), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters: - * - * - `dangling=` When set to `true` (or `1`), prune only - * unused *and* untagged images. When set to `false` - * (or `0`), all unused images are pruned. - * - `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - * - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImagePruneInternalServerErrorException - * - * @return Model\ImagesPrunePostResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function imagePrune(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImagePrune($queryParameters), $fetch); - } - - /** - * Validate credentials for a registry and, if available, get an identity - * token for accessing the registry without password. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SystemAuthUnauthorizedException - * @throws Exception\SystemAuthInternalServerErrorException - * - * @return Model\AuthPostResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function systemAuth(?Model\AuthConfig $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SystemAuth($requestBody), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SystemInfoInternalServerErrorException - * - * @return Model\SystemInfo|\Psr\Http\Message\ResponseInterface|null - */ - public function systemInfo(string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SystemInfo(), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SystemVersionInternalServerErrorException - * - * @return Model\SystemVersion|\Psr\Http\Message\ResponseInterface|null - */ - public function systemVersion(string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SystemVersion(), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function systemPing(string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SystemPing(), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function systemPingHead(string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SystemPingHead(), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $container The ID or name of the container to commit - * @var string $repo Repository name for the created image - * @var string $tag Tag name for the create image - * @var string $comment Commit message - * @var string $author Author of the image (e.g., `John Hannibal Smith `) - * @var bool $pause Whether to pause the container before committing - * @var string $changes `Dockerfile` instructions to apply while committing - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageCommitNotFoundException - * @throws Exception\ImageCommitInternalServerErrorException - * - * @return Model\IdResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function imageCommit(?Model\ContainerConfig $requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageCommit($requestBody, $queryParameters), $fetch); - } - - /** - * Stream real-time events from the server. - * - * Various objects within Docker report events when something happens to them. - * - * Containers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, `update`, and `prune` - * - * Images report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune` - * - * Volumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune` - * - * Networks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, `remove`, and `prune` - * - * The Docker daemon reports these events: `reload` - * - * Services report these events: `create`, `update`, and `remove` - * - * Nodes report these events: `create`, `update`, and `remove` - * - * Secrets report these events: `create`, `update`, and `remove` - * - * Configs report these events: `create`, `update`, and `remove` - * - * The Builder reports `prune` events - * - * @param array $queryParameters { - * - * @var string $since show events created since this timestamp then stream new events - * @var string $until show events created until this timestamp then stop streaming - * @var string $filters A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters: - * - * - `config=` config name or ID - * - `container=` container name or ID - * - `daemon=` daemon name or ID - * - `event=` event type - * - `image=` image name or ID - * - `label=` image or container label - * - `network=` network name or ID - * - `node=` node ID - * - `plugin`= plugin name or ID - * - `scope`= local or swarm - * - `secret=` secret name or ID - * - `service=` service name or ID - * - `type=` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config` - * - `volume=` volume name - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SystemEventsBadRequestException - * @throws Exception\SystemEventsInternalServerErrorException - * - * @return Model\EventMessage|\Psr\Http\Message\ResponseInterface|null - */ - public function systemEvents(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SystemEvents($queryParameters), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var array $type Object types, for which to compute and return data. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\SystemDataUsageInternalServerErrorException - * - * @return Model\SystemDfGetJsonResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function systemDataUsage(array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\SystemDataUsage($queryParameters, $accept), $fetch); - } - - /** - * Get a tarball containing all images and metadata for a repository. - * - * If `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced. - * - * ### Image tarball format - * - * An image tarball contains one directory per image layer (named using its long ID), each containing these files: - * - * - `VERSION`: currently `1.0` - the file format version - * - `json`: detailed layer information, similar to `docker inspect layer_id` - * - `layer.tar`: A tarfile containing the filesystem changes in this layer - * - * The `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions. - * - * If the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs. - * - * ```json - * { - * "hello-world": { - * "latest": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1" - * } - * } - * ``` - * - * @param string $name Image name or ID - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function imageGet(string $name, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageGet($name), $fetch); - } - - /** - * Get a tarball containing all images and metadata for several image - * repositories. - * - * For each value of the `names` parameter: if it is a specific name and - * tag (e.g. `ubuntu:latest`), then only that image (and its parents) are - * returned; if it is an image ID, similarly only that image (and its parents) - * are returned and there would be no names referenced in the 'repositories' - * file for this image ID. - * - * For details on the format, see the [export image endpoint](#operation/ImageGet). - * - * @param array $queryParameters { - * - * @var array $names Image names to filter by - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function imageGetAll(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageGetAll($queryParameters), $fetch); - } - - /** - * Load a set of images and tags into a repository. - * - * For details on the format, see the [export image endpoint](#operation/ImageGet). - * - * @param string|resource|\Psr\Http\Message\StreamInterface|null $requestBody - * @param array $queryParameters { - * - * @var bool $quiet Suppress progress details during load. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ImageLoadInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function imageLoad($requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ImageLoad($requestBody, $queryParameters), $fetch); - } - - /** - * Run a command inside a running container. - * - * @param string $id ID or name of container - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ContainerExecNotFoundException - * @throws Exception\ContainerExecConflictException - * @throws Exception\ContainerExecInternalServerErrorException - * - * @return Model\IdResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function containerExec(string $id, ?Model\ContainersIdExecPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ContainerExec($id, $requestBody), $fetch); - } - - /** - * Starts a previously set up exec instance. If detach is true, this endpoint - * returns immediately after starting the command. Otherwise, it sets up an - * interactive session with the command. - * - * @param string $id Exec instance ID - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/vnd.docker.raw-stream|application/vnd.docker.multiplexed-stream - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function execStart(string $id, ?Model\ExecIdStartPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ExecStart($id, $requestBody, $accept), $fetch); - } - - /** - * Resize the TTY session used by an exec instance. This endpoint only works - * if `tty` was specified as part of creating and starting the exec instance. - * - * @param string $id Exec instance ID - * @param array $queryParameters { - * - * @var int $h Height of the TTY session in characters - * @var int $w Width of the TTY session in characters - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ExecResizeBadRequestException - * @throws Exception\ExecResizeNotFoundException - * @throws Exception\ExecResizeInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function execResize(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ExecResize($id, $queryParameters, $accept), $fetch); - } - - /** - * Return low-level information about an exec instance. - * - * @param string $id Exec instance ID - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ExecInspectNotFoundException - * @throws Exception\ExecInspectInternalServerErrorException - * - * @return Model\ExecIdJsonGetResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function execInspect(string $id, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ExecInspect($id), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters JSON encoded value of the filters (a `map[string][]string`) to - * process on the volumes list. Available filters: - * - * - `dangling=` When set to `true` (or `1`), returns all - * volumes that are not in use by a container. When set to `false` - * (or `0`), only volumes that are in use by one or more - * containers are returned. - * - `driver=` Matches volumes based on their driver. - * - `label=` or `label=:` Matches volumes based on - * the presence of a `label` alone or a `label` and a value. - * - `name=` Matches all or part of a volume name. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\VolumeListInternalServerErrorException - * - * @return Model\VolumeListResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function volumeList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\VolumeList($queryParameters), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\VolumeCreateInternalServerErrorException - * - * @return Model\Volume|\Psr\Http\Message\ResponseInterface|null - */ - public function volumeCreate(?Model\VolumeCreateOptions $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\VolumeCreate($requestBody), $fetch); - } - - /** - * Instruct the driver to remove the volume. - * - * @param string $name Volume name or ID - * @param array $queryParameters { - * - * @var bool $force Force the removal of the volume - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\VolumeDeleteNotFoundException - * @throws Exception\VolumeDeleteConflictException - * @throws Exception\VolumeDeleteInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function volumeDelete(string $name, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\VolumeDelete($name, $queryParameters, $accept), $fetch); - } - - /** - * @param string $name Volume name or ID - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\VolumeInspectNotFoundException - * @throws Exception\VolumeInspectInternalServerErrorException - * - * @return Model\Volume|\Psr\Http\Message\ResponseInterface|null - */ - public function volumeInspect(string $name, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\VolumeInspect($name), $fetch); - } - - /** - * @param string $name The name or ID of the volume - * @param array $queryParameters { - * - * @var int $version The version number of the volume being updated. This is required to - * avoid conflicting writes. Found in the volume's `ClusterVolume` - * field. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\VolumeUpdateBadRequestException - * @throws Exception\VolumeUpdateNotFoundException - * @throws Exception\VolumeUpdateInternalServerErrorException - * @throws Exception\VolumeUpdateServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function volumeUpdate(string $name, ?Model\VolumesNamePutBody $requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\VolumeUpdate($name, $requestBody, $queryParameters), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters Filters to process on the prune list, encoded as JSON (a `map[string][]string`). - * - * Available filters: - * - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels. - * - `all` (`all=true`) - Consider all (local) volumes for pruning and not just anonymous volumes. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\VolumePruneInternalServerErrorException - * - * @return Model\VolumesPrunePostResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function volumePrune(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\VolumePrune($queryParameters), $fetch); - } - - /** - * Returns a list of networks. For details on the format, see the - * [network inspect endpoint](#operation/NetworkInspect). - * - * Note that it uses a different, smaller representation of a network than - * inspecting a single network. For example, the list of containers attached - * to the network is not propagated in API versions 1.28 and up. - * - * @param array $queryParameters { - * - * @var string $filters JSON encoded value of the filters (a `map[string][]string`) to process - * on the networks list. - * - * Available filters: - * - * - `dangling=` When set to `true` (or `1`), returns all - * networks that are not in use by a container. When set to `false` - * (or `0`), only networks that are in use by one or more - * containers are returned. - * - `driver=` Matches a network's driver. - * - `id=` Matches all or part of a network ID. - * - `label=` or `label==` of a network label. - * - `name=` Matches all or part of a network name. - * - `scope=["swarm"|"global"|"local"]` Filters networks by scope (`swarm`, `global`, or `local`). - * - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\NetworkListInternalServerErrorException - * - * @return Model\Network[]|\Psr\Http\Message\ResponseInterface|null - */ - public function networkList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\NetworkList($queryParameters), $fetch); - } - - /** - * @param string $id Network ID or name - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\NetworkDeleteForbiddenException - * @throws Exception\NetworkDeleteNotFoundException - * @throws Exception\NetworkDeleteInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function networkDelete(string $id, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\NetworkDelete($id, $accept), $fetch); - } - - /** - * @param string $id Network ID or name - * @param array $queryParameters { - * - * @var bool $verbose Detailed inspect output for troubleshooting - * @var string $scope Filter the network by scope (swarm, global, or local) - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\NetworkInspectNotFoundException - * @throws Exception\NetworkInspectInternalServerErrorException - * - * @return Model\Network|\Psr\Http\Message\ResponseInterface|null - */ - public function networkInspect(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\NetworkInspect($id, $queryParameters), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\NetworkCreateBadRequestException - * @throws Exception\NetworkCreateForbiddenException - * @throws Exception\NetworkCreateNotFoundException - * @throws Exception\NetworkCreateInternalServerErrorException - * - * @return Model\NetworksCreatePostResponse201|\Psr\Http\Message\ResponseInterface|null - */ - public function networkCreate(?Model\NetworksCreatePostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\NetworkCreate($requestBody), $fetch); - } - - /** - * The network must be either a local-scoped network or a swarm-scoped network with the `attachable` option set. A network cannot be re-attached to a running container. - * - * @param string $id Network ID or name - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\NetworkConnectBadRequestException - * @throws Exception\NetworkConnectForbiddenException - * @throws Exception\NetworkConnectNotFoundException - * @throws Exception\NetworkConnectInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function networkConnect(string $id, ?Model\NetworksIdConnectPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\NetworkConnect($id, $requestBody, $accept), $fetch); - } - - /** - * @param string $id Network ID or name - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\NetworkDisconnectForbiddenException - * @throws Exception\NetworkDisconnectNotFoundException - * @throws Exception\NetworkDisconnectInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function networkDisconnect(string $id, ?Model\NetworksIdDisconnectPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\NetworkDisconnect($id, $requestBody, $accept), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters Filters to process on the prune list, encoded as JSON (a `map[string][]string`). - * - * Available filters: - * - `until=` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - * - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\NetworkPruneInternalServerErrorException - * - * @return Model\NetworksPrunePostResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function networkPrune(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\NetworkPrune($queryParameters), $fetch); - } - - /** - * Returns information about installed plugins. - * - * @param array $queryParameters { - * - * @var string $filters A JSON encoded value of the filters (a `map[string][]string`) to - * process on the plugin list. - * - * Available filters: - * - * - `capability=` - * - `enable=|` - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\PluginListInternalServerErrorException - * - * @return Model\Plugin[]|\Psr\Http\Message\ResponseInterface|null - */ - public function pluginList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PluginList($queryParameters), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $remote The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\GetPluginPrivilegesInternalServerErrorException - * - * @return Model\PluginPrivilege[]|\Psr\Http\Message\ResponseInterface|null - */ - public function getPluginPrivileges(array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\GetPluginPrivileges($queryParameters, $accept), $fetch); - } - - /** - * Pulls and installs a plugin. After the plugin is installed, it can be - * enabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable). - * - * @param Model\PluginPrivilege[]|null $requestBody - * @param array $queryParameters { - * - * @var string $remote Remote reference for plugin to install. - * - * The `:latest` tag is optional, and is used as the default if omitted. - * @var string $name Local name for the pulled plugin. - * - * The `:latest` tag is optional, and is used as the default if omitted. - * - * } - * - * @param array $headerParameters { - * - * @var string $X-Registry-Auth A base64url-encoded auth configuration to use when pulling a plugin - * from a registry. - * - * Refer to the [authentication section](#section/Authentication) for - * details. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\PluginPullInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function pluginPull(?array $requestBody = null, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PluginPull($requestBody, $queryParameters, $headerParameters), $fetch); - } - - /** - * @param string $name The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PluginInspectNotFoundException - * @throws Exception\PluginInspectInternalServerErrorException - * - * @return Model\Plugin|\Psr\Http\Message\ResponseInterface|null - */ - public function pluginInspect(string $name, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PluginInspect($name, $accept), $fetch); - } - - /** - * @param string $name The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * @param array $queryParameters { - * - * @var bool $force Disable the plugin before removing. This may result in issues if the - * plugin is in use by a container. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PluginDeleteNotFoundException - * @throws Exception\PluginDeleteInternalServerErrorException - * - * @return Model\Plugin|\Psr\Http\Message\ResponseInterface|null - */ - public function pluginDelete(string $name, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PluginDelete($name, $queryParameters, $accept), $fetch); - } - - /** - * @param string $name The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * @param array $queryParameters { - * - * @var int $timeout Set the HTTP client timeout (in seconds) - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PluginEnableNotFoundException - * @throws Exception\PluginEnableInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function pluginEnable(string $name, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PluginEnable($name, $queryParameters, $accept), $fetch); - } - - /** - * @param string $name The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * @param array $queryParameters { - * - * @var bool $force Force disable a plugin even if still in use. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PluginDisableNotFoundException - * @throws Exception\PluginDisableInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function pluginDisable(string $name, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PluginDisable($name, $queryParameters, $accept), $fetch); - } - - /** - * @param string $name The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * @param Model\PluginPrivilege[]|null $requestBody - * @param array $queryParameters { - * - * @var string $remote Remote reference to upgrade to. - * - * The `:latest` tag is optional, and is used as the default if omitted. - * - * } - * - * @param array $headerParameters { - * - * @var string $X-Registry-Auth A base64url-encoded auth configuration to use when pulling a plugin - * from a registry. - * - * Refer to the [authentication section](#section/Authentication) for - * details. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PluginUpgradeNotFoundException - * @throws Exception\PluginUpgradeInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function pluginUpgrade(string $name, ?array $requestBody = null, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PluginUpgrade($name, $requestBody, $queryParameters, $headerParameters, $accept), $fetch); - } - - /** - * @param string|resource|\Psr\Http\Message\StreamInterface|null $requestBody - * @param array $queryParameters { - * - * @var string $name The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PluginCreateInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function pluginCreate($requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PluginCreate($requestBody, $queryParameters, $accept), $fetch); - } - - /** - * Push a plugin to the registry. - * - * @param string $name The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PluginPushNotFoundException - * @throws Exception\PluginPushInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function pluginPush(string $name, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PluginPush($name, $accept), $fetch); - } - - /** - * @param string $name The name of the plugin. The `:latest` tag is optional, and is the - * default if omitted. - * @param array[]|null $requestBody - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\PluginSetNotFoundException - * @throws Exception\PluginSetInternalServerErrorException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function pluginSet(string $name, ?array $requestBody = null, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\PluginSet($name, $requestBody, $accept), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters Filters to process on the nodes list, encoded as JSON (a `map[string][]string`). - * - * Available filters: - * - `id=` - * - `label=` - * - `membership=`(`accepted`|`pending`)` - * - `name=` - * - `node.label=` - * - `role=`(`manager`|`worker`)` - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\NodeListInternalServerErrorException - * @throws Exception\NodeListServiceUnavailableException - * - * @return Model\Node[]|\Psr\Http\Message\ResponseInterface|null - */ - public function nodeList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\NodeList($queryParameters, $accept), $fetch); - } - - /** - * @param string $id The ID or name of the node - * @param array $queryParameters { - * - * @var bool $force Force remove a node from the swarm - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\NodeDeleteNotFoundException - * @throws Exception\NodeDeleteInternalServerErrorException - * @throws Exception\NodeDeleteServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function nodeDelete(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\NodeDelete($id, $queryParameters, $accept), $fetch); - } - - /** - * @param string $id The ID or name of the node - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\NodeInspectNotFoundException - * @throws Exception\NodeInspectInternalServerErrorException - * @throws Exception\NodeInspectServiceUnavailableException - * - * @return Model\Node|\Psr\Http\Message\ResponseInterface|null - */ - public function nodeInspect(string $id, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\NodeInspect($id, $accept), $fetch); - } - - /** - * @param string $id The ID of the node - * @param array $queryParameters { - * - * @var int $version The version number of the node object being updated. This is required - * to avoid conflicting writes. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\NodeUpdateBadRequestException - * @throws Exception\NodeUpdateNotFoundException - * @throws Exception\NodeUpdateInternalServerErrorException - * @throws Exception\NodeUpdateServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function nodeUpdate(string $id, ?Model\NodeSpec $requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\NodeUpdate($id, $requestBody, $queryParameters, $accept), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\SwarmInspectNotFoundException - * @throws Exception\SwarmInspectInternalServerErrorException - * @throws Exception\SwarmInspectServiceUnavailableException - * - * @return Model\Swarm|\Psr\Http\Message\ResponseInterface|null - */ - public function swarmInspect(string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\SwarmInspect($accept), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\SwarmInitBadRequestException - * @throws Exception\SwarmInitInternalServerErrorException - * @throws Exception\SwarmInitServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function swarmInit(?Model\SwarmInitPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\SwarmInit($requestBody, $accept), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\SwarmJoinBadRequestException - * @throws Exception\SwarmJoinInternalServerErrorException - * @throws Exception\SwarmJoinServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function swarmJoin(?Model\SwarmJoinPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\SwarmJoin($requestBody, $accept), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var bool $force Force leave swarm, even if this is the last manager or that it will - * break the cluster. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\SwarmLeaveInternalServerErrorException - * @throws Exception\SwarmLeaveServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function swarmLeave(array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\SwarmLeave($queryParameters, $accept), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var int $version The version number of the swarm object being updated. This is - * required to avoid conflicting writes. - * @var bool $rotateWorkerToken rotate the worker join token - * @var bool $rotateManagerToken rotate the manager join token - * @var bool $rotateManagerUnlockKey Rotate the manager unlock key. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\SwarmUpdateBadRequestException - * @throws Exception\SwarmUpdateInternalServerErrorException - * @throws Exception\SwarmUpdateServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function swarmUpdate(?Model\SwarmSpec $requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\SwarmUpdate($requestBody, $queryParameters, $accept), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\SwarmUnlockkeyInternalServerErrorException - * @throws Exception\SwarmUnlockkeyServiceUnavailableException - * - * @return Model\SwarmUnlockkeyGetJsonResponse200|\Psr\Http\Message\ResponseInterface|null - */ - public function swarmUnlockkey(string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\SwarmUnlockkey($accept), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SwarmUnlockInternalServerErrorException - * @throws Exception\SwarmUnlockServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function swarmUnlock(?Model\SwarmUnlockPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SwarmUnlock($requestBody), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters A JSON encoded value of the filters (a `map[string][]string`) to - * process on the services list. - * - * Available filters: - * - * - `id=` - * - `label=` - * - `mode=["replicated"|"global"]` - * - `name=` - * @var bool $status Include service status, with count of running and desired tasks. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ServiceListInternalServerErrorException - * @throws Exception\ServiceListServiceUnavailableException - * - * @return Model\Service[]|\Psr\Http\Message\ResponseInterface|null - */ - public function serviceList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ServiceList($queryParameters, $accept), $fetch); - } - - /** - * @param array $headerParameters { - * - * @var string $X-Registry-Auth A base64url-encoded auth configuration for pulling from private - * registries. - * - * Refer to the [authentication section](#section/Authentication) for - * details. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ServiceCreateBadRequestException - * @throws Exception\ServiceCreateForbiddenException - * @throws Exception\ServiceCreateConflictException - * @throws Exception\ServiceCreateInternalServerErrorException - * @throws Exception\ServiceCreateServiceUnavailableException - * - * @return Model\ServiceCreateResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function serviceCreate(?Model\ServicesCreatePostBody $requestBody = null, array $headerParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ServiceCreate($requestBody, $headerParameters), $fetch); - } - - /** - * @param string $id ID or name of service - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ServiceDeleteNotFoundException - * @throws Exception\ServiceDeleteInternalServerErrorException - * @throws Exception\ServiceDeleteServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function serviceDelete(string $id, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ServiceDelete($id, $accept), $fetch); - } - - /** - * @param string $id ID or name of service - * @param array $queryParameters { - * - * @var bool $insertDefaults Fill empty fields with default values. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ServiceInspectNotFoundException - * @throws Exception\ServiceInspectInternalServerErrorException - * @throws Exception\ServiceInspectServiceUnavailableException - * - * @return Model\Service|\Psr\Http\Message\ResponseInterface|null - */ - public function serviceInspect(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ServiceInspect($id, $queryParameters, $accept), $fetch); - } - - /** - * @param string $id ID or name of service - * @param array $queryParameters { - * - * @var int $version The version number of the service object being updated. This is - * required to avoid conflicting writes. - * This version number should be the value as currently set on the - * service *before* the update. You can find the current version by - * calling `GET /services/{id}` - * @var string $registryAuthFrom if the `X-Registry-Auth` header is not specified, this parameter - * indicates where to find registry authorization credentials - * @var string $rollback Set to this parameter to `previous` to cause a server-side rollback - * to the previous service spec. The supplied spec will be ignored in - * this case. - * - * } - * - * @param array $headerParameters { - * - * @var string $X-Registry-Auth A base64url-encoded auth configuration for pulling from private - * registries. - * - * Refer to the [authentication section](#section/Authentication) for - * details. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ServiceUpdateBadRequestException - * @throws Exception\ServiceUpdateNotFoundException - * @throws Exception\ServiceUpdateInternalServerErrorException - * @throws Exception\ServiceUpdateServiceUnavailableException - * - * @return Model\ServiceUpdateResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function serviceUpdate(string $id, ?Model\ServicesIdUpdatePostBody $requestBody = null, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ServiceUpdate($id, $requestBody, $queryParameters, $headerParameters), $fetch); - } - - /** - * Get `stdout` and `stderr` logs from a service. See also - * [`/containers/{id}/logs`](#operation/ContainerLogs). - * - **Note**: This endpoint works only for services with the `local`, - * `json-file` or `journald` logging drivers. - * - * @param string $id ID or name of the service - * @param array $queryParameters { - * - * @var bool $details show service context and extra details provided to logs - * @var bool $follow keep connection after returning logs - * @var bool $stdout Return logs from `stdout` - * @var bool $stderr Return logs from `stderr` - * @var int $since Only return logs since this time, as a UNIX timestamp - * @var bool $timestamps Add timestamps to every log line - * @var string $tail Only return this number of log lines from the end of the logs. - * Specify as an integer or `all` to output all log lines. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/vnd.docker.raw-stream|application/vnd.docker.multiplexed-stream|application/json - * - * @throws Exception\ServiceLogsNotFoundException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function serviceLogs(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ServiceLogs($id, $queryParameters, $accept), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters A JSON encoded value of the filters (a `map[string][]string`) to - * process on the tasks list. - * - * Available filters: - * - * - `desired-state=(running | shutdown | accepted)` - * - `id=` - * - `label=key` or `label="key=value"` - * - `name=` - * - `node=` - * - `service=` - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\TaskListInternalServerErrorException - * @throws Exception\TaskListServiceUnavailableException - * - * @return Model\Task[]|\Psr\Http\Message\ResponseInterface|null - */ - public function taskList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\TaskList($queryParameters), $fetch); - } - - /** - * @param string $id ID of the task - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\TaskInspectNotFoundException - * @throws Exception\TaskInspectInternalServerErrorException - * @throws Exception\TaskInspectServiceUnavailableException - * - * @return Model\Task|\Psr\Http\Message\ResponseInterface|null - */ - public function taskInspect(string $id, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\TaskInspect($id), $fetch); - } - - /** - * Get `stdout` and `stderr` logs from a task. - * See also [`/containers/{id}/logs`](#operation/ContainerLogs). - * - **Note**: This endpoint works only for services with the `local`, - * `json-file` or `journald` logging drivers. - * - * @param string $id ID of the task - * @param array $queryParameters { - * - * @var bool $details show task context and extra details provided to logs - * @var bool $follow keep connection after returning logs - * @var bool $stdout Return logs from `stdout` - * @var bool $stderr Return logs from `stderr` - * @var int $since Only return logs since this time, as a UNIX timestamp - * @var bool $timestamps Add timestamps to every log line - * @var string $tail Only return this number of log lines from the end of the logs. - * Specify as an integer or `all` to output all log lines. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/vnd.docker.raw-stream|application/vnd.docker.multiplexed-stream|application/json - * - * @throws Exception\TaskLogsNotFoundException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function taskLogs(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\TaskLogs($id, $queryParameters, $accept), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters A JSON encoded value of the filters (a `map[string][]string`) to - * process on the secrets list. - * - * Available filters: - * - * - `id=` - * - `label= or label==value` - * - `name=` - * - `names=` - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SecretListInternalServerErrorException - * @throws Exception\SecretListServiceUnavailableException - * - * @return Model\Secret[]|\Psr\Http\Message\ResponseInterface|null - */ - public function secretList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SecretList($queryParameters), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SecretCreateConflictException - * @throws Exception\SecretCreateInternalServerErrorException - * @throws Exception\SecretCreateServiceUnavailableException - * - * @return Model\IdResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function secretCreate(?Model\SecretsCreatePostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SecretCreate($requestBody), $fetch); - } - - /** - * @param string $id ID of the secret - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SecretDeleteNotFoundException - * @throws Exception\SecretDeleteInternalServerErrorException - * @throws Exception\SecretDeleteServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function secretDelete(string $id, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SecretDelete($id), $fetch); - } - - /** - * @param string $id ID of the secret - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\SecretInspectNotFoundException - * @throws Exception\SecretInspectInternalServerErrorException - * @throws Exception\SecretInspectServiceUnavailableException - * - * @return Model\Secret|\Psr\Http\Message\ResponseInterface|null - */ - public function secretInspect(string $id, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\SecretInspect($id), $fetch); - } - - /** - * @param string $id The ID or name of the secret - * @param array $queryParameters { - * - * @var int $version The version number of the secret object being updated. This is - * required to avoid conflicting writes. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\SecretUpdateBadRequestException - * @throws Exception\SecretUpdateNotFoundException - * @throws Exception\SecretUpdateInternalServerErrorException - * @throws Exception\SecretUpdateServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function secretUpdate(string $id, ?Model\SecretSpec $requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\SecretUpdate($id, $requestBody, $queryParameters, $accept), $fetch); - } - - /** - * @param array $queryParameters { - * - * @var string $filters A JSON encoded value of the filters (a `map[string][]string`) to - * process on the configs list. - * - * Available filters: - * - * - `id=` - * - `label= or label==value` - * - `name=` - * - `names=` - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ConfigListInternalServerErrorException - * @throws Exception\ConfigListServiceUnavailableException - * - * @return Model\Config[]|\Psr\Http\Message\ResponseInterface|null - */ - public function configList(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ConfigList($queryParameters), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ConfigCreateConflictException - * @throws Exception\ConfigCreateInternalServerErrorException - * @throws Exception\ConfigCreateServiceUnavailableException - * - * @return Model\IdResponse|\Psr\Http\Message\ResponseInterface|null - */ - public function configCreate(?Model\ConfigsCreatePostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ConfigCreate($requestBody), $fetch); - } - - /** - * @param string $id ID of the config - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ConfigDeleteNotFoundException - * @throws Exception\ConfigDeleteInternalServerErrorException - * @throws Exception\ConfigDeleteServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function configDelete(string $id, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ConfigDelete($id), $fetch); - } - - /** - * @param string $id ID of the config - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\ConfigInspectNotFoundException - * @throws Exception\ConfigInspectInternalServerErrorException - * @throws Exception\ConfigInspectServiceUnavailableException - * - * @return Model\Config|\Psr\Http\Message\ResponseInterface|null - */ - public function configInspect(string $id, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\ConfigInspect($id), $fetch); - } - - /** - * @param string $id The ID or name of the config - * @param array $queryParameters { - * - * @var int $version The version number of the config object being updated. This is - * required to avoid conflicting writes. - * - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * @param array $accept Accept content header application/json|text/plain - * - * @throws Exception\ConfigUpdateBadRequestException - * @throws Exception\ConfigUpdateNotFoundException - * @throws Exception\ConfigUpdateInternalServerErrorException - * @throws Exception\ConfigUpdateServiceUnavailableException - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function configUpdate(string $id, ?Model\ConfigSpec $requestBody = null, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new Endpoint\ConfigUpdate($id, $requestBody, $queryParameters, $accept), $fetch); - } - - /** - * Return image digest and platform information by contacting the registry. - * - * @param string $name Image name or id - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @throws Exception\DistributionInspectUnauthorizedException - * @throws Exception\DistributionInspectInternalServerErrorException - * - * @return Model\DistributionInspect|\Psr\Http\Message\ResponseInterface|null - */ - public function distributionInspect(string $name, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\DistributionInspect($name), $fetch); - } - - /** - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return \Psr\Http\Message\ResponseInterface|null - */ - public function session(string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\Session(), $fetch); - } - - public static function create($httpClient = null, array $additionalPlugins = [], array $additionalNormalizers = []) - { - if (null === $httpClient) { - $httpClient = \Http\Discovery\Psr18ClientDiscovery::find(); - $plugins = []; - $uri = \Http\Discovery\Psr17FactoryDiscovery::findUriFactory()->createUri('/v1.45'); - $plugins[] = new \Http\Client\Common\Plugin\AddPathPlugin($uri); - if (\count($additionalPlugins) > 0) { - $plugins = array_merge($plugins, $additionalPlugins); - } - $httpClient = new \Http\Client\Common\PluginClient($httpClient, $plugins); - } - $requestFactory = \Http\Discovery\Psr17FactoryDiscovery::findRequestFactory(); - $streamFactory = \Http\Discovery\Psr17FactoryDiscovery::findStreamFactory(); - $normalizers = [new \Symfony\Component\Serializer\Normalizer\ArrayDenormalizer(), new Normalizer\JaneObjectNormalizer()]; - if (\count($additionalNormalizers) > 0) { - $normalizers = array_merge($normalizers, $additionalNormalizers); - } - $serializer = new \Symfony\Component\Serializer\Serializer($normalizers, [new \Symfony\Component\Serializer\Encoder\JsonEncoder(new \Symfony\Component\Serializer\Encoder\JsonEncode(), new \Symfony\Component\Serializer\Encoder\JsonDecode(['json_decode_associative' => true]))]); - - return new static($httpClient, $requestFactory, $serializer, $streamFactory); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/BuildPrune.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/BuildPrune.php deleted file mode 100644 index 42ff79e4b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/BuildPrune.php +++ /dev/null @@ -1,91 +0,0 @@ -` remove cache older than ``. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon's local time. - * - `id=` - * - `parent=` - * - `type=` - * - `description=` - * - `inuse` - * - `shared` - * - `private` - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/build/prune'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['keep-storage', 'all', 'filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('keep-storage', ['int']); - $optionsResolver->addAllowedTypes('all', ['bool']); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\BuildPruneInternalServerErrorException - * - * @return \Docker\API\Model\BuildPrunePostResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\BuildPrunePostResponse200', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\BuildPruneInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigCreate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigCreate.php deleted file mode 100644 index 85fe1d9ca..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigCreate.php +++ /dev/null @@ -1,69 +0,0 @@ -body = $requestBody; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/configs/create'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ConfigsCreatePostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ConfigCreateConflictException - * @throws \Docker\API\Exception\ConfigCreateInternalServerErrorException - * @throws \Docker\API\Exception\ConfigCreateServiceUnavailableException - * - * @return \Docker\API\Model\IdResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\IdResponse', 'json'); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigCreateConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigCreateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigCreateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigDelete.php deleted file mode 100644 index fab8786a2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigDelete.php +++ /dev/null @@ -1,68 +0,0 @@ -id = $id; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/configs/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ConfigDeleteNotFoundException - * @throws \Docker\API\Exception\ConfigDeleteInternalServerErrorException - * @throws \Docker\API\Exception\ConfigDeleteServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigDeleteServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigInspect.php deleted file mode 100644 index 55f69426d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigInspect.php +++ /dev/null @@ -1,69 +0,0 @@ -id = $id; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/configs/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ConfigInspectNotFoundException - * @throws \Docker\API\Exception\ConfigInspectInternalServerErrorException - * @throws \Docker\API\Exception\ConfigInspectServiceUnavailableException - * - * @return \Docker\API\Model\Config|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Config', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigInspectServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigList.php deleted file mode 100644 index fff29cf99..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigList.php +++ /dev/null @@ -1,87 +0,0 @@ -` - * - `label= or label==value` - * - `name=` - * - `names=` - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/configs'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ConfigListInternalServerErrorException - * @throws \Docker\API\Exception\ConfigListServiceUnavailableException - * - * @return \Docker\API\Model\Config[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Config[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigListServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigUpdate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigUpdate.php deleted file mode 100644 index d970667dc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ConfigUpdate.php +++ /dev/null @@ -1,106 +0,0 @@ -id = $id; - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/configs/{id}/update'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ConfigSpec) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if ($this->body instanceof \Docker\API\Model\ConfigSpec) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['version']); - $optionsResolver->setRequired(['version']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('version', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ConfigUpdateBadRequestException - * @throws \Docker\API\Exception\ConfigUpdateNotFoundException - * @throws \Docker\API\Exception\ConfigUpdateInternalServerErrorException - * @throws \Docker\API\Exception\ConfigUpdateServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigUpdateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigUpdateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigUpdateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ConfigUpdateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerArchive.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerArchive.php deleted file mode 100644 index 23a3c4b68..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerArchive.php +++ /dev/null @@ -1,90 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/archive'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/x-tar', 'application/json']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['path']); - $optionsResolver->setRequired(['path']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('path', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerArchiveNotFoundException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if (400 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerArchiveNotFoundException($response); - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerArchiveInfo.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerArchiveInfo.php deleted file mode 100644 index 86d663701..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerArchiveInfo.php +++ /dev/null @@ -1,96 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'HEAD'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/archive'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['path']); - $optionsResolver->setRequired(['path']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('path', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerArchiveInfoBadRequestException - * @throws \Docker\API\Exception\ContainerArchiveInfoNotFoundException - * @throws \Docker\API\Exception\ContainerArchiveInfoInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerArchiveInfoBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerArchiveInfoNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerArchiveInfoInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerAttach.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerAttach.php deleted file mode 100644 index a7b40bfbd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerAttach.php +++ /dev/null @@ -1,204 +0,0 @@ -` where `` is one of: `a-z`, - * `@`, `^`, `[`, `,` or `_`. - * @var bool $logs Replay previous logs from the container. - * - * This is useful for attaching to a container that has started and you - * want to output everything since the container started. - * - * If `stream` is also enabled, once all the previous output has been - * returned, it will seamlessly transition into streaming current - * output. - * @var bool $stream stream attached streams from the time the request was made onwards - * @var bool $stdin Attach to `stdin` - * @var bool $stdout Attach to `stdout` - * @var bool $stderr Attach to `stderr` - * } - * - * @param array $accept Accept content header application/vnd.docker.raw-stream|application/vnd.docker.multiplexed-stream|application/json - */ - public function __construct(string $id, array $queryParameters = [], array $accept = []) - { - $this->id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/attach'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/vnd.docker.raw-stream', 'application/vnd.docker.multiplexed-stream', 'application/json']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['detachKeys', 'logs', 'stream', 'stdin', 'stdout', 'stderr']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['logs' => false, 'stream' => false, 'stdin' => false, 'stdout' => false, 'stderr' => false]); - $optionsResolver->addAllowedTypes('detachKeys', ['string']); - $optionsResolver->addAllowedTypes('logs', ['bool']); - $optionsResolver->addAllowedTypes('stream', ['bool']); - $optionsResolver->addAllowedTypes('stdin', ['bool']); - $optionsResolver->addAllowedTypes('stdout', ['bool']); - $optionsResolver->addAllowedTypes('stderr', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerAttachNotFoundException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (101 === $status) { - } - if (200 === $status) { - } - if (400 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerAttachNotFoundException($response); - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerAttachWebsocket.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerAttachWebsocket.php deleted file mode 100644 index 136bd9d84..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerAttachWebsocket.php +++ /dev/null @@ -1,106 +0,0 @@ -` where `` is one of: `a-z`, - * `@`, `^`, `[`, `,`, or `_`. - * @var bool $logs Return logs - * @var bool $stream Return stream - * @var bool $stdin Attach to `stdin` - * @var bool $stdout Attach to `stdout` - * @var bool $stderr Attach to `stderr` - * } - * - * @param array $accept Accept content header application/json|text/plain - */ - public function __construct(string $id, array $queryParameters = [], array $accept = []) - { - $this->id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/attach/ws'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['detachKeys', 'logs', 'stream', 'stdin', 'stdout', 'stderr']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['logs' => false, 'stream' => false, 'stdin' => false, 'stdout' => false, 'stderr' => false]); - $optionsResolver->addAllowedTypes('detachKeys', ['string']); - $optionsResolver->addAllowedTypes('logs', ['bool']); - $optionsResolver->addAllowedTypes('stream', ['bool']); - $optionsResolver->addAllowedTypes('stdin', ['bool']); - $optionsResolver->addAllowedTypes('stdout', ['bool']); - $optionsResolver->addAllowedTypes('stderr', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerAttachWebsocketBadRequestException - * @throws \Docker\API\Exception\ContainerAttachWebsocketNotFoundException - * @throws \Docker\API\Exception\ContainerAttachWebsocketInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (101 === $status) { - } - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerAttachWebsocketBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerAttachWebsocketNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerAttachWebsocketInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerChanges.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerChanges.php deleted file mode 100644 index 6c692ab0e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerChanges.php +++ /dev/null @@ -1,72 +0,0 @@ -id = $id; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/changes'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ContainerChangesNotFoundException - * @throws \Docker\API\Exception\ContainerChangesInternalServerErrorException - * - * @return \Docker\API\Model\FilesystemChange[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\FilesystemChange[]', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerChangesNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerChangesInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerCreate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerCreate.php deleted file mode 100644 index 151a98039..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerCreate.php +++ /dev/null @@ -1,113 +0,0 @@ -body = $requestBody; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/containers/create'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ContainersCreatePostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if ($this->body instanceof \Docker\API\Model\ContainersCreatePostBody) { - return [['Content-Type' => ['application/octet-stream']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['name', 'platform']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('name', ['string']); - $optionsResolver->addAllowedTypes('platform', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerCreateBadRequestException - * @throws \Docker\API\Exception\ContainerCreateNotFoundException - * @throws \Docker\API\Exception\ContainerCreateConflictException - * @throws \Docker\API\Exception\ContainerCreateInternalServerErrorException - * - * @return \Docker\API\Model\ContainerCreateResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ContainerCreateResponse', 'json'); - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerCreateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerCreateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerCreateConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerCreateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerDelete.php deleted file mode 100644 index 280bc5c84..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerDelete.php +++ /dev/null @@ -1,100 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['v', 'force', 'link']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['v' => false, 'force' => false, 'link' => false]); - $optionsResolver->addAllowedTypes('v', ['bool']); - $optionsResolver->addAllowedTypes('force', ['bool']); - $optionsResolver->addAllowedTypes('link', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerDeleteBadRequestException - * @throws \Docker\API\Exception\ContainerDeleteNotFoundException - * @throws \Docker\API\Exception\ContainerDeleteConflictException - * @throws \Docker\API\Exception\ContainerDeleteInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerDeleteBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerDeleteConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerExec.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerExec.php deleted file mode 100644 index 563051a36..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerExec.php +++ /dev/null @@ -1,76 +0,0 @@ -id = $id; - $this->body = $requestBody; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/exec'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ContainersIdExecPostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ContainerExecNotFoundException - * @throws \Docker\API\Exception\ContainerExecConflictException - * @throws \Docker\API\Exception\ContainerExecInternalServerErrorException - * - * @return \Docker\API\Model\IdResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\IdResponse', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerExecNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerExecConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerExecInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerExport.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerExport.php deleted file mode 100644 index 51e57e0ef..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerExport.php +++ /dev/null @@ -1,71 +0,0 @@ -id = $id; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/export'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/octet-stream', 'application/json']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\ContainerExportNotFoundException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerExportNotFoundException($response); - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerInspect.php deleted file mode 100644 index 8b191af70..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerInspect.php +++ /dev/null @@ -1,83 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/json'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['size']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['size' => false]); - $optionsResolver->addAllowedTypes('size', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerInspectNotFoundException - * @throws \Docker\API\Exception\ContainerInspectInternalServerErrorException - * - * @return \Docker\API\Model\ContainersIdJsonGetResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ContainersIdJsonGetResponse200', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerKill.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerKill.php deleted file mode 100644 index bb2077eb6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerKill.php +++ /dev/null @@ -1,96 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/kill'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['signal']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['signal' => 'SIGKILL']); - $optionsResolver->addAllowedTypes('signal', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerKillNotFoundException - * @throws \Docker\API\Exception\ContainerKillConflictException - * @throws \Docker\API\Exception\ContainerKillInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerKillNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerKillConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerKillInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerList.php deleted file mode 100644 index 3a664e999..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerList.php +++ /dev/null @@ -1,113 +0,0 @@ -[:]`, ``, or ``) - * - `before`=(`` or ``) - * - `expose`=(`[/]`|`/[]`) - * - `exited=` containers with exit code of `` - * - `health`=(`starting`|`healthy`|`unhealthy`|`none`) - * - `id=` a container's ID - * - `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only) - * - `is-task=`(`true`|`false`) - * - `label=key` or `label="key=value"` of a container label - * - `name=` a container's name - * - `network`=(`` or ``) - * - `publish`=(`[/]`|`/[]`) - * - `since`=(`` or ``) - * - `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`) - * - `volume`=(`` or ``) - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/containers/json'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['all', 'limit', 'size', 'filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['all' => false, 'size' => false]); - $optionsResolver->addAllowedTypes('all', ['bool']); - $optionsResolver->addAllowedTypes('limit', ['int']); - $optionsResolver->addAllowedTypes('size', ['bool']); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerListBadRequestException - * @throws \Docker\API\Exception\ContainerListInternalServerErrorException - * - * @return \Docker\API\Model\ContainerSummary[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ContainerSummary[]', 'json'); - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerListBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerLogs.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerLogs.php deleted file mode 100644 index 79152dade..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerLogs.php +++ /dev/null @@ -1,105 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/logs'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/vnd.docker.raw-stream', 'application/vnd.docker.multiplexed-stream', 'application/json']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['follow', 'stdout', 'stderr', 'since', 'until', 'timestamps', 'tail']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['follow' => false, 'stdout' => false, 'stderr' => false, 'since' => 0, 'until' => 0, 'timestamps' => false, 'tail' => 'all']); - $optionsResolver->addAllowedTypes('follow', ['bool']); - $optionsResolver->addAllowedTypes('stdout', ['bool']); - $optionsResolver->addAllowedTypes('stderr', ['bool']); - $optionsResolver->addAllowedTypes('since', ['int']); - $optionsResolver->addAllowedTypes('until', ['int']); - $optionsResolver->addAllowedTypes('timestamps', ['bool']); - $optionsResolver->addAllowedTypes('tail', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerLogsNotFoundException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerLogsNotFoundException($response); - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerPause.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerPause.php deleted file mode 100644 index f7afb3d99..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerPause.php +++ /dev/null @@ -1,78 +0,0 @@ -id = $id; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/pause'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\ContainerPauseNotFoundException - * @throws \Docker\API\Exception\ContainerPauseInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerPauseNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerPauseInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerPrune.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerPrune.php deleted file mode 100644 index b2f1851f9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerPrune.php +++ /dev/null @@ -1,79 +0,0 @@ -` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - * - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels. - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/containers/prune'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerPruneInternalServerErrorException - * - * @return \Docker\API\Model\ContainersPrunePostResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ContainersPrunePostResponse200', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerPruneInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerRename.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerRename.php deleted file mode 100644 index 2b41a510c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerRename.php +++ /dev/null @@ -1,92 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/rename'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['name']); - $optionsResolver->setRequired(['name']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('name', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerRenameNotFoundException - * @throws \Docker\API\Exception\ContainerRenameConflictException - * @throws \Docker\API\Exception\ContainerRenameInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerRenameNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerRenameConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerRenameInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerResize.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerResize.php deleted file mode 100644 index e3c57d205..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerResize.php +++ /dev/null @@ -1,90 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/resize'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['text/plain', 'application/json']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['h', 'w']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('h', ['int']); - $optionsResolver->addAllowedTypes('w', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerResizeNotFoundException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerResizeNotFoundException($response); - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerRestart.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerRestart.php deleted file mode 100644 index 2a7abaa65..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerRestart.php +++ /dev/null @@ -1,90 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/restart'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['signal', 't']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('signal', ['string']); - $optionsResolver->addAllowedTypes('t', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerRestartNotFoundException - * @throws \Docker\API\Exception\ContainerRestartInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerRestartNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerRestartInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStart.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStart.php deleted file mode 100644 index fc9a7ce4c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStart.php +++ /dev/null @@ -1,93 +0,0 @@ -` where `` is one - * of: `a-z`, `@`, `^`, `[`, `,` or `_`. - * - * } - * - * @param array $accept Accept content header application/json|text/plain - */ - public function __construct(string $id, array $queryParameters = [], array $accept = []) - { - $this->id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/start'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['detachKeys']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('detachKeys', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerStartNotFoundException - * @throws \Docker\API\Exception\ContainerStartInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if (304 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerStartNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerStartInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStats.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStats.php deleted file mode 100644 index 84b631d11..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStats.php +++ /dev/null @@ -1,113 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/stats'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['stream', 'one-shot']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['stream' => true, 'one-shot' => false]); - $optionsResolver->addAllowedTypes('stream', ['bool']); - $optionsResolver->addAllowedTypes('one-shot', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerStatsNotFoundException - * @throws \Docker\API\Exception\ContainerStatsInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return json_decode($body); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerStatsNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerStatsInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStop.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStop.php deleted file mode 100644 index 95f14baa2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerStop.php +++ /dev/null @@ -1,92 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/stop'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['signal', 't']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('signal', ['string']); - $optionsResolver->addAllowedTypes('t', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerStopNotFoundException - * @throws \Docker\API\Exception\ContainerStopInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if (304 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerStopNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerStopInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerTop.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerTop.php deleted file mode 100644 index 51dc05c4a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerTop.php +++ /dev/null @@ -1,92 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/top'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['ps_args']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['ps_args' => '-ef']); - $optionsResolver->addAllowedTypes('ps_args', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerTopNotFoundException - * @throws \Docker\API\Exception\ContainerTopInternalServerErrorException - * - * @return \Docker\API\Model\ContainersIdTopGetJsonResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ContainersIdTopGetJsonResponse200', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerTopNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerTopInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerUnpause.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerUnpause.php deleted file mode 100644 index ce6de1af9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerUnpause.php +++ /dev/null @@ -1,73 +0,0 @@ -id = $id; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/unpause'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\ContainerUnpauseNotFoundException - * @throws \Docker\API\Exception\ContainerUnpauseInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerUnpauseNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerUnpauseInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerUpdate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerUpdate.php deleted file mode 100644 index 30b4fb2df..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerUpdate.php +++ /dev/null @@ -1,73 +0,0 @@ -id = $id; - $this->body = $requestBody; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/update'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ContainersIdUpdatePostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ContainerUpdateNotFoundException - * @throws \Docker\API\Exception\ContainerUpdateInternalServerErrorException - * - * @return \Docker\API\Model\ContainersIdUpdatePostResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ContainersIdUpdatePostResponse200', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerUpdateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerUpdateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerWait.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerWait.php deleted file mode 100644 index 3bb7c34a8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ContainerWait.php +++ /dev/null @@ -1,90 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/wait'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['condition']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['condition' => 'not-running']); - $optionsResolver->addAllowedTypes('condition', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ContainerWaitBadRequestException - * @throws \Docker\API\Exception\ContainerWaitNotFoundException - * @throws \Docker\API\Exception\ContainerWaitInternalServerErrorException - * - * @return \Docker\API\Model\ContainerWaitResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ContainerWaitResponse', 'json'); - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerWaitBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerWaitNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ContainerWaitInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/DistributionInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/DistributionInspect.php deleted file mode 100644 index 35954e69e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/DistributionInspect.php +++ /dev/null @@ -1,67 +0,0 @@ -name = $name; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/distribution/{name}/json'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\DistributionInspectUnauthorizedException - * @throws \Docker\API\Exception\DistributionInspectInternalServerErrorException - * - * @return \Docker\API\Model\DistributionInspect|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\DistributionInspect', 'json'); - } - if ((null === $contentType) === false && (401 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\DistributionInspectUnauthorizedException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\DistributionInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecInspect.php deleted file mode 100644 index 44f95cfbd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecInspect.php +++ /dev/null @@ -1,67 +0,0 @@ -id = $id; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/exec/{id}/json'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ExecInspectNotFoundException - * @throws \Docker\API\Exception\ExecInspectInternalServerErrorException - * - * @return \Docker\API\Model\ExecIdJsonGetResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ExecIdJsonGetResponse200', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ExecInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ExecInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecResize.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecResize.php deleted file mode 100644 index 9eec67884..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecResize.php +++ /dev/null @@ -1,97 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/exec/{id}/resize'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['h', 'w']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('h', ['int']); - $optionsResolver->addAllowedTypes('w', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ExecResizeBadRequestException - * @throws \Docker\API\Exception\ExecResizeNotFoundException - * @throws \Docker\API\Exception\ExecResizeInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ExecResizeBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ExecResizeNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ExecResizeInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecStart.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecStart.php deleted file mode 100644 index d42f26194..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ExecStart.php +++ /dev/null @@ -1,75 +0,0 @@ -id = $id; - $this->body = $requestBody; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/exec/{id}/start'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ExecIdStartPostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/vnd.docker.raw-stream', 'application/vnd.docker.multiplexed-stream']]; - } - - return $this->accept; - } - - /** - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if (404 === $status) { - } - if (409 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/GetPluginPrivileges.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/GetPluginPrivileges.php deleted file mode 100644 index 95f39e06d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/GetPluginPrivileges.php +++ /dev/null @@ -1,84 +0,0 @@ -queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/plugins/privileges'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['remote']); - $optionsResolver->setRequired(['remote']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('remote', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\GetPluginPrivilegesInternalServerErrorException - * - * @return \Docker\API\Model\PluginPrivilege[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\PluginPrivilege[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\GetPluginPrivilegesInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageBuild.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageBuild.php deleted file mode 100644 index fb4dcf428..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageBuild.php +++ /dev/null @@ -1,187 +0,0 @@ -`. - * Any other value is taken as a custom network's name or ID to which this - * container should connect to. - * @var string $platform Platform in the format os[/arch[/variant]] - * @var string $target Target build stage - * @var string $outputs BuildKit output configuration - * @var string $version Version of the builder backend to use. - * - * - `1` is the first generation classic (deprecated) builder in the Docker daemon (default) - * - `2` is [BuildKit](https://github.com/moby/buildkit) - * - * } - * - * @param array $headerParameters { - * - * @var string $Content-type - * @var string $X-Registry-Config This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to. - * - * The key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example: - * - * ``` - * { - * "docker.example.com": { - * "username": "janedoe", - * "password": "hunter2" - * }, - * "https://index.docker.io/v1/": { - * "username": "mobydock", - * "password": "conta1n3rize14" - * } - * } - * ``` - * - * Only the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API. - * - * } - */ - public function __construct($requestBody = null, array $queryParameters = [], array $headerParameters = []) - { - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - $this->headerParameters = $headerParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/build'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if (\is_string($this->body) || \is_resource($this->body) || $this->body instanceof \Psr\Http\Message\StreamInterface) { - return [['Content-Type' => ['application/octet-stream']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['dockerfile', 't', 'extrahosts', 'remote', 'q', 'nocache', 'cachefrom', 'pull', 'rm', 'forcerm', 'memory', 'memswap', 'cpushares', 'cpusetcpus', 'cpuperiod', 'cpuquota', 'buildargs', 'shmsize', 'squash', 'labels', 'networkmode', 'platform', 'target', 'outputs', 'version']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['dockerfile' => 'Dockerfile', 'q' => false, 'nocache' => false, 'rm' => true, 'forcerm' => false, 'version' => '1']); - $optionsResolver->addAllowedTypes('dockerfile', ['string']); - $optionsResolver->addAllowedTypes('t', ['string']); - $optionsResolver->addAllowedTypes('extrahosts', ['string']); - $optionsResolver->addAllowedTypes('remote', ['string']); - $optionsResolver->addAllowedTypes('q', ['bool']); - $optionsResolver->addAllowedTypes('nocache', ['bool']); - $optionsResolver->addAllowedTypes('cachefrom', ['string']); - $optionsResolver->addAllowedTypes('pull', ['string']); - $optionsResolver->addAllowedTypes('rm', ['bool']); - $optionsResolver->addAllowedTypes('forcerm', ['bool']); - $optionsResolver->addAllowedTypes('memory', ['int']); - $optionsResolver->addAllowedTypes('memswap', ['int']); - $optionsResolver->addAllowedTypes('cpushares', ['int']); - $optionsResolver->addAllowedTypes('cpusetcpus', ['string']); - $optionsResolver->addAllowedTypes('cpuperiod', ['int']); - $optionsResolver->addAllowedTypes('cpuquota', ['int']); - $optionsResolver->addAllowedTypes('buildargs', ['string']); - $optionsResolver->addAllowedTypes('shmsize', ['int']); - $optionsResolver->addAllowedTypes('squash', ['bool']); - $optionsResolver->addAllowedTypes('labels', ['string']); - $optionsResolver->addAllowedTypes('networkmode', ['string']); - $optionsResolver->addAllowedTypes('platform', ['string']); - $optionsResolver->addAllowedTypes('target', ['string']); - $optionsResolver->addAllowedTypes('outputs', ['string']); - $optionsResolver->addAllowedTypes('version', ['string']); - - return $optionsResolver; - } - - protected function getHeadersOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getHeadersOptionsResolver(); - $optionsResolver->setDefined(['Content-type', 'X-Registry-Config']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['Content-type' => 'application/x-tar']); - $optionsResolver->addAllowedTypes('Content-type', ['string']); - $optionsResolver->addAllowedTypes('X-Registry-Config', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImageBuildBadRequestException - * @throws \Docker\API\Exception\ImageBuildInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageBuildBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageBuildInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageCommit.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageCommit.php deleted file mode 100644 index 673ebe211..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageCommit.php +++ /dev/null @@ -1,95 +0,0 @@ -`) - * @var bool $pause Whether to pause the container before committing - * @var string $changes `Dockerfile` instructions to apply while committing - * } - */ - public function __construct(?\Docker\API\Model\ContainerConfig $requestBody = null, array $queryParameters = []) - { - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/commit'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ContainerConfig) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['container', 'repo', 'tag', 'comment', 'author', 'pause', 'changes']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['pause' => true]); - $optionsResolver->addAllowedTypes('container', ['string']); - $optionsResolver->addAllowedTypes('repo', ['string']); - $optionsResolver->addAllowedTypes('tag', ['string']); - $optionsResolver->addAllowedTypes('comment', ['string']); - $optionsResolver->addAllowedTypes('author', ['string']); - $optionsResolver->addAllowedTypes('pause', ['bool']); - $optionsResolver->addAllowedTypes('changes', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImageCommitNotFoundException - * @throws \Docker\API\Exception\ImageCommitInternalServerErrorException - * - * @return \Docker\API\Model\IdResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\IdResponse', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageCommitNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageCommitInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageCreate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageCreate.php deleted file mode 100644 index 0328531f4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageCreate.php +++ /dev/null @@ -1,140 +0,0 @@ -body = $requestBody; - $this->queryParameters = $queryParameters; - $this->headerParameters = $headerParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/images/create'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if (\is_string($this->body)) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - if (\is_string($this->body)) { - return [['Content-Type' => ['application/octet-stream']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['fromImage', 'fromSrc', 'repo', 'tag', 'message', 'changes', 'platform']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('fromImage', ['string']); - $optionsResolver->addAllowedTypes('fromSrc', ['string']); - $optionsResolver->addAllowedTypes('repo', ['string']); - $optionsResolver->addAllowedTypes('tag', ['string']); - $optionsResolver->addAllowedTypes('message', ['string']); - $optionsResolver->addAllowedTypes('changes', ['array']); - $optionsResolver->addAllowedTypes('platform', ['string']); - - return $optionsResolver; - } - - protected function getHeadersOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getHeadersOptionsResolver(); - $optionsResolver->setDefined(['X-Registry-Auth']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('X-Registry-Auth', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImageCreateNotFoundException - * @throws \Docker\API\Exception\ImageCreateInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageCreateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageCreateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageDelete.php deleted file mode 100644 index b1e4a5fb7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageDelete.php +++ /dev/null @@ -1,93 +0,0 @@ -name = $name; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/images/{name}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['force', 'noprune']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['force' => false, 'noprune' => false]); - $optionsResolver->addAllowedTypes('force', ['bool']); - $optionsResolver->addAllowedTypes('noprune', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImageDeleteNotFoundException - * @throws \Docker\API\Exception\ImageDeleteConflictException - * @throws \Docker\API\Exception\ImageDeleteInternalServerErrorException - * - * @return \Docker\API\Model\ImageDeleteResponseItem[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ImageDeleteResponseItem[]', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageDeleteConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageGet.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageGet.php deleted file mode 100644 index b6adfd64a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageGet.php +++ /dev/null @@ -1,81 +0,0 @@ -name = $name; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/images/{name}/get'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/x-tar']]; - } - - /** - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageGetAll.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageGetAll.php deleted file mode 100644 index 51bbd600f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageGetAll.php +++ /dev/null @@ -1,81 +0,0 @@ -queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/images/get'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/x-tar']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['names']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('names', ['array']); - - return $optionsResolver; - } - - /** - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageHistory.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageHistory.php deleted file mode 100644 index 7b79220a3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageHistory.php +++ /dev/null @@ -1,67 +0,0 @@ -name = $name; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/images/{name}/history'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ImageHistoryNotFoundException - * @throws \Docker\API\Exception\ImageHistoryInternalServerErrorException - * - * @return \Docker\API\Model\ImagesNameHistoryGetResponse200Item[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ImagesNameHistoryGetResponse200Item[]', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageHistoryNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageHistoryInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageInspect.php deleted file mode 100644 index 39d4b291d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageInspect.php +++ /dev/null @@ -1,67 +0,0 @@ -name = $name; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/images/{name}/json'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\ImageInspectNotFoundException - * @throws \Docker\API\Exception\ImageInspectInternalServerErrorException - * - * @return \Docker\API\Model\ImageInspect|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ImageInspect', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageList.php deleted file mode 100644 index 30dbe12f1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageList.php +++ /dev/null @@ -1,92 +0,0 @@ -[:]`, `` or ``) - * - `dangling=true` - * - `label=key` or `label="key=value"` of an image label - * - `reference`=(`[:]`) - * - `since`=(`[:]`, `` or ``) - * - `until=` - * @var bool $shared-size Compute and show shared size as a `SharedSize` field on each image - * @var bool $digests Show digest information as a `RepoDigests` field on each image. - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/images/json'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['all', 'filters', 'shared-size', 'digests']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['all' => false, 'shared-size' => false, 'digests' => false]); - $optionsResolver->addAllowedTypes('all', ['bool']); - $optionsResolver->addAllowedTypes('filters', ['string']); - $optionsResolver->addAllowedTypes('shared-size', ['bool']); - $optionsResolver->addAllowedTypes('digests', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImageListInternalServerErrorException - * - * @return \Docker\API\Model\ImageSummary[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ImageSummary[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageLoad.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageLoad.php deleted file mode 100644 index 6c67c6a4e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageLoad.php +++ /dev/null @@ -1,83 +0,0 @@ -body = $requestBody; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/images/load'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if (\is_string($this->body) || \is_resource($this->body) || $this->body instanceof \Psr\Http\Message\StreamInterface) { - return [['Content-Type' => ['application/x-tar']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['quiet']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['quiet' => false]); - $optionsResolver->addAllowedTypes('quiet', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImageLoadInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageLoadInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImagePrune.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImagePrune.php deleted file mode 100644 index 0332a23b1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImagePrune.php +++ /dev/null @@ -1,81 +0,0 @@ -` When set to `true` (or `1`), prune only - * unused *and* untagged images. When set to `false` - * (or `0`), all unused images are pruned. - * - `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - * - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels. - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/images/prune'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImagePruneInternalServerErrorException - * - * @return \Docker\API\Model\ImagesPrunePostResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ImagesPrunePostResponse200', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImagePruneInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImagePush.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImagePush.php deleted file mode 100644 index de7f7b3c1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImagePush.php +++ /dev/null @@ -1,117 +0,0 @@ -name = $name; - $this->queryParameters = $queryParameters; - $this->headerParameters = $headerParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/images/{name}/push'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['tag']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('tag', ['string']); - - return $optionsResolver; - } - - protected function getHeadersOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getHeadersOptionsResolver(); - $optionsResolver->setDefined(['X-Registry-Auth']); - $optionsResolver->setRequired(['X-Registry-Auth']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('X-Registry-Auth', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImagePushNotFoundException - * @throws \Docker\API\Exception\ImagePushInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImagePushNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImagePushInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageSearch.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageSearch.php deleted file mode 100644 index fcc4cb36a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageSearch.php +++ /dev/null @@ -1,84 +0,0 @@ -` Matches images that has at least 'number' stars. - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/images/search'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['term', 'limit', 'filters']); - $optionsResolver->setRequired(['term']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('term', ['string']); - $optionsResolver->addAllowedTypes('limit', ['int']); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImageSearchInternalServerErrorException - * - * @return \Docker\API\Model\ImagesSearchGetResponse200Item[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ImagesSearchGetResponse200Item[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageSearchInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageTag.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageTag.php deleted file mode 100644 index b896956bb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ImageTag.php +++ /dev/null @@ -1,100 +0,0 @@ -name = $name; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/images/{name}/tag'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['repo', 'tag']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('repo', ['string']); - $optionsResolver->addAllowedTypes('tag', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ImageTagBadRequestException - * @throws \Docker\API\Exception\ImageTagNotFoundException - * @throws \Docker\API\Exception\ImageTagConflictException - * @throws \Docker\API\Exception\ImageTagInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (201 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageTagBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageTagNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageTagConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ImageTagInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkConnect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkConnect.php deleted file mode 100644 index 5add64516..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkConnect.php +++ /dev/null @@ -1,86 +0,0 @@ -id = $id; - $this->body = $requestBody; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/networks/{id}/connect'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\NetworksIdConnectPostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\NetworkConnectBadRequestException - * @throws \Docker\API\Exception\NetworkConnectForbiddenException - * @throws \Docker\API\Exception\NetworkConnectNotFoundException - * @throws \Docker\API\Exception\NetworkConnectInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkConnectBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (403 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkConnectForbiddenException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkConnectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkConnectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkCreate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkCreate.php deleted file mode 100644 index c674fda5e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkCreate.php +++ /dev/null @@ -1,73 +0,0 @@ -body = $requestBody; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/networks/create'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\NetworksCreatePostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\NetworkCreateBadRequestException - * @throws \Docker\API\Exception\NetworkCreateForbiddenException - * @throws \Docker\API\Exception\NetworkCreateNotFoundException - * @throws \Docker\API\Exception\NetworkCreateInternalServerErrorException - * - * @return \Docker\API\Model\NetworksCreatePostResponse201|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\NetworksCreatePostResponse201', 'json'); - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkCreateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (403 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkCreateForbiddenException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkCreateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkCreateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkDelete.php deleted file mode 100644 index 50a8cad44..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkDelete.php +++ /dev/null @@ -1,75 +0,0 @@ -id = $id; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/networks/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\NetworkDeleteForbiddenException - * @throws \Docker\API\Exception\NetworkDeleteNotFoundException - * @throws \Docker\API\Exception\NetworkDeleteInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (403 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkDeleteForbiddenException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkDisconnect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkDisconnect.php deleted file mode 100644 index 87e4cb714..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkDisconnect.php +++ /dev/null @@ -1,80 +0,0 @@ -id = $id; - $this->body = $requestBody; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/networks/{id}/disconnect'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\NetworksIdDisconnectPostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\NetworkDisconnectForbiddenException - * @throws \Docker\API\Exception\NetworkDisconnectNotFoundException - * @throws \Docker\API\Exception\NetworkDisconnectInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (403 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkDisconnectForbiddenException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkDisconnectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkDisconnectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkInspect.php deleted file mode 100644 index 210542516..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkInspect.php +++ /dev/null @@ -1,83 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/networks/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['verbose', 'scope']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['verbose' => false]); - $optionsResolver->addAllowedTypes('verbose', ['bool']); - $optionsResolver->addAllowedTypes('scope', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\NetworkInspectNotFoundException - * @throws \Docker\API\Exception\NetworkInspectInternalServerErrorException - * - * @return \Docker\API\Model\Network|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Network', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkList.php deleted file mode 100644 index a008a6d38..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkList.php +++ /dev/null @@ -1,96 +0,0 @@ -` When set to `true` (or `1`), returns all - * networks that are not in use by a container. When set to `false` - * (or `0`), only networks that are in use by one or more - * containers are returned. - * - `driver=` Matches a network's driver. - * - `id=` Matches all or part of a network ID. - * - `label=` or `label==` of a network label. - * - `name=` Matches all or part of a network name. - * - `scope=["swarm"|"global"|"local"]` Filters networks by scope (`swarm`, `global`, or `local`). - * - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks. - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/networks'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\NetworkListInternalServerErrorException - * - * @return \Docker\API\Model\Network[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Network[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkPrune.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkPrune.php deleted file mode 100644 index e52b92650..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NetworkPrune.php +++ /dev/null @@ -1,79 +0,0 @@ -` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - * - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels. - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/networks/prune'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\NetworkPruneInternalServerErrorException - * - * @return \Docker\API\Model\NetworksPrunePostResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\NetworksPrunePostResponse200', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NetworkPruneInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeDelete.php deleted file mode 100644 index c60a842ac..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeDelete.php +++ /dev/null @@ -1,92 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/nodes/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['force']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['force' => false]); - $optionsResolver->addAllowedTypes('force', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\NodeDeleteNotFoundException - * @throws \Docker\API\Exception\NodeDeleteInternalServerErrorException - * @throws \Docker\API\Exception\NodeDeleteServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeDeleteServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeInspect.php deleted file mode 100644 index 34caa74f7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeInspect.php +++ /dev/null @@ -1,76 +0,0 @@ -id = $id; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/nodes/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\NodeInspectNotFoundException - * @throws \Docker\API\Exception\NodeInspectInternalServerErrorException - * @throws \Docker\API\Exception\NodeInspectServiceUnavailableException - * - * @return \Docker\API\Model\Node|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Node', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeInspectServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeList.php deleted file mode 100644 index 8d800b370..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeList.php +++ /dev/null @@ -1,95 +0,0 @@ -` - * - `label=` - * - `membership=`(`accepted`|`pending`)` - * - `name=` - * - `node.label=` - * - `role=`(`manager`|`worker`)` - * - * } - * - * @param array $accept Accept content header application/json|text/plain - */ - public function __construct(array $queryParameters = [], array $accept = []) - { - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/nodes'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\NodeListInternalServerErrorException - * @throws \Docker\API\Exception\NodeListServiceUnavailableException - * - * @return \Docker\API\Model\Node[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Node[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeListServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeUpdate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeUpdate.php deleted file mode 100644 index 64446dcaf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/NodeUpdate.php +++ /dev/null @@ -1,106 +0,0 @@ -id = $id; - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/nodes/{id}/update'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\NodeSpec) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if ($this->body instanceof \Docker\API\Model\NodeSpec) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['version']); - $optionsResolver->setRequired(['version']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('version', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\NodeUpdateBadRequestException - * @throws \Docker\API\Exception\NodeUpdateNotFoundException - * @throws \Docker\API\Exception\NodeUpdateInternalServerErrorException - * @throws \Docker\API\Exception\NodeUpdateServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeUpdateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeUpdateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeUpdateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\NodeUpdateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginCreate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginCreate.php deleted file mode 100644 index e69360551..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginCreate.php +++ /dev/null @@ -1,89 +0,0 @@ -body = $requestBody; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/plugins/create'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if (\is_string($this->body) || \is_resource($this->body) || $this->body instanceof \Psr\Http\Message\StreamInterface) { - return [['Content-Type' => ['application/x-tar']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['name']); - $optionsResolver->setRequired(['name']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('name', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\PluginCreateInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginCreateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginDelete.php deleted file mode 100644 index fe6131748..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginDelete.php +++ /dev/null @@ -1,92 +0,0 @@ -name = $name; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/plugins/{name}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['force']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['force' => false]); - $optionsResolver->addAllowedTypes('force', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\PluginDeleteNotFoundException - * @throws \Docker\API\Exception\PluginDeleteInternalServerErrorException - * - * @return \Docker\API\Model\Plugin|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Plugin', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginDisable.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginDisable.php deleted file mode 100644 index 7ab02fb14..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginDisable.php +++ /dev/null @@ -1,90 +0,0 @@ -name = $name; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/plugins/{name}/disable'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['force']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('force', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\PluginDisableNotFoundException - * @throws \Docker\API\Exception\PluginDisableInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginDisableNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginDisableInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginEnable.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginEnable.php deleted file mode 100644 index 83e733024..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginEnable.php +++ /dev/null @@ -1,89 +0,0 @@ -name = $name; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/plugins/{name}/enable'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['timeout']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['timeout' => 0]); - $optionsResolver->addAllowedTypes('timeout', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\PluginEnableNotFoundException - * @throws \Docker\API\Exception\PluginEnableInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginEnableNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginEnableInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginInspect.php deleted file mode 100644 index 2a9b58833..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginInspect.php +++ /dev/null @@ -1,73 +0,0 @@ -name = $name; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/plugins/{name}/json'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\PluginInspectNotFoundException - * @throws \Docker\API\Exception\PluginInspectInternalServerErrorException - * - * @return \Docker\API\Model\Plugin|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Plugin', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginList.php deleted file mode 100644 index 75a79581d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginList.php +++ /dev/null @@ -1,83 +0,0 @@ -` - * - `enable=|` - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/plugins'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\PluginListInternalServerErrorException - * - * @return \Docker\API\Model\Plugin[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Plugin[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginPull.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginPull.php deleted file mode 100644 index b7380cde9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginPull.php +++ /dev/null @@ -1,114 +0,0 @@ -body = $requestBody; - $this->queryParameters = $queryParameters; - $this->headerParameters = $headerParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/plugins/pull'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if (\is_array($this->body) && isset($this->body[0]) && $this->body[0] instanceof \Docker\API\Model\PluginPrivilege) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if (\is_array($this->body) && isset($this->body[0]) && $this->body[0] instanceof \Docker\API\Model\PluginPrivilege) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['remote', 'name']); - $optionsResolver->setRequired(['remote']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('remote', ['string']); - $optionsResolver->addAllowedTypes('name', ['string']); - - return $optionsResolver; - } - - protected function getHeadersOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getHeadersOptionsResolver(); - $optionsResolver->setDefined(['X-Registry-Auth']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('X-Registry-Auth', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\PluginPullInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginPullInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginPush.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginPush.php deleted file mode 100644 index 4b8102905..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginPush.php +++ /dev/null @@ -1,74 +0,0 @@ -name = $name; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/plugins/{name}/push'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\PluginPushNotFoundException - * @throws \Docker\API\Exception\PluginPushInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginPushNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginPushInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginSet.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginSet.php deleted file mode 100644 index d9d9c89bf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginSet.php +++ /dev/null @@ -1,78 +0,0 @@ -name = $name; - $this->body = $requestBody; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/plugins/{name}/set'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if (\is_array($this->body) && isset($this->body[0]) && \is_array($this->body[0])) { - return [['Content-Type' => ['application/json']], json_encode($this->body)]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\PluginSetNotFoundException - * @throws \Docker\API\Exception\PluginSetInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginSetNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginSetInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginUpgrade.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginUpgrade.php deleted file mode 100644 index d0daeed26..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PluginUpgrade.php +++ /dev/null @@ -1,123 +0,0 @@ -name = $name; - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - $this->headerParameters = $headerParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/plugins/{name}/upgrade'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if (\is_array($this->body) && isset($this->body[0]) && $this->body[0] instanceof \Docker\API\Model\PluginPrivilege) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if (\is_array($this->body) && isset($this->body[0]) && $this->body[0] instanceof \Docker\API\Model\PluginPrivilege) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['remote']); - $optionsResolver->setRequired(['remote']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('remote', ['string']); - - return $optionsResolver; - } - - protected function getHeadersOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getHeadersOptionsResolver(); - $optionsResolver->setDefined(['X-Registry-Auth']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('X-Registry-Auth', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\PluginUpgradeNotFoundException - * @throws \Docker\API\Exception\PluginUpgradeInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginUpgradeNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PluginUpgradeInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PutContainerArchive.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/PutContainerArchive.php deleted file mode 100644 index c425375e9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/PutContainerArchive.php +++ /dev/null @@ -1,117 +0,0 @@ -id = $id; - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'PUT'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/containers/{id}/archive'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if (\is_string($this->body) || \is_resource($this->body) || $this->body instanceof \Psr\Http\Message\StreamInterface) { - return [['Content-Type' => ['application/x-tar']], $this->body]; - } - if (\is_string($this->body) || \is_resource($this->body) || $this->body instanceof \Psr\Http\Message\StreamInterface) { - return [['Content-Type' => ['application/octet-stream']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['path', 'noOverwriteDirNonDir', 'copyUIDGID']); - $optionsResolver->setRequired(['path']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('path', ['string']); - $optionsResolver->addAllowedTypes('noOverwriteDirNonDir', ['string']); - $optionsResolver->addAllowedTypes('copyUIDGID', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\PutContainerArchiveBadRequestException - * @throws \Docker\API\Exception\PutContainerArchiveForbiddenException - * @throws \Docker\API\Exception\PutContainerArchiveNotFoundException - * @throws \Docker\API\Exception\PutContainerArchiveInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PutContainerArchiveBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (403 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PutContainerArchiveForbiddenException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PutContainerArchiveNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\PutContainerArchiveInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretCreate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretCreate.php deleted file mode 100644 index b2e9a2a32..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretCreate.php +++ /dev/null @@ -1,69 +0,0 @@ -body = $requestBody; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/secrets/create'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\SecretsCreatePostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\SecretCreateConflictException - * @throws \Docker\API\Exception\SecretCreateInternalServerErrorException - * @throws \Docker\API\Exception\SecretCreateServiceUnavailableException - * - * @return \Docker\API\Model\IdResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\IdResponse', 'json'); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretCreateConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretCreateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretCreateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretDelete.php deleted file mode 100644 index 619a4966c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretDelete.php +++ /dev/null @@ -1,68 +0,0 @@ -id = $id; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/secrets/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\SecretDeleteNotFoundException - * @throws \Docker\API\Exception\SecretDeleteInternalServerErrorException - * @throws \Docker\API\Exception\SecretDeleteServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretDeleteServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretInspect.php deleted file mode 100644 index c15203bce..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretInspect.php +++ /dev/null @@ -1,69 +0,0 @@ -id = $id; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/secrets/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\SecretInspectNotFoundException - * @throws \Docker\API\Exception\SecretInspectInternalServerErrorException - * @throws \Docker\API\Exception\SecretInspectServiceUnavailableException - * - * @return \Docker\API\Model\Secret|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Secret', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretInspectServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretList.php deleted file mode 100644 index 2f23ed2ca..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretList.php +++ /dev/null @@ -1,87 +0,0 @@ -` - * - `label= or label==value` - * - `name=` - * - `names=` - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/secrets'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\SecretListInternalServerErrorException - * @throws \Docker\API\Exception\SecretListServiceUnavailableException - * - * @return \Docker\API\Model\Secret[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Secret[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretListServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretUpdate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretUpdate.php deleted file mode 100644 index d9f4fc480..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SecretUpdate.php +++ /dev/null @@ -1,106 +0,0 @@ -id = $id; - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/secrets/{id}/update'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\SecretSpec) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if ($this->body instanceof \Docker\API\Model\SecretSpec) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['version']); - $optionsResolver->setRequired(['version']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('version', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\SecretUpdateBadRequestException - * @throws \Docker\API\Exception\SecretUpdateNotFoundException - * @throws \Docker\API\Exception\SecretUpdateInternalServerErrorException - * @throws \Docker\API\Exception\SecretUpdateServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretUpdateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretUpdateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretUpdateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SecretUpdateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceCreate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceCreate.php deleted file mode 100644 index 0c21165d8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceCreate.php +++ /dev/null @@ -1,100 +0,0 @@ -body = $requestBody; - $this->headerParameters = $headerParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/services/create'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ServicesCreatePostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getHeadersOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getHeadersOptionsResolver(); - $optionsResolver->setDefined(['X-Registry-Auth']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('X-Registry-Auth', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ServiceCreateBadRequestException - * @throws \Docker\API\Exception\ServiceCreateForbiddenException - * @throws \Docker\API\Exception\ServiceCreateConflictException - * @throws \Docker\API\Exception\ServiceCreateInternalServerErrorException - * @throws \Docker\API\Exception\ServiceCreateServiceUnavailableException - * - * @return \Docker\API\Model\ServiceCreateResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ServiceCreateResponse', 'json'); - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceCreateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (403 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceCreateForbiddenException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceCreateConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceCreateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceCreateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceDelete.php deleted file mode 100644 index 388c4988f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceDelete.php +++ /dev/null @@ -1,75 +0,0 @@ -id = $id; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/services/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\ServiceDeleteNotFoundException - * @throws \Docker\API\Exception\ServiceDeleteInternalServerErrorException - * @throws \Docker\API\Exception\ServiceDeleteServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceDeleteServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceInspect.php deleted file mode 100644 index 769d95400..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceInspect.php +++ /dev/null @@ -1,93 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/services/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['insertDefaults']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['insertDefaults' => false]); - $optionsResolver->addAllowedTypes('insertDefaults', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ServiceInspectNotFoundException - * @throws \Docker\API\Exception\ServiceInspectInternalServerErrorException - * @throws \Docker\API\Exception\ServiceInspectServiceUnavailableException - * - * @return \Docker\API\Model\Service|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Service', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceInspectServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceList.php deleted file mode 100644 index f7ef015f4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceList.php +++ /dev/null @@ -1,97 +0,0 @@ -` - * - `label=` - * - `mode=["replicated"|"global"]` - * - `name=` - * @var bool $status Include service status, with count of running and desired tasks. - * - * } - * - * @param array $accept Accept content header application/json|text/plain - */ - public function __construct(array $queryParameters = [], array $accept = []) - { - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/services'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters', 'status']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - $optionsResolver->addAllowedTypes('status', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ServiceListInternalServerErrorException - * @throws \Docker\API\Exception\ServiceListServiceUnavailableException - * - * @return \Docker\API\Model\Service[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Service[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceListServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceLogs.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceLogs.php deleted file mode 100644 index 7ec315c2b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceLogs.php +++ /dev/null @@ -1,108 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/services/{id}/logs'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/vnd.docker.raw-stream', 'application/vnd.docker.multiplexed-stream', 'application/json']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['details', 'follow', 'stdout', 'stderr', 'since', 'timestamps', 'tail']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['details' => false, 'follow' => false, 'stdout' => false, 'stderr' => false, 'since' => 0, 'timestamps' => false, 'tail' => 'all']); - $optionsResolver->addAllowedTypes('details', ['bool']); - $optionsResolver->addAllowedTypes('follow', ['bool']); - $optionsResolver->addAllowedTypes('stdout', ['bool']); - $optionsResolver->addAllowedTypes('stderr', ['bool']); - $optionsResolver->addAllowedTypes('since', ['int']); - $optionsResolver->addAllowedTypes('timestamps', ['bool']); - $optionsResolver->addAllowedTypes('tail', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ServiceLogsNotFoundException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceLogsNotFoundException($response); - } - if (500 === $status) { - } - if (503 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceUpdate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceUpdate.php deleted file mode 100644 index 629de29ad..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/ServiceUpdate.php +++ /dev/null @@ -1,128 +0,0 @@ -id = $id; - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - $this->headerParameters = $headerParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/services/{id}/update'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\ServicesIdUpdatePostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['version', 'registryAuthFrom', 'rollback']); - $optionsResolver->setRequired(['version']); - $optionsResolver->setDefaults(['registryAuthFrom' => 'spec']); - $optionsResolver->addAllowedTypes('version', ['int']); - $optionsResolver->addAllowedTypes('registryAuthFrom', ['string']); - $optionsResolver->addAllowedTypes('rollback', ['string']); - - return $optionsResolver; - } - - protected function getHeadersOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getHeadersOptionsResolver(); - $optionsResolver->setDefined(['X-Registry-Auth']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('X-Registry-Auth', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\ServiceUpdateBadRequestException - * @throws \Docker\API\Exception\ServiceUpdateNotFoundException - * @throws \Docker\API\Exception\ServiceUpdateInternalServerErrorException - * @throws \Docker\API\Exception\ServiceUpdateServiceUnavailableException - * - * @return \Docker\API\Model\ServiceUpdateResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\ServiceUpdateResponse', 'json'); - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceUpdateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceUpdateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceUpdateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\ServiceUpdateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/Session.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/Session.php deleted file mode 100644 index 20801790f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/Session.php +++ /dev/null @@ -1,50 +0,0 @@ - ['application/vnd.docker.raw-stream']]; - } - - /** - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (101 === $status) { - } - if (400 === $status) { - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmInit.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmInit.php deleted file mode 100644 index 7bdabfc60..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmInit.php +++ /dev/null @@ -1,81 +0,0 @@ -body = $requestBody; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/swarm/init'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\SwarmInitPostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if ($this->body instanceof \Docker\API\Model\SwarmInitPostBody) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\SwarmInitBadRequestException - * @throws \Docker\API\Exception\SwarmInitInternalServerErrorException - * @throws \Docker\API\Exception\SwarmInitServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return json_decode($body); - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmInitBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmInitInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmInitServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmInspect.php deleted file mode 100644 index e342f5330..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmInspect.php +++ /dev/null @@ -1,73 +0,0 @@ -accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/swarm'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\SwarmInspectNotFoundException - * @throws \Docker\API\Exception\SwarmInspectInternalServerErrorException - * @throws \Docker\API\Exception\SwarmInspectServiceUnavailableException - * - * @return \Docker\API\Model\Swarm|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Swarm', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmInspectServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmJoin.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmJoin.php deleted file mode 100644 index e697da791..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmJoin.php +++ /dev/null @@ -1,80 +0,0 @@ -body = $requestBody; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/swarm/join'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\SwarmJoinPostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if ($this->body instanceof \Docker\API\Model\SwarmJoinPostBody) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\SwarmJoinBadRequestException - * @throws \Docker\API\Exception\SwarmJoinInternalServerErrorException - * @throws \Docker\API\Exception\SwarmJoinServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmJoinBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmJoinInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmJoinServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmLeave.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmLeave.php deleted file mode 100644 index ccc2db3b6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmLeave.php +++ /dev/null @@ -1,87 +0,0 @@ -queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/swarm/leave'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['force']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['force' => false]); - $optionsResolver->addAllowedTypes('force', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\SwarmLeaveInternalServerErrorException - * @throws \Docker\API\Exception\SwarmLeaveServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmLeaveInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmLeaveServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUnlock.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUnlock.php deleted file mode 100644 index e98dd09fa..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUnlock.php +++ /dev/null @@ -1,64 +0,0 @@ -body = $requestBody; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/swarm/unlock'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\SwarmUnlockPostBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\SwarmUnlockInternalServerErrorException - * @throws \Docker\API\Exception\SwarmUnlockServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmUnlockInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmUnlockServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUnlockkey.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUnlockkey.php deleted file mode 100644 index f56eca6a7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUnlockkey.php +++ /dev/null @@ -1,69 +0,0 @@ -accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/swarm/unlockkey'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - /** - * @throws \Docker\API\Exception\SwarmUnlockkeyInternalServerErrorException - * @throws \Docker\API\Exception\SwarmUnlockkeyServiceUnavailableException - * - * @return \Docker\API\Model\SwarmUnlockkeyGetJsonResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\SwarmUnlockkeyGetJsonResponse200', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmUnlockkeyInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmUnlockkeyServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUpdate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUpdate.php deleted file mode 100644 index 7fafc203d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SwarmUpdate.php +++ /dev/null @@ -1,104 +0,0 @@ -body = $requestBody; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/swarm/update'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\SwarmSpec) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - if ($this->body instanceof \Docker\API\Model\SwarmSpec) { - return [['Content-Type' => ['text/plain']], $this->body]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['version', 'rotateWorkerToken', 'rotateManagerToken', 'rotateManagerUnlockKey']); - $optionsResolver->setRequired(['version']); - $optionsResolver->setDefaults(['rotateWorkerToken' => false, 'rotateManagerToken' => false, 'rotateManagerUnlockKey' => false]); - $optionsResolver->addAllowedTypes('version', ['int']); - $optionsResolver->addAllowedTypes('rotateWorkerToken', ['bool']); - $optionsResolver->addAllowedTypes('rotateManagerToken', ['bool']); - $optionsResolver->addAllowedTypes('rotateManagerUnlockKey', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\SwarmUpdateBadRequestException - * @throws \Docker\API\Exception\SwarmUpdateInternalServerErrorException - * @throws \Docker\API\Exception\SwarmUpdateServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmUpdateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmUpdateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SwarmUpdateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemAuth.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemAuth.php deleted file mode 100644 index 926a3df2f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemAuth.php +++ /dev/null @@ -1,71 +0,0 @@ -body = $requestBody; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/auth'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\AuthConfig) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\SystemAuthUnauthorizedException - * @throws \Docker\API\Exception\SystemAuthInternalServerErrorException - * - * @return \Docker\API\Model\AuthPostResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\AuthPostResponse200', 'json'); - } - if (204 === $status) { - } - if ((null === $contentType) === false && (401 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SystemAuthUnauthorizedException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SystemAuthInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemDataUsage.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemDataUsage.php deleted file mode 100644 index 25a50f617..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemDataUsage.php +++ /dev/null @@ -1,82 +0,0 @@ -queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/system/df'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['type']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('type', ['array']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\SystemDataUsageInternalServerErrorException - * - * @return \Docker\API\Model\SystemDfGetJsonResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\SystemDfGetJsonResponse200', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SystemDataUsageInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemEvents.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemEvents.php deleted file mode 100644 index 49c61cb2b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemEvents.php +++ /dev/null @@ -1,122 +0,0 @@ -` config name or ID - * - `container=` container name or ID - * - `daemon=` daemon name or ID - * - `event=` event type - * - `image=` image name or ID - * - `label=` image or container label - * - `network=` network name or ID - * - `node=` node ID - * - `plugin`= plugin name or ID - * - `scope`= local or swarm - * - `secret=` secret name or ID - * - `service=` service name or ID - * - `type=` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config` - * - `volume=` volume name - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/events'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['since', 'until', 'filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('since', ['string']); - $optionsResolver->addAllowedTypes('until', ['string']); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\SystemEventsBadRequestException - * @throws \Docker\API\Exception\SystemEventsInternalServerErrorException - * - * @return \Docker\API\Model\EventMessage|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\EventMessage', 'json'); - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SystemEventsBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SystemEventsInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemInfo.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemInfo.php deleted file mode 100644 index d6a4d218c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemInfo.php +++ /dev/null @@ -1,52 +0,0 @@ - ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\SystemInfoInternalServerErrorException - * - * @return \Docker\API\Model\SystemInfo|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\SystemInfo', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SystemInfoInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemPing.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemPing.php deleted file mode 100644 index 61f9b30b9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemPing.php +++ /dev/null @@ -1,48 +0,0 @@ - ['text/plain']]; - } - - /** - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemPingHead.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemPingHead.php deleted file mode 100644 index c93d38e3e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemPingHead.php +++ /dev/null @@ -1,48 +0,0 @@ - ['text/plain']]; - } - - /** - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if (500 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemVersion.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemVersion.php deleted file mode 100644 index 60f69b4ec..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/SystemVersion.php +++ /dev/null @@ -1,52 +0,0 @@ - ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\SystemVersionInternalServerErrorException - * - * @return \Docker\API\Model\SystemVersion|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\SystemVersion', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\SystemVersionInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskInspect.php deleted file mode 100644 index cad2a6f15..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskInspect.php +++ /dev/null @@ -1,69 +0,0 @@ -id = $id; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/tasks/{id}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\TaskInspectNotFoundException - * @throws \Docker\API\Exception\TaskInspectInternalServerErrorException - * @throws \Docker\API\Exception\TaskInspectServiceUnavailableException - * - * @return \Docker\API\Model\Task|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Task', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\TaskInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\TaskInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\TaskInspectServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskList.php deleted file mode 100644 index fb3215245..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskList.php +++ /dev/null @@ -1,89 +0,0 @@ -` - * - `label=key` or `label="key=value"` - * - `name=` - * - `node=` - * - `service=` - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/tasks'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\TaskListInternalServerErrorException - * @throws \Docker\API\Exception\TaskListServiceUnavailableException - * - * @return \Docker\API\Model\Task[]|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Task[]', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\TaskListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\TaskListServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskLogs.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskLogs.php deleted file mode 100644 index 5e95f92f8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/TaskLogs.php +++ /dev/null @@ -1,108 +0,0 @@ -id = $id; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{id}'], [$this->id], '/tasks/{id}/logs'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/vnd.docker.raw-stream', 'application/vnd.docker.multiplexed-stream', 'application/json']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['details', 'follow', 'stdout', 'stderr', 'since', 'timestamps', 'tail']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['details' => false, 'follow' => false, 'stdout' => false, 'stderr' => false, 'since' => 0, 'timestamps' => false, 'tail' => 'all']); - $optionsResolver->addAllowedTypes('details', ['bool']); - $optionsResolver->addAllowedTypes('follow', ['bool']); - $optionsResolver->addAllowedTypes('stdout', ['bool']); - $optionsResolver->addAllowedTypes('stderr', ['bool']); - $optionsResolver->addAllowedTypes('since', ['int']); - $optionsResolver->addAllowedTypes('timestamps', ['bool']); - $optionsResolver->addAllowedTypes('tail', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\TaskLogsNotFoundException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\TaskLogsNotFoundException($response); - } - if (500 === $status) { - } - if (503 === $status) { - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeCreate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeCreate.php deleted file mode 100644 index c71316884..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeCreate.php +++ /dev/null @@ -1,61 +0,0 @@ -body = $requestBody; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/volumes/create'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\VolumeCreateOptions) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\VolumeCreateInternalServerErrorException - * - * @return \Docker\API\Model\Volume|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Volume', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeCreateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeDelete.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeDelete.php deleted file mode 100644 index a24e78e0c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeDelete.php +++ /dev/null @@ -1,94 +0,0 @@ -name = $name; - $this->queryParameters = $queryParameters; - $this->accept = $accept; - } - - public function getMethod(): string - { - return 'DELETE'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/volumes/{name}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - if (empty($this->accept)) { - return ['Accept' => ['application/json', 'text/plain']]; - } - - return $this->accept; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['force']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults(['force' => false]); - $optionsResolver->addAllowedTypes('force', ['bool']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\VolumeDeleteNotFoundException - * @throws \Docker\API\Exception\VolumeDeleteConflictException - * @throws \Docker\API\Exception\VolumeDeleteInternalServerErrorException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (204 === $status) { - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeDeleteNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (409 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeDeleteConflictException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeDeleteInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeInspect.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeInspect.php deleted file mode 100644 index c8b02b18f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeInspect.php +++ /dev/null @@ -1,65 +0,0 @@ -name = $name; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/volumes/{name}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - /** - * @throws \Docker\API\Exception\VolumeInspectNotFoundException - * @throws \Docker\API\Exception\VolumeInspectInternalServerErrorException - * - * @return \Docker\API\Model\Volume|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\Volume', 'json'); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeInspectNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeInspectInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeList.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeList.php deleted file mode 100644 index 5a644ae95..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeList.php +++ /dev/null @@ -1,85 +0,0 @@ -` When set to `true` (or `1`), returns all - * volumes that are not in use by a container. When set to `false` - * (or `0`), only volumes that are in use by one or more - * containers are returned. - * - `driver=` Matches volumes based on their driver. - * - `label=` or `label=:` Matches volumes based on - * the presence of a `label` alone or a `label` and a value. - * - `name=` Matches all or part of a volume name. - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'GET'; - } - - public function getUri(): string - { - return '/volumes'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\VolumeListInternalServerErrorException - * - * @return \Docker\API\Model\VolumeListResponse|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\VolumeListResponse', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeListInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumePrune.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumePrune.php deleted file mode 100644 index 864dd98c3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumePrune.php +++ /dev/null @@ -1,79 +0,0 @@ -`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels. - * - `all` (`all=true`) - Consider all (local) volumes for pruning and not just anonymous volumes. - * - * } - */ - public function __construct(array $queryParameters = []) - { - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'POST'; - } - - public function getUri(): string - { - return '/volumes/prune'; - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['filters']); - $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('filters', ['string']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\VolumePruneInternalServerErrorException - * - * @return \Docker\API\Model\VolumesPrunePostResponse200|null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if ((null === $contentType) === false && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) { - return $serializer->deserialize($body, 'Docker\API\Model\VolumesPrunePostResponse200', 'json'); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumePruneInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeUpdate.php b/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeUpdate.php deleted file mode 100644 index 5a437715a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Endpoint/VolumeUpdate.php +++ /dev/null @@ -1,96 +0,0 @@ -name = $name; - $this->body = $requestBody; - $this->queryParameters = $queryParameters; - } - - public function getMethod(): string - { - return 'PUT'; - } - - public function getUri(): string - { - return str_replace(['{name}'], [$this->name], '/volumes/{name}'); - } - - public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array - { - if ($this->body instanceof \Docker\API\Model\VolumesNamePutBody) { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } - - return [[], null]; - } - - public function getExtraHeaders(): array - { - return ['Accept' => ['application/json']]; - } - - protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver - { - $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['version']); - $optionsResolver->setRequired(['version']); - $optionsResolver->setDefaults([]); - $optionsResolver->addAllowedTypes('version', ['int']); - - return $optionsResolver; - } - - /** - * @throws \Docker\API\Exception\VolumeUpdateBadRequestException - * @throws \Docker\API\Exception\VolumeUpdateNotFoundException - * @throws \Docker\API\Exception\VolumeUpdateInternalServerErrorException - * @throws \Docker\API\Exception\VolumeUpdateServiceUnavailableException - * - * @return null - */ - protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) - { - $status = $response->getStatusCode(); - $body = (string) $response->getBody(); - if (200 === $status) { - } - if ((null === $contentType) === false && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeUpdateBadRequestException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeUpdateNotFoundException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeUpdateInternalServerErrorException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - if ((null === $contentType) === false && (503 === $status && false !== mb_strpos($contentType, 'application/json'))) { - throw new \Docker\API\Exception\VolumeUpdateServiceUnavailableException($serializer->deserialize($body, 'Docker\API\Model\ErrorResponse', 'json'), $response); - } - } - - public function getAuthenticationScopes(): array - { - return []; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ApiException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ApiException.php deleted file mode 100644 index f81cc4950..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ApiException.php +++ /dev/null @@ -1,9 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ClientException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ClientException.php deleted file mode 100644 index 37ba24aaf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ClientException.php +++ /dev/null @@ -1,9 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateInternalServerErrorException.php deleted file mode 100644 index b8b0ff260..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateServiceUnavailableException.php deleted file mode 100644 index b0571c82e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigCreateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteInternalServerErrorException.php deleted file mode 100644 index ecd7ceec7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteNotFoundException.php deleted file mode 100644 index ceac44916..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteServiceUnavailableException.php deleted file mode 100644 index d80c49b73..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigDeleteServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectInternalServerErrorException.php deleted file mode 100644 index 2c6384e77..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectNotFoundException.php deleted file mode 100644 index b7c8bab7c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectServiceUnavailableException.php deleted file mode 100644 index 5903584a5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigInspectServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigListInternalServerErrorException.php deleted file mode 100644 index 497ef694b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigListServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigListServiceUnavailableException.php deleted file mode 100644 index 5d4a06355..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigListServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateBadRequestException.php deleted file mode 100644 index 0ecc24f67..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateInternalServerErrorException.php deleted file mode 100644 index 92f68ac77..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateNotFoundException.php deleted file mode 100644 index 01105c808..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateServiceUnavailableException.php deleted file mode 100644 index a796d0c7d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConfigUpdateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ConflictException.php deleted file mode 100644 index 0cd63b821..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ConflictException.php +++ /dev/null @@ -1,13 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoInternalServerErrorException.php deleted file mode 100644 index a55981422..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoNotFoundException.php deleted file mode 100644 index 24b0bfb50..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveInfoNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveNotFoundException.php deleted file mode 100644 index 13a11365f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerArchiveNotFoundException.php +++ /dev/null @@ -1,24 +0,0 @@ -response = $response; - } - - public function getResponse(): ?\Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachNotFoundException.php deleted file mode 100644 index 22cd68168..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachNotFoundException.php +++ /dev/null @@ -1,24 +0,0 @@ -response = $response; - } - - public function getResponse(): ?\Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketBadRequestException.php deleted file mode 100644 index 1302675fd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketInternalServerErrorException.php deleted file mode 100644 index 51274ff35..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketNotFoundException.php deleted file mode 100644 index 22ad842fa..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerAttachWebsocketNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerChangesInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerChangesInternalServerErrorException.php deleted file mode 100644 index 2851e1c4f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerChangesInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerChangesNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerChangesNotFoundException.php deleted file mode 100644 index 2f973dd3e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerChangesNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateBadRequestException.php deleted file mode 100644 index 2461c7d59..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateConflictException.php deleted file mode 100644 index df93c5f04..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateInternalServerErrorException.php deleted file mode 100644 index 18624c54b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateNotFoundException.php deleted file mode 100644 index eb4aff585..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerCreateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteBadRequestException.php deleted file mode 100644 index 895a61c13..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteConflictException.php deleted file mode 100644 index 87425031b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteInternalServerErrorException.php deleted file mode 100644 index be965f677..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteNotFoundException.php deleted file mode 100644 index b9fbd9298..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecConflictException.php deleted file mode 100644 index 89eaafef5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecInternalServerErrorException.php deleted file mode 100644 index 0aab4e688..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecNotFoundException.php deleted file mode 100644 index e8f7d7dc6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExecNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExportNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExportNotFoundException.php deleted file mode 100644 index 4f128b8ac..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerExportNotFoundException.php +++ /dev/null @@ -1,24 +0,0 @@ -response = $response; - } - - public function getResponse(): ?\Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerInspectInternalServerErrorException.php deleted file mode 100644 index 6563e651b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerInspectNotFoundException.php deleted file mode 100644 index 4d0dcc351..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillConflictException.php deleted file mode 100644 index 24cc80cf9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillInternalServerErrorException.php deleted file mode 100644 index 910fb3ed1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillNotFoundException.php deleted file mode 100644 index b18cac705..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerKillNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerListBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerListBadRequestException.php deleted file mode 100644 index 9fdd6c72f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerListBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerListInternalServerErrorException.php deleted file mode 100644 index c43049bb0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerLogsNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerLogsNotFoundException.php deleted file mode 100644 index a9e5bfcf0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerLogsNotFoundException.php +++ /dev/null @@ -1,24 +0,0 @@ -response = $response; - } - - public function getResponse(): ?\Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPauseInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPauseInternalServerErrorException.php deleted file mode 100644 index b2e654a3d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPauseInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPauseNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPauseNotFoundException.php deleted file mode 100644 index f2d181202..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPauseNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPruneInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPruneInternalServerErrorException.php deleted file mode 100644 index 3c7d89fa5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerPruneInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameConflictException.php deleted file mode 100644 index a77e4758a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameInternalServerErrorException.php deleted file mode 100644 index f8655bb6d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameNotFoundException.php deleted file mode 100644 index f59a909e3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRenameNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerResizeNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerResizeNotFoundException.php deleted file mode 100644 index 976c23cf5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerResizeNotFoundException.php +++ /dev/null @@ -1,24 +0,0 @@ -response = $response; - } - - public function getResponse(): ?\Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRestartInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRestartInternalServerErrorException.php deleted file mode 100644 index 336fd2cb4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRestartInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRestartNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRestartNotFoundException.php deleted file mode 100644 index ad4a95903..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerRestartNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStartInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStartInternalServerErrorException.php deleted file mode 100644 index 8b756f853..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStartInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStartNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStartNotFoundException.php deleted file mode 100644 index 48f5ee280..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStartNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStatsInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStatsInternalServerErrorException.php deleted file mode 100644 index 250f84a38..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStatsInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStatsNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStatsNotFoundException.php deleted file mode 100644 index 7466ee237..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStatsNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStopInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStopInternalServerErrorException.php deleted file mode 100644 index e2aca0020..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStopInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStopNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStopNotFoundException.php deleted file mode 100644 index 3c5bbe4ec..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerStopNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerTopInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerTopInternalServerErrorException.php deleted file mode 100644 index f0e5b071a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerTopInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerTopNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerTopNotFoundException.php deleted file mode 100644 index 157145cff..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerTopNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUnpauseInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUnpauseInternalServerErrorException.php deleted file mode 100644 index 51f7b2746..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUnpauseInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUnpauseNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUnpauseNotFoundException.php deleted file mode 100644 index ea8d54667..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUnpauseNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUpdateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUpdateInternalServerErrorException.php deleted file mode 100644 index 2d7628031..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUpdateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUpdateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUpdateNotFoundException.php deleted file mode 100644 index 2eeba767a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerUpdateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitBadRequestException.php deleted file mode 100644 index a986e90cf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitInternalServerErrorException.php deleted file mode 100644 index 64db3fa41..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitNotFoundException.php deleted file mode 100644 index d4e2853c3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ContainerWaitNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/DistributionInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/DistributionInspectInternalServerErrorException.php deleted file mode 100644 index f395da0de..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/DistributionInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/DistributionInspectUnauthorizedException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/DistributionInspectUnauthorizedException.php deleted file mode 100644 index 328db46e4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/DistributionInspectUnauthorizedException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ExecInspectInternalServerErrorException.php deleted file mode 100644 index 9e4bc326f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ExecInspectNotFoundException.php deleted file mode 100644 index dd7daeacb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeBadRequestException.php deleted file mode 100644 index bc8818f2c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeInternalServerErrorException.php deleted file mode 100644 index b9426d3e1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeNotFoundException.php deleted file mode 100644 index 352d958ae..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ExecResizeNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ForbiddenException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ForbiddenException.php deleted file mode 100644 index 07dee6184..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ForbiddenException.php +++ /dev/null @@ -1,13 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageBuildBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageBuildBadRequestException.php deleted file mode 100644 index 6d0763730..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageBuildBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageBuildInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageBuildInternalServerErrorException.php deleted file mode 100644 index 59f8bdcee..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageBuildInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCommitInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCommitInternalServerErrorException.php deleted file mode 100644 index aeda8c8fc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCommitInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCommitNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCommitNotFoundException.php deleted file mode 100644 index b80bff3fc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCommitNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCreateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCreateInternalServerErrorException.php deleted file mode 100644 index c657732fb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCreateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCreateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCreateNotFoundException.php deleted file mode 100644 index 2e2429d94..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageCreateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteConflictException.php deleted file mode 100644 index 77f898161..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteInternalServerErrorException.php deleted file mode 100644 index df17fe10a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteNotFoundException.php deleted file mode 100644 index 2e401e852..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageHistoryInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageHistoryInternalServerErrorException.php deleted file mode 100644 index bfee684e8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageHistoryInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageHistoryNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageHistoryNotFoundException.php deleted file mode 100644 index 479078780..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageHistoryNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageInspectInternalServerErrorException.php deleted file mode 100644 index f06f1f6ed..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageInspectNotFoundException.php deleted file mode 100644 index c1d6da006..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageListInternalServerErrorException.php deleted file mode 100644 index 69f4c0612..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageLoadInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageLoadInternalServerErrorException.php deleted file mode 100644 index 8b2163241..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageLoadInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePruneInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePruneInternalServerErrorException.php deleted file mode 100644 index 696f092a1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePruneInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePushInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePushInternalServerErrorException.php deleted file mode 100644 index 3fa34318b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePushInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePushNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePushNotFoundException.php deleted file mode 100644 index b2c788981..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImagePushNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageSearchInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageSearchInternalServerErrorException.php deleted file mode 100644 index 82c859d76..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageSearchInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagBadRequestException.php deleted file mode 100644 index c447bacca..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagConflictException.php deleted file mode 100644 index bc65db35f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagInternalServerErrorException.php deleted file mode 100644 index aee456a7d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagNotFoundException.php deleted file mode 100644 index 593758e8f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ImageTagNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/InternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/InternalServerErrorException.php deleted file mode 100644 index e59af6ac9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/InternalServerErrorException.php +++ /dev/null @@ -1,13 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectForbiddenException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectForbiddenException.php deleted file mode 100644 index 350694804..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectForbiddenException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectInternalServerErrorException.php deleted file mode 100644 index 7a9e96dcf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectNotFoundException.php deleted file mode 100644 index 5c1fae315..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkConnectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateBadRequestException.php deleted file mode 100644 index 943ea1269..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateForbiddenException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateForbiddenException.php deleted file mode 100644 index 38493f283..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateForbiddenException.php +++ /dev/null @@ -1,36 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateInternalServerErrorException.php deleted file mode 100644 index f8dfdf623..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateNotFoundException.php deleted file mode 100644 index fdcf8ab2a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkCreateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteForbiddenException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteForbiddenException.php deleted file mode 100644 index 352455991..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteForbiddenException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteInternalServerErrorException.php deleted file mode 100644 index 042423629..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteNotFoundException.php deleted file mode 100644 index 8b2acb7a6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectForbiddenException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectForbiddenException.php deleted file mode 100644 index 830dcd296..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectForbiddenException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectInternalServerErrorException.php deleted file mode 100644 index 955160a3d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectNotFoundException.php deleted file mode 100644 index 66e891493..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkDisconnectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkInspectInternalServerErrorException.php deleted file mode 100644 index 09755ee4c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkInspectNotFoundException.php deleted file mode 100644 index 7f1ad636b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkListInternalServerErrorException.php deleted file mode 100644 index 881e3c92c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkPruneInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkPruneInternalServerErrorException.php deleted file mode 100644 index c957acd6a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NetworkPruneInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteInternalServerErrorException.php deleted file mode 100644 index c968a408a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteNotFoundException.php deleted file mode 100644 index bffeeedd8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteServiceUnavailableException.php deleted file mode 100644 index 36872a20d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeDeleteServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectInternalServerErrorException.php deleted file mode 100644 index 4fc618339..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectNotFoundException.php deleted file mode 100644 index d7a7cd3d7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectServiceUnavailableException.php deleted file mode 100644 index 427267b24..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeInspectServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeListInternalServerErrorException.php deleted file mode 100644 index 2cd0ba48b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeListServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeListServiceUnavailableException.php deleted file mode 100644 index abadf6321..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeListServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateBadRequestException.php deleted file mode 100644 index 4a8ec8690..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateInternalServerErrorException.php deleted file mode 100644 index 9630e88ad..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateNotFoundException.php deleted file mode 100644 index 660a2b788..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateServiceUnavailableException.php deleted file mode 100644 index 4453c01c1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NodeUpdateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/NotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/NotFoundException.php deleted file mode 100644 index fa6f6c8a6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/NotFoundException.php +++ /dev/null @@ -1,13 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDeleteInternalServerErrorException.php deleted file mode 100644 index c0816e5a4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDeleteNotFoundException.php deleted file mode 100644 index 9daea453f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDisableInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDisableInternalServerErrorException.php deleted file mode 100644 index 017c5adae..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDisableInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDisableNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDisableNotFoundException.php deleted file mode 100644 index a51779fb7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginDisableNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginEnableInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginEnableInternalServerErrorException.php deleted file mode 100644 index 53b14846c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginEnableInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginEnableNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginEnableNotFoundException.php deleted file mode 100644 index 3eb438cca..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginEnableNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginInspectInternalServerErrorException.php deleted file mode 100644 index d4242ae57..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginInspectNotFoundException.php deleted file mode 100644 index 6d1aef71e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginListInternalServerErrorException.php deleted file mode 100644 index a5c7fc04f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPullInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPullInternalServerErrorException.php deleted file mode 100644 index d1c480bf5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPullInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPushInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPushInternalServerErrorException.php deleted file mode 100644 index 755460296..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPushInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPushNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPushNotFoundException.php deleted file mode 100644 index 486ff0c53..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginPushNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginSetInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginSetInternalServerErrorException.php deleted file mode 100644 index 071b5d3f8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginSetInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginSetNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginSetNotFoundException.php deleted file mode 100644 index e7d2f37ca..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginSetNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginUpgradeInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginUpgradeInternalServerErrorException.php deleted file mode 100644 index 9a4b34c8f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginUpgradeInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginUpgradeNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PluginUpgradeNotFoundException.php deleted file mode 100644 index e02bba697..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PluginUpgradeNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveBadRequestException.php deleted file mode 100644 index 903f49a7b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveForbiddenException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveForbiddenException.php deleted file mode 100644 index 4fd78e921..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveForbiddenException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveInternalServerErrorException.php deleted file mode 100644 index db3937bda..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveNotFoundException.php deleted file mode 100644 index e05b6e476..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/PutContainerArchiveNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateConflictException.php deleted file mode 100644 index 350fcd51a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateInternalServerErrorException.php deleted file mode 100644 index 19e250516..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateServiceUnavailableException.php deleted file mode 100644 index c09454b02..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretCreateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteInternalServerErrorException.php deleted file mode 100644 index 3515bcce4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteNotFoundException.php deleted file mode 100644 index bb280a662..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteServiceUnavailableException.php deleted file mode 100644 index 512fe0ade..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretDeleteServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectInternalServerErrorException.php deleted file mode 100644 index 9bcaa5727..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectNotFoundException.php deleted file mode 100644 index bd6dbe817..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectServiceUnavailableException.php deleted file mode 100644 index ed9cd288b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretInspectServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretListInternalServerErrorException.php deleted file mode 100644 index 6e085f3c1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretListServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretListServiceUnavailableException.php deleted file mode 100644 index 5cbf8b4bc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretListServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateBadRequestException.php deleted file mode 100644 index 481d040b7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateInternalServerErrorException.php deleted file mode 100644 index a5b6e2739..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateNotFoundException.php deleted file mode 100644 index 8fe63ba8a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateServiceUnavailableException.php deleted file mode 100644 index 456d714c0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SecretUpdateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServerException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServerException.php deleted file mode 100644 index 76ae5c35c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServerException.php +++ /dev/null @@ -1,9 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateConflictException.php deleted file mode 100644 index 2e2973d40..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateForbiddenException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateForbiddenException.php deleted file mode 100644 index 1a6fe6601..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateForbiddenException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateInternalServerErrorException.php deleted file mode 100644 index 6f9457303..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateServiceUnavailableException.php deleted file mode 100644 index 59c5ee554..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceCreateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteInternalServerErrorException.php deleted file mode 100644 index 89f3a71e8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteNotFoundException.php deleted file mode 100644 index c42ba3152..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteServiceUnavailableException.php deleted file mode 100644 index 0355948ad..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceDeleteServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectInternalServerErrorException.php deleted file mode 100644 index 0ac6f2931..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectNotFoundException.php deleted file mode 100644 index e4b7a91ea..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectServiceUnavailableException.php deleted file mode 100644 index 8cc3cb2ed..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceInspectServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceListInternalServerErrorException.php deleted file mode 100644 index 49a88cf60..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceListServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceListServiceUnavailableException.php deleted file mode 100644 index 5c9316df8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceListServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceLogsNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceLogsNotFoundException.php deleted file mode 100644 index a07787124..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceLogsNotFoundException.php +++ /dev/null @@ -1,24 +0,0 @@ -response = $response; - } - - public function getResponse(): ?\Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUnavailableException.php deleted file mode 100644 index ef87f510d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUnavailableException.php +++ /dev/null @@ -1,13 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateInternalServerErrorException.php deleted file mode 100644 index 83e0a895f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateNotFoundException.php deleted file mode 100644 index de2ace0e0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateServiceUnavailableException.php deleted file mode 100644 index 3007a4820..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/ServiceUpdateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitBadRequestException.php deleted file mode 100644 index 057e87daf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitInternalServerErrorException.php deleted file mode 100644 index 7fb83e46c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitServiceUnavailableException.php deleted file mode 100644 index 70b8354a5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInitServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectInternalServerErrorException.php deleted file mode 100644 index 03a1a39ae..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectNotFoundException.php deleted file mode 100644 index 6c81eb3a8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectServiceUnavailableException.php deleted file mode 100644 index c6db133ae..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmInspectServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinBadRequestException.php deleted file mode 100644 index fc2b5abab..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinInternalServerErrorException.php deleted file mode 100644 index 2ba81d3a1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinServiceUnavailableException.php deleted file mode 100644 index ca054324c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmJoinServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmLeaveInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmLeaveInternalServerErrorException.php deleted file mode 100644 index d9a56313a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmLeaveInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmLeaveServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmLeaveServiceUnavailableException.php deleted file mode 100644 index a7b6dfc53..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmLeaveServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockInternalServerErrorException.php deleted file mode 100644 index 85f16b09c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockServiceUnavailableException.php deleted file mode 100644 index 31e2ad3c2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockkeyInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockkeyInternalServerErrorException.php deleted file mode 100644 index cb4258d89..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockkeyInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockkeyServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockkeyServiceUnavailableException.php deleted file mode 100644 index 687134028..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUnlockkeyServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateBadRequestException.php deleted file mode 100644 index e176ed41f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateInternalServerErrorException.php deleted file mode 100644 index 63f0004ae..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateServiceUnavailableException.php deleted file mode 100644 index c3f12c123..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SwarmUpdateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemAuthInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SystemAuthInternalServerErrorException.php deleted file mode 100644 index 55ba05e49..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemAuthInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemAuthUnauthorizedException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SystemAuthUnauthorizedException.php deleted file mode 100644 index 3b98013bb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemAuthUnauthorizedException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemDataUsageInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SystemDataUsageInternalServerErrorException.php deleted file mode 100644 index 7c8b720d6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemDataUsageInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemEventsBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SystemEventsBadRequestException.php deleted file mode 100644 index a606cbd6f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemEventsBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemEventsInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SystemEventsInternalServerErrorException.php deleted file mode 100644 index abab7b3ad..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemEventsInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemInfoInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SystemInfoInternalServerErrorException.php deleted file mode 100644 index 00746aec1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemInfoInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemVersionInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/SystemVersionInternalServerErrorException.php deleted file mode 100644 index a1aadc79b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/SystemVersionInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectInternalServerErrorException.php deleted file mode 100644 index 9ebce1e6e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectNotFoundException.php deleted file mode 100644 index e33844218..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectServiceUnavailableException.php deleted file mode 100644 index bf3258d8d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskInspectServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/TaskListInternalServerErrorException.php deleted file mode 100644 index 7e3d4873e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskListServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/TaskListServiceUnavailableException.php deleted file mode 100644 index e6cd1067d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskListServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskLogsNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/TaskLogsNotFoundException.php deleted file mode 100644 index 21fff1bec..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/TaskLogsNotFoundException.php +++ /dev/null @@ -1,24 +0,0 @@ -response = $response; - } - - public function getResponse(): ?\Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/UnauthorizedException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/UnauthorizedException.php deleted file mode 100644 index 685c19c62..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/UnauthorizedException.php +++ /dev/null @@ -1,13 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteConflictException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteConflictException.php deleted file mode 100644 index 32282d9a1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteConflictException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteInternalServerErrorException.php deleted file mode 100644 index 95ec47b82..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteNotFoundException.php deleted file mode 100644 index 18c02b159..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeDeleteNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeInspectInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeInspectInternalServerErrorException.php deleted file mode 100644 index 24928851d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeInspectInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeInspectNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeInspectNotFoundException.php deleted file mode 100644 index 49e728428..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeInspectNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeListInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeListInternalServerErrorException.php deleted file mode 100644 index 2e323ed80..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeListInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumePruneInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumePruneInternalServerErrorException.php deleted file mode 100644 index 70e52fd00..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumePruneInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateBadRequestException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateBadRequestException.php deleted file mode 100644 index d423d4cf4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateBadRequestException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateInternalServerErrorException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateInternalServerErrorException.php deleted file mode 100644 index fad2b7106..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateInternalServerErrorException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateNotFoundException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateNotFoundException.php deleted file mode 100644 index 0309562d0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateNotFoundException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateServiceUnavailableException.php b/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateServiceUnavailableException.php deleted file mode 100644 index 52e891a1c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Exception/VolumeUpdateServiceUnavailableException.php +++ /dev/null @@ -1,34 +0,0 @@ -errorResponse = $errorResponse; - $this->response = $response; - } - - public function getErrorResponse(): \Docker\API\Model\ErrorResponse - { - return $this->errorResponse; - } - - public function getResponse(): \Psr\Http\Message\ResponseInterface - { - return $this->response; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Address.php b/app/vendor/beluga-php/docker-php-api/src/Model/Address.php deleted file mode 100644 index 536395cb6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Address.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * IP address. - * - * @var string|null - */ - protected $addr; - /** - * Mask length of the IP address. - * - * @var int|null - */ - protected $prefixLen; - - /** - * IP address. - */ - public function getAddr(): ?string - { - return $this->addr; - } - - /** - * IP address. - */ - public function setAddr(?string $addr): self - { - $this->initialized['addr'] = true; - $this->addr = $addr; - - return $this; - } - - /** - * Mask length of the IP address. - */ - public function getPrefixLen(): ?int - { - return $this->prefixLen; - } - - /** - * Mask length of the IP address. - */ - public function setPrefixLen(?int $prefixLen): self - { - $this->initialized['prefixLen'] = true; - $this->prefixLen = $prefixLen; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/AuthConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/AuthConfig.php deleted file mode 100644 index ed7af28be..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/AuthConfig.php +++ /dev/null @@ -1,86 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $username; - /** - * @var string|null - */ - protected $password; - /** - * @var string|null - */ - protected $email; - /** - * @var string|null - */ - protected $serveraddress; - - public function getUsername(): ?string - { - return $this->username; - } - - public function setUsername(?string $username): self - { - $this->initialized['username'] = true; - $this->username = $username; - - return $this; - } - - public function getPassword(): ?string - { - return $this->password; - } - - public function setPassword(?string $password): self - { - $this->initialized['password'] = true; - $this->password = $password; - - return $this; - } - - public function getEmail(): ?string - { - return $this->email; - } - - public function setEmail(?string $email): self - { - $this->initialized['email'] = true; - $this->email = $email; - - return $this; - } - - public function getServeraddress(): ?string - { - return $this->serveraddress; - } - - public function setServeraddress(?string $serveraddress): self - { - $this->initialized['serveraddress'] = true; - $this->serveraddress = $serveraddress; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/AuthPostResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/AuthPostResponse200.php deleted file mode 100644 index 3ef9bdfa7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/AuthPostResponse200.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * The status of the authentication. - * - * @var string|null - */ - protected $status; - /** - * An opaque token used to authenticate a user after a successful login. - * - * @var string|null - */ - protected $identityToken; - - /** - * The status of the authentication. - */ - public function getStatus(): ?string - { - return $this->status; - } - - /** - * The status of the authentication. - */ - public function setStatus(?string $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - /** - * An opaque token used to authenticate a user after a successful login. - */ - public function getIdentityToken(): ?string - { - return $this->identityToken; - } - - /** - * An opaque token used to authenticate a user after a successful login. - */ - public function setIdentityToken(?string $identityToken): self - { - $this->initialized['identityToken'] = true; - $this->identityToken = $identityToken; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/BuildCache.php b/app/vendor/beluga-php/docker-php-api/src/Model/BuildCache.php deleted file mode 100644 index c947bd235..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/BuildCache.php +++ /dev/null @@ -1,301 +0,0 @@ -initialized); - } - /** - * Unique ID of the build cache record. - * - * @var string|null - */ - protected $iD; - /** - * ID of the parent build cache record. - * - * > **Deprecated**: This field is deprecated, and omitted if empty. - * - * @var string|null - */ - protected $parent; - /** - * List of parent build cache record IDs. - * - * @var list|null - */ - protected $parents; - /** - * Cache record type. - * - * @var string|null - */ - protected $type; - /** - * Description of the build-step that produced the build cache. - * - * @var string|null - */ - protected $description; - /** - * Indicates if the build cache is in use. - * - * @var bool|null - */ - protected $inUse; - /** - * Indicates if the build cache is shared. - * - * @var bool|null - */ - protected $shared; - /** - * Amount of disk space used by the build cache (in bytes). - * - * @var int|null - */ - protected $size; - /** - * Date and time at which the build cache was created in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $createdAt; - /** - * Date and time at which the build cache was last used in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $lastUsedAt; - /** - * @var int|null - */ - protected $usageCount; - - /** - * Unique ID of the build cache record. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * Unique ID of the build cache record. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * ID of the parent build cache record. - * - * > **Deprecated**: This field is deprecated, and omitted if empty. - */ - public function getParent(): ?string - { - return $this->parent; - } - - /** - * ID of the parent build cache record. - * - * > **Deprecated**: This field is deprecated, and omitted if empty. - */ - public function setParent(?string $parent): self - { - $this->initialized['parent'] = true; - $this->parent = $parent; - - return $this; - } - - /** - * List of parent build cache record IDs. - * - * @return list|null - */ - public function getParents(): ?array - { - return $this->parents; - } - - /** - * List of parent build cache record IDs. - * - * @param list|null $parents - */ - public function setParents(?array $parents): self - { - $this->initialized['parents'] = true; - $this->parents = $parents; - - return $this; - } - - /** - * Cache record type. - */ - public function getType(): ?string - { - return $this->type; - } - - /** - * Cache record type. - */ - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * Description of the build-step that produced the build cache. - */ - public function getDescription(): ?string - { - return $this->description; - } - - /** - * Description of the build-step that produced the build cache. - */ - public function setDescription(?string $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - /** - * Indicates if the build cache is in use. - */ - public function getInUse(): ?bool - { - return $this->inUse; - } - - /** - * Indicates if the build cache is in use. - */ - public function setInUse(?bool $inUse): self - { - $this->initialized['inUse'] = true; - $this->inUse = $inUse; - - return $this; - } - - /** - * Indicates if the build cache is shared. - */ - public function getShared(): ?bool - { - return $this->shared; - } - - /** - * Indicates if the build cache is shared. - */ - public function setShared(?bool $shared): self - { - $this->initialized['shared'] = true; - $this->shared = $shared; - - return $this; - } - - /** - * Amount of disk space used by the build cache (in bytes). - */ - public function getSize(): ?int - { - return $this->size; - } - - /** - * Amount of disk space used by the build cache (in bytes). - */ - public function setSize(?int $size): self - { - $this->initialized['size'] = true; - $this->size = $size; - - return $this; - } - - /** - * Date and time at which the build cache was created in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - /** - * Date and time at which the build cache was created in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - /** - * Date and time at which the build cache was last used in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getLastUsedAt(): ?string - { - return $this->lastUsedAt; - } - - /** - * Date and time at which the build cache was last used in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setLastUsedAt(?string $lastUsedAt): self - { - $this->initialized['lastUsedAt'] = true; - $this->lastUsedAt = $lastUsedAt; - - return $this; - } - - public function getUsageCount(): ?int - { - return $this->usageCount; - } - - public function setUsageCount(?int $usageCount): self - { - $this->initialized['usageCount'] = true; - $this->usageCount = $usageCount; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/BuildInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/BuildInfo.php deleted file mode 100644 index c849d6151..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/BuildInfo.php +++ /dev/null @@ -1,162 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $id; - /** - * @var string|null - */ - protected $stream; - /** - * @var string|null - */ - protected $error; - /** - * @var ErrorDetail|null - */ - protected $errorDetail; - /** - * @var string|null - */ - protected $status; - /** - * @var string|null - */ - protected $progress; - /** - * @var ProgressDetail|null - */ - protected $progressDetail; - /** - * Image ID or Digest. - * - * @var ImageID|null - */ - protected $aux; - - public function getId(): ?string - { - return $this->id; - } - - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - public function getStream(): ?string - { - return $this->stream; - } - - public function setStream(?string $stream): self - { - $this->initialized['stream'] = true; - $this->stream = $stream; - - return $this; - } - - public function getError(): ?string - { - return $this->error; - } - - public function setError(?string $error): self - { - $this->initialized['error'] = true; - $this->error = $error; - - return $this; - } - - public function getErrorDetail(): ?ErrorDetail - { - return $this->errorDetail; - } - - public function setErrorDetail(?ErrorDetail $errorDetail): self - { - $this->initialized['errorDetail'] = true; - $this->errorDetail = $errorDetail; - - return $this; - } - - public function getStatus(): ?string - { - return $this->status; - } - - public function setStatus(?string $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - public function getProgress(): ?string - { - return $this->progress; - } - - public function setProgress(?string $progress): self - { - $this->initialized['progress'] = true; - $this->progress = $progress; - - return $this; - } - - public function getProgressDetail(): ?ProgressDetail - { - return $this->progressDetail; - } - - public function setProgressDetail(?ProgressDetail $progressDetail): self - { - $this->initialized['progressDetail'] = true; - $this->progressDetail = $progressDetail; - - return $this; - } - - /** - * Image ID or Digest. - */ - public function getAux(): ?ImageID - { - return $this->aux; - } - - /** - * Image ID or Digest. - */ - public function setAux(?ImageID $aux): self - { - $this->initialized['aux'] = true; - $this->aux = $aux; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/BuildPrunePostResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/BuildPrunePostResponse200.php deleted file mode 100644 index b630ca4c5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/BuildPrunePostResponse200.php +++ /dev/null @@ -1,66 +0,0 @@ -initialized); - } - /** - * @var list|null - */ - protected $cachesDeleted; - /** - * Disk space reclaimed in bytes. - * - * @var int|null - */ - protected $spaceReclaimed; - - /** - * @return list|null - */ - public function getCachesDeleted(): ?array - { - return $this->cachesDeleted; - } - - /** - * @param list|null $cachesDeleted - */ - public function setCachesDeleted(?array $cachesDeleted): self - { - $this->initialized['cachesDeleted'] = true; - $this->cachesDeleted = $cachesDeleted; - - return $this; - } - - /** - * Disk space reclaimed in bytes. - */ - public function getSpaceReclaimed(): ?int - { - return $this->spaceReclaimed; - } - - /** - * Disk space reclaimed in bytes. - */ - public function setSpaceReclaimed(?int $spaceReclaimed): self - { - $this->initialized['spaceReclaimed'] = true; - $this->spaceReclaimed = $spaceReclaimed; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterInfo.php deleted file mode 100644 index 0b679457a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterInfo.php +++ /dev/null @@ -1,320 +0,0 @@ -initialized); - } - /** - * The ID of the swarm. - * - * @var string|null - */ - protected $iD; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $version; - /** - * Date and time at which the swarm was initialised in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $createdAt; - /** - * Date and time at which the swarm was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $updatedAt; - /** - * User modifiable swarm configuration. - * - * @var SwarmSpec|null - */ - protected $spec; - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - * - * @var TLSInfo|null - */ - protected $tLSInfo; - /** - * Whether there is currently a root CA rotation in progress for the swarm. - * - * @var bool|null - */ - protected $rootRotationInProgress; - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * If no port is set or is set to 0, the default port (4789) is used. - * - * @var int|null - */ - protected $dataPathPort; - /** - * Default Address Pool specifies default subnet pools for global scope - * networks. - * - * @var list|null - */ - protected $defaultAddrPool; - /** - * SubnetSize specifies the subnet size of the networks created from the - * default subnet pool. - * - * @var int|null - */ - protected $subnetSize; - - /** - * The ID of the swarm. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * The ID of the swarm. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getVersion(): ?ObjectVersion - { - return $this->version; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setVersion(?ObjectVersion $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - /** - * Date and time at which the swarm was initialised in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - /** - * Date and time at which the swarm was initialised in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - /** - * Date and time at which the swarm was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getUpdatedAt(): ?string - { - return $this->updatedAt; - } - - /** - * Date and time at which the swarm was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setUpdatedAt(?string $updatedAt): self - { - $this->initialized['updatedAt'] = true; - $this->updatedAt = $updatedAt; - - return $this; - } - - /** - * User modifiable swarm configuration. - */ - public function getSpec(): ?SwarmSpec - { - return $this->spec; - } - - /** - * User modifiable swarm configuration. - */ - public function setSpec(?SwarmSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } - - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - */ - public function getTLSInfo(): ?TLSInfo - { - return $this->tLSInfo; - } - - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - */ - public function setTLSInfo(?TLSInfo $tLSInfo): self - { - $this->initialized['tLSInfo'] = true; - $this->tLSInfo = $tLSInfo; - - return $this; - } - - /** - * Whether there is currently a root CA rotation in progress for the swarm. - */ - public function getRootRotationInProgress(): ?bool - { - return $this->rootRotationInProgress; - } - - /** - * Whether there is currently a root CA rotation in progress for the swarm. - */ - public function setRootRotationInProgress(?bool $rootRotationInProgress): self - { - $this->initialized['rootRotationInProgress'] = true; - $this->rootRotationInProgress = $rootRotationInProgress; - - return $this; - } - - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * If no port is set or is set to 0, the default port (4789) is used. - */ - public function getDataPathPort(): ?int - { - return $this->dataPathPort; - } - - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * If no port is set or is set to 0, the default port (4789) is used. - */ - public function setDataPathPort(?int $dataPathPort): self - { - $this->initialized['dataPathPort'] = true; - $this->dataPathPort = $dataPathPort; - - return $this; - } - - /** - * Default Address Pool specifies default subnet pools for global scope - * networks. - * - * @return list|null - */ - public function getDefaultAddrPool(): ?array - { - return $this->defaultAddrPool; - } - - /** - * Default Address Pool specifies default subnet pools for global scope - * networks. - * - * @param list|null $defaultAddrPool - */ - public function setDefaultAddrPool(?array $defaultAddrPool): self - { - $this->initialized['defaultAddrPool'] = true; - $this->defaultAddrPool = $defaultAddrPool; - - return $this; - } - - /** - * SubnetSize specifies the subnet size of the networks created from the - * default subnet pool. - */ - public function getSubnetSize(): ?int - { - return $this->subnetSize; - } - - /** - * SubnetSize specifies the subnet size of the networks created from the - * default subnet pool. - */ - public function setSubnetSize(?int $subnetSize): self - { - $this->initialized['subnetSize'] = true; - $this->subnetSize = $subnetSize; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolume.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolume.php deleted file mode 100644 index dfc6e9f3a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolume.php +++ /dev/null @@ -1,217 +0,0 @@ -initialized); - } - /** - * The Swarm ID of this volume. Because cluster volumes are Swarm - * objects, they have an ID, unlike non-cluster volumes. This ID can - * be used to refer to the Volume instead of the name. - * - * @var string|null - */ - protected $iD; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $version; - /** - * @var string|null - */ - protected $createdAt; - /** - * @var string|null - */ - protected $updatedAt; - /** - * Cluster-specific options used to create the volume. - * - * @var ClusterVolumeSpec|null - */ - protected $spec; - /** - * Information about the global status of the volume. - * - * @var ClusterVolumeInfo|null - */ - protected $info; - /** - * The status of the volume as it pertains to its publishing and use on - * specific nodes. - * - * @var list|null - */ - protected $publishStatus; - - /** - * The Swarm ID of this volume. Because cluster volumes are Swarm - * objects, they have an ID, unlike non-cluster volumes. This ID can - * be used to refer to the Volume instead of the name. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * The Swarm ID of this volume. Because cluster volumes are Swarm - * objects, they have an ID, unlike non-cluster volumes. This ID can - * be used to refer to the Volume instead of the name. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getVersion(): ?ObjectVersion - { - return $this->version; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setVersion(?ObjectVersion $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - public function getUpdatedAt(): ?string - { - return $this->updatedAt; - } - - public function setUpdatedAt(?string $updatedAt): self - { - $this->initialized['updatedAt'] = true; - $this->updatedAt = $updatedAt; - - return $this; - } - - /** - * Cluster-specific options used to create the volume. - */ - public function getSpec(): ?ClusterVolumeSpec - { - return $this->spec; - } - - /** - * Cluster-specific options used to create the volume. - */ - public function setSpec(?ClusterVolumeSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } - - /** - * Information about the global status of the volume. - */ - public function getInfo(): ?ClusterVolumeInfo - { - return $this->info; - } - - /** - * Information about the global status of the volume. - */ - public function setInfo(?ClusterVolumeInfo $info): self - { - $this->initialized['info'] = true; - $this->info = $info; - - return $this; - } - - /** - * The status of the volume as it pertains to its publishing and use on - * specific nodes. - * - * @return list|null - */ - public function getPublishStatus(): ?array - { - return $this->publishStatus; - } - - /** - * The status of the volume as it pertains to its publishing and use on - * specific nodes. - * - * @param list|null $publishStatus - */ - public function setPublishStatus(?array $publishStatus): self - { - $this->initialized['publishStatus'] = true; - $this->publishStatus = $publishStatus; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeInfo.php deleted file mode 100644 index 1a8d4f581..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeInfo.php +++ /dev/null @@ -1,144 +0,0 @@ -initialized); - } - /** - * The capacity of the volume in bytes. A value of 0 indicates that - * the capacity is unknown. - * - * @var int|null - */ - protected $capacityBytes; - /** - * A map of strings to strings returned from the storage plugin when - * the volume is created. - * - * @var array|null - */ - protected $volumeContext; - /** - * The ID of the volume as returned by the CSI storage plugin. This - * is distinct from the volume's ID as provided by Docker. This ID - * is never used by the user when communicating with Docker to refer - * to this volume. If the ID is blank, then the Volume has not been - * successfully created in the plugin yet. - * - * @var string|null - */ - protected $volumeID; - /** - * The topology this volume is actually accessible from. - * - * @var list>|null - */ - protected $accessibleTopology; - - /** - * The capacity of the volume in bytes. A value of 0 indicates that - * the capacity is unknown. - */ - public function getCapacityBytes(): ?int - { - return $this->capacityBytes; - } - - /** - * The capacity of the volume in bytes. A value of 0 indicates that - * the capacity is unknown. - */ - public function setCapacityBytes(?int $capacityBytes): self - { - $this->initialized['capacityBytes'] = true; - $this->capacityBytes = $capacityBytes; - - return $this; - } - - /** - * A map of strings to strings returned from the storage plugin when - * the volume is created. - * - * @return array|null - */ - public function getVolumeContext(): ?iterable - { - return $this->volumeContext; - } - - /** - * A map of strings to strings returned from the storage plugin when - * the volume is created. - * - * @param array|null $volumeContext - */ - public function setVolumeContext(?iterable $volumeContext): self - { - $this->initialized['volumeContext'] = true; - $this->volumeContext = $volumeContext; - - return $this; - } - - /** - * The ID of the volume as returned by the CSI storage plugin. This - * is distinct from the volume's ID as provided by Docker. This ID - * is never used by the user when communicating with Docker to refer - * to this volume. If the ID is blank, then the Volume has not been - * successfully created in the plugin yet. - */ - public function getVolumeID(): ?string - { - return $this->volumeID; - } - - /** - * The ID of the volume as returned by the CSI storage plugin. This - * is distinct from the volume's ID as provided by Docker. This ID - * is never used by the user when communicating with Docker to refer - * to this volume. If the ID is blank, then the Volume has not been - * successfully created in the plugin yet. - */ - public function setVolumeID(?string $volumeID): self - { - $this->initialized['volumeID'] = true; - $this->volumeID = $volumeID; - - return $this; - } - - /** - * The topology this volume is actually accessible from. - * - * @return list>|null - */ - public function getAccessibleTopology(): ?array - { - return $this->accessibleTopology; - } - - /** - * The topology this volume is actually accessible from. - * - * @param list>|null $accessibleTopology - */ - public function setAccessibleTopology(?array $accessibleTopology): self - { - $this->initialized['accessibleTopology'] = true; - $this->accessibleTopology = $accessibleTopology; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumePublishStatusItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumePublishStatusItem.php deleted file mode 100644 index 11f99925a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumePublishStatusItem.php +++ /dev/null @@ -1,112 +0,0 @@ -initialized); - } - /** - * The ID of the Swarm node the volume is published on. - * - * @var string|null - */ - protected $nodeID; - /** - * The published state of the volume. - * `pending-publish` The volume should be published to this node, but the call to the controller plugin to do so has not yet been successfully completed. - * `published` The volume is published successfully to the node. - * `pending-node-unpublish` The volume should be unpublished from the node, and the manager is awaiting confirmation from the worker that it has done so. - * `pending-controller-unpublish` The volume is successfully unpublished from the node, but has not yet been successfully unpublished on the controller. - * - * @var string|null - */ - protected $state; - /** - * A map of strings to strings returned by the CSI controller - * plugin when a volume is published. - * - * @var array|null - */ - protected $publishContext; - - /** - * The ID of the Swarm node the volume is published on. - */ - public function getNodeID(): ?string - { - return $this->nodeID; - } - - /** - * The ID of the Swarm node the volume is published on. - */ - public function setNodeID(?string $nodeID): self - { - $this->initialized['nodeID'] = true; - $this->nodeID = $nodeID; - - return $this; - } - - /** - * The published state of the volume. - * `pending-publish` The volume should be published to this node, but the call to the controller plugin to do so has not yet been successfully completed. - * `published` The volume is published successfully to the node. - * `pending-node-unpublish` The volume should be unpublished from the node, and the manager is awaiting confirmation from the worker that it has done so. - * `pending-controller-unpublish` The volume is successfully unpublished from the node, but has not yet been successfully unpublished on the controller. - */ - public function getState(): ?string - { - return $this->state; - } - - /** - * The published state of the volume. - * `pending-publish` The volume should be published to this node, but the call to the controller plugin to do so has not yet been successfully completed. - * `published` The volume is published successfully to the node. - * `pending-node-unpublish` The volume should be unpublished from the node, and the manager is awaiting confirmation from the worker that it has done so. - * `pending-controller-unpublish` The volume is successfully unpublished from the node, but has not yet been successfully unpublished on the controller. - */ - public function setState(?string $state): self - { - $this->initialized['state'] = true; - $this->state = $state; - - return $this; - } - - /** - * A map of strings to strings returned by the CSI controller - * plugin when a volume is published. - * - * @return array|null - */ - public function getPublishContext(): ?iterable - { - return $this->publishContext; - } - - /** - * A map of strings to strings returned by the CSI controller - * plugin when a volume is published. - * - * @param array|null $publishContext - */ - public function setPublishContext(?iterable $publishContext): self - { - $this->initialized['publishContext'] = true; - $this->publishContext = $publishContext; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpec.php deleted file mode 100644 index a8e8db240..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpec.php +++ /dev/null @@ -1,83 +0,0 @@ -initialized); - } - /** - * Group defines the volume group of this volume. Volumes belonging to - * the same group can be referred to by group name when creating - * Services. Referring to a volume by group instructs Swarm to treat - * volumes in that group interchangeably for the purpose of scheduling. - * Volumes with an empty string for a group technically all belong to - * the same, emptystring group. - * - * @var string|null - */ - protected $group; - /** - * Defines how the volume is used by tasks. - * - * @var ClusterVolumeSpecAccessMode|null - */ - protected $accessMode; - - /** - * Group defines the volume group of this volume. Volumes belonging to - * the same group can be referred to by group name when creating - * Services. Referring to a volume by group instructs Swarm to treat - * volumes in that group interchangeably for the purpose of scheduling. - * Volumes with an empty string for a group technically all belong to - * the same, emptystring group. - */ - public function getGroup(): ?string - { - return $this->group; - } - - /** - * Group defines the volume group of this volume. Volumes belonging to - * the same group can be referred to by group name when creating - * Services. Referring to a volume by group instructs Swarm to treat - * volumes in that group interchangeably for the purpose of scheduling. - * Volumes with an empty string for a group technically all belong to - * the same, emptystring group. - */ - public function setGroup(?string $group): self - { - $this->initialized['group'] = true; - $this->group = $group; - - return $this; - } - - /** - * Defines how the volume is used by tasks. - */ - public function getAccessMode(): ?ClusterVolumeSpecAccessMode - { - return $this->accessMode; - } - - /** - * Defines how the volume is used by tasks. - */ - public function setAccessMode(?ClusterVolumeSpecAccessMode $accessMode): self - { - $this->initialized['accessMode'] = true; - $this->accessMode = $accessMode; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessMode.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessMode.php deleted file mode 100644 index 661b6be1f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessMode.php +++ /dev/null @@ -1,299 +0,0 @@ -initialized); - } - /** - * The set of nodes this volume can be used on at one time. - * - `single` The volume may only be scheduled to one node at a time. - * - `multi` the volume may be scheduled to any supported number of nodes at a time. - * - * @var string|null - */ - protected $scope = 'single'; - /** - * The number and way that different tasks can use this volume - * at one time. - * - `none` The volume may only be used by one task at a time. - * - `readonly` The volume may be used by any number of tasks, but they all must mount the volume as readonly - * - `onewriter` The volume may be used by any number of tasks, but only one may mount it as read/write. - * - `all` The volume may have any number of readers and writers. - * - * @var string|null - */ - protected $sharing = 'none'; - /** - * Options for using this volume as a Mount-type volume. - * - * Either MountVolume or BlockVolume, but not both, must be - * present. - * properties: - * FsType: - * type: "string" - * description: | - * Specifies the filesystem type for the mount volume. - * Optional. - * MountFlags: - * type: "array" - * description: | - * Flags to pass when mounting the volume. Optional. - * items: - * type: "string" - * BlockVolume: - * type: "object" - * description: | - * Options for using this volume as a Block-type volume. - * Intentionally empty. - * - * @var ClusterVolumeSpecAccessModeMountVolume|null - */ - protected $mountVolume; - /** - * Swarm Secrets that are passed to the CSI storage plugin when - * operating on this volume. - * - * @var list|null - */ - protected $secrets; - /** - * Requirements for the accessible topology of the volume. These - * fields are optional. For an in-depth description of what these - * fields mean, see the CSI specification. - * - * @var ClusterVolumeSpecAccessModeAccessibilityRequirements|null - */ - protected $accessibilityRequirements; - /** - * The desired capacity that the volume should be created with. If - * empty, the plugin will decide the capacity. - * - * @var ClusterVolumeSpecAccessModeCapacityRange|null - */ - protected $capacityRange; - /** - * The availability of the volume for use in tasks. - * - `active` The volume is fully available for scheduling on the cluster - * - `pause` No new workloads should use the volume, but existing workloads are not stopped. - * - `drain` All workloads using this volume should be stopped and rescheduled, and no new ones should be started. - * - * @var string|null - */ - protected $availability = 'active'; - - /** - * The set of nodes this volume can be used on at one time. - * - `single` The volume may only be scheduled to one node at a time. - * - `multi` the volume may be scheduled to any supported number of nodes at a time. - */ - public function getScope(): ?string - { - return $this->scope; - } - - /** - * The set of nodes this volume can be used on at one time. - * - `single` The volume may only be scheduled to one node at a time. - * - `multi` the volume may be scheduled to any supported number of nodes at a time. - */ - public function setScope(?string $scope): self - { - $this->initialized['scope'] = true; - $this->scope = $scope; - - return $this; - } - - /** - * The number and way that different tasks can use this volume - * at one time. - * - `none` The volume may only be used by one task at a time. - * - `readonly` The volume may be used by any number of tasks, but they all must mount the volume as readonly - * - `onewriter` The volume may be used by any number of tasks, but only one may mount it as read/write. - * - `all` The volume may have any number of readers and writers. - */ - public function getSharing(): ?string - { - return $this->sharing; - } - - /** - * The number and way that different tasks can use this volume - * at one time. - * - `none` The volume may only be used by one task at a time. - * - `readonly` The volume may be used by any number of tasks, but they all must mount the volume as readonly - * - `onewriter` The volume may be used by any number of tasks, but only one may mount it as read/write. - * - `all` The volume may have any number of readers and writers. - */ - public function setSharing(?string $sharing): self - { - $this->initialized['sharing'] = true; - $this->sharing = $sharing; - - return $this; - } - - /** - * Options for using this volume as a Mount-type volume. - * - * Either MountVolume or BlockVolume, but not both, must be - * present. - * properties: - * FsType: - * type: "string" - * description: | - * Specifies the filesystem type for the mount volume. - * Optional. - * MountFlags: - * type: "array" - * description: | - * Flags to pass when mounting the volume. Optional. - * items: - * type: "string" - * BlockVolume: - * type: "object" - * description: | - * Options for using this volume as a Block-type volume. - * Intentionally empty. - */ - public function getMountVolume(): ?ClusterVolumeSpecAccessModeMountVolume - { - return $this->mountVolume; - } - - /** - * Options for using this volume as a Mount-type volume. - * - * Either MountVolume or BlockVolume, but not both, must be - * present. - * properties: - * FsType: - * type: "string" - * description: | - * Specifies the filesystem type for the mount volume. - * Optional. - * MountFlags: - * type: "array" - * description: | - * Flags to pass when mounting the volume. Optional. - * items: - * type: "string" - * BlockVolume: - * type: "object" - * description: | - * Options for using this volume as a Block-type volume. - * Intentionally empty. - */ - public function setMountVolume(?ClusterVolumeSpecAccessModeMountVolume $mountVolume): self - { - $this->initialized['mountVolume'] = true; - $this->mountVolume = $mountVolume; - - return $this; - } - - /** - * Swarm Secrets that are passed to the CSI storage plugin when - * operating on this volume. - * - * @return list|null - */ - public function getSecrets(): ?array - { - return $this->secrets; - } - - /** - * Swarm Secrets that are passed to the CSI storage plugin when - * operating on this volume. - * - * @param list|null $secrets - */ - public function setSecrets(?array $secrets): self - { - $this->initialized['secrets'] = true; - $this->secrets = $secrets; - - return $this; - } - - /** - * Requirements for the accessible topology of the volume. These - * fields are optional. For an in-depth description of what these - * fields mean, see the CSI specification. - */ - public function getAccessibilityRequirements(): ?ClusterVolumeSpecAccessModeAccessibilityRequirements - { - return $this->accessibilityRequirements; - } - - /** - * Requirements for the accessible topology of the volume. These - * fields are optional. For an in-depth description of what these - * fields mean, see the CSI specification. - */ - public function setAccessibilityRequirements(?ClusterVolumeSpecAccessModeAccessibilityRequirements $accessibilityRequirements): self - { - $this->initialized['accessibilityRequirements'] = true; - $this->accessibilityRequirements = $accessibilityRequirements; - - return $this; - } - - /** - * The desired capacity that the volume should be created with. If - * empty, the plugin will decide the capacity. - */ - public function getCapacityRange(): ?ClusterVolumeSpecAccessModeCapacityRange - { - return $this->capacityRange; - } - - /** - * The desired capacity that the volume should be created with. If - * empty, the plugin will decide the capacity. - */ - public function setCapacityRange(?ClusterVolumeSpecAccessModeCapacityRange $capacityRange): self - { - $this->initialized['capacityRange'] = true; - $this->capacityRange = $capacityRange; - - return $this; - } - - /** - * The availability of the volume for use in tasks. - * - `active` The volume is fully available for scheduling on the cluster - * - `pause` No new workloads should use the volume, but existing workloads are not stopped. - * - `drain` All workloads using this volume should be stopped and rescheduled, and no new ones should be started. - */ - public function getAvailability(): ?string - { - return $this->availability; - } - - /** - * The availability of the volume for use in tasks. - * - `active` The volume is fully available for scheduling on the cluster - * - `pause` No new workloads should use the volume, but existing workloads are not stopped. - * - `drain` All workloads using this volume should be stopped and rescheduled, and no new ones should be started. - */ - public function setAvailability(?string $availability): self - { - $this->initialized['availability'] = true; - $this->availability = $availability; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeAccessibilityRequirements.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeAccessibilityRequirements.php deleted file mode 100644 index 795f330b0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeAccessibilityRequirements.php +++ /dev/null @@ -1,82 +0,0 @@ -initialized); - } - /** - * A list of required topologies, at least one of which the - * volume must be accessible from. - * - * @var list>|null - */ - protected $requisite; - /** - * A list of topologies that the volume should attempt to be - * provisioned in. - * - * @var list>|null - */ - protected $preferred; - - /** - * A list of required topologies, at least one of which the - * volume must be accessible from. - * - * @return list>|null - */ - public function getRequisite(): ?array - { - return $this->requisite; - } - - /** - * A list of required topologies, at least one of which the - * volume must be accessible from. - * - * @param list>|null $requisite - */ - public function setRequisite(?array $requisite): self - { - $this->initialized['requisite'] = true; - $this->requisite = $requisite; - - return $this; - } - - /** - * A list of topologies that the volume should attempt to be - * provisioned in. - * - * @return list>|null - */ - public function getPreferred(): ?array - { - return $this->preferred; - } - - /** - * A list of topologies that the volume should attempt to be - * provisioned in. - * - * @param list>|null $preferred - */ - public function setPreferred(?array $preferred): self - { - $this->initialized['preferred'] = true; - $this->preferred = $preferred; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeCapacityRange.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeCapacityRange.php deleted file mode 100644 index 36d430f37..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeCapacityRange.php +++ /dev/null @@ -1,74 +0,0 @@ -initialized); - } - /** - * The volume must be at least this big. The value of 0 - * indicates an unspecified minimum. - * - * @var int|null - */ - protected $requiredBytes; - /** - * The volume must not be bigger than this. The value of 0 - * indicates an unspecified maximum. - * - * @var int|null - */ - protected $limitBytes; - - /** - * The volume must be at least this big. The value of 0 - * indicates an unspecified minimum. - */ - public function getRequiredBytes(): ?int - { - return $this->requiredBytes; - } - - /** - * The volume must be at least this big. The value of 0 - * indicates an unspecified minimum. - */ - public function setRequiredBytes(?int $requiredBytes): self - { - $this->initialized['requiredBytes'] = true; - $this->requiredBytes = $requiredBytes; - - return $this; - } - - /** - * The volume must not be bigger than this. The value of 0 - * indicates an unspecified maximum. - */ - public function getLimitBytes(): ?int - { - return $this->limitBytes; - } - - /** - * The volume must not be bigger than this. The value of 0 - * indicates an unspecified maximum. - */ - public function setLimitBytes(?int $limitBytes): self - { - $this->initialized['limitBytes'] = true; - $this->limitBytes = $limitBytes; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeMountVolume.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeMountVolume.php deleted file mode 100644 index 3148eaadf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeMountVolume.php +++ /dev/null @@ -1,18 +0,0 @@ -initialized); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeSecretsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeSecretsItem.php deleted file mode 100644 index 1c68a7dd0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ClusterVolumeSpecAccessModeSecretsItem.php +++ /dev/null @@ -1,80 +0,0 @@ -initialized); - } - /** - * Key is the name of the key of the key-value pair passed to - * the plugin. - * - * @var string|null - */ - protected $key; - /** - * Secret is the swarm Secret object from which to read data. - * This can be a Secret name or ID. The Secret data is - * retrieved by swarm and used as the value of the key-value - * pair passed to the plugin. - * - * @var string|null - */ - protected $secret; - - /** - * Key is the name of the key of the key-value pair passed to - * the plugin. - */ - public function getKey(): ?string - { - return $this->key; - } - - /** - * Key is the name of the key of the key-value pair passed to - * the plugin. - */ - public function setKey(?string $key): self - { - $this->initialized['key'] = true; - $this->key = $key; - - return $this; - } - - /** - * Secret is the swarm Secret object from which to read data. - * This can be a Secret name or ID. The Secret data is - * retrieved by swarm and used as the value of the key-value - * pair passed to the plugin. - */ - public function getSecret(): ?string - { - return $this->secret; - } - - /** - * Secret is the swarm Secret object from which to read data. - * This can be a Secret name or ID. The Secret data is - * retrieved by swarm and used as the value of the key-value - * pair passed to the plugin. - */ - public function setSecret(?string $secret): self - { - $this->initialized['secret'] = true; - $this->secret = $secret; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Commit.php b/app/vendor/beluga-php/docker-php-api/src/Model/Commit.php deleted file mode 100644 index d66c92476..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Commit.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * Actual commit ID of external tool. - * - * @var string|null - */ - protected $iD; - /** - * Commit ID of external tool expected by dockerd as set at build time. - * - * @var string|null - */ - protected $expected; - - /** - * Actual commit ID of external tool. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * Actual commit ID of external tool. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * Commit ID of external tool expected by dockerd as set at build time. - */ - public function getExpected(): ?string - { - return $this->expected; - } - - /** - * Commit ID of external tool expected by dockerd as set at build time. - */ - public function setExpected(?string $expected): self - { - $this->initialized['expected'] = true; - $this->expected = $expected; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Config.php b/app/vendor/beluga-php/docker-php-api/src/Model/Config.php deleted file mode 100644 index 43285757b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Config.php +++ /dev/null @@ -1,138 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $iD; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $version; - /** - * @var string|null - */ - protected $createdAt; - /** - * @var string|null - */ - protected $updatedAt; - /** - * @var ConfigSpec|null - */ - protected $spec; - - public function getID(): ?string - { - return $this->iD; - } - - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getVersion(): ?ObjectVersion - { - return $this->version; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setVersion(?ObjectVersion $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - public function getUpdatedAt(): ?string - { - return $this->updatedAt; - } - - public function setUpdatedAt(?string $updatedAt): self - { - $this->initialized['updatedAt'] = true; - $this->updatedAt = $updatedAt; - - return $this; - } - - public function getSpec(): ?ConfigSpec - { - return $this->spec; - } - - public function setSpec(?ConfigSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ConfigSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/ConfigSpec.php deleted file mode 100644 index 876e4b118..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ConfigSpec.php +++ /dev/null @@ -1,125 +0,0 @@ -initialized); - } - /** - * User-defined name of the config. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * config data. - * - * @var string|null - */ - protected $data; - /** - * Driver represents a driver (network, logging, secrets). - * - * @var Driver|null - */ - protected $templating; - - /** - * User-defined name of the config. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * User-defined name of the config. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * config data. - */ - public function getData(): ?string - { - return $this->data; - } - - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * config data. - */ - public function setData(?string $data): self - { - $this->initialized['data'] = true; - $this->data = $data; - - return $this; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function getTemplating(): ?Driver - { - return $this->templating; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function setTemplating(?Driver $templating): self - { - $this->initialized['templating'] = true; - $this->templating = $templating; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ConfigsCreatePostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/ConfigsCreatePostBody.php deleted file mode 100644 index 4d2b70787..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ConfigsCreatePostBody.php +++ /dev/null @@ -1,125 +0,0 @@ -initialized); - } - /** - * User-defined name of the config. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * config data. - * - * @var string|null - */ - protected $data; - /** - * Driver represents a driver (network, logging, secrets). - * - * @var Driver|null - */ - protected $templating; - - /** - * User-defined name of the config. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * User-defined name of the config. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * config data. - */ - public function getData(): ?string - { - return $this->data; - } - - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * config data. - */ - public function setData(?string $data): self - { - $this->initialized['data'] = true; - $this->data = $data; - - return $this; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function getTemplating(): ?Driver - { - return $this->templating; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function setTemplating(?Driver $templating): self - { - $this->initialized['templating'] = true; - $this->templating = $templating; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfig.php deleted file mode 100644 index 7eaef0f21..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfig.php +++ /dev/null @@ -1,711 +0,0 @@ -initialized); - } - /** - * The hostname to use for the container, as a valid RFC 1123 hostname. - * - * @var string|null - */ - protected $hostname; - /** - * The domain name to use for the container. - * - * @var string|null - */ - protected $domainname; - /** - * The user that commands are run as inside the container. - * - * @var string|null - */ - protected $user; - /** - * Whether to attach to `stdin`. - * - * @var bool|null - */ - protected $attachStdin = false; - /** - * Whether to attach to `stdout`. - * - * @var bool|null - */ - protected $attachStdout = true; - /** - * Whether to attach to `stderr`. - * - * @var bool|null - */ - protected $attachStderr = true; - /** - * An object mapping ports to an empty object in the form: - * - * `{"/": {}}` - * - * @var array|null - */ - protected $exposedPorts; - /** - * Attach standard streams to a TTY, including `stdin` if it is not closed. - * - * @var bool|null - */ - protected $tty = false; - /** - * Open `stdin`. - * - * @var bool|null - */ - protected $openStdin = false; - /** - * Close `stdin` after one attached client disconnects. - * - * @var bool|null - */ - protected $stdinOnce = false; - /** - * A list of environment variables to set inside the container in the - * form `["VAR=value", ...]`. A variable without `=` is removed from the - * environment, rather than to have an empty value. - * - * @var list|null - */ - protected $env; - /** - * Command to run specified as a string or an array of strings. - * - * @var list|null - */ - protected $cmd; - /** - * A test to perform to check that the container is healthy. - * - * @var HealthConfig|null - */ - protected $healthcheck; - /** - * Command is already escaped (Windows only). - * - * @var bool|null - */ - protected $argsEscaped = false; - /** - * The name (or reference) of the image to use when creating the container, - * or which was used when the container was created. - * - * @var string|null - */ - protected $image; - /** - * An object mapping mount point paths inside the container to empty - * objects. - * - * @var array|null - */ - protected $volumes; - /** - * The working directory for commands to run in. - * - * @var string|null - */ - protected $workingDir; - /** - * The entry point for the container as a string or an array of strings. - * - * If the array consists of exactly one empty string (`[""]`) then the - * entry point is reset to system default (i.e., the entry point used by - * docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`). - * - * @var list|null - */ - protected $entrypoint; - /** - * Disable networking for the container. - * - * @var bool|null - */ - protected $networkDisabled; - /** - * MAC address of the container. - * - * Deprecated: this field is deprecated in API v1.44 and up. Use EndpointSettings.MacAddress instead. - * - * @var string|null - */ - protected $macAddress; - /** - * `ONBUILD` metadata that were defined in the image's `Dockerfile`. - * - * @var list|null - */ - protected $onBuild; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Signal to stop a container as a string or unsigned integer. - * - * @var string|null - */ - protected $stopSignal; - /** - * Timeout to stop a container in seconds. - * - * @var int|null - */ - protected $stopTimeout; - /** - * Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell. - * - * @var list|null - */ - protected $shell; - - /** - * The hostname to use for the container, as a valid RFC 1123 hostname. - */ - public function getHostname(): ?string - { - return $this->hostname; - } - - /** - * The hostname to use for the container, as a valid RFC 1123 hostname. - */ - public function setHostname(?string $hostname): self - { - $this->initialized['hostname'] = true; - $this->hostname = $hostname; - - return $this; - } - - /** - * The domain name to use for the container. - */ - public function getDomainname(): ?string - { - return $this->domainname; - } - - /** - * The domain name to use for the container. - */ - public function setDomainname(?string $domainname): self - { - $this->initialized['domainname'] = true; - $this->domainname = $domainname; - - return $this; - } - - /** - * The user that commands are run as inside the container. - */ - public function getUser(): ?string - { - return $this->user; - } - - /** - * The user that commands are run as inside the container. - */ - public function setUser(?string $user): self - { - $this->initialized['user'] = true; - $this->user = $user; - - return $this; - } - - /** - * Whether to attach to `stdin`. - */ - public function getAttachStdin(): ?bool - { - return $this->attachStdin; - } - - /** - * Whether to attach to `stdin`. - */ - public function setAttachStdin(?bool $attachStdin): self - { - $this->initialized['attachStdin'] = true; - $this->attachStdin = $attachStdin; - - return $this; - } - - /** - * Whether to attach to `stdout`. - */ - public function getAttachStdout(): ?bool - { - return $this->attachStdout; - } - - /** - * Whether to attach to `stdout`. - */ - public function setAttachStdout(?bool $attachStdout): self - { - $this->initialized['attachStdout'] = true; - $this->attachStdout = $attachStdout; - - return $this; - } - - /** - * Whether to attach to `stderr`. - */ - public function getAttachStderr(): ?bool - { - return $this->attachStderr; - } - - /** - * Whether to attach to `stderr`. - */ - public function setAttachStderr(?bool $attachStderr): self - { - $this->initialized['attachStderr'] = true; - $this->attachStderr = $attachStderr; - - return $this; - } - - /** - * An object mapping ports to an empty object in the form: - * - * `{"/": {}}` - * - * @return array|null - */ - public function getExposedPorts(): ?iterable - { - return $this->exposedPorts; - } - - /** - * An object mapping ports to an empty object in the form: - * - * `{"/": {}}` - * - * @param array|null $exposedPorts - */ - public function setExposedPorts(?iterable $exposedPorts): self - { - $this->initialized['exposedPorts'] = true; - $this->exposedPorts = $exposedPorts; - - return $this; - } - - /** - * Attach standard streams to a TTY, including `stdin` if it is not closed. - */ - public function getTty(): ?bool - { - return $this->tty; - } - - /** - * Attach standard streams to a TTY, including `stdin` if it is not closed. - */ - public function setTty(?bool $tty): self - { - $this->initialized['tty'] = true; - $this->tty = $tty; - - return $this; - } - - /** - * Open `stdin`. - */ - public function getOpenStdin(): ?bool - { - return $this->openStdin; - } - - /** - * Open `stdin`. - */ - public function setOpenStdin(?bool $openStdin): self - { - $this->initialized['openStdin'] = true; - $this->openStdin = $openStdin; - - return $this; - } - - /** - * Close `stdin` after one attached client disconnects. - */ - public function getStdinOnce(): ?bool - { - return $this->stdinOnce; - } - - /** - * Close `stdin` after one attached client disconnects. - */ - public function setStdinOnce(?bool $stdinOnce): self - { - $this->initialized['stdinOnce'] = true; - $this->stdinOnce = $stdinOnce; - - return $this; - } - - /** - * A list of environment variables to set inside the container in the - * form `["VAR=value", ...]`. A variable without `=` is removed from the - * environment, rather than to have an empty value. - * - * @return list|null - */ - public function getEnv(): ?array - { - return $this->env; - } - - /** - * A list of environment variables to set inside the container in the - * form `["VAR=value", ...]`. A variable without `=` is removed from the - * environment, rather than to have an empty value. - * - * @param list|null $env - */ - public function setEnv(?array $env): self - { - $this->initialized['env'] = true; - $this->env = $env; - - return $this; - } - - /** - * Command to run specified as a string or an array of strings. - * - * @return list|null - */ - public function getCmd(): ?array - { - return $this->cmd; - } - - /** - * Command to run specified as a string or an array of strings. - * - * @param list|null $cmd - */ - public function setCmd(?array $cmd): self - { - $this->initialized['cmd'] = true; - $this->cmd = $cmd; - - return $this; - } - - /** - * A test to perform to check that the container is healthy. - */ - public function getHealthcheck(): ?HealthConfig - { - return $this->healthcheck; - } - - /** - * A test to perform to check that the container is healthy. - */ - public function setHealthcheck(?HealthConfig $healthcheck): self - { - $this->initialized['healthcheck'] = true; - $this->healthcheck = $healthcheck; - - return $this; - } - - /** - * Command is already escaped (Windows only). - */ - public function getArgsEscaped(): ?bool - { - return $this->argsEscaped; - } - - /** - * Command is already escaped (Windows only). - */ - public function setArgsEscaped(?bool $argsEscaped): self - { - $this->initialized['argsEscaped'] = true; - $this->argsEscaped = $argsEscaped; - - return $this; - } - - /** - * The name (or reference) of the image to use when creating the container, - * or which was used when the container was created. - */ - public function getImage(): ?string - { - return $this->image; - } - - /** - * The name (or reference) of the image to use when creating the container, - * or which was used when the container was created. - */ - public function setImage(?string $image): self - { - $this->initialized['image'] = true; - $this->image = $image; - - return $this; - } - - /** - * An object mapping mount point paths inside the container to empty - * objects. - * - * @return array|null - */ - public function getVolumes(): ?iterable - { - return $this->volumes; - } - - /** - * An object mapping mount point paths inside the container to empty - * objects. - * - * @param array|null $volumes - */ - public function setVolumes(?iterable $volumes): self - { - $this->initialized['volumes'] = true; - $this->volumes = $volumes; - - return $this; - } - - /** - * The working directory for commands to run in. - */ - public function getWorkingDir(): ?string - { - return $this->workingDir; - } - - /** - * The working directory for commands to run in. - */ - public function setWorkingDir(?string $workingDir): self - { - $this->initialized['workingDir'] = true; - $this->workingDir = $workingDir; - - return $this; - } - - /** - * The entry point for the container as a string or an array of strings. - * - * If the array consists of exactly one empty string (`[""]`) then the - * entry point is reset to system default (i.e., the entry point used by - * docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`). - * - * @return list|null - */ - public function getEntrypoint(): ?array - { - return $this->entrypoint; - } - - /** - * The entry point for the container as a string or an array of strings. - * - * If the array consists of exactly one empty string (`[""]`) then the - * entry point is reset to system default (i.e., the entry point used by - * docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`). - * - * @param list|null $entrypoint - */ - public function setEntrypoint(?array $entrypoint): self - { - $this->initialized['entrypoint'] = true; - $this->entrypoint = $entrypoint; - - return $this; - } - - /** - * Disable networking for the container. - */ - public function getNetworkDisabled(): ?bool - { - return $this->networkDisabled; - } - - /** - * Disable networking for the container. - */ - public function setNetworkDisabled(?bool $networkDisabled): self - { - $this->initialized['networkDisabled'] = true; - $this->networkDisabled = $networkDisabled; - - return $this; - } - - /** - * MAC address of the container. - * - * Deprecated: this field is deprecated in API v1.44 and up. Use EndpointSettings.MacAddress instead. - */ - public function getMacAddress(): ?string - { - return $this->macAddress; - } - - /** - * MAC address of the container. - * - * Deprecated: this field is deprecated in API v1.44 and up. Use EndpointSettings.MacAddress instead. - */ - public function setMacAddress(?string $macAddress): self - { - $this->initialized['macAddress'] = true; - $this->macAddress = $macAddress; - - return $this; - } - - /** - * `ONBUILD` metadata that were defined in the image's `Dockerfile`. - * - * @return list|null - */ - public function getOnBuild(): ?array - { - return $this->onBuild; - } - - /** - * `ONBUILD` metadata that were defined in the image's `Dockerfile`. - * - * @param list|null $onBuild - */ - public function setOnBuild(?array $onBuild): self - { - $this->initialized['onBuild'] = true; - $this->onBuild = $onBuild; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Signal to stop a container as a string or unsigned integer. - */ - public function getStopSignal(): ?string - { - return $this->stopSignal; - } - - /** - * Signal to stop a container as a string or unsigned integer. - */ - public function setStopSignal(?string $stopSignal): self - { - $this->initialized['stopSignal'] = true; - $this->stopSignal = $stopSignal; - - return $this; - } - - /** - * Timeout to stop a container in seconds. - */ - public function getStopTimeout(): ?int - { - return $this->stopTimeout; - } - - /** - * Timeout to stop a container in seconds. - */ - public function setStopTimeout(?int $stopTimeout): self - { - $this->initialized['stopTimeout'] = true; - $this->stopTimeout = $stopTimeout; - - return $this; - } - - /** - * Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell. - * - * @return list|null - */ - public function getShell(): ?array - { - return $this->shell; - } - - /** - * Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell. - * - * @param list|null $shell - */ - public function setShell(?array $shell): self - { - $this->initialized['shell'] = true; - $this->shell = $shell; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfigExposedPortsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfigExposedPortsItem.php deleted file mode 100644 index 3db6a8306..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfigExposedPortsItem.php +++ /dev/null @@ -1,18 +0,0 @@ -initialized); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfigVolumesItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfigVolumesItem.php deleted file mode 100644 index c29847157..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerConfigVolumesItem.php +++ /dev/null @@ -1,18 +0,0 @@ -initialized); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerCreateResponse.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerCreateResponse.php deleted file mode 100644 index 1bfbafc30..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerCreateResponse.php +++ /dev/null @@ -1,72 +0,0 @@ -initialized); - } - /** - * The ID of the created container. - * - * @var string|null - */ - protected $id; - /** - * Warnings encountered when creating the container. - * - * @var list|null - */ - protected $warnings; - - /** - * The ID of the created container. - */ - public function getId(): ?string - { - return $this->id; - } - - /** - * The ID of the created container. - */ - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - /** - * Warnings encountered when creating the container. - * - * @return list|null - */ - public function getWarnings(): ?array - { - return $this->warnings; - } - - /** - * Warnings encountered when creating the container. - * - * @param list|null $warnings - */ - public function setWarnings(?array $warnings): self - { - $this->initialized['warnings'] = true; - $this->warnings = $warnings; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerState.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerState.php deleted file mode 100644 index 94819a620..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerState.php +++ /dev/null @@ -1,335 +0,0 @@ -initialized); - } - /** - * String representation of the container state. Can be one of "created", - * "running", "paused", "restarting", "removing", "exited", or "dead". - * - * @var string|null - */ - protected $status; - /** - * Whether this container is running. - * - * Note that a running container can be _paused_. The `Running` and `Paused` - * booleans are not mutually exclusive: - * - * When pausing a container (on Linux), the freezer cgroup is used to suspend - * all processes in the container. Freezing the process requires the process to - * be running. As a result, paused containers are both `Running` _and_ `Paused`. - * - * Use the `Status` field instead to determine if a container's state is "running". - * - * @var bool|null - */ - protected $running; - /** - * Whether this container is paused. - * - * @var bool|null - */ - protected $paused; - /** - * Whether this container is restarting. - * - * @var bool|null - */ - protected $restarting; - /** - * Whether a process within this container has been killed because it ran - * out of memory since the container was last started. - * - * @var bool|null - */ - protected $oOMKilled; - /** - * @var bool|null - */ - protected $dead; - /** - * The process ID of this container. - * - * @var int|null - */ - protected $pid; - /** - * The last exit code of this container. - * - * @var int|null - */ - protected $exitCode; - /** - * @var string|null - */ - protected $error; - /** - * The time when this container was last started. - * - * @var string|null - */ - protected $startedAt; - /** - * The time when this container last exited. - * - * @var string|null - */ - protected $finishedAt; - /** - * Health stores information about the container's healthcheck results. - * - * @var Health|null - */ - protected $health; - - /** - * String representation of the container state. Can be one of "created", - * "running", "paused", "restarting", "removing", "exited", or "dead". - */ - public function getStatus(): ?string - { - return $this->status; - } - - /** - * String representation of the container state. Can be one of "created", - * "running", "paused", "restarting", "removing", "exited", or "dead". - */ - public function setStatus(?string $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - /** - * Whether this container is running. - * - * Note that a running container can be _paused_. The `Running` and `Paused` - * booleans are not mutually exclusive: - * - * When pausing a container (on Linux), the freezer cgroup is used to suspend - * all processes in the container. Freezing the process requires the process to - * be running. As a result, paused containers are both `Running` _and_ `Paused`. - * - * Use the `Status` field instead to determine if a container's state is "running". - */ - public function getRunning(): ?bool - { - return $this->running; - } - - /** - * Whether this container is running. - * - * Note that a running container can be _paused_. The `Running` and `Paused` - * booleans are not mutually exclusive: - * - * When pausing a container (on Linux), the freezer cgroup is used to suspend - * all processes in the container. Freezing the process requires the process to - * be running. As a result, paused containers are both `Running` _and_ `Paused`. - * - * Use the `Status` field instead to determine if a container's state is "running". - */ - public function setRunning(?bool $running): self - { - $this->initialized['running'] = true; - $this->running = $running; - - return $this; - } - - /** - * Whether this container is paused. - */ - public function getPaused(): ?bool - { - return $this->paused; - } - - /** - * Whether this container is paused. - */ - public function setPaused(?bool $paused): self - { - $this->initialized['paused'] = true; - $this->paused = $paused; - - return $this; - } - - /** - * Whether this container is restarting. - */ - public function getRestarting(): ?bool - { - return $this->restarting; - } - - /** - * Whether this container is restarting. - */ - public function setRestarting(?bool $restarting): self - { - $this->initialized['restarting'] = true; - $this->restarting = $restarting; - - return $this; - } - - /** - * Whether a process within this container has been killed because it ran - * out of memory since the container was last started. - */ - public function getOOMKilled(): ?bool - { - return $this->oOMKilled; - } - - /** - * Whether a process within this container has been killed because it ran - * out of memory since the container was last started. - */ - public function setOOMKilled(?bool $oOMKilled): self - { - $this->initialized['oOMKilled'] = true; - $this->oOMKilled = $oOMKilled; - - return $this; - } - - public function getDead(): ?bool - { - return $this->dead; - } - - public function setDead(?bool $dead): self - { - $this->initialized['dead'] = true; - $this->dead = $dead; - - return $this; - } - - /** - * The process ID of this container. - */ - public function getPid(): ?int - { - return $this->pid; - } - - /** - * The process ID of this container. - */ - public function setPid(?int $pid): self - { - $this->initialized['pid'] = true; - $this->pid = $pid; - - return $this; - } - - /** - * The last exit code of this container. - */ - public function getExitCode(): ?int - { - return $this->exitCode; - } - - /** - * The last exit code of this container. - */ - public function setExitCode(?int $exitCode): self - { - $this->initialized['exitCode'] = true; - $this->exitCode = $exitCode; - - return $this; - } - - public function getError(): ?string - { - return $this->error; - } - - public function setError(?string $error): self - { - $this->initialized['error'] = true; - $this->error = $error; - - return $this; - } - - /** - * The time when this container was last started. - */ - public function getStartedAt(): ?string - { - return $this->startedAt; - } - - /** - * The time when this container was last started. - */ - public function setStartedAt(?string $startedAt): self - { - $this->initialized['startedAt'] = true; - $this->startedAt = $startedAt; - - return $this; - } - - /** - * The time when this container last exited. - */ - public function getFinishedAt(): ?string - { - return $this->finishedAt; - } - - /** - * The time when this container last exited. - */ - public function setFinishedAt(?string $finishedAt): self - { - $this->initialized['finishedAt'] = true; - $this->finishedAt = $finishedAt; - - return $this; - } - - /** - * Health stores information about the container's healthcheck results. - */ - public function getHealth(): ?Health - { - return $this->health; - } - - /** - * Health stores information about the container's healthcheck results. - */ - public function setHealth(?Health $health): self - { - $this->initialized['health'] = true; - $this->health = $health; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerStatus.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerStatus.php deleted file mode 100644 index 86284fe02..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerStatus.php +++ /dev/null @@ -1,69 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $containerID; - /** - * @var int|null - */ - protected $pID; - /** - * @var int|null - */ - protected $exitCode; - - public function getContainerID(): ?string - { - return $this->containerID; - } - - public function setContainerID(?string $containerID): self - { - $this->initialized['containerID'] = true; - $this->containerID = $containerID; - - return $this; - } - - public function getPID(): ?int - { - return $this->pID; - } - - public function setPID(?int $pID): self - { - $this->initialized['pID'] = true; - $this->pID = $pID; - - return $this; - } - - public function getExitCode(): ?int - { - return $this->exitCode; - } - - public function setExitCode(?int $exitCode): self - { - $this->initialized['exitCode'] = true; - $this->exitCode = $exitCode; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummary.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummary.php deleted file mode 100644 index 7d225e471..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummary.php +++ /dev/null @@ -1,395 +0,0 @@ -initialized); - } - /** - * The ID of this container. - * - * @var string|null - */ - protected $id; - /** - * The names that this container has been given. - * - * @var list|null - */ - protected $names; - /** - * The name of the image used when creating this container. - * - * @var string|null - */ - protected $image; - /** - * The ID of the image that this container was created from. - * - * @var string|null - */ - protected $imageID; - /** - * Command to run when starting the container. - * - * @var string|null - */ - protected $command; - /** - * When the container was created. - * - * @var int|null - */ - protected $created; - /** - * The ports exposed by this container. - * - * @var list|null - */ - protected $ports; - /** - * The size of files that have been created or changed by this container. - * - * @var int|null - */ - protected $sizeRw; - /** - * The total size of all the files in this container. - * - * @var int|null - */ - protected $sizeRootFs; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * The state of this container (e.g. `Exited`). - * - * @var string|null - */ - protected $state; - /** - * Additional human-readable status of this container (e.g. `Exit 0`). - * - * @var string|null - */ - protected $status; - /** - * @var ContainerSummaryHostConfig|null - */ - protected $hostConfig; - /** - * A summary of the container's network settings. - * - * @var ContainerSummaryNetworkSettings|null - */ - protected $networkSettings; - /** - * @var list|null - */ - protected $mounts; - - /** - * The ID of this container. - */ - public function getId(): ?string - { - return $this->id; - } - - /** - * The ID of this container. - */ - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - /** - * The names that this container has been given. - * - * @return list|null - */ - public function getNames(): ?array - { - return $this->names; - } - - /** - * The names that this container has been given. - * - * @param list|null $names - */ - public function setNames(?array $names): self - { - $this->initialized['names'] = true; - $this->names = $names; - - return $this; - } - - /** - * The name of the image used when creating this container. - */ - public function getImage(): ?string - { - return $this->image; - } - - /** - * The name of the image used when creating this container. - */ - public function setImage(?string $image): self - { - $this->initialized['image'] = true; - $this->image = $image; - - return $this; - } - - /** - * The ID of the image that this container was created from. - */ - public function getImageID(): ?string - { - return $this->imageID; - } - - /** - * The ID of the image that this container was created from. - */ - public function setImageID(?string $imageID): self - { - $this->initialized['imageID'] = true; - $this->imageID = $imageID; - - return $this; - } - - /** - * Command to run when starting the container. - */ - public function getCommand(): ?string - { - return $this->command; - } - - /** - * Command to run when starting the container. - */ - public function setCommand(?string $command): self - { - $this->initialized['command'] = true; - $this->command = $command; - - return $this; - } - - /** - * When the container was created. - */ - public function getCreated(): ?int - { - return $this->created; - } - - /** - * When the container was created. - */ - public function setCreated(?int $created): self - { - $this->initialized['created'] = true; - $this->created = $created; - - return $this; - } - - /** - * The ports exposed by this container. - * - * @return list|null - */ - public function getPorts(): ?array - { - return $this->ports; - } - - /** - * The ports exposed by this container. - * - * @param list|null $ports - */ - public function setPorts(?array $ports): self - { - $this->initialized['ports'] = true; - $this->ports = $ports; - - return $this; - } - - /** - * The size of files that have been created or changed by this container. - */ - public function getSizeRw(): ?int - { - return $this->sizeRw; - } - - /** - * The size of files that have been created or changed by this container. - */ - public function setSizeRw(?int $sizeRw): self - { - $this->initialized['sizeRw'] = true; - $this->sizeRw = $sizeRw; - - return $this; - } - - /** - * The total size of all the files in this container. - */ - public function getSizeRootFs(): ?int - { - return $this->sizeRootFs; - } - - /** - * The total size of all the files in this container. - */ - public function setSizeRootFs(?int $sizeRootFs): self - { - $this->initialized['sizeRootFs'] = true; - $this->sizeRootFs = $sizeRootFs; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * The state of this container (e.g. `Exited`). - */ - public function getState(): ?string - { - return $this->state; - } - - /** - * The state of this container (e.g. `Exited`). - */ - public function setState(?string $state): self - { - $this->initialized['state'] = true; - $this->state = $state; - - return $this; - } - - /** - * Additional human-readable status of this container (e.g. `Exit 0`). - */ - public function getStatus(): ?string - { - return $this->status; - } - - /** - * Additional human-readable status of this container (e.g. `Exit 0`). - */ - public function setStatus(?string $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - public function getHostConfig(): ?ContainerSummaryHostConfig - { - return $this->hostConfig; - } - - public function setHostConfig(?ContainerSummaryHostConfig $hostConfig): self - { - $this->initialized['hostConfig'] = true; - $this->hostConfig = $hostConfig; - - return $this; - } - - /** - * A summary of the container's network settings. - */ - public function getNetworkSettings(): ?ContainerSummaryNetworkSettings - { - return $this->networkSettings; - } - - /** - * A summary of the container's network settings. - */ - public function setNetworkSettings(?ContainerSummaryNetworkSettings $networkSettings): self - { - $this->initialized['networkSettings'] = true; - $this->networkSettings = $networkSettings; - - return $this; - } - - /** - * @return list|null - */ - public function getMounts(): ?array - { - return $this->mounts; - } - - /** - * @param list|null $mounts - */ - public function setMounts(?array $mounts): self - { - $this->initialized['mounts'] = true; - $this->mounts = $mounts; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummaryHostConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummaryHostConfig.php deleted file mode 100644 index 6c845f933..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummaryHostConfig.php +++ /dev/null @@ -1,35 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $networkMode; - - public function getNetworkMode(): ?string - { - return $this->networkMode; - } - - public function setNetworkMode(?string $networkMode): self - { - $this->initialized['networkMode'] = true; - $this->networkMode = $networkMode; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummaryNetworkSettings.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummaryNetworkSettings.php deleted file mode 100644 index 237de0f69..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerSummaryNetworkSettings.php +++ /dev/null @@ -1,41 +0,0 @@ -initialized); - } - /** - * @var array|null - */ - protected $networks; - - /** - * @return array|null - */ - public function getNetworks(): ?iterable - { - return $this->networks; - } - - /** - * @param array|null $networks - */ - public function setNetworks(?iterable $networks): self - { - $this->initialized['networks'] = true; - $this->networks = $networks; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerWaitExitError.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerWaitExitError.php deleted file mode 100644 index bce2ac564..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerWaitExitError.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * Details of an error. - * - * @var string|null - */ - protected $message; - - /** - * Details of an error. - */ - public function getMessage(): ?string - { - return $this->message; - } - - /** - * Details of an error. - */ - public function setMessage(?string $message): self - { - $this->initialized['message'] = true; - $this->message = $message; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerWaitResponse.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainerWaitResponse.php deleted file mode 100644 index ff2125f2e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainerWaitResponse.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * Exit code of the container. - * - * @var int|null - */ - protected $statusCode; - /** - * container waiting error, if any. - * - * @var ContainerWaitExitError|null - */ - protected $error; - - /** - * Exit code of the container. - */ - public function getStatusCode(): ?int - { - return $this->statusCode; - } - - /** - * Exit code of the container. - */ - public function setStatusCode(?int $statusCode): self - { - $this->initialized['statusCode'] = true; - $this->statusCode = $statusCode; - - return $this; - } - - /** - * container waiting error, if any. - */ - public function getError(): ?ContainerWaitExitError - { - return $this->error; - } - - /** - * container waiting error, if any. - */ - public function setError(?ContainerWaitExitError $error): self - { - $this->initialized['error'] = true; - $this->error = $error; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersCreatePostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainersCreatePostBody.php deleted file mode 100644 index 2772f972b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersCreatePostBody.php +++ /dev/null @@ -1,770 +0,0 @@ -initialized); - } - /** - * The hostname to use for the container, as a valid RFC 1123 hostname. - * - * @var string|null - */ - protected $hostname; - /** - * The domain name to use for the container. - * - * @var string|null - */ - protected $domainname; - /** - * The user that commands are run as inside the container. - * - * @var string|null - */ - protected $user; - /** - * Whether to attach to `stdin`. - * - * @var bool|null - */ - protected $attachStdin = false; - /** - * Whether to attach to `stdout`. - * - * @var bool|null - */ - protected $attachStdout = true; - /** - * Whether to attach to `stderr`. - * - * @var bool|null - */ - protected $attachStderr = true; - /** - * An object mapping ports to an empty object in the form: - * - * `{"/": {}}` - * - * @var array|null - */ - protected $exposedPorts; - /** - * Attach standard streams to a TTY, including `stdin` if it is not closed. - * - * @var bool|null - */ - protected $tty = false; - /** - * Open `stdin`. - * - * @var bool|null - */ - protected $openStdin = false; - /** - * Close `stdin` after one attached client disconnects. - * - * @var bool|null - */ - protected $stdinOnce = false; - /** - * A list of environment variables to set inside the container in the - * form `["VAR=value", ...]`. A variable without `=` is removed from the - * environment, rather than to have an empty value. - * - * @var list|null - */ - protected $env; - /** - * Command to run specified as a string or an array of strings. - * - * @var list|null - */ - protected $cmd; - /** - * A test to perform to check that the container is healthy. - * - * @var HealthConfig|null - */ - protected $healthcheck; - /** - * Command is already escaped (Windows only). - * - * @var bool|null - */ - protected $argsEscaped = false; - /** - * The name (or reference) of the image to use when creating the container, - * or which was used when the container was created. - * - * @var string|null - */ - protected $image; - /** - * An object mapping mount point paths inside the container to empty - * objects. - * - * @var array|null - */ - protected $volumes; - /** - * The working directory for commands to run in. - * - * @var string|null - */ - protected $workingDir; - /** - * The entry point for the container as a string or an array of strings. - * - * If the array consists of exactly one empty string (`[""]`) then the - * entry point is reset to system default (i.e., the entry point used by - * docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`). - * - * @var list|null - */ - protected $entrypoint; - /** - * Disable networking for the container. - * - * @var bool|null - */ - protected $networkDisabled; - /** - * MAC address of the container. - * - * Deprecated: this field is deprecated in API v1.44 and up. Use EndpointSettings.MacAddress instead. - * - * @var string|null - */ - protected $macAddress; - /** - * `ONBUILD` metadata that were defined in the image's `Dockerfile`. - * - * @var list|null - */ - protected $onBuild; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Signal to stop a container as a string or unsigned integer. - * - * @var string|null - */ - protected $stopSignal; - /** - * Timeout to stop a container in seconds. - * - * @var int|null - */ - protected $stopTimeout; - /** - * Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell. - * - * @var list|null - */ - protected $shell; - /** - * Container configuration that depends on the host we are running on. - * - * @var HostConfig|null - */ - protected $hostConfig; - /** - * NetworkingConfig represents the container's networking configuration for - * each of its interfaces. - * It is used for the networking configs specified in the `docker create` - * and `docker network connect` commands. - * - * @var NetworkingConfig|null - */ - protected $networkingConfig; - - /** - * The hostname to use for the container, as a valid RFC 1123 hostname. - */ - public function getHostname(): ?string - { - return $this->hostname; - } - - /** - * The hostname to use for the container, as a valid RFC 1123 hostname. - */ - public function setHostname(?string $hostname): self - { - $this->initialized['hostname'] = true; - $this->hostname = $hostname; - - return $this; - } - - /** - * The domain name to use for the container. - */ - public function getDomainname(): ?string - { - return $this->domainname; - } - - /** - * The domain name to use for the container. - */ - public function setDomainname(?string $domainname): self - { - $this->initialized['domainname'] = true; - $this->domainname = $domainname; - - return $this; - } - - /** - * The user that commands are run as inside the container. - */ - public function getUser(): ?string - { - return $this->user; - } - - /** - * The user that commands are run as inside the container. - */ - public function setUser(?string $user): self - { - $this->initialized['user'] = true; - $this->user = $user; - - return $this; - } - - /** - * Whether to attach to `stdin`. - */ - public function getAttachStdin(): ?bool - { - return $this->attachStdin; - } - - /** - * Whether to attach to `stdin`. - */ - public function setAttachStdin(?bool $attachStdin): self - { - $this->initialized['attachStdin'] = true; - $this->attachStdin = $attachStdin; - - return $this; - } - - /** - * Whether to attach to `stdout`. - */ - public function getAttachStdout(): ?bool - { - return $this->attachStdout; - } - - /** - * Whether to attach to `stdout`. - */ - public function setAttachStdout(?bool $attachStdout): self - { - $this->initialized['attachStdout'] = true; - $this->attachStdout = $attachStdout; - - return $this; - } - - /** - * Whether to attach to `stderr`. - */ - public function getAttachStderr(): ?bool - { - return $this->attachStderr; - } - - /** - * Whether to attach to `stderr`. - */ - public function setAttachStderr(?bool $attachStderr): self - { - $this->initialized['attachStderr'] = true; - $this->attachStderr = $attachStderr; - - return $this; - } - - /** - * An object mapping ports to an empty object in the form: - * - * `{"/": {}}` - * - * @return array|null - */ - public function getExposedPorts(): ?iterable - { - return $this->exposedPorts; - } - - /** - * An object mapping ports to an empty object in the form: - * - * `{"/": {}}` - * - * @param array|null $exposedPorts - */ - public function setExposedPorts(?iterable $exposedPorts): self - { - $this->initialized['exposedPorts'] = true; - $this->exposedPorts = $exposedPorts; - - return $this; - } - - /** - * Attach standard streams to a TTY, including `stdin` if it is not closed. - */ - public function getTty(): ?bool - { - return $this->tty; - } - - /** - * Attach standard streams to a TTY, including `stdin` if it is not closed. - */ - public function setTty(?bool $tty): self - { - $this->initialized['tty'] = true; - $this->tty = $tty; - - return $this; - } - - /** - * Open `stdin`. - */ - public function getOpenStdin(): ?bool - { - return $this->openStdin; - } - - /** - * Open `stdin`. - */ - public function setOpenStdin(?bool $openStdin): self - { - $this->initialized['openStdin'] = true; - $this->openStdin = $openStdin; - - return $this; - } - - /** - * Close `stdin` after one attached client disconnects. - */ - public function getStdinOnce(): ?bool - { - return $this->stdinOnce; - } - - /** - * Close `stdin` after one attached client disconnects. - */ - public function setStdinOnce(?bool $stdinOnce): self - { - $this->initialized['stdinOnce'] = true; - $this->stdinOnce = $stdinOnce; - - return $this; - } - - /** - * A list of environment variables to set inside the container in the - * form `["VAR=value", ...]`. A variable without `=` is removed from the - * environment, rather than to have an empty value. - * - * @return list|null - */ - public function getEnv(): ?array - { - return $this->env; - } - - /** - * A list of environment variables to set inside the container in the - * form `["VAR=value", ...]`. A variable without `=` is removed from the - * environment, rather than to have an empty value. - * - * @param list|null $env - */ - public function setEnv(?array $env): self - { - $this->initialized['env'] = true; - $this->env = $env; - - return $this; - } - - /** - * Command to run specified as a string or an array of strings. - * - * @return list|null - */ - public function getCmd(): ?array - { - return $this->cmd; - } - - /** - * Command to run specified as a string or an array of strings. - * - * @param list|null $cmd - */ - public function setCmd(?array $cmd): self - { - $this->initialized['cmd'] = true; - $this->cmd = $cmd; - - return $this; - } - - /** - * A test to perform to check that the container is healthy. - */ - public function getHealthcheck(): ?HealthConfig - { - return $this->healthcheck; - } - - /** - * A test to perform to check that the container is healthy. - */ - public function setHealthcheck(?HealthConfig $healthcheck): self - { - $this->initialized['healthcheck'] = true; - $this->healthcheck = $healthcheck; - - return $this; - } - - /** - * Command is already escaped (Windows only). - */ - public function getArgsEscaped(): ?bool - { - return $this->argsEscaped; - } - - /** - * Command is already escaped (Windows only). - */ - public function setArgsEscaped(?bool $argsEscaped): self - { - $this->initialized['argsEscaped'] = true; - $this->argsEscaped = $argsEscaped; - - return $this; - } - - /** - * The name (or reference) of the image to use when creating the container, - * or which was used when the container was created. - */ - public function getImage(): ?string - { - return $this->image; - } - - /** - * The name (or reference) of the image to use when creating the container, - * or which was used when the container was created. - */ - public function setImage(?string $image): self - { - $this->initialized['image'] = true; - $this->image = $image; - - return $this; - } - - /** - * An object mapping mount point paths inside the container to empty - * objects. - * - * @return array|null - */ - public function getVolumes(): ?iterable - { - return $this->volumes; - } - - /** - * An object mapping mount point paths inside the container to empty - * objects. - * - * @param array|null $volumes - */ - public function setVolumes(?iterable $volumes): self - { - $this->initialized['volumes'] = true; - $this->volumes = $volumes; - - return $this; - } - - /** - * The working directory for commands to run in. - */ - public function getWorkingDir(): ?string - { - return $this->workingDir; - } - - /** - * The working directory for commands to run in. - */ - public function setWorkingDir(?string $workingDir): self - { - $this->initialized['workingDir'] = true; - $this->workingDir = $workingDir; - - return $this; - } - - /** - * The entry point for the container as a string or an array of strings. - * - * If the array consists of exactly one empty string (`[""]`) then the - * entry point is reset to system default (i.e., the entry point used by - * docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`). - * - * @return list|null - */ - public function getEntrypoint(): ?array - { - return $this->entrypoint; - } - - /** - * The entry point for the container as a string or an array of strings. - * - * If the array consists of exactly one empty string (`[""]`) then the - * entry point is reset to system default (i.e., the entry point used by - * docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`). - * - * @param list|null $entrypoint - */ - public function setEntrypoint(?array $entrypoint): self - { - $this->initialized['entrypoint'] = true; - $this->entrypoint = $entrypoint; - - return $this; - } - - /** - * Disable networking for the container. - */ - public function getNetworkDisabled(): ?bool - { - return $this->networkDisabled; - } - - /** - * Disable networking for the container. - */ - public function setNetworkDisabled(?bool $networkDisabled): self - { - $this->initialized['networkDisabled'] = true; - $this->networkDisabled = $networkDisabled; - - return $this; - } - - /** - * MAC address of the container. - * - * Deprecated: this field is deprecated in API v1.44 and up. Use EndpointSettings.MacAddress instead. - */ - public function getMacAddress(): ?string - { - return $this->macAddress; - } - - /** - * MAC address of the container. - * - * Deprecated: this field is deprecated in API v1.44 and up. Use EndpointSettings.MacAddress instead. - */ - public function setMacAddress(?string $macAddress): self - { - $this->initialized['macAddress'] = true; - $this->macAddress = $macAddress; - - return $this; - } - - /** - * `ONBUILD` metadata that were defined in the image's `Dockerfile`. - * - * @return list|null - */ - public function getOnBuild(): ?array - { - return $this->onBuild; - } - - /** - * `ONBUILD` metadata that were defined in the image's `Dockerfile`. - * - * @param list|null $onBuild - */ - public function setOnBuild(?array $onBuild): self - { - $this->initialized['onBuild'] = true; - $this->onBuild = $onBuild; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Signal to stop a container as a string or unsigned integer. - */ - public function getStopSignal(): ?string - { - return $this->stopSignal; - } - - /** - * Signal to stop a container as a string or unsigned integer. - */ - public function setStopSignal(?string $stopSignal): self - { - $this->initialized['stopSignal'] = true; - $this->stopSignal = $stopSignal; - - return $this; - } - - /** - * Timeout to stop a container in seconds. - */ - public function getStopTimeout(): ?int - { - return $this->stopTimeout; - } - - /** - * Timeout to stop a container in seconds. - */ - public function setStopTimeout(?int $stopTimeout): self - { - $this->initialized['stopTimeout'] = true; - $this->stopTimeout = $stopTimeout; - - return $this; - } - - /** - * Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell. - * - * @return list|null - */ - public function getShell(): ?array - { - return $this->shell; - } - - /** - * Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell. - * - * @param list|null $shell - */ - public function setShell(?array $shell): self - { - $this->initialized['shell'] = true; - $this->shell = $shell; - - return $this; - } - - /** - * Container configuration that depends on the host we are running on. - */ - public function getHostConfig(): ?HostConfig - { - return $this->hostConfig; - } - - /** - * Container configuration that depends on the host we are running on. - */ - public function setHostConfig(?HostConfig $hostConfig): self - { - $this->initialized['hostConfig'] = true; - $this->hostConfig = $hostConfig; - - return $this; - } - - /** - * NetworkingConfig represents the container's networking configuration for - * each of its interfaces. - * It is used for the networking configs specified in the `docker create` - * and `docker network connect` commands. - */ - public function getNetworkingConfig(): ?NetworkingConfig - { - return $this->networkingConfig; - } - - /** - * NetworkingConfig represents the container's networking configuration for - * each of its interfaces. - * It is used for the networking configs specified in the `docker create` - * and `docker network connect` commands. - */ - public function setNetworkingConfig(?NetworkingConfig $networkingConfig): self - { - $this->initialized['networkingConfig'] = true; - $this->networkingConfig = $networkingConfig; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdExecPostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdExecPostBody.php deleted file mode 100644 index ae0c8b2cf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdExecPostBody.php +++ /dev/null @@ -1,317 +0,0 @@ -initialized); - } - /** - * Attach to `stdin` of the exec command. - * - * @var bool|null - */ - protected $attachStdin; - /** - * Attach to `stdout` of the exec command. - * - * @var bool|null - */ - protected $attachStdout; - /** - * Attach to `stderr` of the exec command. - * - * @var bool|null - */ - protected $attachStderr; - /** - * Initial console size, as an `[height, width]` array. - * - * @var list|null - */ - protected $consoleSize; - /** - * Override the key sequence for detaching a container. Format is - * a single character `[a-Z]` or `ctrl-` where `` - * is one of: `a-z`, `@`, `^`, `[`, `,` or `_`. - * - * @var string|null - */ - protected $detachKeys; - /** - * Allocate a pseudo-TTY. - * - * @var bool|null - */ - protected $tty; - /** - * A list of environment variables in the form `["VAR=value", ...]`. - * - * @var list|null - */ - protected $env; - /** - * Command to run, as a string or array of strings. - * - * @var list|null - */ - protected $cmd; - /** - * Runs the exec process with extended privileges. - * - * @var bool|null - */ - protected $privileged = false; - /** - * The user, and optionally, group to run the exec process inside - * the container. Format is one of: `user`, `user:group`, `uid`, - * or `uid:gid`. - * - * @var string|null - */ - protected $user; - /** - * The working directory for the exec process inside the container. - * - * @var string|null - */ - protected $workingDir; - - /** - * Attach to `stdin` of the exec command. - */ - public function getAttachStdin(): ?bool - { - return $this->attachStdin; - } - - /** - * Attach to `stdin` of the exec command. - */ - public function setAttachStdin(?bool $attachStdin): self - { - $this->initialized['attachStdin'] = true; - $this->attachStdin = $attachStdin; - - return $this; - } - - /** - * Attach to `stdout` of the exec command. - */ - public function getAttachStdout(): ?bool - { - return $this->attachStdout; - } - - /** - * Attach to `stdout` of the exec command. - */ - public function setAttachStdout(?bool $attachStdout): self - { - $this->initialized['attachStdout'] = true; - $this->attachStdout = $attachStdout; - - return $this; - } - - /** - * Attach to `stderr` of the exec command. - */ - public function getAttachStderr(): ?bool - { - return $this->attachStderr; - } - - /** - * Attach to `stderr` of the exec command. - */ - public function setAttachStderr(?bool $attachStderr): self - { - $this->initialized['attachStderr'] = true; - $this->attachStderr = $attachStderr; - - return $this; - } - - /** - * Initial console size, as an `[height, width]` array. - * - * @return list|null - */ - public function getConsoleSize(): ?array - { - return $this->consoleSize; - } - - /** - * Initial console size, as an `[height, width]` array. - * - * @param list|null $consoleSize - */ - public function setConsoleSize(?array $consoleSize): self - { - $this->initialized['consoleSize'] = true; - $this->consoleSize = $consoleSize; - - return $this; - } - - /** - * Override the key sequence for detaching a container. Format is - * a single character `[a-Z]` or `ctrl-` where `` - * is one of: `a-z`, `@`, `^`, `[`, `,` or `_`. - */ - public function getDetachKeys(): ?string - { - return $this->detachKeys; - } - - /** - * Override the key sequence for detaching a container. Format is - * a single character `[a-Z]` or `ctrl-` where `` - * is one of: `a-z`, `@`, `^`, `[`, `,` or `_`. - */ - public function setDetachKeys(?string $detachKeys): self - { - $this->initialized['detachKeys'] = true; - $this->detachKeys = $detachKeys; - - return $this; - } - - /** - * Allocate a pseudo-TTY. - */ - public function getTty(): ?bool - { - return $this->tty; - } - - /** - * Allocate a pseudo-TTY. - */ - public function setTty(?bool $tty): self - { - $this->initialized['tty'] = true; - $this->tty = $tty; - - return $this; - } - - /** - * A list of environment variables in the form `["VAR=value", ...]`. - * - * @return list|null - */ - public function getEnv(): ?array - { - return $this->env; - } - - /** - * A list of environment variables in the form `["VAR=value", ...]`. - * - * @param list|null $env - */ - public function setEnv(?array $env): self - { - $this->initialized['env'] = true; - $this->env = $env; - - return $this; - } - - /** - * Command to run, as a string or array of strings. - * - * @return list|null - */ - public function getCmd(): ?array - { - return $this->cmd; - } - - /** - * Command to run, as a string or array of strings. - * - * @param list|null $cmd - */ - public function setCmd(?array $cmd): self - { - $this->initialized['cmd'] = true; - $this->cmd = $cmd; - - return $this; - } - - /** - * Runs the exec process with extended privileges. - */ - public function getPrivileged(): ?bool - { - return $this->privileged; - } - - /** - * Runs the exec process with extended privileges. - */ - public function setPrivileged(?bool $privileged): self - { - $this->initialized['privileged'] = true; - $this->privileged = $privileged; - - return $this; - } - - /** - * The user, and optionally, group to run the exec process inside - * the container. Format is one of: `user`, `user:group`, `uid`, - * or `uid:gid`. - */ - public function getUser(): ?string - { - return $this->user; - } - - /** - * The user, and optionally, group to run the exec process inside - * the container. Format is one of: `user`, `user:group`, `uid`, - * or `uid:gid`. - */ - public function setUser(?string $user): self - { - $this->initialized['user'] = true; - $this->user = $user; - - return $this; - } - - /** - * The working directory for the exec process inside the container. - */ - public function getWorkingDir(): ?string - { - return $this->workingDir; - } - - /** - * The working directory for the exec process inside the container. - */ - public function setWorkingDir(?string $workingDir): self - { - $this->initialized['workingDir'] = true; - $this->workingDir = $workingDir; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdJsonGetResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdJsonGetResponse200.php deleted file mode 100644 index cc7030cad..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdJsonGetResponse200.php +++ /dev/null @@ -1,591 +0,0 @@ -initialized); - } - /** - * The ID of the container. - * - * @var string|null - */ - protected $id; - /** - * The time the container was created. - * - * @var string|null - */ - protected $created; - /** - * The path to the command being run. - * - * @var string|null - */ - protected $path; - /** - * The arguments to the command being run. - * - * @var list|null - */ - protected $args; - /** - * ContainerState stores container's running state. It's part of ContainerJSONBase - * and will be returned by the "inspect" command. - * - * @var ContainerState|null - */ - protected $state; - /** - * The container's image ID. - * - * @var string|null - */ - protected $image; - /** - * @var string|null - */ - protected $resolvConfPath; - /** - * @var string|null - */ - protected $hostnamePath; - /** - * @var string|null - */ - protected $hostsPath; - /** - * @var string|null - */ - protected $logPath; - /** - * @var string|null - */ - protected $name; - /** - * @var int|null - */ - protected $restartCount; - /** - * @var string|null - */ - protected $driver; - /** - * @var string|null - */ - protected $platform; - /** - * @var string|null - */ - protected $mountLabel; - /** - * @var string|null - */ - protected $processLabel; - /** - * @var string|null - */ - protected $appArmorProfile; - /** - * IDs of exec instances that are running in the container. - * - * @var list|null - */ - protected $execIDs; - /** - * Container configuration that depends on the host we are running on. - * - * @var HostConfig|null - */ - protected $hostConfig; - /** - * Information about the storage driver used to store the container's and - * image's filesystem. - * - * @var GraphDriverData|null - */ - protected $graphDriver; - /** - * The size of files that have been created or changed by this - * container. - * - * @var int|null - */ - protected $sizeRw; - /** - * The total size of all the files in this container. - * - * @var int|null - */ - protected $sizeRootFs; - /** - * @var list|null - */ - protected $mounts; - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - * - * @var ContainerConfig|null - */ - protected $config; - /** - * NetworkSettings exposes the network settings in the API. - * - * @var NetworkSettings|null - */ - protected $networkSettings; - - /** - * The ID of the container. - */ - public function getId(): ?string - { - return $this->id; - } - - /** - * The ID of the container. - */ - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - /** - * The time the container was created. - */ - public function getCreated(): ?string - { - return $this->created; - } - - /** - * The time the container was created. - */ - public function setCreated(?string $created): self - { - $this->initialized['created'] = true; - $this->created = $created; - - return $this; - } - - /** - * The path to the command being run. - */ - public function getPath(): ?string - { - return $this->path; - } - - /** - * The path to the command being run. - */ - public function setPath(?string $path): self - { - $this->initialized['path'] = true; - $this->path = $path; - - return $this; - } - - /** - * The arguments to the command being run. - * - * @return list|null - */ - public function getArgs(): ?array - { - return $this->args; - } - - /** - * The arguments to the command being run. - * - * @param list|null $args - */ - public function setArgs(?array $args): self - { - $this->initialized['args'] = true; - $this->args = $args; - - return $this; - } - - /** - * ContainerState stores container's running state. It's part of ContainerJSONBase - * and will be returned by the "inspect" command. - */ - public function getState(): ?ContainerState - { - return $this->state; - } - - /** - * ContainerState stores container's running state. It's part of ContainerJSONBase - * and will be returned by the "inspect" command. - */ - public function setState(?ContainerState $state): self - { - $this->initialized['state'] = true; - $this->state = $state; - - return $this; - } - - /** - * The container's image ID. - */ - public function getImage(): ?string - { - return $this->image; - } - - /** - * The container's image ID. - */ - public function setImage(?string $image): self - { - $this->initialized['image'] = true; - $this->image = $image; - - return $this; - } - - public function getResolvConfPath(): ?string - { - return $this->resolvConfPath; - } - - public function setResolvConfPath(?string $resolvConfPath): self - { - $this->initialized['resolvConfPath'] = true; - $this->resolvConfPath = $resolvConfPath; - - return $this; - } - - public function getHostnamePath(): ?string - { - return $this->hostnamePath; - } - - public function setHostnamePath(?string $hostnamePath): self - { - $this->initialized['hostnamePath'] = true; - $this->hostnamePath = $hostnamePath; - - return $this; - } - - public function getHostsPath(): ?string - { - return $this->hostsPath; - } - - public function setHostsPath(?string $hostsPath): self - { - $this->initialized['hostsPath'] = true; - $this->hostsPath = $hostsPath; - - return $this; - } - - public function getLogPath(): ?string - { - return $this->logPath; - } - - public function setLogPath(?string $logPath): self - { - $this->initialized['logPath'] = true; - $this->logPath = $logPath; - - return $this; - } - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getRestartCount(): ?int - { - return $this->restartCount; - } - - public function setRestartCount(?int $restartCount): self - { - $this->initialized['restartCount'] = true; - $this->restartCount = $restartCount; - - return $this; - } - - public function getDriver(): ?string - { - return $this->driver; - } - - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - public function getPlatform(): ?string - { - return $this->platform; - } - - public function setPlatform(?string $platform): self - { - $this->initialized['platform'] = true; - $this->platform = $platform; - - return $this; - } - - public function getMountLabel(): ?string - { - return $this->mountLabel; - } - - public function setMountLabel(?string $mountLabel): self - { - $this->initialized['mountLabel'] = true; - $this->mountLabel = $mountLabel; - - return $this; - } - - public function getProcessLabel(): ?string - { - return $this->processLabel; - } - - public function setProcessLabel(?string $processLabel): self - { - $this->initialized['processLabel'] = true; - $this->processLabel = $processLabel; - - return $this; - } - - public function getAppArmorProfile(): ?string - { - return $this->appArmorProfile; - } - - public function setAppArmorProfile(?string $appArmorProfile): self - { - $this->initialized['appArmorProfile'] = true; - $this->appArmorProfile = $appArmorProfile; - - return $this; - } - - /** - * IDs of exec instances that are running in the container. - * - * @return list|null - */ - public function getExecIDs(): ?array - { - return $this->execIDs; - } - - /** - * IDs of exec instances that are running in the container. - * - * @param list|null $execIDs - */ - public function setExecIDs(?array $execIDs): self - { - $this->initialized['execIDs'] = true; - $this->execIDs = $execIDs; - - return $this; - } - - /** - * Container configuration that depends on the host we are running on. - */ - public function getHostConfig(): ?HostConfig - { - return $this->hostConfig; - } - - /** - * Container configuration that depends on the host we are running on. - */ - public function setHostConfig(?HostConfig $hostConfig): self - { - $this->initialized['hostConfig'] = true; - $this->hostConfig = $hostConfig; - - return $this; - } - - /** - * Information about the storage driver used to store the container's and - * image's filesystem. - */ - public function getGraphDriver(): ?GraphDriverData - { - return $this->graphDriver; - } - - /** - * Information about the storage driver used to store the container's and - * image's filesystem. - */ - public function setGraphDriver(?GraphDriverData $graphDriver): self - { - $this->initialized['graphDriver'] = true; - $this->graphDriver = $graphDriver; - - return $this; - } - - /** - * The size of files that have been created or changed by this - * container. - */ - public function getSizeRw(): ?int - { - return $this->sizeRw; - } - - /** - * The size of files that have been created or changed by this - * container. - */ - public function setSizeRw(?int $sizeRw): self - { - $this->initialized['sizeRw'] = true; - $this->sizeRw = $sizeRw; - - return $this; - } - - /** - * The total size of all the files in this container. - */ - public function getSizeRootFs(): ?int - { - return $this->sizeRootFs; - } - - /** - * The total size of all the files in this container. - */ - public function setSizeRootFs(?int $sizeRootFs): self - { - $this->initialized['sizeRootFs'] = true; - $this->sizeRootFs = $sizeRootFs; - - return $this; - } - - /** - * @return list|null - */ - public function getMounts(): ?array - { - return $this->mounts; - } - - /** - * @param list|null $mounts - */ - public function setMounts(?array $mounts): self - { - $this->initialized['mounts'] = true; - $this->mounts = $mounts; - - return $this; - } - - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - */ - public function getConfig(): ?ContainerConfig - { - return $this->config; - } - - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - */ - public function setConfig(?ContainerConfig $config): self - { - $this->initialized['config'] = true; - $this->config = $config; - - return $this; - } - - /** - * NetworkSettings exposes the network settings in the API. - */ - public function getNetworkSettings(): ?NetworkSettings - { - return $this->networkSettings; - } - - /** - * NetworkSettings exposes the network settings in the API. - */ - public function setNetworkSettings(?NetworkSettings $networkSettings): self - { - $this->initialized['networkSettings'] = true; - $this->networkSettings = $networkSettings; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdTopGetJsonResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdTopGetJsonResponse200.php deleted file mode 100644 index d7b487954..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdTopGetJsonResponse200.php +++ /dev/null @@ -1,79 +0,0 @@ -initialized); - } - /** - * The ps column titles. - * - * @var list|null - */ - protected $titles; - /** - * Each process running in the container, where each is process - * is an array of values corresponding to the titles. - * - * @var list>|null - */ - protected $processes; - - /** - * The ps column titles. - * - * @return list|null - */ - public function getTitles(): ?array - { - return $this->titles; - } - - /** - * The ps column titles. - * - * @param list|null $titles - */ - public function setTitles(?array $titles): self - { - $this->initialized['titles'] = true; - $this->titles = $titles; - - return $this; - } - - /** - * Each process running in the container, where each is process - * is an array of values corresponding to the titles. - * - * @return list>|null - */ - public function getProcesses(): ?array - { - return $this->processes; - } - - /** - * Each process running in the container, where each is process - * is an array of values corresponding to the titles. - * - * @param list>|null $processes - */ - public function setProcesses(?array $processes): self - { - $this->initialized['processes'] = true; - $this->processes = $processes; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdTopGetTextplainResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdTopGetTextplainResponse200.php deleted file mode 100644 index d991cc228..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdTopGetTextplainResponse200.php +++ /dev/null @@ -1,79 +0,0 @@ -initialized); - } - /** - * The ps column titles. - * - * @var list|null - */ - protected $titles; - /** - * Each process running in the container, where each is process - * is an array of values corresponding to the titles. - * - * @var list>|null - */ - protected $processes; - - /** - * The ps column titles. - * - * @return list|null - */ - public function getTitles(): ?array - { - return $this->titles; - } - - /** - * The ps column titles. - * - * @param list|null $titles - */ - public function setTitles(?array $titles): self - { - $this->initialized['titles'] = true; - $this->titles = $titles; - - return $this; - } - - /** - * Each process running in the container, where each is process - * is an array of values corresponding to the titles. - * - * @return list>|null - */ - public function getProcesses(): ?array - { - return $this->processes; - } - - /** - * Each process running in the container, where each is process - * is an array of values corresponding to the titles. - * - * @param list>|null $processes - */ - public function setProcesses(?array $processes): self - { - $this->initialized['processes'] = true; - $this->processes = $processes; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdUpdatePostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdUpdatePostBody.php deleted file mode 100644 index fc6fb7633..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdUpdatePostBody.php +++ /dev/null @@ -1,1013 +0,0 @@ -initialized); - } - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - * - * @var int|null - */ - protected $cpuShares; - /** - * Memory limit in bytes. - * - * @var int|null - */ - protected $memory = 0; - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - * - * @var string|null - */ - protected $cgroupParent; - /** - * Block IO weight (relative weight). - * - * @var int|null - */ - protected $blkioWeight; - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @var list|null - */ - protected $blkioWeightDevice; - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceReadBps; - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceWriteBps; - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceReadIOps; - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceWriteIOps; - /** - * The length of a CPU period in microseconds. - * - * @var int|null - */ - protected $cpuPeriod; - /** - * Microseconds of CPU time that the container can get in a CPU period. - * - * @var int|null - */ - protected $cpuQuota; - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - * - * @var int|null - */ - protected $cpuRealtimePeriod; - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - * - * @var int|null - */ - protected $cpuRealtimeRuntime; - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - * - * @var string|null - */ - protected $cpusetCpus; - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - * - * @var string|null - */ - protected $cpusetMems; - /** - * A list of devices to add to the container. - * - * @var list|null - */ - protected $devices; - /** - * a list of cgroup rules to apply to the container. - * - * @var list|null - */ - protected $deviceCgroupRules; - /** - * A list of requests for devices to be sent to device drivers. - * - * @var list|null - */ - protected $deviceRequests; - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - * - * @var int|null - */ - protected $kernelMemoryTCP; - /** - * Memory soft limit in bytes. - * - * @var int|null - */ - protected $memoryReservation; - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - * - * @var int|null - */ - protected $memorySwap; - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - * - * @var int|null - */ - protected $memorySwappiness; - /** - * CPU quota in units of 10-9 CPUs. - * - * @var int|null - */ - protected $nanoCpus; - /** - * Disable OOM Killer for the container. - * - * @var bool|null - */ - protected $oomKillDisable; - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - * - * @var bool|null - */ - protected $init; - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - * - * @var int|null - */ - protected $pidsLimit; - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @var list|null - */ - protected $ulimits; - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - * - * @var int|null - */ - protected $cpuCount; - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - * - * @var int|null - */ - protected $cpuPercent; - /** - * Maximum IOps for the container system drive (Windows only). - * - * @var int|null - */ - protected $iOMaximumIOps; - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - * - * @var int|null - */ - protected $iOMaximumBandwidth; - /** - * The behavior to apply when the container exits. The default is not to - * restart. - * - * An ever increasing delay (double the previous delay, starting at 100ms) is - * added before each restart to prevent flooding the server. - * - * @var RestartPolicy|null - */ - protected $restartPolicy; - - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - */ - public function getCpuShares(): ?int - { - return $this->cpuShares; - } - - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - */ - public function setCpuShares(?int $cpuShares): self - { - $this->initialized['cpuShares'] = true; - $this->cpuShares = $cpuShares; - - return $this; - } - - /** - * Memory limit in bytes. - */ - public function getMemory(): ?int - { - return $this->memory; - } - - /** - * Memory limit in bytes. - */ - public function setMemory(?int $memory): self - { - $this->initialized['memory'] = true; - $this->memory = $memory; - - return $this; - } - - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - */ - public function getCgroupParent(): ?string - { - return $this->cgroupParent; - } - - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - */ - public function setCgroupParent(?string $cgroupParent): self - { - $this->initialized['cgroupParent'] = true; - $this->cgroupParent = $cgroupParent; - - return $this; - } - - /** - * Block IO weight (relative weight). - */ - public function getBlkioWeight(): ?int - { - return $this->blkioWeight; - } - - /** - * Block IO weight (relative weight). - */ - public function setBlkioWeight(?int $blkioWeight): self - { - $this->initialized['blkioWeight'] = true; - $this->blkioWeight = $blkioWeight; - - return $this; - } - - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @return list|null - */ - public function getBlkioWeightDevice(): ?array - { - return $this->blkioWeightDevice; - } - - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @param list|null $blkioWeightDevice - */ - public function setBlkioWeightDevice(?array $blkioWeightDevice): self - { - $this->initialized['blkioWeightDevice'] = true; - $this->blkioWeightDevice = $blkioWeightDevice; - - return $this; - } - - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceReadBps(): ?array - { - return $this->blkioDeviceReadBps; - } - - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceReadBps - */ - public function setBlkioDeviceReadBps(?array $blkioDeviceReadBps): self - { - $this->initialized['blkioDeviceReadBps'] = true; - $this->blkioDeviceReadBps = $blkioDeviceReadBps; - - return $this; - } - - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceWriteBps(): ?array - { - return $this->blkioDeviceWriteBps; - } - - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceWriteBps - */ - public function setBlkioDeviceWriteBps(?array $blkioDeviceWriteBps): self - { - $this->initialized['blkioDeviceWriteBps'] = true; - $this->blkioDeviceWriteBps = $blkioDeviceWriteBps; - - return $this; - } - - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceReadIOps(): ?array - { - return $this->blkioDeviceReadIOps; - } - - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceReadIOps - */ - public function setBlkioDeviceReadIOps(?array $blkioDeviceReadIOps): self - { - $this->initialized['blkioDeviceReadIOps'] = true; - $this->blkioDeviceReadIOps = $blkioDeviceReadIOps; - - return $this; - } - - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceWriteIOps(): ?array - { - return $this->blkioDeviceWriteIOps; - } - - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceWriteIOps - */ - public function setBlkioDeviceWriteIOps(?array $blkioDeviceWriteIOps): self - { - $this->initialized['blkioDeviceWriteIOps'] = true; - $this->blkioDeviceWriteIOps = $blkioDeviceWriteIOps; - - return $this; - } - - /** - * The length of a CPU period in microseconds. - */ - public function getCpuPeriod(): ?int - { - return $this->cpuPeriod; - } - - /** - * The length of a CPU period in microseconds. - */ - public function setCpuPeriod(?int $cpuPeriod): self - { - $this->initialized['cpuPeriod'] = true; - $this->cpuPeriod = $cpuPeriod; - - return $this; - } - - /** - * Microseconds of CPU time that the container can get in a CPU period. - */ - public function getCpuQuota(): ?int - { - return $this->cpuQuota; - } - - /** - * Microseconds of CPU time that the container can get in a CPU period. - */ - public function setCpuQuota(?int $cpuQuota): self - { - $this->initialized['cpuQuota'] = true; - $this->cpuQuota = $cpuQuota; - - return $this; - } - - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function getCpuRealtimePeriod(): ?int - { - return $this->cpuRealtimePeriod; - } - - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function setCpuRealtimePeriod(?int $cpuRealtimePeriod): self - { - $this->initialized['cpuRealtimePeriod'] = true; - $this->cpuRealtimePeriod = $cpuRealtimePeriod; - - return $this; - } - - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function getCpuRealtimeRuntime(): ?int - { - return $this->cpuRealtimeRuntime; - } - - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function setCpuRealtimeRuntime(?int $cpuRealtimeRuntime): self - { - $this->initialized['cpuRealtimeRuntime'] = true; - $this->cpuRealtimeRuntime = $cpuRealtimeRuntime; - - return $this; - } - - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - */ - public function getCpusetCpus(): ?string - { - return $this->cpusetCpus; - } - - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - */ - public function setCpusetCpus(?string $cpusetCpus): self - { - $this->initialized['cpusetCpus'] = true; - $this->cpusetCpus = $cpusetCpus; - - return $this; - } - - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - */ - public function getCpusetMems(): ?string - { - return $this->cpusetMems; - } - - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - */ - public function setCpusetMems(?string $cpusetMems): self - { - $this->initialized['cpusetMems'] = true; - $this->cpusetMems = $cpusetMems; - - return $this; - } - - /** - * A list of devices to add to the container. - * - * @return list|null - */ - public function getDevices(): ?array - { - return $this->devices; - } - - /** - * A list of devices to add to the container. - * - * @param list|null $devices - */ - public function setDevices(?array $devices): self - { - $this->initialized['devices'] = true; - $this->devices = $devices; - - return $this; - } - - /** - * a list of cgroup rules to apply to the container. - * - * @return list|null - */ - public function getDeviceCgroupRules(): ?array - { - return $this->deviceCgroupRules; - } - - /** - * a list of cgroup rules to apply to the container. - * - * @param list|null $deviceCgroupRules - */ - public function setDeviceCgroupRules(?array $deviceCgroupRules): self - { - $this->initialized['deviceCgroupRules'] = true; - $this->deviceCgroupRules = $deviceCgroupRules; - - return $this; - } - - /** - * A list of requests for devices to be sent to device drivers. - * - * @return list|null - */ - public function getDeviceRequests(): ?array - { - return $this->deviceRequests; - } - - /** - * A list of requests for devices to be sent to device drivers. - * - * @param list|null $deviceRequests - */ - public function setDeviceRequests(?array $deviceRequests): self - { - $this->initialized['deviceRequests'] = true; - $this->deviceRequests = $deviceRequests; - - return $this; - } - - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - */ - public function getKernelMemoryTCP(): ?int - { - return $this->kernelMemoryTCP; - } - - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - */ - public function setKernelMemoryTCP(?int $kernelMemoryTCP): self - { - $this->initialized['kernelMemoryTCP'] = true; - $this->kernelMemoryTCP = $kernelMemoryTCP; - - return $this; - } - - /** - * Memory soft limit in bytes. - */ - public function getMemoryReservation(): ?int - { - return $this->memoryReservation; - } - - /** - * Memory soft limit in bytes. - */ - public function setMemoryReservation(?int $memoryReservation): self - { - $this->initialized['memoryReservation'] = true; - $this->memoryReservation = $memoryReservation; - - return $this; - } - - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - */ - public function getMemorySwap(): ?int - { - return $this->memorySwap; - } - - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - */ - public function setMemorySwap(?int $memorySwap): self - { - $this->initialized['memorySwap'] = true; - $this->memorySwap = $memorySwap; - - return $this; - } - - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - */ - public function getMemorySwappiness(): ?int - { - return $this->memorySwappiness; - } - - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - */ - public function setMemorySwappiness(?int $memorySwappiness): self - { - $this->initialized['memorySwappiness'] = true; - $this->memorySwappiness = $memorySwappiness; - - return $this; - } - - /** - * CPU quota in units of 10-9 CPUs. - */ - public function getNanoCpus(): ?int - { - return $this->nanoCpus; - } - - /** - * CPU quota in units of 10-9 CPUs. - */ - public function setNanoCpus(?int $nanoCpus): self - { - $this->initialized['nanoCpus'] = true; - $this->nanoCpus = $nanoCpus; - - return $this; - } - - /** - * Disable OOM Killer for the container. - */ - public function getOomKillDisable(): ?bool - { - return $this->oomKillDisable; - } - - /** - * Disable OOM Killer for the container. - */ - public function setOomKillDisable(?bool $oomKillDisable): self - { - $this->initialized['oomKillDisable'] = true; - $this->oomKillDisable = $oomKillDisable; - - return $this; - } - - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - */ - public function getInit(): ?bool - { - return $this->init; - } - - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - */ - public function setInit(?bool $init): self - { - $this->initialized['init'] = true; - $this->init = $init; - - return $this; - } - - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - */ - public function getPidsLimit(): ?int - { - return $this->pidsLimit; - } - - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - */ - public function setPidsLimit(?int $pidsLimit): self - { - $this->initialized['pidsLimit'] = true; - $this->pidsLimit = $pidsLimit; - - return $this; - } - - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @return list|null - */ - public function getUlimits(): ?array - { - return $this->ulimits; - } - - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @param list|null $ulimits - */ - public function setUlimits(?array $ulimits): self - { - $this->initialized['ulimits'] = true; - $this->ulimits = $ulimits; - - return $this; - } - - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function getCpuCount(): ?int - { - return $this->cpuCount; - } - - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function setCpuCount(?int $cpuCount): self - { - $this->initialized['cpuCount'] = true; - $this->cpuCount = $cpuCount; - - return $this; - } - - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function getCpuPercent(): ?int - { - return $this->cpuPercent; - } - - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function setCpuPercent(?int $cpuPercent): self - { - $this->initialized['cpuPercent'] = true; - $this->cpuPercent = $cpuPercent; - - return $this; - } - - /** - * Maximum IOps for the container system drive (Windows only). - */ - public function getIOMaximumIOps(): ?int - { - return $this->iOMaximumIOps; - } - - /** - * Maximum IOps for the container system drive (Windows only). - */ - public function setIOMaximumIOps(?int $iOMaximumIOps): self - { - $this->initialized['iOMaximumIOps'] = true; - $this->iOMaximumIOps = $iOMaximumIOps; - - return $this; - } - - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - */ - public function getIOMaximumBandwidth(): ?int - { - return $this->iOMaximumBandwidth; - } - - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - */ - public function setIOMaximumBandwidth(?int $iOMaximumBandwidth): self - { - $this->initialized['iOMaximumBandwidth'] = true; - $this->iOMaximumBandwidth = $iOMaximumBandwidth; - - return $this; - } - - /** - * The behavior to apply when the container exits. The default is not to - * restart. - * - * An ever increasing delay (double the previous delay, starting at 100ms) is - * added before each restart to prevent flooding the server. - */ - public function getRestartPolicy(): ?RestartPolicy - { - return $this->restartPolicy; - } - - /** - * The behavior to apply when the container exits. The default is not to - * restart. - * - * An ever increasing delay (double the previous delay, starting at 100ms) is - * added before each restart to prevent flooding the server. - */ - public function setRestartPolicy(?RestartPolicy $restartPolicy): self - { - $this->initialized['restartPolicy'] = true; - $this->restartPolicy = $restartPolicy; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdUpdatePostResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdUpdatePostResponse200.php deleted file mode 100644 index 8cff530cb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersIdUpdatePostResponse200.php +++ /dev/null @@ -1,41 +0,0 @@ -initialized); - } - /** - * @var list|null - */ - protected $warnings; - - /** - * @return list|null - */ - public function getWarnings(): ?array - { - return $this->warnings; - } - - /** - * @param list|null $warnings - */ - public function setWarnings(?array $warnings): self - { - $this->initialized['warnings'] = true; - $this->warnings = $warnings; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersPrunePostResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/ContainersPrunePostResponse200.php deleted file mode 100644 index 99d4f002f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ContainersPrunePostResponse200.php +++ /dev/null @@ -1,72 +0,0 @@ -initialized); - } - /** - * Container IDs that were deleted. - * - * @var list|null - */ - protected $containersDeleted; - /** - * Disk space reclaimed in bytes. - * - * @var int|null - */ - protected $spaceReclaimed; - - /** - * Container IDs that were deleted. - * - * @return list|null - */ - public function getContainersDeleted(): ?array - { - return $this->containersDeleted; - } - - /** - * Container IDs that were deleted. - * - * @param list|null $containersDeleted - */ - public function setContainersDeleted(?array $containersDeleted): self - { - $this->initialized['containersDeleted'] = true; - $this->containersDeleted = $containersDeleted; - - return $this; - } - - /** - * Disk space reclaimed in bytes. - */ - public function getSpaceReclaimed(): ?int - { - return $this->spaceReclaimed; - } - - /** - * Disk space reclaimed in bytes. - */ - public function setSpaceReclaimed(?int $spaceReclaimed): self - { - $this->initialized['spaceReclaimed'] = true; - $this->spaceReclaimed = $spaceReclaimed; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/CreateImageInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/CreateImageInfo.php deleted file mode 100644 index 3d1b83984..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/CreateImageInfo.php +++ /dev/null @@ -1,120 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $id; - /** - * @var string|null - */ - protected $error; - /** - * @var ErrorDetail|null - */ - protected $errorDetail; - /** - * @var string|null - */ - protected $status; - /** - * @var string|null - */ - protected $progress; - /** - * @var ProgressDetail|null - */ - protected $progressDetail; - - public function getId(): ?string - { - return $this->id; - } - - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - public function getError(): ?string - { - return $this->error; - } - - public function setError(?string $error): self - { - $this->initialized['error'] = true; - $this->error = $error; - - return $this; - } - - public function getErrorDetail(): ?ErrorDetail - { - return $this->errorDetail; - } - - public function setErrorDetail(?ErrorDetail $errorDetail): self - { - $this->initialized['errorDetail'] = true; - $this->errorDetail = $errorDetail; - - return $this; - } - - public function getStatus(): ?string - { - return $this->status; - } - - public function setStatus(?string $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - public function getProgress(): ?string - { - return $this->progress; - } - - public function setProgress(?string $progress): self - { - $this->initialized['progress'] = true; - $this->progress = $progress; - - return $this; - } - - public function getProgressDetail(): ?ProgressDetail - { - return $this->progressDetail; - } - - public function setProgressDetail(?ProgressDetail $progressDetail): self - { - $this->initialized['progressDetail'] = true; - $this->progressDetail = $progressDetail; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/DeviceMapping.php b/app/vendor/beluga-php/docker-php-api/src/Model/DeviceMapping.php deleted file mode 100644 index 437cccef2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/DeviceMapping.php +++ /dev/null @@ -1,69 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $pathOnHost; - /** - * @var string|null - */ - protected $pathInContainer; - /** - * @var string|null - */ - protected $cgroupPermissions; - - public function getPathOnHost(): ?string - { - return $this->pathOnHost; - } - - public function setPathOnHost(?string $pathOnHost): self - { - $this->initialized['pathOnHost'] = true; - $this->pathOnHost = $pathOnHost; - - return $this; - } - - public function getPathInContainer(): ?string - { - return $this->pathInContainer; - } - - public function setPathInContainer(?string $pathInContainer): self - { - $this->initialized['pathInContainer'] = true; - $this->pathInContainer = $pathInContainer; - - return $this; - } - - public function getCgroupPermissions(): ?string - { - return $this->cgroupPermissions; - } - - public function setCgroupPermissions(?string $cgroupPermissions): self - { - $this->initialized['cgroupPermissions'] = true; - $this->cgroupPermissions = $cgroupPermissions; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/DeviceRequest.php b/app/vendor/beluga-php/docker-php-api/src/Model/DeviceRequest.php deleted file mode 100644 index a57bf77fd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/DeviceRequest.php +++ /dev/null @@ -1,136 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $driver; - /** - * @var int|null - */ - protected $count; - /** - * @var list|null - */ - protected $deviceIDs; - /** - * A list of capabilities; an OR list of AND lists of capabilities. - * - * @var list>|null - */ - protected $capabilities; - /** - * Driver-specific options, specified as a key/value pairs. These options - * are passed directly to the driver. - * - * @var array|null - */ - protected $options; - - public function getDriver(): ?string - { - return $this->driver; - } - - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - public function getCount(): ?int - { - return $this->count; - } - - public function setCount(?int $count): self - { - $this->initialized['count'] = true; - $this->count = $count; - - return $this; - } - - /** - * @return list|null - */ - public function getDeviceIDs(): ?array - { - return $this->deviceIDs; - } - - /** - * @param list|null $deviceIDs - */ - public function setDeviceIDs(?array $deviceIDs): self - { - $this->initialized['deviceIDs'] = true; - $this->deviceIDs = $deviceIDs; - - return $this; - } - - /** - * A list of capabilities; an OR list of AND lists of capabilities. - * - * @return list>|null - */ - public function getCapabilities(): ?array - { - return $this->capabilities; - } - - /** - * A list of capabilities; an OR list of AND lists of capabilities. - * - * @param list>|null $capabilities - */ - public function setCapabilities(?array $capabilities): self - { - $this->initialized['capabilities'] = true; - $this->capabilities = $capabilities; - - return $this; - } - - /** - * Driver-specific options, specified as a key/value pairs. These options - * are passed directly to the driver. - * - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * Driver-specific options, specified as a key/value pairs. These options - * are passed directly to the driver. - * - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/DistributionInspect.php b/app/vendor/beluga-php/docker-php-api/src/Model/DistributionInspect.php deleted file mode 100644 index 40a11718c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/DistributionInspect.php +++ /dev/null @@ -1,75 +0,0 @@ -initialized); - } - /** - * A descriptor struct containing digest, media type, and size, as defined in - * the [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md). - * - * @var OCIDescriptor|null - */ - protected $descriptor; - /** - * An array containing all platforms supported by the image. - * - * @var list|null - */ - protected $platforms; - - /** - * A descriptor struct containing digest, media type, and size, as defined in - * the [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md). - */ - public function getDescriptor(): ?OCIDescriptor - { - return $this->descriptor; - } - - /** - * A descriptor struct containing digest, media type, and size, as defined in - * the [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md). - */ - public function setDescriptor(?OCIDescriptor $descriptor): self - { - $this->initialized['descriptor'] = true; - $this->descriptor = $descriptor; - - return $this; - } - - /** - * An array containing all platforms supported by the image. - * - * @return list|null - */ - public function getPlatforms(): ?array - { - return $this->platforms; - } - - /** - * An array containing all platforms supported by the image. - * - * @param list|null $platforms - */ - public function setPlatforms(?array $platforms): self - { - $this->initialized['platforms'] = true; - $this->platforms = $platforms; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Driver.php b/app/vendor/beluga-php/docker-php-api/src/Model/Driver.php deleted file mode 100644 index 648bbc60b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Driver.php +++ /dev/null @@ -1,72 +0,0 @@ -initialized); - } - /** - * Name of the driver. - * - * @var string|null - */ - protected $name; - /** - * Key/value map of driver-specific options. - * - * @var array|null - */ - protected $options; - - /** - * Name of the driver. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the driver. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Key/value map of driver-specific options. - * - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * Key/value map of driver-specific options. - * - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/EndpointIPAMConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/EndpointIPAMConfig.php deleted file mode 100644 index fb6e33fe9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/EndpointIPAMConfig.php +++ /dev/null @@ -1,75 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $iPv4Address; - /** - * @var string|null - */ - protected $iPv6Address; - /** - * @var list|null - */ - protected $linkLocalIPs; - - public function getIPv4Address(): ?string - { - return $this->iPv4Address; - } - - public function setIPv4Address(?string $iPv4Address): self - { - $this->initialized['iPv4Address'] = true; - $this->iPv4Address = $iPv4Address; - - return $this; - } - - public function getIPv6Address(): ?string - { - return $this->iPv6Address; - } - - public function setIPv6Address(?string $iPv6Address): self - { - $this->initialized['iPv6Address'] = true; - $this->iPv6Address = $iPv6Address; - - return $this; - } - - /** - * @return list|null - */ - public function getLinkLocalIPs(): ?array - { - return $this->linkLocalIPs; - } - - /** - * @param list|null $linkLocalIPs - */ - public function setLinkLocalIPs(?array $linkLocalIPs): self - { - $this->initialized['linkLocalIPs'] = true; - $this->linkLocalIPs = $linkLocalIPs; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/EndpointPortConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/EndpointPortConfig.php deleted file mode 100644 index 443ec8f7a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/EndpointPortConfig.php +++ /dev/null @@ -1,151 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var string|null - */ - protected $protocol; - /** - * The port inside the container. - * - * @var int|null - */ - protected $targetPort; - /** - * The port on the swarm hosts. - * - * @var int|null - */ - protected $publishedPort; - /** - * The mode in which port is published. - * - *


- * - * - "ingress" makes the target port accessible on every node, - * regardless of whether there is a task for the service running on - * that node or not. - * - "host" bypasses the routing mesh and publish the port directly on - * the swarm node where that service is running. - * - * @var string|null - */ - protected $publishMode = 'ingress'; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getProtocol(): ?string - { - return $this->protocol; - } - - public function setProtocol(?string $protocol): self - { - $this->initialized['protocol'] = true; - $this->protocol = $protocol; - - return $this; - } - - /** - * The port inside the container. - */ - public function getTargetPort(): ?int - { - return $this->targetPort; - } - - /** - * The port inside the container. - */ - public function setTargetPort(?int $targetPort): self - { - $this->initialized['targetPort'] = true; - $this->targetPort = $targetPort; - - return $this; - } - - /** - * The port on the swarm hosts. - */ - public function getPublishedPort(): ?int - { - return $this->publishedPort; - } - - /** - * The port on the swarm hosts. - */ - public function setPublishedPort(?int $publishedPort): self - { - $this->initialized['publishedPort'] = true; - $this->publishedPort = $publishedPort; - - return $this; - } - - /** - * The mode in which port is published. - * - *


- * - * - "ingress" makes the target port accessible on every node, - * regardless of whether there is a task for the service running on - * that node or not. - * - "host" bypasses the routing mesh and publish the port directly on - * the swarm node where that service is running. - */ - public function getPublishMode(): ?string - { - return $this->publishMode; - } - - /** - * The mode in which port is published. - * - *


- * - * - "ingress" makes the target port accessible on every node, - * regardless of whether there is a task for the service running on - * that node or not. - * - "host" bypasses the routing mesh and publish the port directly on - * the swarm node where that service is running. - */ - public function setPublishMode(?string $publishMode): self - { - $this->initialized['publishMode'] = true; - $this->publishMode = $publishMode; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/EndpointSettings.php b/app/vendor/beluga-php/docker-php-api/src/Model/EndpointSettings.php deleted file mode 100644 index dd01dec63..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/EndpointSettings.php +++ /dev/null @@ -1,399 +0,0 @@ -initialized); - } - /** - * EndpointIPAMConfig represents an endpoint's IPAM configuration. - * - * @var EndpointIPAMConfig|null - */ - protected $iPAMConfig; - /** - * @var list|null - */ - protected $links; - /** - * MAC address for the endpoint on this network. The network driver might ignore this parameter. - * - * @var string|null - */ - protected $macAddress; - /** - * @var list|null - */ - protected $aliases; - /** - * Unique ID of the network. - * - * @var string|null - */ - protected $networkID; - /** - * Unique ID for the service endpoint in a Sandbox. - * - * @var string|null - */ - protected $endpointID; - /** - * Gateway address for this network. - * - * @var string|null - */ - protected $gateway; - /** - * IPv4 address. - * - * @var string|null - */ - protected $iPAddress; - /** - * Mask length of the IPv4 address. - * - * @var int|null - */ - protected $iPPrefixLen; - /** - * IPv6 gateway address. - * - * @var string|null - */ - protected $iPv6Gateway; - /** - * Global IPv6 address. - * - * @var string|null - */ - protected $globalIPv6Address; - /** - * Mask length of the global IPv6 address. - * - * @var int|null - */ - protected $globalIPv6PrefixLen; - /** - * DriverOpts is a mapping of driver options and values. These options - * are passed directly to the driver and are driver specific. - * - * @var array|null - */ - protected $driverOpts; - /** - * List of all DNS names an endpoint has on a specific network. This - * list is based on the container name, network aliases, container short - * ID, and hostname. - * - * These DNS names are non-fully qualified but can contain several dots. - * You can get fully qualified DNS names by appending `.`. - * For instance, if container name is `my.ctr` and the network is named - * `testnet`, `DNSNames` will contain `my.ctr` and the FQDN will be - * `my.ctr.testnet`. - * - * @var list|null - */ - protected $dNSNames; - - /** - * EndpointIPAMConfig represents an endpoint's IPAM configuration. - */ - public function getIPAMConfig(): ?EndpointIPAMConfig - { - return $this->iPAMConfig; - } - - /** - * EndpointIPAMConfig represents an endpoint's IPAM configuration. - */ - public function setIPAMConfig(?EndpointIPAMConfig $iPAMConfig): self - { - $this->initialized['iPAMConfig'] = true; - $this->iPAMConfig = $iPAMConfig; - - return $this; - } - - /** - * @return list|null - */ - public function getLinks(): ?array - { - return $this->links; - } - - /** - * @param list|null $links - */ - public function setLinks(?array $links): self - { - $this->initialized['links'] = true; - $this->links = $links; - - return $this; - } - - /** - * MAC address for the endpoint on this network. The network driver might ignore this parameter. - */ - public function getMacAddress(): ?string - { - return $this->macAddress; - } - - /** - * MAC address for the endpoint on this network. The network driver might ignore this parameter. - */ - public function setMacAddress(?string $macAddress): self - { - $this->initialized['macAddress'] = true; - $this->macAddress = $macAddress; - - return $this; - } - - /** - * @return list|null - */ - public function getAliases(): ?array - { - return $this->aliases; - } - - /** - * @param list|null $aliases - */ - public function setAliases(?array $aliases): self - { - $this->initialized['aliases'] = true; - $this->aliases = $aliases; - - return $this; - } - - /** - * Unique ID of the network. - */ - public function getNetworkID(): ?string - { - return $this->networkID; - } - - /** - * Unique ID of the network. - */ - public function setNetworkID(?string $networkID): self - { - $this->initialized['networkID'] = true; - $this->networkID = $networkID; - - return $this; - } - - /** - * Unique ID for the service endpoint in a Sandbox. - */ - public function getEndpointID(): ?string - { - return $this->endpointID; - } - - /** - * Unique ID for the service endpoint in a Sandbox. - */ - public function setEndpointID(?string $endpointID): self - { - $this->initialized['endpointID'] = true; - $this->endpointID = $endpointID; - - return $this; - } - - /** - * Gateway address for this network. - */ - public function getGateway(): ?string - { - return $this->gateway; - } - - /** - * Gateway address for this network. - */ - public function setGateway(?string $gateway): self - { - $this->initialized['gateway'] = true; - $this->gateway = $gateway; - - return $this; - } - - /** - * IPv4 address. - */ - public function getIPAddress(): ?string - { - return $this->iPAddress; - } - - /** - * IPv4 address. - */ - public function setIPAddress(?string $iPAddress): self - { - $this->initialized['iPAddress'] = true; - $this->iPAddress = $iPAddress; - - return $this; - } - - /** - * Mask length of the IPv4 address. - */ - public function getIPPrefixLen(): ?int - { - return $this->iPPrefixLen; - } - - /** - * Mask length of the IPv4 address. - */ - public function setIPPrefixLen(?int $iPPrefixLen): self - { - $this->initialized['iPPrefixLen'] = true; - $this->iPPrefixLen = $iPPrefixLen; - - return $this; - } - - /** - * IPv6 gateway address. - */ - public function getIPv6Gateway(): ?string - { - return $this->iPv6Gateway; - } - - /** - * IPv6 gateway address. - */ - public function setIPv6Gateway(?string $iPv6Gateway): self - { - $this->initialized['iPv6Gateway'] = true; - $this->iPv6Gateway = $iPv6Gateway; - - return $this; - } - - /** - * Global IPv6 address. - */ - public function getGlobalIPv6Address(): ?string - { - return $this->globalIPv6Address; - } - - /** - * Global IPv6 address. - */ - public function setGlobalIPv6Address(?string $globalIPv6Address): self - { - $this->initialized['globalIPv6Address'] = true; - $this->globalIPv6Address = $globalIPv6Address; - - return $this; - } - - /** - * Mask length of the global IPv6 address. - */ - public function getGlobalIPv6PrefixLen(): ?int - { - return $this->globalIPv6PrefixLen; - } - - /** - * Mask length of the global IPv6 address. - */ - public function setGlobalIPv6PrefixLen(?int $globalIPv6PrefixLen): self - { - $this->initialized['globalIPv6PrefixLen'] = true; - $this->globalIPv6PrefixLen = $globalIPv6PrefixLen; - - return $this; - } - - /** - * DriverOpts is a mapping of driver options and values. These options - * are passed directly to the driver and are driver specific. - * - * @return array|null - */ - public function getDriverOpts(): ?iterable - { - return $this->driverOpts; - } - - /** - * DriverOpts is a mapping of driver options and values. These options - * are passed directly to the driver and are driver specific. - * - * @param array|null $driverOpts - */ - public function setDriverOpts(?iterable $driverOpts): self - { - $this->initialized['driverOpts'] = true; - $this->driverOpts = $driverOpts; - - return $this; - } - - /** - * List of all DNS names an endpoint has on a specific network. This - * list is based on the container name, network aliases, container short - * ID, and hostname. - * - * These DNS names are non-fully qualified but can contain several dots. - * You can get fully qualified DNS names by appending `.`. - * For instance, if container name is `my.ctr` and the network is named - * `testnet`, `DNSNames` will contain `my.ctr` and the FQDN will be - * `my.ctr.testnet`. - * - * @return list|null - */ - public function getDNSNames(): ?array - { - return $this->dNSNames; - } - - /** - * List of all DNS names an endpoint has on a specific network. This - * list is based on the container name, network aliases, container short - * ID, and hostname. - * - * These DNS names are non-fully qualified but can contain several dots. - * You can get fully qualified DNS names by appending `.`. - * For instance, if container name is `my.ctr` and the network is named - * `testnet`, `DNSNames` will contain `my.ctr` and the FQDN will be - * `my.ctr.testnet`. - * - * @param list|null $dNSNames - */ - public function setDNSNames(?array $dNSNames): self - { - $this->initialized['dNSNames'] = true; - $this->dNSNames = $dNSNames; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/EndpointSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/EndpointSpec.php deleted file mode 100644 index 1acd53a9e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/EndpointSpec.php +++ /dev/null @@ -1,75 +0,0 @@ -initialized); - } - /** - * The mode of resolution to use for internal load balancing between tasks. - * - * @var string|null - */ - protected $mode = 'vip'; - /** - * List of exposed ports that this service is accessible on from the - * outside. Ports can only be provided if `vip` resolution mode is used. - * - * @var list|null - */ - protected $ports; - - /** - * The mode of resolution to use for internal load balancing between tasks. - */ - public function getMode(): ?string - { - return $this->mode; - } - - /** - * The mode of resolution to use for internal load balancing between tasks. - */ - public function setMode(?string $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } - - /** - * List of exposed ports that this service is accessible on from the - * outside. Ports can only be provided if `vip` resolution mode is used. - * - * @return list|null - */ - public function getPorts(): ?array - { - return $this->ports; - } - - /** - * List of exposed ports that this service is accessible on from the - * outside. Ports can only be provided if `vip` resolution mode is used. - * - * @param list|null $ports - */ - public function setPorts(?array $ports): self - { - $this->initialized['ports'] = true; - $this->ports = $ports; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/EngineDescription.php b/app/vendor/beluga-php/docker-php-api/src/Model/EngineDescription.php deleted file mode 100644 index c3458ca9b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/EngineDescription.php +++ /dev/null @@ -1,81 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $engineVersion; - /** - * @var array|null - */ - protected $labels; - /** - * @var list|null - */ - protected $plugins; - - public function getEngineVersion(): ?string - { - return $this->engineVersion; - } - - public function setEngineVersion(?string $engineVersion): self - { - $this->initialized['engineVersion'] = true; - $this->engineVersion = $engineVersion; - - return $this; - } - - /** - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * @return list|null - */ - public function getPlugins(): ?array - { - return $this->plugins; - } - - /** - * @param list|null $plugins - */ - public function setPlugins(?array $plugins): self - { - $this->initialized['plugins'] = true; - $this->plugins = $plugins; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/EngineDescriptionPluginsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/EngineDescriptionPluginsItem.php deleted file mode 100644 index e0eff2249..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/EngineDescriptionPluginsItem.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $type; - /** - * @var string|null - */ - protected $name; - - public function getType(): ?string - { - return $this->type; - } - - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ErrorDetail.php b/app/vendor/beluga-php/docker-php-api/src/Model/ErrorDetail.php deleted file mode 100644 index 65940b3a3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ErrorDetail.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $code; - /** - * @var string|null - */ - protected $message; - - public function getCode(): ?int - { - return $this->code; - } - - public function setCode(?int $code): self - { - $this->initialized['code'] = true; - $this->code = $code; - - return $this; - } - - public function getMessage(): ?string - { - return $this->message; - } - - public function setMessage(?string $message): self - { - $this->initialized['message'] = true; - $this->message = $message; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ErrorResponse.php b/app/vendor/beluga-php/docker-php-api/src/Model/ErrorResponse.php deleted file mode 100644 index 2258140cc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ErrorResponse.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * The error message. - * - * @var string|null - */ - protected $message; - - /** - * The error message. - */ - public function getMessage(): ?string - { - return $this->message; - } - - /** - * The error message. - */ - public function setMessage(?string $message): self - { - $this->initialized['message'] = true; - $this->message = $message; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/EventActor.php b/app/vendor/beluga-php/docker-php-api/src/Model/EventActor.php deleted file mode 100644 index a6fd7e38f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/EventActor.php +++ /dev/null @@ -1,72 +0,0 @@ -initialized); - } - /** - * The ID of the object emitting the event. - * - * @var string|null - */ - protected $iD; - /** - * Various key/value attributes of the object, depending on its type. - * - * @var array|null - */ - protected $attributes; - - /** - * The ID of the object emitting the event. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * The ID of the object emitting the event. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * Various key/value attributes of the object, depending on its type. - * - * @return array|null - */ - public function getAttributes(): ?iterable - { - return $this->attributes; - } - - /** - * Various key/value attributes of the object, depending on its type. - * - * @param array|null $attributes - */ - public function setAttributes(?iterable $attributes): self - { - $this->initialized['attributes'] = true; - $this->attributes = $attributes; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/EventMessage.php b/app/vendor/beluga-php/docker-php-api/src/Model/EventMessage.php deleted file mode 100644 index 531dd4775..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/EventMessage.php +++ /dev/null @@ -1,174 +0,0 @@ -initialized); - } - /** - * The type of object emitting the event. - * - * @var string|null - */ - protected $type; - /** - * The type of event. - * - * @var string|null - */ - protected $action; - /** - * Actor describes something that generates events, like a container, network, - * or a volume. - * - * @var EventActor|null - */ - protected $actor; - /** - * Scope of the event. Engine events are `local` scope. Cluster (Swarm) - * events are `swarm` scope. - * - * @var string|null - */ - protected $scope; - /** - * Timestamp of event. - * - * @var int|null - */ - protected $time; - /** - * Timestamp of event, with nanosecond accuracy. - * - * @var int|null - */ - protected $timeNano; - - /** - * The type of object emitting the event. - */ - public function getType(): ?string - { - return $this->type; - } - - /** - * The type of object emitting the event. - */ - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * The type of event. - */ - public function getAction(): ?string - { - return $this->action; - } - - /** - * The type of event. - */ - public function setAction(?string $action): self - { - $this->initialized['action'] = true; - $this->action = $action; - - return $this; - } - - /** - * Actor describes something that generates events, like a container, network, - * or a volume. - */ - public function getActor(): ?EventActor - { - return $this->actor; - } - - /** - * Actor describes something that generates events, like a container, network, - * or a volume. - */ - public function setActor(?EventActor $actor): self - { - $this->initialized['actor'] = true; - $this->actor = $actor; - - return $this; - } - - /** - * Scope of the event. Engine events are `local` scope. Cluster (Swarm) - * events are `swarm` scope. - */ - public function getScope(): ?string - { - return $this->scope; - } - - /** - * Scope of the event. Engine events are `local` scope. Cluster (Swarm) - * events are `swarm` scope. - */ - public function setScope(?string $scope): self - { - $this->initialized['scope'] = true; - $this->scope = $scope; - - return $this; - } - - /** - * Timestamp of event. - */ - public function getTime(): ?int - { - return $this->time; - } - - /** - * Timestamp of event. - */ - public function setTime(?int $time): self - { - $this->initialized['time'] = true; - $this->time = $time; - - return $this; - } - - /** - * Timestamp of event, with nanosecond accuracy. - */ - public function getTimeNano(): ?int - { - return $this->timeNano; - } - - /** - * Timestamp of event, with nanosecond accuracy. - */ - public function setTimeNano(?int $timeNano): self - { - $this->initialized['timeNano'] = true; - $this->timeNano = $timeNano; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ExecIdJsonGetResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/ExecIdJsonGetResponse200.php deleted file mode 100644 index e53dd4822..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ExecIdJsonGetResponse200.php +++ /dev/null @@ -1,213 +0,0 @@ -initialized); - } - /** - * @var bool|null - */ - protected $canRemove; - /** - * @var string|null - */ - protected $detachKeys; - /** - * @var string|null - */ - protected $iD; - /** - * @var bool|null - */ - protected $running; - /** - * @var int|null - */ - protected $exitCode; - /** - * @var ProcessConfig|null - */ - protected $processConfig; - /** - * @var bool|null - */ - protected $openStdin; - /** - * @var bool|null - */ - protected $openStderr; - /** - * @var bool|null - */ - protected $openStdout; - /** - * @var string|null - */ - protected $containerID; - /** - * The system process ID for the exec process. - * - * @var int|null - */ - protected $pid; - - public function getCanRemove(): ?bool - { - return $this->canRemove; - } - - public function setCanRemove(?bool $canRemove): self - { - $this->initialized['canRemove'] = true; - $this->canRemove = $canRemove; - - return $this; - } - - public function getDetachKeys(): ?string - { - return $this->detachKeys; - } - - public function setDetachKeys(?string $detachKeys): self - { - $this->initialized['detachKeys'] = true; - $this->detachKeys = $detachKeys; - - return $this; - } - - public function getID(): ?string - { - return $this->iD; - } - - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - public function getRunning(): ?bool - { - return $this->running; - } - - public function setRunning(?bool $running): self - { - $this->initialized['running'] = true; - $this->running = $running; - - return $this; - } - - public function getExitCode(): ?int - { - return $this->exitCode; - } - - public function setExitCode(?int $exitCode): self - { - $this->initialized['exitCode'] = true; - $this->exitCode = $exitCode; - - return $this; - } - - public function getProcessConfig(): ?ProcessConfig - { - return $this->processConfig; - } - - public function setProcessConfig(?ProcessConfig $processConfig): self - { - $this->initialized['processConfig'] = true; - $this->processConfig = $processConfig; - - return $this; - } - - public function getOpenStdin(): ?bool - { - return $this->openStdin; - } - - public function setOpenStdin(?bool $openStdin): self - { - $this->initialized['openStdin'] = true; - $this->openStdin = $openStdin; - - return $this; - } - - public function getOpenStderr(): ?bool - { - return $this->openStderr; - } - - public function setOpenStderr(?bool $openStderr): self - { - $this->initialized['openStderr'] = true; - $this->openStderr = $openStderr; - - return $this; - } - - public function getOpenStdout(): ?bool - { - return $this->openStdout; - } - - public function setOpenStdout(?bool $openStdout): self - { - $this->initialized['openStdout'] = true; - $this->openStdout = $openStdout; - - return $this; - } - - public function getContainerID(): ?string - { - return $this->containerID; - } - - public function setContainerID(?string $containerID): self - { - $this->initialized['containerID'] = true; - $this->containerID = $containerID; - - return $this; - } - - /** - * The system process ID for the exec process. - */ - public function getPid(): ?int - { - return $this->pid; - } - - /** - * The system process ID for the exec process. - */ - public function setPid(?int $pid): self - { - $this->initialized['pid'] = true; - $this->pid = $pid; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ExecIdStartPostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/ExecIdStartPostBody.php deleted file mode 100644 index cb70cac80..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ExecIdStartPostBody.php +++ /dev/null @@ -1,97 +0,0 @@ -initialized); - } - /** - * Detach from the command. - * - * @var bool|null - */ - protected $detach; - /** - * Allocate a pseudo-TTY. - * - * @var bool|null - */ - protected $tty; - /** - * Initial console size, as an `[height, width]` array. - * - * @var list|null - */ - protected $consoleSize; - - /** - * Detach from the command. - */ - public function getDetach(): ?bool - { - return $this->detach; - } - - /** - * Detach from the command. - */ - public function setDetach(?bool $detach): self - { - $this->initialized['detach'] = true; - $this->detach = $detach; - - return $this; - } - - /** - * Allocate a pseudo-TTY. - */ - public function getTty(): ?bool - { - return $this->tty; - } - - /** - * Allocate a pseudo-TTY. - */ - public function setTty(?bool $tty): self - { - $this->initialized['tty'] = true; - $this->tty = $tty; - - return $this; - } - - /** - * Initial console size, as an `[height, width]` array. - * - * @return list|null - */ - public function getConsoleSize(): ?array - { - return $this->consoleSize; - } - - /** - * Initial console size, as an `[height, width]` array. - * - * @param list|null $consoleSize - */ - public function setConsoleSize(?array $consoleSize): self - { - $this->initialized['consoleSize'] = true; - $this->consoleSize = $consoleSize; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/FilesystemChange.php b/app/vendor/beluga-php/docker-php-api/src/Model/FilesystemChange.php deleted file mode 100644 index 74a5dbae7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/FilesystemChange.php +++ /dev/null @@ -1,86 +0,0 @@ -initialized); - } - /** - * Path to file or directory that has changed. - * - * @var string|null - */ - protected $path; - /** - * Kind of change. - * - * Can be one of: - * - * - `0`: Modified ("C") - * - `1`: Added ("A") - * - `2`: Deleted ("D") - * - * @var int|null - */ - protected $kind; - - /** - * Path to file or directory that has changed. - */ - public function getPath(): ?string - { - return $this->path; - } - - /** - * Path to file or directory that has changed. - */ - public function setPath(?string $path): self - { - $this->initialized['path'] = true; - $this->path = $path; - - return $this; - } - - /** - * Kind of change. - * - * Can be one of: - * - * - `0`: Modified ("C") - * - `1`: Added ("A") - * - `2`: Deleted ("D") - */ - public function getKind(): ?int - { - return $this->kind; - } - - /** - * Kind of change. - * - * Can be one of: - * - * - `0`: Modified ("C") - * - `1`: Added ("A") - * - `2`: Deleted ("D") - */ - public function setKind(?int $kind): self - { - $this->initialized['kind'] = true; - $this->kind = $kind; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItem.php deleted file mode 100644 index 34ce73c76..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItem.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var GenericResourcesItemNamedResourceSpec|null - */ - protected $namedResourceSpec; - /** - * @var GenericResourcesItemDiscreteResourceSpec|null - */ - protected $discreteResourceSpec; - - public function getNamedResourceSpec(): ?GenericResourcesItemNamedResourceSpec - { - return $this->namedResourceSpec; - } - - public function setNamedResourceSpec(?GenericResourcesItemNamedResourceSpec $namedResourceSpec): self - { - $this->initialized['namedResourceSpec'] = true; - $this->namedResourceSpec = $namedResourceSpec; - - return $this; - } - - public function getDiscreteResourceSpec(): ?GenericResourcesItemDiscreteResourceSpec - { - return $this->discreteResourceSpec; - } - - public function setDiscreteResourceSpec(?GenericResourcesItemDiscreteResourceSpec $discreteResourceSpec): self - { - $this->initialized['discreteResourceSpec'] = true; - $this->discreteResourceSpec = $discreteResourceSpec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItemDiscreteResourceSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItemDiscreteResourceSpec.php deleted file mode 100644 index c61834c20..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItemDiscreteResourceSpec.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $kind; - /** - * @var int|null - */ - protected $value; - - public function getKind(): ?string - { - return $this->kind; - } - - public function setKind(?string $kind): self - { - $this->initialized['kind'] = true; - $this->kind = $kind; - - return $this; - } - - public function getValue(): ?int - { - return $this->value; - } - - public function setValue(?int $value): self - { - $this->initialized['value'] = true; - $this->value = $value; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItemNamedResourceSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItemNamedResourceSpec.php deleted file mode 100644 index 8ab815d18..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/GenericResourcesItemNamedResourceSpec.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $kind; - /** - * @var string|null - */ - protected $value; - - public function getKind(): ?string - { - return $this->kind; - } - - public function setKind(?string $kind): self - { - $this->initialized['kind'] = true; - $this->kind = $kind; - - return $this; - } - - public function getValue(): ?string - { - return $this->value; - } - - public function setValue(?string $value): self - { - $this->initialized['value'] = true; - $this->value = $value; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/GraphDriverData.php b/app/vendor/beluga-php/docker-php-api/src/Model/GraphDriverData.php deleted file mode 100644 index be960cf66..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/GraphDriverData.php +++ /dev/null @@ -1,81 +0,0 @@ -initialized); - } - /** - * Name of the storage driver. - * - * @var string|null - */ - protected $name; - /** - * Low-level storage metadata, provided as key/value pairs. - * - * This information is driver-specific, and depends on the storage-driver - * in use, and should be used for informational purposes only. - * - * @var array|null - */ - protected $data; - - /** - * Name of the storage driver. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the storage driver. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Low-level storage metadata, provided as key/value pairs. - * - * This information is driver-specific, and depends on the storage-driver - * in use, and should be used for informational purposes only. - * - * @return array|null - */ - public function getData(): ?iterable - { - return $this->data; - } - - /** - * Low-level storage metadata, provided as key/value pairs. - * - * This information is driver-specific, and depends on the storage-driver - * in use, and should be used for informational purposes only. - * - * @param array|null $data - */ - public function setData(?iterable $data): self - { - $this->initialized['data'] = true; - $this->data = $data; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Health.php b/app/vendor/beluga-php/docker-php-api/src/Model/Health.php deleted file mode 100644 index 2cd36b6b0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Health.php +++ /dev/null @@ -1,112 +0,0 @@ -initialized); - } - /** - * Status is one of `none`, `starting`, `healthy` or `unhealthy`. - * - * - "none" Indicates there is no healthcheck - * - "starting" Starting indicates that the container is not yet ready - * - "healthy" Healthy indicates that the container is running correctly - * - "unhealthy" Unhealthy indicates that the container has a problem - * - * @var string|null - */ - protected $status; - /** - * FailingStreak is the number of consecutive failures. - * - * @var int|null - */ - protected $failingStreak; - /** - * Log contains the last few results (oldest first). - * - * @var list|null - */ - protected $log; - - /** - * Status is one of `none`, `starting`, `healthy` or `unhealthy`. - * - * - "none" Indicates there is no healthcheck - * - "starting" Starting indicates that the container is not yet ready - * - "healthy" Healthy indicates that the container is running correctly - * - "unhealthy" Unhealthy indicates that the container has a problem - */ - public function getStatus(): ?string - { - return $this->status; - } - - /** - * Status is one of `none`, `starting`, `healthy` or `unhealthy`. - * - * - "none" Indicates there is no healthcheck - * - "starting" Starting indicates that the container is not yet ready - * - "healthy" Healthy indicates that the container is running correctly - * - "unhealthy" Unhealthy indicates that the container has a problem - */ - public function setStatus(?string $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - /** - * FailingStreak is the number of consecutive failures. - */ - public function getFailingStreak(): ?int - { - return $this->failingStreak; - } - - /** - * FailingStreak is the number of consecutive failures. - */ - public function setFailingStreak(?int $failingStreak): self - { - $this->initialized['failingStreak'] = true; - $this->failingStreak = $failingStreak; - - return $this; - } - - /** - * Log contains the last few results (oldest first). - * - * @return list|null - */ - public function getLog(): ?array - { - return $this->log; - } - - /** - * Log contains the last few results (oldest first). - * - * @param list|null $log - */ - public function setLog(?array $log): self - { - $this->initialized['log'] = true; - $this->log = $log; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/HealthConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/HealthConfig.php deleted file mode 100644 index 4b61a21a5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/HealthConfig.php +++ /dev/null @@ -1,205 +0,0 @@ -initialized); - } - /** - * The test to perform. Possible values are: - * - * - `[]` inherit healthcheck from image or parent image - * - `["NONE"]` disable healthcheck - * - `["CMD", args...]` exec arguments directly - * - `["CMD-SHELL", command]` run command with system's default shell - * - * @var list|null - */ - protected $test; - /** - * The time to wait between checks in nanoseconds. It should be 0 or at - * least 1000000 (1 ms). 0 means inherit. - * - * @var int|null - */ - protected $interval; - /** - * The time to wait before considering the check to have hung. It should - * be 0 or at least 1000000 (1 ms). 0 means inherit. - * - * @var int|null - */ - protected $timeout; - /** - * The number of consecutive failures needed to consider a container as - * unhealthy. 0 means inherit. - * - * @var int|null - */ - protected $retries; - /** - * Start period for the container to initialize before starting - * health-retries countdown in nanoseconds. It should be 0 or at least - * 1000000 (1 ms). 0 means inherit. - * - * @var int|null - */ - protected $startPeriod; - /** - * The time to wait between checks in nanoseconds during the start period. - * It should be 0 or at least 1000000 (1 ms). 0 means inherit. - * - * @var int|null - */ - protected $startInterval; - - /** - * The test to perform. Possible values are: - * - * - `[]` inherit healthcheck from image or parent image - * - `["NONE"]` disable healthcheck - * - `["CMD", args...]` exec arguments directly - * - `["CMD-SHELL", command]` run command with system's default shell - * - * @return list|null - */ - public function getTest(): ?array - { - return $this->test; - } - - /** - * The test to perform. Possible values are: - * - * - `[]` inherit healthcheck from image or parent image - * - `["NONE"]` disable healthcheck - * - `["CMD", args...]` exec arguments directly - * - `["CMD-SHELL", command]` run command with system's default shell - * - * @param list|null $test - */ - public function setTest(?array $test): self - { - $this->initialized['test'] = true; - $this->test = $test; - - return $this; - } - - /** - * The time to wait between checks in nanoseconds. It should be 0 or at - * least 1000000 (1 ms). 0 means inherit. - */ - public function getInterval(): ?int - { - return $this->interval; - } - - /** - * The time to wait between checks in nanoseconds. It should be 0 or at - * least 1000000 (1 ms). 0 means inherit. - */ - public function setInterval(?int $interval): self - { - $this->initialized['interval'] = true; - $this->interval = $interval; - - return $this; - } - - /** - * The time to wait before considering the check to have hung. It should - * be 0 or at least 1000000 (1 ms). 0 means inherit. - */ - public function getTimeout(): ?int - { - return $this->timeout; - } - - /** - * The time to wait before considering the check to have hung. It should - * be 0 or at least 1000000 (1 ms). 0 means inherit. - */ - public function setTimeout(?int $timeout): self - { - $this->initialized['timeout'] = true; - $this->timeout = $timeout; - - return $this; - } - - /** - * The number of consecutive failures needed to consider a container as - * unhealthy. 0 means inherit. - */ - public function getRetries(): ?int - { - return $this->retries; - } - - /** - * The number of consecutive failures needed to consider a container as - * unhealthy. 0 means inherit. - */ - public function setRetries(?int $retries): self - { - $this->initialized['retries'] = true; - $this->retries = $retries; - - return $this; - } - - /** - * Start period for the container to initialize before starting - * health-retries countdown in nanoseconds. It should be 0 or at least - * 1000000 (1 ms). 0 means inherit. - */ - public function getStartPeriod(): ?int - { - return $this->startPeriod; - } - - /** - * Start period for the container to initialize before starting - * health-retries countdown in nanoseconds. It should be 0 or at least - * 1000000 (1 ms). 0 means inherit. - */ - public function setStartPeriod(?int $startPeriod): self - { - $this->initialized['startPeriod'] = true; - $this->startPeriod = $startPeriod; - - return $this; - } - - /** - * The time to wait between checks in nanoseconds during the start period. - * It should be 0 or at least 1000000 (1 ms). 0 means inherit. - */ - public function getStartInterval(): ?int - { - return $this->startInterval; - } - - /** - * The time to wait between checks in nanoseconds during the start period. - * It should be 0 or at least 1000000 (1 ms). 0 means inherit. - */ - public function setStartInterval(?int $startInterval): self - { - $this->initialized['startInterval'] = true; - $this->startInterval = $startInterval; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/HealthcheckResult.php b/app/vendor/beluga-php/docker-php-api/src/Model/HealthcheckResult.php deleted file mode 100644 index f17350b63..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/HealthcheckResult.php +++ /dev/null @@ -1,139 +0,0 @@ -initialized); - } - /** - * Date and time at which this check started in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var \DateTimeInterface|null - */ - protected $start; - /** - * Date and time at which this check ended in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $end; - /** - * ExitCode meanings: - * - * - `0` healthy - * - `1` unhealthy - * - `2` reserved (considered unhealthy) - * - other values: error running probe - * - * @var int|null - */ - protected $exitCode; - /** - * Output from last check. - * - * @var string|null - */ - protected $output; - - /** - * Date and time at which this check started in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getStart(): ?\DateTimeInterface - { - return $this->start; - } - - /** - * Date and time at which this check started in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setStart(?\DateTimeInterface $start): self - { - $this->initialized['start'] = true; - $this->start = $start; - - return $this; - } - - /** - * Date and time at which this check ended in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getEnd(): ?string - { - return $this->end; - } - - /** - * Date and time at which this check ended in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setEnd(?string $end): self - { - $this->initialized['end'] = true; - $this->end = $end; - - return $this; - } - - /** - * ExitCode meanings: - * - * - `0` healthy - * - `1` unhealthy - * - `2` reserved (considered unhealthy) - * - other values: error running probe - */ - public function getExitCode(): ?int - { - return $this->exitCode; - } - - /** - * ExitCode meanings: - * - * - `0` healthy - * - `1` unhealthy - * - `2` reserved (considered unhealthy) - * - other values: error running probe - */ - public function setExitCode(?int $exitCode): self - { - $this->initialized['exitCode'] = true; - $this->exitCode = $exitCode; - - return $this; - } - - /** - * Output from last check. - */ - public function getOutput(): ?string - { - return $this->output; - } - - /** - * Output from last check. - */ - public function setOutput(?string $output): self - { - $this->initialized['output'] = true; - $this->output = $output; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/HostConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/HostConfig.php deleted file mode 100644 index 043e7cfa3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/HostConfig.php +++ /dev/null @@ -1,2325 +0,0 @@ -initialized); - } - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - * - * @var int|null - */ - protected $cpuShares; - /** - * Memory limit in bytes. - * - * @var int|null - */ - protected $memory = 0; - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - * - * @var string|null - */ - protected $cgroupParent; - /** - * Block IO weight (relative weight). - * - * @var int|null - */ - protected $blkioWeight; - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @var list|null - */ - protected $blkioWeightDevice; - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceReadBps; - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceWriteBps; - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceReadIOps; - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceWriteIOps; - /** - * The length of a CPU period in microseconds. - * - * @var int|null - */ - protected $cpuPeriod; - /** - * Microseconds of CPU time that the container can get in a CPU period. - * - * @var int|null - */ - protected $cpuQuota; - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - * - * @var int|null - */ - protected $cpuRealtimePeriod; - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - * - * @var int|null - */ - protected $cpuRealtimeRuntime; - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - * - * @var string|null - */ - protected $cpusetCpus; - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - * - * @var string|null - */ - protected $cpusetMems; - /** - * A list of devices to add to the container. - * - * @var list|null - */ - protected $devices; - /** - * a list of cgroup rules to apply to the container. - * - * @var list|null - */ - protected $deviceCgroupRules; - /** - * A list of requests for devices to be sent to device drivers. - * - * @var list|null - */ - protected $deviceRequests; - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - * - * @var int|null - */ - protected $kernelMemoryTCP; - /** - * Memory soft limit in bytes. - * - * @var int|null - */ - protected $memoryReservation; - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - * - * @var int|null - */ - protected $memorySwap; - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - * - * @var int|null - */ - protected $memorySwappiness; - /** - * CPU quota in units of 10-9 CPUs. - * - * @var int|null - */ - protected $nanoCpus; - /** - * Disable OOM Killer for the container. - * - * @var bool|null - */ - protected $oomKillDisable; - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - * - * @var bool|null - */ - protected $init; - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - * - * @var int|null - */ - protected $pidsLimit; - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @var list|null - */ - protected $ulimits; - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - * - * @var int|null - */ - protected $cpuCount; - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - * - * @var int|null - */ - protected $cpuPercent; - /** - * Maximum IOps for the container system drive (Windows only). - * - * @var int|null - */ - protected $iOMaximumIOps; - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - * - * @var int|null - */ - protected $iOMaximumBandwidth; - /** - * A list of volume bindings for this container. Each volume binding - * is a string in one of these forms: - * - * - `host-src:container-dest[:options]` to bind-mount a host path - * into the container. Both `host-src`, and `container-dest` must - * be an _absolute_ path. - * - `volume-name:container-dest[:options]` to bind-mount a volume - * managed by a volume driver into the container. `container-dest` - * must be an _absolute_ path. - * - * `options` is an optional, comma-delimited list of: - * - * - `nocopy` disables automatic copying of data from the container - * path to the volume. The `nocopy` flag only applies to named volumes. - * - `[ro|rw]` mounts a volume read-only or read-write, respectively. - * If omitted or set to `rw`, volumes are mounted read-write. - * - `[z|Z]` applies SELinux labels to allow or deny multiple containers - * to read and write to the same volume. - * - `z`: a _shared_ content label is applied to the content. This - * label indicates that multiple containers can share the volume - * content, for both reading and writing. - * - `Z`: a _private unshared_ label is applied to the content. - * This label indicates that only the current container can use - * a private volume. Labeling systems such as SELinux require - * proper labels to be placed on volume content that is mounted - * into a container. Without a label, the security system can - * prevent a container's processes from using the content. By - * default, the labels set by the host operating system are not - * modified. - * - `[[r]shared|[r]slave|[r]private]` specifies mount - * [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt). - * This only applies to bind-mounted volumes, not internal volumes - * or named volumes. Mount propagation requires the source mount - * point (the location where the source directory is mounted in the - * host operating system) to have the correct propagation properties. - * For shared volumes, the source mount point must be set to `shared`. - * For slave volumes, the mount must be set to either `shared` or - * `slave`. - * - * @var list|null - */ - protected $binds; - /** - * Path to a file where the container ID is written. - * - * @var string|null - */ - protected $containerIDFile; - /** - * The logging configuration for this container. - * - * @var HostConfigLogConfig|null - */ - protected $logConfig; - /** - * Network mode to use for this container. Supported standard values - * are: `bridge`, `host`, `none`, and `container:`. Any - * other value is taken as a custom network's name to which this - * container should connect to. - * - * @var string|null - */ - protected $networkMode; - /** - * PortMap describes the mapping of container ports to host ports, using the - * container's port-number and protocol as key in the format `/`, - * for example, `80/udp`. - * - * If a container's port is mapped for multiple protocols, separate entries - * are added to the mapping table. - * - * @var array>|null - */ - protected $portBindings; - /** - * The behavior to apply when the container exits. The default is not to - * restart. - * - * An ever increasing delay (double the previous delay, starting at 100ms) is - * added before each restart to prevent flooding the server. - * - * @var RestartPolicy|null - */ - protected $restartPolicy; - /** - * Automatically remove the container when the container's process - * exits. This has no effect if `RestartPolicy` is set. - * - * @var bool|null - */ - protected $autoRemove; - /** - * Driver that this container uses to mount volumes. - * - * @var string|null - */ - protected $volumeDriver; - /** - * A list of volumes to inherit from another container, specified in - * the form `[:]`. - * - * @var list|null - */ - protected $volumesFrom; - /** - * Specification for mounts to be added to the container. - * - * @var list|null - */ - protected $mounts; - /** - * Initial console size, as an `[height, width]` array. - * - * @var list|null - */ - protected $consoleSize; - /** - * Arbitrary non-identifying metadata attached to container and - * provided to the runtime when the container is started. - * - * @var array|null - */ - protected $annotations; - /** - * A list of kernel capabilities to add to the container. Conflicts - * with option 'Capabilities'. - * - * @var list|null - */ - protected $capAdd; - /** - * A list of kernel capabilities to drop from the container. Conflicts - * with option 'Capabilities'. - * - * @var list|null - */ - protected $capDrop; - /** - * cgroup namespace mode for the container. Possible values are: - * - * - `"private"`: the container runs in its own private cgroup namespace - * - `"host"`: use the host system's cgroup namespace - * - * If not specified, the daemon default is used, which can either be `"private"` - * or `"host"`, depending on daemon version, kernel support and configuration. - * - * @var string|null - */ - protected $cgroupnsMode; - /** - * A list of DNS servers for the container to use. - * - * @var list|null - */ - protected $dns; - /** - * A list of DNS options. - * - * @var list|null - */ - protected $dnsOptions; - /** - * A list of DNS search domains. - * - * @var list|null - */ - protected $dnsSearch; - /** - * A list of hostnames/IP mappings to add to the container's `/etc/hosts` - * file. Specified in the form `["hostname:IP"]`. - * - * @var list|null - */ - protected $extraHosts; - /** - * A list of additional groups that the container process will run as. - * - * @var list|null - */ - protected $groupAdd; - /** - * IPC sharing mode for the container. Possible values are: - * - * - `"none"`: own private IPC namespace, with /dev/shm not mounted - * - `"private"`: own private IPC namespace - * - `"shareable"`: own private IPC namespace, with a possibility to share it with other containers - * - `"container:"`: join another (shareable) container's IPC namespace - * - `"host"`: use the host system's IPC namespace - * - * If not specified, daemon default is used, which can either be `"private"` - * or `"shareable"`, depending on daemon version and configuration. - * - * @var string|null - */ - protected $ipcMode; - /** - * Cgroup to use for the container. - * - * @var string|null - */ - protected $cgroup; - /** - * A list of links for the container in the form `container_name:alias`. - * - * @var list|null - */ - protected $links; - /** - * An integer value containing the score given to the container in - * order to tune OOM killer preferences. - * - * @var int|null - */ - protected $oomScoreAdj; - /** - * Set the PID (Process) Namespace mode for the container. It can be - * either: - * - * - `"container:"`: joins another container's PID namespace - * - `"host"`: use the host's PID namespace inside the container - * - * @var string|null - */ - protected $pidMode; - /** - * Gives the container full access to the host. - * - * @var bool|null - */ - protected $privileged; - /** - * Allocates an ephemeral host port for all of a container's - * exposed ports. - * - * Ports are de-allocated when the container stops and allocated when - * the container starts. The allocated port might be changed when - * restarting the container. - * - * The port is selected from the ephemeral port range that depends on - * the kernel. For example, on Linux the range is defined by - * `/proc/sys/net/ipv4/ip_local_port_range`. - * - * @var bool|null - */ - protected $publishAllPorts; - /** - * Mount the container's root filesystem as read only. - * - * @var bool|null - */ - protected $readonlyRootfs; - /** - * A list of string values to customize labels for MLS systems, such - * as SELinux. - * - * @var list|null - */ - protected $securityOpt; - /** - * Storage driver options for this container, in the form `{"size": "120G"}`. - * - * @var array|null - */ - protected $storageOpt; - /** - * A map of container directories which should be replaced by tmpfs - * mounts, and their corresponding mount options. For example: - * - * ``` - * { "/run": "rw,noexec,nosuid,size=65536k" } - * ``` - * - * @var array|null - */ - protected $tmpfs; - /** - * UTS namespace to use for the container. - * - * @var string|null - */ - protected $uTSMode; - /** - * Sets the usernamespace mode for the container when usernamespace - * remapping option is enabled. - * - * @var string|null - */ - protected $usernsMode; - /** - * Size of `/dev/shm` in bytes. If omitted, the system uses 64MB. - * - * @var int|null - */ - protected $shmSize; - /** - * A list of kernel parameters (sysctls) to set in the container. - * For example: - * - * ``` - * {"net.ipv4.ip_forward": "1"} - * ``` - * - * @var array|null - */ - protected $sysctls; - /** - * Runtime to use with this container. - * - * @var string|null - */ - protected $runtime; - /** - * Isolation technology of the container. (Windows only). - * - * @var string|null - */ - protected $isolation; - /** - * The list of paths to be masked inside the container (this overrides - * the default set of paths). - * - * @var list|null - */ - protected $maskedPaths; - /** - * The list of paths to be set as read-only inside the container - * (this overrides the default set of paths). - * - * @var list|null - */ - protected $readonlyPaths; - - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - */ - public function getCpuShares(): ?int - { - return $this->cpuShares; - } - - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - */ - public function setCpuShares(?int $cpuShares): self - { - $this->initialized['cpuShares'] = true; - $this->cpuShares = $cpuShares; - - return $this; - } - - /** - * Memory limit in bytes. - */ - public function getMemory(): ?int - { - return $this->memory; - } - - /** - * Memory limit in bytes. - */ - public function setMemory(?int $memory): self - { - $this->initialized['memory'] = true; - $this->memory = $memory; - - return $this; - } - - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - */ - public function getCgroupParent(): ?string - { - return $this->cgroupParent; - } - - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - */ - public function setCgroupParent(?string $cgroupParent): self - { - $this->initialized['cgroupParent'] = true; - $this->cgroupParent = $cgroupParent; - - return $this; - } - - /** - * Block IO weight (relative weight). - */ - public function getBlkioWeight(): ?int - { - return $this->blkioWeight; - } - - /** - * Block IO weight (relative weight). - */ - public function setBlkioWeight(?int $blkioWeight): self - { - $this->initialized['blkioWeight'] = true; - $this->blkioWeight = $blkioWeight; - - return $this; - } - - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @return list|null - */ - public function getBlkioWeightDevice(): ?array - { - return $this->blkioWeightDevice; - } - - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @param list|null $blkioWeightDevice - */ - public function setBlkioWeightDevice(?array $blkioWeightDevice): self - { - $this->initialized['blkioWeightDevice'] = true; - $this->blkioWeightDevice = $blkioWeightDevice; - - return $this; - } - - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceReadBps(): ?array - { - return $this->blkioDeviceReadBps; - } - - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceReadBps - */ - public function setBlkioDeviceReadBps(?array $blkioDeviceReadBps): self - { - $this->initialized['blkioDeviceReadBps'] = true; - $this->blkioDeviceReadBps = $blkioDeviceReadBps; - - return $this; - } - - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceWriteBps(): ?array - { - return $this->blkioDeviceWriteBps; - } - - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceWriteBps - */ - public function setBlkioDeviceWriteBps(?array $blkioDeviceWriteBps): self - { - $this->initialized['blkioDeviceWriteBps'] = true; - $this->blkioDeviceWriteBps = $blkioDeviceWriteBps; - - return $this; - } - - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceReadIOps(): ?array - { - return $this->blkioDeviceReadIOps; - } - - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceReadIOps - */ - public function setBlkioDeviceReadIOps(?array $blkioDeviceReadIOps): self - { - $this->initialized['blkioDeviceReadIOps'] = true; - $this->blkioDeviceReadIOps = $blkioDeviceReadIOps; - - return $this; - } - - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceWriteIOps(): ?array - { - return $this->blkioDeviceWriteIOps; - } - - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceWriteIOps - */ - public function setBlkioDeviceWriteIOps(?array $blkioDeviceWriteIOps): self - { - $this->initialized['blkioDeviceWriteIOps'] = true; - $this->blkioDeviceWriteIOps = $blkioDeviceWriteIOps; - - return $this; - } - - /** - * The length of a CPU period in microseconds. - */ - public function getCpuPeriod(): ?int - { - return $this->cpuPeriod; - } - - /** - * The length of a CPU period in microseconds. - */ - public function setCpuPeriod(?int $cpuPeriod): self - { - $this->initialized['cpuPeriod'] = true; - $this->cpuPeriod = $cpuPeriod; - - return $this; - } - - /** - * Microseconds of CPU time that the container can get in a CPU period. - */ - public function getCpuQuota(): ?int - { - return $this->cpuQuota; - } - - /** - * Microseconds of CPU time that the container can get in a CPU period. - */ - public function setCpuQuota(?int $cpuQuota): self - { - $this->initialized['cpuQuota'] = true; - $this->cpuQuota = $cpuQuota; - - return $this; - } - - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function getCpuRealtimePeriod(): ?int - { - return $this->cpuRealtimePeriod; - } - - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function setCpuRealtimePeriod(?int $cpuRealtimePeriod): self - { - $this->initialized['cpuRealtimePeriod'] = true; - $this->cpuRealtimePeriod = $cpuRealtimePeriod; - - return $this; - } - - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function getCpuRealtimeRuntime(): ?int - { - return $this->cpuRealtimeRuntime; - } - - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function setCpuRealtimeRuntime(?int $cpuRealtimeRuntime): self - { - $this->initialized['cpuRealtimeRuntime'] = true; - $this->cpuRealtimeRuntime = $cpuRealtimeRuntime; - - return $this; - } - - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - */ - public function getCpusetCpus(): ?string - { - return $this->cpusetCpus; - } - - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - */ - public function setCpusetCpus(?string $cpusetCpus): self - { - $this->initialized['cpusetCpus'] = true; - $this->cpusetCpus = $cpusetCpus; - - return $this; - } - - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - */ - public function getCpusetMems(): ?string - { - return $this->cpusetMems; - } - - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - */ - public function setCpusetMems(?string $cpusetMems): self - { - $this->initialized['cpusetMems'] = true; - $this->cpusetMems = $cpusetMems; - - return $this; - } - - /** - * A list of devices to add to the container. - * - * @return list|null - */ - public function getDevices(): ?array - { - return $this->devices; - } - - /** - * A list of devices to add to the container. - * - * @param list|null $devices - */ - public function setDevices(?array $devices): self - { - $this->initialized['devices'] = true; - $this->devices = $devices; - - return $this; - } - - /** - * a list of cgroup rules to apply to the container. - * - * @return list|null - */ - public function getDeviceCgroupRules(): ?array - { - return $this->deviceCgroupRules; - } - - /** - * a list of cgroup rules to apply to the container. - * - * @param list|null $deviceCgroupRules - */ - public function setDeviceCgroupRules(?array $deviceCgroupRules): self - { - $this->initialized['deviceCgroupRules'] = true; - $this->deviceCgroupRules = $deviceCgroupRules; - - return $this; - } - - /** - * A list of requests for devices to be sent to device drivers. - * - * @return list|null - */ - public function getDeviceRequests(): ?array - { - return $this->deviceRequests; - } - - /** - * A list of requests for devices to be sent to device drivers. - * - * @param list|null $deviceRequests - */ - public function setDeviceRequests(?array $deviceRequests): self - { - $this->initialized['deviceRequests'] = true; - $this->deviceRequests = $deviceRequests; - - return $this; - } - - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - */ - public function getKernelMemoryTCP(): ?int - { - return $this->kernelMemoryTCP; - } - - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - */ - public function setKernelMemoryTCP(?int $kernelMemoryTCP): self - { - $this->initialized['kernelMemoryTCP'] = true; - $this->kernelMemoryTCP = $kernelMemoryTCP; - - return $this; - } - - /** - * Memory soft limit in bytes. - */ - public function getMemoryReservation(): ?int - { - return $this->memoryReservation; - } - - /** - * Memory soft limit in bytes. - */ - public function setMemoryReservation(?int $memoryReservation): self - { - $this->initialized['memoryReservation'] = true; - $this->memoryReservation = $memoryReservation; - - return $this; - } - - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - */ - public function getMemorySwap(): ?int - { - return $this->memorySwap; - } - - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - */ - public function setMemorySwap(?int $memorySwap): self - { - $this->initialized['memorySwap'] = true; - $this->memorySwap = $memorySwap; - - return $this; - } - - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - */ - public function getMemorySwappiness(): ?int - { - return $this->memorySwappiness; - } - - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - */ - public function setMemorySwappiness(?int $memorySwappiness): self - { - $this->initialized['memorySwappiness'] = true; - $this->memorySwappiness = $memorySwappiness; - - return $this; - } - - /** - * CPU quota in units of 10-9 CPUs. - */ - public function getNanoCpus(): ?int - { - return $this->nanoCpus; - } - - /** - * CPU quota in units of 10-9 CPUs. - */ - public function setNanoCpus(?int $nanoCpus): self - { - $this->initialized['nanoCpus'] = true; - $this->nanoCpus = $nanoCpus; - - return $this; - } - - /** - * Disable OOM Killer for the container. - */ - public function getOomKillDisable(): ?bool - { - return $this->oomKillDisable; - } - - /** - * Disable OOM Killer for the container. - */ - public function setOomKillDisable(?bool $oomKillDisable): self - { - $this->initialized['oomKillDisable'] = true; - $this->oomKillDisable = $oomKillDisable; - - return $this; - } - - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - */ - public function getInit(): ?bool - { - return $this->init; - } - - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - */ - public function setInit(?bool $init): self - { - $this->initialized['init'] = true; - $this->init = $init; - - return $this; - } - - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - */ - public function getPidsLimit(): ?int - { - return $this->pidsLimit; - } - - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - */ - public function setPidsLimit(?int $pidsLimit): self - { - $this->initialized['pidsLimit'] = true; - $this->pidsLimit = $pidsLimit; - - return $this; - } - - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @return list|null - */ - public function getUlimits(): ?array - { - return $this->ulimits; - } - - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @param list|null $ulimits - */ - public function setUlimits(?array $ulimits): self - { - $this->initialized['ulimits'] = true; - $this->ulimits = $ulimits; - - return $this; - } - - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function getCpuCount(): ?int - { - return $this->cpuCount; - } - - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function setCpuCount(?int $cpuCount): self - { - $this->initialized['cpuCount'] = true; - $this->cpuCount = $cpuCount; - - return $this; - } - - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function getCpuPercent(): ?int - { - return $this->cpuPercent; - } - - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function setCpuPercent(?int $cpuPercent): self - { - $this->initialized['cpuPercent'] = true; - $this->cpuPercent = $cpuPercent; - - return $this; - } - - /** - * Maximum IOps for the container system drive (Windows only). - */ - public function getIOMaximumIOps(): ?int - { - return $this->iOMaximumIOps; - } - - /** - * Maximum IOps for the container system drive (Windows only). - */ - public function setIOMaximumIOps(?int $iOMaximumIOps): self - { - $this->initialized['iOMaximumIOps'] = true; - $this->iOMaximumIOps = $iOMaximumIOps; - - return $this; - } - - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - */ - public function getIOMaximumBandwidth(): ?int - { - return $this->iOMaximumBandwidth; - } - - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - */ - public function setIOMaximumBandwidth(?int $iOMaximumBandwidth): self - { - $this->initialized['iOMaximumBandwidth'] = true; - $this->iOMaximumBandwidth = $iOMaximumBandwidth; - - return $this; - } - - /** - * A list of volume bindings for this container. Each volume binding - * is a string in one of these forms: - * - * - `host-src:container-dest[:options]` to bind-mount a host path - * into the container. Both `host-src`, and `container-dest` must - * be an _absolute_ path. - * - `volume-name:container-dest[:options]` to bind-mount a volume - * managed by a volume driver into the container. `container-dest` - * must be an _absolute_ path. - * - * `options` is an optional, comma-delimited list of: - * - * - `nocopy` disables automatic copying of data from the container - * path to the volume. The `nocopy` flag only applies to named volumes. - * - `[ro|rw]` mounts a volume read-only or read-write, respectively. - * If omitted or set to `rw`, volumes are mounted read-write. - * - `[z|Z]` applies SELinux labels to allow or deny multiple containers - * to read and write to the same volume. - * - `z`: a _shared_ content label is applied to the content. This - * label indicates that multiple containers can share the volume - * content, for both reading and writing. - * - `Z`: a _private unshared_ label is applied to the content. - * This label indicates that only the current container can use - * a private volume. Labeling systems such as SELinux require - * proper labels to be placed on volume content that is mounted - * into a container. Without a label, the security system can - * prevent a container's processes from using the content. By - * default, the labels set by the host operating system are not - * modified. - * - `[[r]shared|[r]slave|[r]private]` specifies mount - * [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt). - * This only applies to bind-mounted volumes, not internal volumes - * or named volumes. Mount propagation requires the source mount - * point (the location where the source directory is mounted in the - * host operating system) to have the correct propagation properties. - * For shared volumes, the source mount point must be set to `shared`. - * For slave volumes, the mount must be set to either `shared` or - * `slave`. - * - * @return list|null - */ - public function getBinds(): ?array - { - return $this->binds; - } - - /** - * A list of volume bindings for this container. Each volume binding - * is a string in one of these forms: - * - * - `host-src:container-dest[:options]` to bind-mount a host path - * into the container. Both `host-src`, and `container-dest` must - * be an _absolute_ path. - * - `volume-name:container-dest[:options]` to bind-mount a volume - * managed by a volume driver into the container. `container-dest` - * must be an _absolute_ path. - * - * `options` is an optional, comma-delimited list of: - * - * - `nocopy` disables automatic copying of data from the container - * path to the volume. The `nocopy` flag only applies to named volumes. - * - `[ro|rw]` mounts a volume read-only or read-write, respectively. - * If omitted or set to `rw`, volumes are mounted read-write. - * - `[z|Z]` applies SELinux labels to allow or deny multiple containers - * to read and write to the same volume. - * - `z`: a _shared_ content label is applied to the content. This - * label indicates that multiple containers can share the volume - * content, for both reading and writing. - * - `Z`: a _private unshared_ label is applied to the content. - * This label indicates that only the current container can use - * a private volume. Labeling systems such as SELinux require - * proper labels to be placed on volume content that is mounted - * into a container. Without a label, the security system can - * prevent a container's processes from using the content. By - * default, the labels set by the host operating system are not - * modified. - * - `[[r]shared|[r]slave|[r]private]` specifies mount - * [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt). - * This only applies to bind-mounted volumes, not internal volumes - * or named volumes. Mount propagation requires the source mount - * point (the location where the source directory is mounted in the - * host operating system) to have the correct propagation properties. - * For shared volumes, the source mount point must be set to `shared`. - * For slave volumes, the mount must be set to either `shared` or - * `slave`. - * - * @param list|null $binds - */ - public function setBinds(?array $binds): self - { - $this->initialized['binds'] = true; - $this->binds = $binds; - - return $this; - } - - /** - * Path to a file where the container ID is written. - */ - public function getContainerIDFile(): ?string - { - return $this->containerIDFile; - } - - /** - * Path to a file where the container ID is written. - */ - public function setContainerIDFile(?string $containerIDFile): self - { - $this->initialized['containerIDFile'] = true; - $this->containerIDFile = $containerIDFile; - - return $this; - } - - /** - * The logging configuration for this container. - */ - public function getLogConfig(): ?HostConfigLogConfig - { - return $this->logConfig; - } - - /** - * The logging configuration for this container. - */ - public function setLogConfig(?HostConfigLogConfig $logConfig): self - { - $this->initialized['logConfig'] = true; - $this->logConfig = $logConfig; - - return $this; - } - - /** - * Network mode to use for this container. Supported standard values - * are: `bridge`, `host`, `none`, and `container:`. Any - * other value is taken as a custom network's name to which this - * container should connect to. - */ - public function getNetworkMode(): ?string - { - return $this->networkMode; - } - - /** - * Network mode to use for this container. Supported standard values - * are: `bridge`, `host`, `none`, and `container:`. Any - * other value is taken as a custom network's name to which this - * container should connect to. - */ - public function setNetworkMode(?string $networkMode): self - { - $this->initialized['networkMode'] = true; - $this->networkMode = $networkMode; - - return $this; - } - - /** - * PortMap describes the mapping of container ports to host ports, using the - * container's port-number and protocol as key in the format `/`, - * for example, `80/udp`. - * - * If a container's port is mapped for multiple protocols, separate entries - * are added to the mapping table. - * - * @return array>|null - */ - public function getPortBindings(): ?iterable - { - return $this->portBindings; - } - - /** - * PortMap describes the mapping of container ports to host ports, using the - * container's port-number and protocol as key in the format `/`, - * for example, `80/udp`. - * - * If a container's port is mapped for multiple protocols, separate entries - * are added to the mapping table. - * - * @param array>|null $portBindings - */ - public function setPortBindings(?iterable $portBindings): self - { - $this->initialized['portBindings'] = true; - $this->portBindings = $portBindings; - - return $this; - } - - /** - * The behavior to apply when the container exits. The default is not to - * restart. - * - * An ever increasing delay (double the previous delay, starting at 100ms) is - * added before each restart to prevent flooding the server. - */ - public function getRestartPolicy(): ?RestartPolicy - { - return $this->restartPolicy; - } - - /** - * The behavior to apply when the container exits. The default is not to - * restart. - * - * An ever increasing delay (double the previous delay, starting at 100ms) is - * added before each restart to prevent flooding the server. - */ - public function setRestartPolicy(?RestartPolicy $restartPolicy): self - { - $this->initialized['restartPolicy'] = true; - $this->restartPolicy = $restartPolicy; - - return $this; - } - - /** - * Automatically remove the container when the container's process - * exits. This has no effect if `RestartPolicy` is set. - */ - public function getAutoRemove(): ?bool - { - return $this->autoRemove; - } - - /** - * Automatically remove the container when the container's process - * exits. This has no effect if `RestartPolicy` is set. - */ - public function setAutoRemove(?bool $autoRemove): self - { - $this->initialized['autoRemove'] = true; - $this->autoRemove = $autoRemove; - - return $this; - } - - /** - * Driver that this container uses to mount volumes. - */ - public function getVolumeDriver(): ?string - { - return $this->volumeDriver; - } - - /** - * Driver that this container uses to mount volumes. - */ - public function setVolumeDriver(?string $volumeDriver): self - { - $this->initialized['volumeDriver'] = true; - $this->volumeDriver = $volumeDriver; - - return $this; - } - - /** - * A list of volumes to inherit from another container, specified in - * the form `[:]`. - * - * @return list|null - */ - public function getVolumesFrom(): ?array - { - return $this->volumesFrom; - } - - /** - * A list of volumes to inherit from another container, specified in - * the form `[:]`. - * - * @param list|null $volumesFrom - */ - public function setVolumesFrom(?array $volumesFrom): self - { - $this->initialized['volumesFrom'] = true; - $this->volumesFrom = $volumesFrom; - - return $this; - } - - /** - * Specification for mounts to be added to the container. - * - * @return list|null - */ - public function getMounts(): ?array - { - return $this->mounts; - } - - /** - * Specification for mounts to be added to the container. - * - * @param list|null $mounts - */ - public function setMounts(?array $mounts): self - { - $this->initialized['mounts'] = true; - $this->mounts = $mounts; - - return $this; - } - - /** - * Initial console size, as an `[height, width]` array. - * - * @return list|null - */ - public function getConsoleSize(): ?array - { - return $this->consoleSize; - } - - /** - * Initial console size, as an `[height, width]` array. - * - * @param list|null $consoleSize - */ - public function setConsoleSize(?array $consoleSize): self - { - $this->initialized['consoleSize'] = true; - $this->consoleSize = $consoleSize; - - return $this; - } - - /** - * Arbitrary non-identifying metadata attached to container and - * provided to the runtime when the container is started. - * - * @return array|null - */ - public function getAnnotations(): ?iterable - { - return $this->annotations; - } - - /** - * Arbitrary non-identifying metadata attached to container and - * provided to the runtime when the container is started. - * - * @param array|null $annotations - */ - public function setAnnotations(?iterable $annotations): self - { - $this->initialized['annotations'] = true; - $this->annotations = $annotations; - - return $this; - } - - /** - * A list of kernel capabilities to add to the container. Conflicts - * with option 'Capabilities'. - * - * @return list|null - */ - public function getCapAdd(): ?array - { - return $this->capAdd; - } - - /** - * A list of kernel capabilities to add to the container. Conflicts - * with option 'Capabilities'. - * - * @param list|null $capAdd - */ - public function setCapAdd(?array $capAdd): self - { - $this->initialized['capAdd'] = true; - $this->capAdd = $capAdd; - - return $this; - } - - /** - * A list of kernel capabilities to drop from the container. Conflicts - * with option 'Capabilities'. - * - * @return list|null - */ - public function getCapDrop(): ?array - { - return $this->capDrop; - } - - /** - * A list of kernel capabilities to drop from the container. Conflicts - * with option 'Capabilities'. - * - * @param list|null $capDrop - */ - public function setCapDrop(?array $capDrop): self - { - $this->initialized['capDrop'] = true; - $this->capDrop = $capDrop; - - return $this; - } - - /** - * cgroup namespace mode for the container. Possible values are: - * - * - `"private"`: the container runs in its own private cgroup namespace - * - `"host"`: use the host system's cgroup namespace - * - * If not specified, the daemon default is used, which can either be `"private"` - * or `"host"`, depending on daemon version, kernel support and configuration. - */ - public function getCgroupnsMode(): ?string - { - return $this->cgroupnsMode; - } - - /** - * cgroup namespace mode for the container. Possible values are: - * - * - `"private"`: the container runs in its own private cgroup namespace - * - `"host"`: use the host system's cgroup namespace - * - * If not specified, the daemon default is used, which can either be `"private"` - * or `"host"`, depending on daemon version, kernel support and configuration. - */ - public function setCgroupnsMode(?string $cgroupnsMode): self - { - $this->initialized['cgroupnsMode'] = true; - $this->cgroupnsMode = $cgroupnsMode; - - return $this; - } - - /** - * A list of DNS servers for the container to use. - * - * @return list|null - */ - public function getDns(): ?array - { - return $this->dns; - } - - /** - * A list of DNS servers for the container to use. - * - * @param list|null $dns - */ - public function setDns(?array $dns): self - { - $this->initialized['dns'] = true; - $this->dns = $dns; - - return $this; - } - - /** - * A list of DNS options. - * - * @return list|null - */ - public function getDnsOptions(): ?array - { - return $this->dnsOptions; - } - - /** - * A list of DNS options. - * - * @param list|null $dnsOptions - */ - public function setDnsOptions(?array $dnsOptions): self - { - $this->initialized['dnsOptions'] = true; - $this->dnsOptions = $dnsOptions; - - return $this; - } - - /** - * A list of DNS search domains. - * - * @return list|null - */ - public function getDnsSearch(): ?array - { - return $this->dnsSearch; - } - - /** - * A list of DNS search domains. - * - * @param list|null $dnsSearch - */ - public function setDnsSearch(?array $dnsSearch): self - { - $this->initialized['dnsSearch'] = true; - $this->dnsSearch = $dnsSearch; - - return $this; - } - - /** - * A list of hostnames/IP mappings to add to the container's `/etc/hosts` - * file. Specified in the form `["hostname:IP"]`. - * - * @return list|null - */ - public function getExtraHosts(): ?array - { - return $this->extraHosts; - } - - /** - * A list of hostnames/IP mappings to add to the container's `/etc/hosts` - * file. Specified in the form `["hostname:IP"]`. - * - * @param list|null $extraHosts - */ - public function setExtraHosts(?array $extraHosts): self - { - $this->initialized['extraHosts'] = true; - $this->extraHosts = $extraHosts; - - return $this; - } - - /** - * A list of additional groups that the container process will run as. - * - * @return list|null - */ - public function getGroupAdd(): ?array - { - return $this->groupAdd; - } - - /** - * A list of additional groups that the container process will run as. - * - * @param list|null $groupAdd - */ - public function setGroupAdd(?array $groupAdd): self - { - $this->initialized['groupAdd'] = true; - $this->groupAdd = $groupAdd; - - return $this; - } - - /** - * IPC sharing mode for the container. Possible values are: - * - * - `"none"`: own private IPC namespace, with /dev/shm not mounted - * - `"private"`: own private IPC namespace - * - `"shareable"`: own private IPC namespace, with a possibility to share it with other containers - * - `"container:"`: join another (shareable) container's IPC namespace - * - `"host"`: use the host system's IPC namespace - * - * If not specified, daemon default is used, which can either be `"private"` - * or `"shareable"`, depending on daemon version and configuration. - */ - public function getIpcMode(): ?string - { - return $this->ipcMode; - } - - /** - * IPC sharing mode for the container. Possible values are: - * - * - `"none"`: own private IPC namespace, with /dev/shm not mounted - * - `"private"`: own private IPC namespace - * - `"shareable"`: own private IPC namespace, with a possibility to share it with other containers - * - `"container:"`: join another (shareable) container's IPC namespace - * - `"host"`: use the host system's IPC namespace - * - * If not specified, daemon default is used, which can either be `"private"` - * or `"shareable"`, depending on daemon version and configuration. - */ - public function setIpcMode(?string $ipcMode): self - { - $this->initialized['ipcMode'] = true; - $this->ipcMode = $ipcMode; - - return $this; - } - - /** - * Cgroup to use for the container. - */ - public function getCgroup(): ?string - { - return $this->cgroup; - } - - /** - * Cgroup to use for the container. - */ - public function setCgroup(?string $cgroup): self - { - $this->initialized['cgroup'] = true; - $this->cgroup = $cgroup; - - return $this; - } - - /** - * A list of links for the container in the form `container_name:alias`. - * - * @return list|null - */ - public function getLinks(): ?array - { - return $this->links; - } - - /** - * A list of links for the container in the form `container_name:alias`. - * - * @param list|null $links - */ - public function setLinks(?array $links): self - { - $this->initialized['links'] = true; - $this->links = $links; - - return $this; - } - - /** - * An integer value containing the score given to the container in - * order to tune OOM killer preferences. - */ - public function getOomScoreAdj(): ?int - { - return $this->oomScoreAdj; - } - - /** - * An integer value containing the score given to the container in - * order to tune OOM killer preferences. - */ - public function setOomScoreAdj(?int $oomScoreAdj): self - { - $this->initialized['oomScoreAdj'] = true; - $this->oomScoreAdj = $oomScoreAdj; - - return $this; - } - - /** - * Set the PID (Process) Namespace mode for the container. It can be - * either: - * - * - `"container:"`: joins another container's PID namespace - * - `"host"`: use the host's PID namespace inside the container - */ - public function getPidMode(): ?string - { - return $this->pidMode; - } - - /** - * Set the PID (Process) Namespace mode for the container. It can be - * either: - * - * - `"container:"`: joins another container's PID namespace - * - `"host"`: use the host's PID namespace inside the container - */ - public function setPidMode(?string $pidMode): self - { - $this->initialized['pidMode'] = true; - $this->pidMode = $pidMode; - - return $this; - } - - /** - * Gives the container full access to the host. - */ - public function getPrivileged(): ?bool - { - return $this->privileged; - } - - /** - * Gives the container full access to the host. - */ - public function setPrivileged(?bool $privileged): self - { - $this->initialized['privileged'] = true; - $this->privileged = $privileged; - - return $this; - } - - /** - * Allocates an ephemeral host port for all of a container's - * exposed ports. - * - * Ports are de-allocated when the container stops and allocated when - * the container starts. The allocated port might be changed when - * restarting the container. - * - * The port is selected from the ephemeral port range that depends on - * the kernel. For example, on Linux the range is defined by - * `/proc/sys/net/ipv4/ip_local_port_range`. - */ - public function getPublishAllPorts(): ?bool - { - return $this->publishAllPorts; - } - - /** - * Allocates an ephemeral host port for all of a container's - * exposed ports. - * - * Ports are de-allocated when the container stops and allocated when - * the container starts. The allocated port might be changed when - * restarting the container. - * - * The port is selected from the ephemeral port range that depends on - * the kernel. For example, on Linux the range is defined by - * `/proc/sys/net/ipv4/ip_local_port_range`. - */ - public function setPublishAllPorts(?bool $publishAllPorts): self - { - $this->initialized['publishAllPorts'] = true; - $this->publishAllPorts = $publishAllPorts; - - return $this; - } - - /** - * Mount the container's root filesystem as read only. - */ - public function getReadonlyRootfs(): ?bool - { - return $this->readonlyRootfs; - } - - /** - * Mount the container's root filesystem as read only. - */ - public function setReadonlyRootfs(?bool $readonlyRootfs): self - { - $this->initialized['readonlyRootfs'] = true; - $this->readonlyRootfs = $readonlyRootfs; - - return $this; - } - - /** - * A list of string values to customize labels for MLS systems, such - * as SELinux. - * - * @return list|null - */ - public function getSecurityOpt(): ?array - { - return $this->securityOpt; - } - - /** - * A list of string values to customize labels for MLS systems, such - * as SELinux. - * - * @param list|null $securityOpt - */ - public function setSecurityOpt(?array $securityOpt): self - { - $this->initialized['securityOpt'] = true; - $this->securityOpt = $securityOpt; - - return $this; - } - - /** - * Storage driver options for this container, in the form `{"size": "120G"}`. - * - * @return array|null - */ - public function getStorageOpt(): ?iterable - { - return $this->storageOpt; - } - - /** - * Storage driver options for this container, in the form `{"size": "120G"}`. - * - * @param array|null $storageOpt - */ - public function setStorageOpt(?iterable $storageOpt): self - { - $this->initialized['storageOpt'] = true; - $this->storageOpt = $storageOpt; - - return $this; - } - - /** - * A map of container directories which should be replaced by tmpfs - * mounts, and their corresponding mount options. For example: - * - * ``` - * { "/run": "rw,noexec,nosuid,size=65536k" } - * ``` - * - * @return array|null - */ - public function getTmpfs(): ?iterable - { - return $this->tmpfs; - } - - /** - * A map of container directories which should be replaced by tmpfs - * mounts, and their corresponding mount options. For example: - * - * ``` - * { "/run": "rw,noexec,nosuid,size=65536k" } - * ``` - * - * @param array|null $tmpfs - */ - public function setTmpfs(?iterable $tmpfs): self - { - $this->initialized['tmpfs'] = true; - $this->tmpfs = $tmpfs; - - return $this; - } - - /** - * UTS namespace to use for the container. - */ - public function getUTSMode(): ?string - { - return $this->uTSMode; - } - - /** - * UTS namespace to use for the container. - */ - public function setUTSMode(?string $uTSMode): self - { - $this->initialized['uTSMode'] = true; - $this->uTSMode = $uTSMode; - - return $this; - } - - /** - * Sets the usernamespace mode for the container when usernamespace - * remapping option is enabled. - */ - public function getUsernsMode(): ?string - { - return $this->usernsMode; - } - - /** - * Sets the usernamespace mode for the container when usernamespace - * remapping option is enabled. - */ - public function setUsernsMode(?string $usernsMode): self - { - $this->initialized['usernsMode'] = true; - $this->usernsMode = $usernsMode; - - return $this; - } - - /** - * Size of `/dev/shm` in bytes. If omitted, the system uses 64MB. - */ - public function getShmSize(): ?int - { - return $this->shmSize; - } - - /** - * Size of `/dev/shm` in bytes. If omitted, the system uses 64MB. - */ - public function setShmSize(?int $shmSize): self - { - $this->initialized['shmSize'] = true; - $this->shmSize = $shmSize; - - return $this; - } - - /** - * A list of kernel parameters (sysctls) to set in the container. - * For example: - * - * ``` - * {"net.ipv4.ip_forward": "1"} - * ``` - * - * @return array|null - */ - public function getSysctls(): ?iterable - { - return $this->sysctls; - } - - /** - * A list of kernel parameters (sysctls) to set in the container. - * For example: - * - * ``` - * {"net.ipv4.ip_forward": "1"} - * ``` - * - * @param array|null $sysctls - */ - public function setSysctls(?iterable $sysctls): self - { - $this->initialized['sysctls'] = true; - $this->sysctls = $sysctls; - - return $this; - } - - /** - * Runtime to use with this container. - */ - public function getRuntime(): ?string - { - return $this->runtime; - } - - /** - * Runtime to use with this container. - */ - public function setRuntime(?string $runtime): self - { - $this->initialized['runtime'] = true; - $this->runtime = $runtime; - - return $this; - } - - /** - * Isolation technology of the container. (Windows only). - */ - public function getIsolation(): ?string - { - return $this->isolation; - } - - /** - * Isolation technology of the container. (Windows only). - */ - public function setIsolation(?string $isolation): self - { - $this->initialized['isolation'] = true; - $this->isolation = $isolation; - - return $this; - } - - /** - * The list of paths to be masked inside the container (this overrides - * the default set of paths). - * - * @return list|null - */ - public function getMaskedPaths(): ?array - { - return $this->maskedPaths; - } - - /** - * The list of paths to be masked inside the container (this overrides - * the default set of paths). - * - * @param list|null $maskedPaths - */ - public function setMaskedPaths(?array $maskedPaths): self - { - $this->initialized['maskedPaths'] = true; - $this->maskedPaths = $maskedPaths; - - return $this; - } - - /** - * The list of paths to be set as read-only inside the container - * (this overrides the default set of paths). - * - * @return list|null - */ - public function getReadonlyPaths(): ?array - { - return $this->readonlyPaths; - } - - /** - * The list of paths to be set as read-only inside the container - * (this overrides the default set of paths). - * - * @param list|null $readonlyPaths - */ - public function setReadonlyPaths(?array $readonlyPaths): self - { - $this->initialized['readonlyPaths'] = true; - $this->readonlyPaths = $readonlyPaths; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/HostConfigLogConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/HostConfigLogConfig.php deleted file mode 100644 index c6ac50dfe..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/HostConfigLogConfig.php +++ /dev/null @@ -1,58 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $type; - /** - * @var array|null - */ - protected $config; - - public function getType(): ?string - { - return $this->type; - } - - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * @return array|null - */ - public function getConfig(): ?iterable - { - return $this->config; - } - - /** - * @param array|null $config - */ - public function setConfig(?iterable $config): self - { - $this->initialized['config'] = true; - $this->config = $config; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/IPAM.php b/app/vendor/beluga-php/docker-php-api/src/Model/IPAM.php deleted file mode 100644 index 668daa2bc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/IPAM.php +++ /dev/null @@ -1,113 +0,0 @@ -initialized); - } - /** - * Name of the IPAM driver to use. - * - * @var string|null - */ - protected $driver = 'default'; - /** - * List of IPAM configuration options, specified as a map: - * - * ``` - * {"Subnet": , "IPRange": , "Gateway": , "AuxAddress": } - * ``` - * - * @var list|null - */ - protected $config; - /** - * Driver-specific options, specified as a map. - * - * @var array|null - */ - protected $options; - - /** - * Name of the IPAM driver to use. - */ - public function getDriver(): ?string - { - return $this->driver; - } - - /** - * Name of the IPAM driver to use. - */ - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - /** - * List of IPAM configuration options, specified as a map: - * - * ``` - * {"Subnet": , "IPRange": , "Gateway": , "AuxAddress": } - * ``` - * - * @return list|null - */ - public function getConfig(): ?array - { - return $this->config; - } - - /** - * List of IPAM configuration options, specified as a map: - * - * ``` - * {"Subnet": , "IPRange": , "Gateway": , "AuxAddress": } - * ``` - * - * @param list|null $config - */ - public function setConfig(?array $config): self - { - $this->initialized['config'] = true; - $this->config = $config; - - return $this; - } - - /** - * Driver-specific options, specified as a map. - * - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * Driver-specific options, specified as a map. - * - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/IPAMConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/IPAMConfig.php deleted file mode 100644 index f231a366f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/IPAMConfig.php +++ /dev/null @@ -1,92 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $subnet; - /** - * @var string|null - */ - protected $iPRange; - /** - * @var string|null - */ - protected $gateway; - /** - * @var array|null - */ - protected $auxiliaryAddresses; - - public function getSubnet(): ?string - { - return $this->subnet; - } - - public function setSubnet(?string $subnet): self - { - $this->initialized['subnet'] = true; - $this->subnet = $subnet; - - return $this; - } - - public function getIPRange(): ?string - { - return $this->iPRange; - } - - public function setIPRange(?string $iPRange): self - { - $this->initialized['iPRange'] = true; - $this->iPRange = $iPRange; - - return $this; - } - - public function getGateway(): ?string - { - return $this->gateway; - } - - public function setGateway(?string $gateway): self - { - $this->initialized['gateway'] = true; - $this->gateway = $gateway; - - return $this; - } - - /** - * @return array|null - */ - public function getAuxiliaryAddresses(): ?iterable - { - return $this->auxiliaryAddresses; - } - - /** - * @param array|null $auxiliaryAddresses - */ - public function setAuxiliaryAddresses(?iterable $auxiliaryAddresses): self - { - $this->initialized['auxiliaryAddresses'] = true; - $this->auxiliaryAddresses = $auxiliaryAddresses; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/IdResponse.php b/app/vendor/beluga-php/docker-php-api/src/Model/IdResponse.php deleted file mode 100644 index 6abf667cb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/IdResponse.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * The id of the newly created object. - * - * @var string|null - */ - protected $id; - - /** - * The id of the newly created object. - */ - public function getId(): ?string - { - return $this->id; - } - - /** - * The id of the newly created object. - */ - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImageDeleteResponseItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImageDeleteResponseItem.php deleted file mode 100644 index 145425141..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImageDeleteResponseItem.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * The image ID of an image that was untagged. - * - * @var string|null - */ - protected $untagged; - /** - * The image ID of an image that was deleted. - * - * @var string|null - */ - protected $deleted; - - /** - * The image ID of an image that was untagged. - */ - public function getUntagged(): ?string - { - return $this->untagged; - } - - /** - * The image ID of an image that was untagged. - */ - public function setUntagged(?string $untagged): self - { - $this->initialized['untagged'] = true; - $this->untagged = $untagged; - - return $this; - } - - /** - * The image ID of an image that was deleted. - */ - public function getDeleted(): ?string - { - return $this->deleted; - } - - /** - * The image ID of an image that was deleted. - */ - public function setDeleted(?string $deleted): self - { - $this->initialized['deleted'] = true; - $this->deleted = $deleted; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImageID.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImageID.php deleted file mode 100644 index 21c4511cf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImageID.php +++ /dev/null @@ -1,35 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $iD; - - public function getID(): ?string - { - return $this->iD; - } - - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspect.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspect.php deleted file mode 100644 index ad16df128..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspect.php +++ /dev/null @@ -1,685 +0,0 @@ -initialized); - } - /** - * ID is the content-addressable ID of an image. - * - * This identifier is a content-addressable digest calculated from the - * image's configuration (which includes the digests of layers used by - * the image). - * - * Note that this digest differs from the `RepoDigests` below, which - * holds digests of image manifests that reference the image. - * - * @var string|null - */ - protected $id; - /** - * List of image names/tags in the local image cache that reference this - * image. - * - * Multiple image tags can refer to the same image, and this list may be - * empty if no tags reference the image, in which case the image is - * "untagged", in which case it can still be referenced by its ID. - * - * @var list|null - */ - protected $repoTags; - /** - * List of content-addressable digests of locally available image manifests - * that the image is referenced from. Multiple manifests can refer to the - * same image. - * - * These digests are usually only available if the image was either pulled - * from a registry, or if the image was pushed to a registry, which is when - * the manifest is generated and its digest calculated. - * - * @var list|null - */ - protected $repoDigests; - /** - * ID of the parent image. - * - * Depending on how the image was created, this field may be empty and - * is only set for images that were built/created locally. This field - * is empty if the image was pulled from an image registry. - * - * @var string|null - */ - protected $parent; - /** - * Optional message that was set when committing or importing the image. - * - * @var string|null - */ - protected $comment; - /** - * Date and time at which the image was created, formatted in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * This information is only available if present in the image, - * and omitted otherwise. - * - * @var string|null - */ - protected $created; - /** - * The ID of the container that was used to create the image. - * - * Depending on how the image was created, this field may be empty. - * - **Deprecated**: this field is kept for backward compatibility, but - * will be removed in API v1.45. - * - * @var string|null - */ - protected $container; - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - * - * @var ContainerConfig|null - */ - protected $containerConfig; - /** - * The version of Docker that was used to build the image. - * - * Depending on how the image was created, this field may be empty. - * - * @var string|null - */ - protected $dockerVersion; - /** - * Name of the author that was specified when committing the image, or as - * specified through MAINTAINER (deprecated) in the Dockerfile. - * - * @var string|null - */ - protected $author; - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - * - * @var ContainerConfig|null - */ - protected $config; - /** - * Hardware CPU architecture that the image runs on. - * - * @var string|null - */ - protected $architecture; - /** - * CPU architecture variant (presently ARM-only). - * - * @var string|null - */ - protected $variant; - /** - * Operating System the image is built to run on. - * - * @var string|null - */ - protected $os; - /** - * Operating System version the image is built to run on (especially - * for Windows). - * - * @var string|null - */ - protected $osVersion; - /** - * Total size of the image including all layers it is composed of. - * - * @var int|null - */ - protected $size; - /** - * Total size of the image including all layers it is composed of. - * - * Deprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead. - * - * @var int|null - */ - protected $virtualSize; - /** - * Information about the storage driver used to store the container's and - * image's filesystem. - * - * @var GraphDriverData|null - */ - protected $graphDriver; - /** - * Information about the image's RootFS, including the layer IDs. - * - * @var ImageInspectRootFS|null - */ - protected $rootFS; - /** - * Additional metadata of the image in the local cache. This information - * is local to the daemon, and not part of the image itself. - * - * @var ImageInspectMetadata|null - */ - protected $metadata; - - /** - * ID is the content-addressable ID of an image. - * - * This identifier is a content-addressable digest calculated from the - * image's configuration (which includes the digests of layers used by - * the image). - * - * Note that this digest differs from the `RepoDigests` below, which - * holds digests of image manifests that reference the image. - */ - public function getId(): ?string - { - return $this->id; - } - - /** - * ID is the content-addressable ID of an image. - * - * This identifier is a content-addressable digest calculated from the - * image's configuration (which includes the digests of layers used by - * the image). - * - * Note that this digest differs from the `RepoDigests` below, which - * holds digests of image manifests that reference the image. - */ - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - /** - * List of image names/tags in the local image cache that reference this - * image. - * - * Multiple image tags can refer to the same image, and this list may be - * empty if no tags reference the image, in which case the image is - * "untagged", in which case it can still be referenced by its ID. - * - * @return list|null - */ - public function getRepoTags(): ?array - { - return $this->repoTags; - } - - /** - * List of image names/tags in the local image cache that reference this - * image. - * - * Multiple image tags can refer to the same image, and this list may be - * empty if no tags reference the image, in which case the image is - * "untagged", in which case it can still be referenced by its ID. - * - * @param list|null $repoTags - */ - public function setRepoTags(?array $repoTags): self - { - $this->initialized['repoTags'] = true; - $this->repoTags = $repoTags; - - return $this; - } - - /** - * List of content-addressable digests of locally available image manifests - * that the image is referenced from. Multiple manifests can refer to the - * same image. - * - * These digests are usually only available if the image was either pulled - * from a registry, or if the image was pushed to a registry, which is when - * the manifest is generated and its digest calculated. - * - * @return list|null - */ - public function getRepoDigests(): ?array - { - return $this->repoDigests; - } - - /** - * List of content-addressable digests of locally available image manifests - * that the image is referenced from. Multiple manifests can refer to the - * same image. - * - * These digests are usually only available if the image was either pulled - * from a registry, or if the image was pushed to a registry, which is when - * the manifest is generated and its digest calculated. - * - * @param list|null $repoDigests - */ - public function setRepoDigests(?array $repoDigests): self - { - $this->initialized['repoDigests'] = true; - $this->repoDigests = $repoDigests; - - return $this; - } - - /** - * ID of the parent image. - * - * Depending on how the image was created, this field may be empty and - * is only set for images that were built/created locally. This field - * is empty if the image was pulled from an image registry. - */ - public function getParent(): ?string - { - return $this->parent; - } - - /** - * ID of the parent image. - * - * Depending on how the image was created, this field may be empty and - * is only set for images that were built/created locally. This field - * is empty if the image was pulled from an image registry. - */ - public function setParent(?string $parent): self - { - $this->initialized['parent'] = true; - $this->parent = $parent; - - return $this; - } - - /** - * Optional message that was set when committing or importing the image. - */ - public function getComment(): ?string - { - return $this->comment; - } - - /** - * Optional message that was set when committing or importing the image. - */ - public function setComment(?string $comment): self - { - $this->initialized['comment'] = true; - $this->comment = $comment; - - return $this; - } - - /** - * Date and time at which the image was created, formatted in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * This information is only available if present in the image, - * and omitted otherwise. - */ - public function getCreated(): ?string - { - return $this->created; - } - - /** - * Date and time at which the image was created, formatted in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * This information is only available if present in the image, - * and omitted otherwise. - */ - public function setCreated(?string $created): self - { - $this->initialized['created'] = true; - $this->created = $created; - - return $this; - } - - /** - * The ID of the container that was used to create the image. - * - * Depending on how the image was created, this field may be empty. - * - **Deprecated**: this field is kept for backward compatibility, but - * will be removed in API v1.45. - */ - public function getContainer(): ?string - { - return $this->container; - } - - /** - * The ID of the container that was used to create the image. - * - * Depending on how the image was created, this field may be empty. - * - **Deprecated**: this field is kept for backward compatibility, but - * will be removed in API v1.45. - */ - public function setContainer(?string $container): self - { - $this->initialized['container'] = true; - $this->container = $container; - - return $this; - } - - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - */ - public function getContainerConfig(): ?ContainerConfig - { - return $this->containerConfig; - } - - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - */ - public function setContainerConfig(?ContainerConfig $containerConfig): self - { - $this->initialized['containerConfig'] = true; - $this->containerConfig = $containerConfig; - - return $this; - } - - /** - * The version of Docker that was used to build the image. - * - * Depending on how the image was created, this field may be empty. - */ - public function getDockerVersion(): ?string - { - return $this->dockerVersion; - } - - /** - * The version of Docker that was used to build the image. - * - * Depending on how the image was created, this field may be empty. - */ - public function setDockerVersion(?string $dockerVersion): self - { - $this->initialized['dockerVersion'] = true; - $this->dockerVersion = $dockerVersion; - - return $this; - } - - /** - * Name of the author that was specified when committing the image, or as - * specified through MAINTAINER (deprecated) in the Dockerfile. - */ - public function getAuthor(): ?string - { - return $this->author; - } - - /** - * Name of the author that was specified when committing the image, or as - * specified through MAINTAINER (deprecated) in the Dockerfile. - */ - public function setAuthor(?string $author): self - { - $this->initialized['author'] = true; - $this->author = $author; - - return $this; - } - - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - */ - public function getConfig(): ?ContainerConfig - { - return $this->config; - } - - /** - * Configuration for a container that is portable between hosts. - * - * When used as `ContainerConfig` field in an image, `ContainerConfig` is an - * optional field containing the configuration of the container that was last - * committed when creating the image. - * - * Previous versions of Docker builder used this field to store build cache, - * and it is not in active use anymore. - */ - public function setConfig(?ContainerConfig $config): self - { - $this->initialized['config'] = true; - $this->config = $config; - - return $this; - } - - /** - * Hardware CPU architecture that the image runs on. - */ - public function getArchitecture(): ?string - { - return $this->architecture; - } - - /** - * Hardware CPU architecture that the image runs on. - */ - public function setArchitecture(?string $architecture): self - { - $this->initialized['architecture'] = true; - $this->architecture = $architecture; - - return $this; - } - - /** - * CPU architecture variant (presently ARM-only). - */ - public function getVariant(): ?string - { - return $this->variant; - } - - /** - * CPU architecture variant (presently ARM-only). - */ - public function setVariant(?string $variant): self - { - $this->initialized['variant'] = true; - $this->variant = $variant; - - return $this; - } - - /** - * Operating System the image is built to run on. - */ - public function getOs(): ?string - { - return $this->os; - } - - /** - * Operating System the image is built to run on. - */ - public function setOs(?string $os): self - { - $this->initialized['os'] = true; - $this->os = $os; - - return $this; - } - - /** - * Operating System version the image is built to run on (especially - * for Windows). - */ - public function getOsVersion(): ?string - { - return $this->osVersion; - } - - /** - * Operating System version the image is built to run on (especially - * for Windows). - */ - public function setOsVersion(?string $osVersion): self - { - $this->initialized['osVersion'] = true; - $this->osVersion = $osVersion; - - return $this; - } - - /** - * Total size of the image including all layers it is composed of. - */ - public function getSize(): ?int - { - return $this->size; - } - - /** - * Total size of the image including all layers it is composed of. - */ - public function setSize(?int $size): self - { - $this->initialized['size'] = true; - $this->size = $size; - - return $this; - } - - /** - * Total size of the image including all layers it is composed of. - * - * Deprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead. - */ - public function getVirtualSize(): ?int - { - return $this->virtualSize; - } - - /** - * Total size of the image including all layers it is composed of. - * - * Deprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead. - */ - public function setVirtualSize(?int $virtualSize): self - { - $this->initialized['virtualSize'] = true; - $this->virtualSize = $virtualSize; - - return $this; - } - - /** - * Information about the storage driver used to store the container's and - * image's filesystem. - */ - public function getGraphDriver(): ?GraphDriverData - { - return $this->graphDriver; - } - - /** - * Information about the storage driver used to store the container's and - * image's filesystem. - */ - public function setGraphDriver(?GraphDriverData $graphDriver): self - { - $this->initialized['graphDriver'] = true; - $this->graphDriver = $graphDriver; - - return $this; - } - - /** - * Information about the image's RootFS, including the layer IDs. - */ - public function getRootFS(): ?ImageInspectRootFS - { - return $this->rootFS; - } - - /** - * Information about the image's RootFS, including the layer IDs. - */ - public function setRootFS(?ImageInspectRootFS $rootFS): self - { - $this->initialized['rootFS'] = true; - $this->rootFS = $rootFS; - - return $this; - } - - /** - * Additional metadata of the image in the local cache. This information - * is local to the daemon, and not part of the image itself. - */ - public function getMetadata(): ?ImageInspectMetadata - { - return $this->metadata; - } - - /** - * Additional metadata of the image in the local cache. This information - * is local to the daemon, and not part of the image itself. - */ - public function setMetadata(?ImageInspectMetadata $metadata): self - { - $this->initialized['metadata'] = true; - $this->metadata = $metadata; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspectMetadata.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspectMetadata.php deleted file mode 100644 index a448fa4d4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspectMetadata.php +++ /dev/null @@ -1,55 +0,0 @@ -initialized); - } - /** - * Date and time at which the image was last tagged in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * This information is only available if the image was tagged locally, - * and omitted otherwise. - * - * @var string|null - */ - protected $lastTagTime; - - /** - * Date and time at which the image was last tagged in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * This information is only available if the image was tagged locally, - * and omitted otherwise. - */ - public function getLastTagTime(): ?string - { - return $this->lastTagTime; - } - - /** - * Date and time at which the image was last tagged in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * This information is only available if the image was tagged locally, - * and omitted otherwise. - */ - public function setLastTagTime(?string $lastTagTime): self - { - $this->initialized['lastTagTime'] = true; - $this->lastTagTime = $lastTagTime; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspectRootFS.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspectRootFS.php deleted file mode 100644 index 9ba242a58..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImageInspectRootFS.php +++ /dev/null @@ -1,58 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $type; - /** - * @var list|null - */ - protected $layers; - - public function getType(): ?string - { - return $this->type; - } - - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * @return list|null - */ - public function getLayers(): ?array - { - return $this->layers; - } - - /** - * @param list|null $layers - */ - public function setLayers(?array $layers): self - { - $this->initialized['layers'] = true; - $this->layers = $layers; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImageSummary.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImageSummary.php deleted file mode 100644 index 210712c18..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImageSummary.php +++ /dev/null @@ -1,379 +0,0 @@ -initialized); - } - /** - * ID is the content-addressable ID of an image. - * - * This identifier is a content-addressable digest calculated from the - * image's configuration (which includes the digests of layers used by - * the image). - * - * Note that this digest differs from the `RepoDigests` below, which - * holds digests of image manifests that reference the image. - * - * @var string|null - */ - protected $id; - /** - * ID of the parent image. - * - * Depending on how the image was created, this field may be empty and - * is only set for images that were built/created locally. This field - * is empty if the image was pulled from an image registry. - * - * @var string|null - */ - protected $parentId; - /** - * List of image names/tags in the local image cache that reference this - * image. - * - * Multiple image tags can refer to the same image, and this list may be - * empty if no tags reference the image, in which case the image is - * "untagged", in which case it can still be referenced by its ID. - * - * @var list|null - */ - protected $repoTags; - /** - * List of content-addressable digests of locally available image manifests - * that the image is referenced from. Multiple manifests can refer to the - * same image. - * - * These digests are usually only available if the image was either pulled - * from a registry, or if the image was pushed to a registry, which is when - * the manifest is generated and its digest calculated. - * - * @var list|null - */ - protected $repoDigests; - /** - * Date and time at which the image was created as a Unix timestamp - * (number of seconds sinds EPOCH). - * - * @var int|null - */ - protected $created; - /** - * Total size of the image including all layers it is composed of. - * - * @var int|null - */ - protected $size; - /** - * Total size of image layers that are shared between this image and other - * images. - * - * This size is not calculated by default. `-1` indicates that the value - * has not been set / calculated. - * - * @var int|null - */ - protected $sharedSize; - /** - * Total size of the image including all layers it is composed of. - * - * Deprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead. - * - * @var int|null - */ - protected $virtualSize; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Number of containers using this image. Includes both stopped and running - * containers. - * - * This size is not calculated by default, and depends on which API endpoint - * is used. `-1` indicates that the value has not been set / calculated. - * - * @var int|null - */ - protected $containers; - - /** - * ID is the content-addressable ID of an image. - * - * This identifier is a content-addressable digest calculated from the - * image's configuration (which includes the digests of layers used by - * the image). - * - * Note that this digest differs from the `RepoDigests` below, which - * holds digests of image manifests that reference the image. - */ - public function getId(): ?string - { - return $this->id; - } - - /** - * ID is the content-addressable ID of an image. - * - * This identifier is a content-addressable digest calculated from the - * image's configuration (which includes the digests of layers used by - * the image). - * - * Note that this digest differs from the `RepoDigests` below, which - * holds digests of image manifests that reference the image. - */ - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - /** - * ID of the parent image. - * - * Depending on how the image was created, this field may be empty and - * is only set for images that were built/created locally. This field - * is empty if the image was pulled from an image registry. - */ - public function getParentId(): ?string - { - return $this->parentId; - } - - /** - * ID of the parent image. - * - * Depending on how the image was created, this field may be empty and - * is only set for images that were built/created locally. This field - * is empty if the image was pulled from an image registry. - */ - public function setParentId(?string $parentId): self - { - $this->initialized['parentId'] = true; - $this->parentId = $parentId; - - return $this; - } - - /** - * List of image names/tags in the local image cache that reference this - * image. - * - * Multiple image tags can refer to the same image, and this list may be - * empty if no tags reference the image, in which case the image is - * "untagged", in which case it can still be referenced by its ID. - * - * @return list|null - */ - public function getRepoTags(): ?array - { - return $this->repoTags; - } - - /** - * List of image names/tags in the local image cache that reference this - * image. - * - * Multiple image tags can refer to the same image, and this list may be - * empty if no tags reference the image, in which case the image is - * "untagged", in which case it can still be referenced by its ID. - * - * @param list|null $repoTags - */ - public function setRepoTags(?array $repoTags): self - { - $this->initialized['repoTags'] = true; - $this->repoTags = $repoTags; - - return $this; - } - - /** - * List of content-addressable digests of locally available image manifests - * that the image is referenced from. Multiple manifests can refer to the - * same image. - * - * These digests are usually only available if the image was either pulled - * from a registry, or if the image was pushed to a registry, which is when - * the manifest is generated and its digest calculated. - * - * @return list|null - */ - public function getRepoDigests(): ?array - { - return $this->repoDigests; - } - - /** - * List of content-addressable digests of locally available image manifests - * that the image is referenced from. Multiple manifests can refer to the - * same image. - * - * These digests are usually only available if the image was either pulled - * from a registry, or if the image was pushed to a registry, which is when - * the manifest is generated and its digest calculated. - * - * @param list|null $repoDigests - */ - public function setRepoDigests(?array $repoDigests): self - { - $this->initialized['repoDigests'] = true; - $this->repoDigests = $repoDigests; - - return $this; - } - - /** - * Date and time at which the image was created as a Unix timestamp - * (number of seconds sinds EPOCH). - */ - public function getCreated(): ?int - { - return $this->created; - } - - /** - * Date and time at which the image was created as a Unix timestamp - * (number of seconds sinds EPOCH). - */ - public function setCreated(?int $created): self - { - $this->initialized['created'] = true; - $this->created = $created; - - return $this; - } - - /** - * Total size of the image including all layers it is composed of. - */ - public function getSize(): ?int - { - return $this->size; - } - - /** - * Total size of the image including all layers it is composed of. - */ - public function setSize(?int $size): self - { - $this->initialized['size'] = true; - $this->size = $size; - - return $this; - } - - /** - * Total size of image layers that are shared between this image and other - * images. - * - * This size is not calculated by default. `-1` indicates that the value - * has not been set / calculated. - */ - public function getSharedSize(): ?int - { - return $this->sharedSize; - } - - /** - * Total size of image layers that are shared between this image and other - * images. - * - * This size is not calculated by default. `-1` indicates that the value - * has not been set / calculated. - */ - public function setSharedSize(?int $sharedSize): self - { - $this->initialized['sharedSize'] = true; - $this->sharedSize = $sharedSize; - - return $this; - } - - /** - * Total size of the image including all layers it is composed of. - * - * Deprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead. - */ - public function getVirtualSize(): ?int - { - return $this->virtualSize; - } - - /** - * Total size of the image including all layers it is composed of. - * - * Deprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead. - */ - public function setVirtualSize(?int $virtualSize): self - { - $this->initialized['virtualSize'] = true; - $this->virtualSize = $virtualSize; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Number of containers using this image. Includes both stopped and running - * containers. - * - * This size is not calculated by default, and depends on which API endpoint - * is used. `-1` indicates that the value has not been set / calculated. - */ - public function getContainers(): ?int - { - return $this->containers; - } - - /** - * Number of containers using this image. Includes both stopped and running - * containers. - * - * This size is not calculated by default, and depends on which API endpoint - * is used. `-1` indicates that the value has not been set / calculated. - */ - public function setContainers(?int $containers): self - { - $this->initialized['containers'] = true; - $this->containers = $containers; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImagesNameHistoryGetResponse200Item.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImagesNameHistoryGetResponse200Item.php deleted file mode 100644 index 3f35e45ab..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImagesNameHistoryGetResponse200Item.php +++ /dev/null @@ -1,126 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $id; - /** - * @var int|null - */ - protected $created; - /** - * @var string|null - */ - protected $createdBy; - /** - * @var list|null - */ - protected $tags; - /** - * @var int|null - */ - protected $size; - /** - * @var string|null - */ - protected $comment; - - public function getId(): ?string - { - return $this->id; - } - - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - public function getCreated(): ?int - { - return $this->created; - } - - public function setCreated(?int $created): self - { - $this->initialized['created'] = true; - $this->created = $created; - - return $this; - } - - public function getCreatedBy(): ?string - { - return $this->createdBy; - } - - public function setCreatedBy(?string $createdBy): self - { - $this->initialized['createdBy'] = true; - $this->createdBy = $createdBy; - - return $this; - } - - /** - * @return list|null - */ - public function getTags(): ?array - { - return $this->tags; - } - - /** - * @param list|null $tags - */ - public function setTags(?array $tags): self - { - $this->initialized['tags'] = true; - $this->tags = $tags; - - return $this; - } - - public function getSize(): ?int - { - return $this->size; - } - - public function setSize(?int $size): self - { - $this->initialized['size'] = true; - $this->size = $size; - - return $this; - } - - public function getComment(): ?string - { - return $this->comment; - } - - public function setComment(?string $comment): self - { - $this->initialized['comment'] = true; - $this->comment = $comment; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImagesPrunePostResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImagesPrunePostResponse200.php deleted file mode 100644 index f936cc64e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImagesPrunePostResponse200.php +++ /dev/null @@ -1,72 +0,0 @@ -initialized); - } - /** - * Images that were deleted. - * - * @var list|null - */ - protected $imagesDeleted; - /** - * Disk space reclaimed in bytes. - * - * @var int|null - */ - protected $spaceReclaimed; - - /** - * Images that were deleted. - * - * @return list|null - */ - public function getImagesDeleted(): ?array - { - return $this->imagesDeleted; - } - - /** - * Images that were deleted. - * - * @param list|null $imagesDeleted - */ - public function setImagesDeleted(?array $imagesDeleted): self - { - $this->initialized['imagesDeleted'] = true; - $this->imagesDeleted = $imagesDeleted; - - return $this; - } - - /** - * Disk space reclaimed in bytes. - */ - public function getSpaceReclaimed(): ?int - { - return $this->spaceReclaimed; - } - - /** - * Disk space reclaimed in bytes. - */ - public function setSpaceReclaimed(?int $spaceReclaimed): self - { - $this->initialized['spaceReclaimed'] = true; - $this->spaceReclaimed = $spaceReclaimed; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ImagesSearchGetResponse200Item.php b/app/vendor/beluga-php/docker-php-api/src/Model/ImagesSearchGetResponse200Item.php deleted file mode 100644 index e7cfd2c24..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ImagesSearchGetResponse200Item.php +++ /dev/null @@ -1,123 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $description; - /** - * @var bool|null - */ - protected $isOfficial; - /** - * Whether this repository has automated builds enabled. - * - *


- * - * > **Deprecated**: This field is deprecated and will always be "false". - * - * @var bool|null - */ - protected $isAutomated; - /** - * @var string|null - */ - protected $name; - /** - * @var int|null - */ - protected $starCount; - - public function getDescription(): ?string - { - return $this->description; - } - - public function setDescription(?string $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - public function getIsOfficial(): ?bool - { - return $this->isOfficial; - } - - public function setIsOfficial(?bool $isOfficial): self - { - $this->initialized['isOfficial'] = true; - $this->isOfficial = $isOfficial; - - return $this; - } - - /** - * Whether this repository has automated builds enabled. - * - *


- * - * > **Deprecated**: This field is deprecated and will always be "false". - */ - public function getIsAutomated(): ?bool - { - return $this->isAutomated; - } - - /** - * Whether this repository has automated builds enabled. - * - *


- * - * > **Deprecated**: This field is deprecated and will always be "false". - */ - public function setIsAutomated(?bool $isAutomated): self - { - $this->initialized['isAutomated'] = true; - $this->isAutomated = $isAutomated; - - return $this; - } - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getStarCount(): ?int - { - return $this->starCount; - } - - public function setStarCount(?int $starCount): self - { - $this->initialized['starCount'] = true; - $this->starCount = $starCount; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/IndexInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/IndexInfo.php deleted file mode 100644 index aa822f8bd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/IndexInfo.php +++ /dev/null @@ -1,155 +0,0 @@ -initialized); - } - /** - * Name of the registry, such as "docker.io". - * - * @var string|null - */ - protected $name; - /** - * List of mirrors, expressed as URIs. - * - * @var list|null - */ - protected $mirrors; - /** - * Indicates if the registry is part of the list of insecure - * registries. - * - * If `false`, the registry is insecure. Insecure registries accept - * un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from - * unknown CAs) communication. - * - * > **Warning**: Insecure registries can be useful when running a local - * > registry. However, because its use creates security vulnerabilities - * > it should ONLY be enabled for testing purposes. For increased - * > security, users should add their CA to their system's list of - * > trusted CAs instead of enabling this option. - * - * @var bool|null - */ - protected $secure; - /** - * Indicates whether this is an official registry (i.e., Docker Hub / docker.io). - * - * @var bool|null - */ - protected $official; - - /** - * Name of the registry, such as "docker.io". - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the registry, such as "docker.io". - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * List of mirrors, expressed as URIs. - * - * @return list|null - */ - public function getMirrors(): ?array - { - return $this->mirrors; - } - - /** - * List of mirrors, expressed as URIs. - * - * @param list|null $mirrors - */ - public function setMirrors(?array $mirrors): self - { - $this->initialized['mirrors'] = true; - $this->mirrors = $mirrors; - - return $this; - } - - /** - * Indicates if the registry is part of the list of insecure - * registries. - * - * If `false`, the registry is insecure. Insecure registries accept - * un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from - * unknown CAs) communication. - * - * > **Warning**: Insecure registries can be useful when running a local - * > registry. However, because its use creates security vulnerabilities - * > it should ONLY be enabled for testing purposes. For increased - * > security, users should add their CA to their system's list of - * > trusted CAs instead of enabling this option. - */ - public function getSecure(): ?bool - { - return $this->secure; - } - - /** - * Indicates if the registry is part of the list of insecure - * registries. - * - * If `false`, the registry is insecure. Insecure registries accept - * un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from - * unknown CAs) communication. - * - * > **Warning**: Insecure registries can be useful when running a local - * > registry. However, because its use creates security vulnerabilities - * > it should ONLY be enabled for testing purposes. For increased - * > security, users should add their CA to their system's list of - * > trusted CAs instead of enabling this option. - */ - public function setSecure(?bool $secure): self - { - $this->initialized['secure'] = true; - $this->secure = $secure; - - return $this; - } - - /** - * Indicates whether this is an official registry (i.e., Docker Hub / docker.io). - */ - public function getOfficial(): ?bool - { - return $this->official; - } - - /** - * Indicates whether this is an official registry (i.e., Docker Hub / docker.io). - */ - public function setOfficial(?bool $official): self - { - $this->initialized['official'] = true; - $this->official = $official; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/JoinTokens.php b/app/vendor/beluga-php/docker-php-api/src/Model/JoinTokens.php deleted file mode 100644 index 6ee4ba898..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/JoinTokens.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * The token workers can use to join the swarm. - * - * @var string|null - */ - protected $worker; - /** - * The token managers can use to join the swarm. - * - * @var string|null - */ - protected $manager; - - /** - * The token workers can use to join the swarm. - */ - public function getWorker(): ?string - { - return $this->worker; - } - - /** - * The token workers can use to join the swarm. - */ - public function setWorker(?string $worker): self - { - $this->initialized['worker'] = true; - $this->worker = $worker; - - return $this; - } - - /** - * The token managers can use to join the swarm. - */ - public function getManager(): ?string - { - return $this->manager; - } - - /** - * The token managers can use to join the swarm. - */ - public function setManager(?string $manager): self - { - $this->initialized['manager'] = true; - $this->manager = $manager; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Limit.php b/app/vendor/beluga-php/docker-php-api/src/Model/Limit.php deleted file mode 100644 index 1c8c6e08a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Limit.php +++ /dev/null @@ -1,77 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $nanoCPUs; - /** - * @var int|null - */ - protected $memoryBytes; - /** - * Limits the maximum number of PIDs in the container. Set `0` for unlimited. - * - * @var int|null - */ - protected $pids = 0; - - public function getNanoCPUs(): ?int - { - return $this->nanoCPUs; - } - - public function setNanoCPUs(?int $nanoCPUs): self - { - $this->initialized['nanoCPUs'] = true; - $this->nanoCPUs = $nanoCPUs; - - return $this; - } - - public function getMemoryBytes(): ?int - { - return $this->memoryBytes; - } - - public function setMemoryBytes(?int $memoryBytes): self - { - $this->initialized['memoryBytes'] = true; - $this->memoryBytes = $memoryBytes; - - return $this; - } - - /** - * Limits the maximum number of PIDs in the container. Set `0` for unlimited. - */ - public function getPids(): ?int - { - return $this->pids; - } - - /** - * Limits the maximum number of PIDs in the container. Set `0` for unlimited. - */ - public function setPids(?int $pids): self - { - $this->initialized['pids'] = true; - $this->pids = $pids; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ManagerStatus.php b/app/vendor/beluga-php/docker-php-api/src/Model/ManagerStatus.php deleted file mode 100644 index 9616948b5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ManagerStatus.php +++ /dev/null @@ -1,85 +0,0 @@ -initialized); - } - /** - * @var bool|null - */ - protected $leader = false; - /** - * Reachability represents the reachability of a node. - * - * @var string|null - */ - protected $reachability; - /** - * The IP address and port at which the manager is reachable. - * - * @var string|null - */ - protected $addr; - - public function getLeader(): ?bool - { - return $this->leader; - } - - public function setLeader(?bool $leader): self - { - $this->initialized['leader'] = true; - $this->leader = $leader; - - return $this; - } - - /** - * Reachability represents the reachability of a node. - */ - public function getReachability(): ?string - { - return $this->reachability; - } - - /** - * Reachability represents the reachability of a node. - */ - public function setReachability(?string $reachability): self - { - $this->initialized['reachability'] = true; - $this->reachability = $reachability; - - return $this; - } - - /** - * The IP address and port at which the manager is reachable. - */ - public function getAddr(): ?string - { - return $this->addr; - } - - /** - * The IP address and port at which the manager is reachable. - */ - public function setAddr(?string $addr): self - { - $this->initialized['addr'] = true; - $this->addr = $addr; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Mount.php b/app/vendor/beluga-php/docker-php-api/src/Model/Mount.php deleted file mode 100644 index 6cdc30381..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Mount.php +++ /dev/null @@ -1,236 +0,0 @@ -initialized); - } - /** - * Container path. - * - * @var string|null - */ - protected $target; - /** - * Mount source (e.g. a volume name, a host path). - * - * @var string|null - */ - protected $source; - /** - * The mount type. Available types: - * - * - `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container. - * - `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed. - * - `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs. - * - `npipe` Mounts a named pipe from the host into the container. Must exist prior to creating the container. - * - `cluster` a Swarm cluster volume - * - * @var string|null - */ - protected $type; - /** - * Whether the mount should be read-only. - * - * @var bool|null - */ - protected $readOnly; - /** - * The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`. - * - * @var string|null - */ - protected $consistency; - /** - * Optional configuration for the `bind` type. - * - * @var MountBindOptions|null - */ - protected $bindOptions; - /** - * Optional configuration for the `volume` type. - * - * @var MountVolumeOptions|null - */ - protected $volumeOptions; - /** - * Optional configuration for the `tmpfs` type. - * - * @var MountTmpfsOptions|null - */ - protected $tmpfsOptions; - - /** - * Container path. - */ - public function getTarget(): ?string - { - return $this->target; - } - - /** - * Container path. - */ - public function setTarget(?string $target): self - { - $this->initialized['target'] = true; - $this->target = $target; - - return $this; - } - - /** - * Mount source (e.g. a volume name, a host path). - */ - public function getSource(): ?string - { - return $this->source; - } - - /** - * Mount source (e.g. a volume name, a host path). - */ - public function setSource(?string $source): self - { - $this->initialized['source'] = true; - $this->source = $source; - - return $this; - } - - /** - * The mount type. Available types: - * - * - `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container. - * - `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed. - * - `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs. - * - `npipe` Mounts a named pipe from the host into the container. Must exist prior to creating the container. - * - `cluster` a Swarm cluster volume - */ - public function getType(): ?string - { - return $this->type; - } - - /** - * The mount type. Available types: - * - * - `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container. - * - `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed. - * - `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs. - * - `npipe` Mounts a named pipe from the host into the container. Must exist prior to creating the container. - * - `cluster` a Swarm cluster volume - */ - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * Whether the mount should be read-only. - */ - public function getReadOnly(): ?bool - { - return $this->readOnly; - } - - /** - * Whether the mount should be read-only. - */ - public function setReadOnly(?bool $readOnly): self - { - $this->initialized['readOnly'] = true; - $this->readOnly = $readOnly; - - return $this; - } - - /** - * The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`. - */ - public function getConsistency(): ?string - { - return $this->consistency; - } - - /** - * The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`. - */ - public function setConsistency(?string $consistency): self - { - $this->initialized['consistency'] = true; - $this->consistency = $consistency; - - return $this; - } - - /** - * Optional configuration for the `bind` type. - */ - public function getBindOptions(): ?MountBindOptions - { - return $this->bindOptions; - } - - /** - * Optional configuration for the `bind` type. - */ - public function setBindOptions(?MountBindOptions $bindOptions): self - { - $this->initialized['bindOptions'] = true; - $this->bindOptions = $bindOptions; - - return $this; - } - - /** - * Optional configuration for the `volume` type. - */ - public function getVolumeOptions(): ?MountVolumeOptions - { - return $this->volumeOptions; - } - - /** - * Optional configuration for the `volume` type. - */ - public function setVolumeOptions(?MountVolumeOptions $volumeOptions): self - { - $this->initialized['volumeOptions'] = true; - $this->volumeOptions = $volumeOptions; - - return $this; - } - - /** - * Optional configuration for the `tmpfs` type. - */ - public function getTmpfsOptions(): ?MountTmpfsOptions - { - return $this->tmpfsOptions; - } - - /** - * Optional configuration for the `tmpfs` type. - */ - public function setTmpfsOptions(?MountTmpfsOptions $tmpfsOptions): self - { - $this->initialized['tmpfsOptions'] = true; - $this->tmpfsOptions = $tmpfsOptions; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/MountBindOptions.php b/app/vendor/beluga-php/docker-php-api/src/Model/MountBindOptions.php deleted file mode 100644 index 9af63fe6d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/MountBindOptions.php +++ /dev/null @@ -1,158 +0,0 @@ -initialized); - } - /** - * A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`. - * - * @var string|null - */ - protected $propagation; - /** - * Disable recursive bind mount. - * - * @var bool|null - */ - protected $nonRecursive = false; - /** - * Create mount point on host if missing. - * - * @var bool|null - */ - protected $createMountpoint = false; - /** - * Make the mount non-recursively read-only, but still leave the mount recursive - * (unless NonRecursive is set to `true` in conjunction). - * - * Addded in v1.44, before that version all read-only mounts were - * non-recursive by default. To match the previous behaviour this - * will default to `true` for clients on versions prior to v1.44. - * - * @var bool|null - */ - protected $readOnlyNonRecursive = false; - /** - * Raise an error if the mount cannot be made recursively read-only. - * - * @var bool|null - */ - protected $readOnlyForceRecursive = false; - - /** - * A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`. - */ - public function getPropagation(): ?string - { - return $this->propagation; - } - - /** - * A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`. - */ - public function setPropagation(?string $propagation): self - { - $this->initialized['propagation'] = true; - $this->propagation = $propagation; - - return $this; - } - - /** - * Disable recursive bind mount. - */ - public function getNonRecursive(): ?bool - { - return $this->nonRecursive; - } - - /** - * Disable recursive bind mount. - */ - public function setNonRecursive(?bool $nonRecursive): self - { - $this->initialized['nonRecursive'] = true; - $this->nonRecursive = $nonRecursive; - - return $this; - } - - /** - * Create mount point on host if missing. - */ - public function getCreateMountpoint(): ?bool - { - return $this->createMountpoint; - } - - /** - * Create mount point on host if missing. - */ - public function setCreateMountpoint(?bool $createMountpoint): self - { - $this->initialized['createMountpoint'] = true; - $this->createMountpoint = $createMountpoint; - - return $this; - } - - /** - * Make the mount non-recursively read-only, but still leave the mount recursive - * (unless NonRecursive is set to `true` in conjunction). - * - * Addded in v1.44, before that version all read-only mounts were - * non-recursive by default. To match the previous behaviour this - * will default to `true` for clients on versions prior to v1.44. - */ - public function getReadOnlyNonRecursive(): ?bool - { - return $this->readOnlyNonRecursive; - } - - /** - * Make the mount non-recursively read-only, but still leave the mount recursive - * (unless NonRecursive is set to `true` in conjunction). - * - * Addded in v1.44, before that version all read-only mounts were - * non-recursive by default. To match the previous behaviour this - * will default to `true` for clients on versions prior to v1.44. - */ - public function setReadOnlyNonRecursive(?bool $readOnlyNonRecursive): self - { - $this->initialized['readOnlyNonRecursive'] = true; - $this->readOnlyNonRecursive = $readOnlyNonRecursive; - - return $this; - } - - /** - * Raise an error if the mount cannot be made recursively read-only. - */ - public function getReadOnlyForceRecursive(): ?bool - { - return $this->readOnlyForceRecursive; - } - - /** - * Raise an error if the mount cannot be made recursively read-only. - */ - public function setReadOnlyForceRecursive(?bool $readOnlyForceRecursive): self - { - $this->initialized['readOnlyForceRecursive'] = true; - $this->readOnlyForceRecursive = $readOnlyForceRecursive; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/MountPoint.php b/app/vendor/beluga-php/docker-php-api/src/Model/MountPoint.php deleted file mode 100644 index 51b8ce2f7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/MountPoint.php +++ /dev/null @@ -1,272 +0,0 @@ -initialized); - } - /** - * The mount type: - * - * - `bind` a mount of a file or directory from the host into the container. - * - `volume` a docker volume with the given `Name`. - * - `tmpfs` a `tmpfs`. - * - `npipe` a named pipe from the host into the container. - * - `cluster` a Swarm cluster volume - * - * @var string|null - */ - protected $type; - /** - * Name is the name reference to the underlying data defined by `Source` - * e.g., the volume name. - * - * @var string|null - */ - protected $name; - /** - * Source location of the mount. - * - * For volumes, this contains the storage location of the volume (within - * `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains - * the source (host) part of the bind-mount. For `tmpfs` mount points, this - * field is empty. - * - * @var string|null - */ - protected $source; - /** - * Destination is the path relative to the container root (`/`) where - * the `Source` is mounted inside the container. - * - * @var string|null - */ - protected $destination; - /** - * Driver is the volume driver used to create the volume (if it is a volume). - * - * @var string|null - */ - protected $driver; - /** - * Mode is a comma separated list of options supplied by the user when - * creating the bind/volume mount. - * - * The default is platform-specific (`"z"` on Linux, empty on Windows). - * - * @var string|null - */ - protected $mode; - /** - * Whether the mount is mounted writable (read-write). - * - * @var bool|null - */ - protected $rW; - /** - * Propagation describes how mounts are propagated from the host into the - * mount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt) - * for details. This field is not used on Windows. - * - * @var string|null - */ - protected $propagation; - - /** - * The mount type: - * - * - `bind` a mount of a file or directory from the host into the container. - * - `volume` a docker volume with the given `Name`. - * - `tmpfs` a `tmpfs`. - * - `npipe` a named pipe from the host into the container. - * - `cluster` a Swarm cluster volume - */ - public function getType(): ?string - { - return $this->type; - } - - /** - * The mount type: - * - * - `bind` a mount of a file or directory from the host into the container. - * - `volume` a docker volume with the given `Name`. - * - `tmpfs` a `tmpfs`. - * - `npipe` a named pipe from the host into the container. - * - `cluster` a Swarm cluster volume - */ - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * Name is the name reference to the underlying data defined by `Source` - * e.g., the volume name. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name is the name reference to the underlying data defined by `Source` - * e.g., the volume name. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Source location of the mount. - * - * For volumes, this contains the storage location of the volume (within - * `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains - * the source (host) part of the bind-mount. For `tmpfs` mount points, this - * field is empty. - */ - public function getSource(): ?string - { - return $this->source; - } - - /** - * Source location of the mount. - * - * For volumes, this contains the storage location of the volume (within - * `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains - * the source (host) part of the bind-mount. For `tmpfs` mount points, this - * field is empty. - */ - public function setSource(?string $source): self - { - $this->initialized['source'] = true; - $this->source = $source; - - return $this; - } - - /** - * Destination is the path relative to the container root (`/`) where - * the `Source` is mounted inside the container. - */ - public function getDestination(): ?string - { - return $this->destination; - } - - /** - * Destination is the path relative to the container root (`/`) where - * the `Source` is mounted inside the container. - */ - public function setDestination(?string $destination): self - { - $this->initialized['destination'] = true; - $this->destination = $destination; - - return $this; - } - - /** - * Driver is the volume driver used to create the volume (if it is a volume). - */ - public function getDriver(): ?string - { - return $this->driver; - } - - /** - * Driver is the volume driver used to create the volume (if it is a volume). - */ - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - /** - * Mode is a comma separated list of options supplied by the user when - * creating the bind/volume mount. - * - * The default is platform-specific (`"z"` on Linux, empty on Windows). - */ - public function getMode(): ?string - { - return $this->mode; - } - - /** - * Mode is a comma separated list of options supplied by the user when - * creating the bind/volume mount. - * - * The default is platform-specific (`"z"` on Linux, empty on Windows). - */ - public function setMode(?string $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } - - /** - * Whether the mount is mounted writable (read-write). - */ - public function getRW(): ?bool - { - return $this->rW; - } - - /** - * Whether the mount is mounted writable (read-write). - */ - public function setRW(?bool $rW): self - { - $this->initialized['rW'] = true; - $this->rW = $rW; - - return $this; - } - - /** - * Propagation describes how mounts are propagated from the host into the - * mount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt) - * for details. This field is not used on Windows. - */ - public function getPropagation(): ?string - { - return $this->propagation; - } - - /** - * Propagation describes how mounts are propagated from the host into the - * mount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt) - * for details. This field is not used on Windows. - */ - public function setPropagation(?string $propagation): self - { - $this->initialized['propagation'] = true; - $this->propagation = $propagation; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/MountTmpfsOptions.php b/app/vendor/beluga-php/docker-php-api/src/Model/MountTmpfsOptions.php deleted file mode 100644 index f10c5421d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/MountTmpfsOptions.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * The size for the tmpfs mount in bytes. - * - * @var int|null - */ - protected $sizeBytes; - /** - * The permission mode for the tmpfs mount in an integer. - * - * @var int|null - */ - protected $mode; - - /** - * The size for the tmpfs mount in bytes. - */ - public function getSizeBytes(): ?int - { - return $this->sizeBytes; - } - - /** - * The size for the tmpfs mount in bytes. - */ - public function setSizeBytes(?int $sizeBytes): self - { - $this->initialized['sizeBytes'] = true; - $this->sizeBytes = $sizeBytes; - - return $this; - } - - /** - * The permission mode for the tmpfs mount in an integer. - */ - public function getMode(): ?int - { - return $this->mode; - } - - /** - * The permission mode for the tmpfs mount in an integer. - */ - public function setMode(?int $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/MountVolumeOptions.php b/app/vendor/beluga-php/docker-php-api/src/Model/MountVolumeOptions.php deleted file mode 100644 index e0dc199f1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/MountVolumeOptions.php +++ /dev/null @@ -1,122 +0,0 @@ -initialized); - } - /** - * Populate volume with data from the target. - * - * @var bool|null - */ - protected $noCopy = false; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Map of driver specific options. - * - * @var MountVolumeOptionsDriverConfig|null - */ - protected $driverConfig; - /** - * Source path inside the volume. Must be relative without any back traversals. - * - * @var string|null - */ - protected $subpath; - - /** - * Populate volume with data from the target. - */ - public function getNoCopy(): ?bool - { - return $this->noCopy; - } - - /** - * Populate volume with data from the target. - */ - public function setNoCopy(?bool $noCopy): self - { - $this->initialized['noCopy'] = true; - $this->noCopy = $noCopy; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Map of driver specific options. - */ - public function getDriverConfig(): ?MountVolumeOptionsDriverConfig - { - return $this->driverConfig; - } - - /** - * Map of driver specific options. - */ - public function setDriverConfig(?MountVolumeOptionsDriverConfig $driverConfig): self - { - $this->initialized['driverConfig'] = true; - $this->driverConfig = $driverConfig; - - return $this; - } - - /** - * Source path inside the volume. Must be relative without any back traversals. - */ - public function getSubpath(): ?string - { - return $this->subpath; - } - - /** - * Source path inside the volume. Must be relative without any back traversals. - */ - public function setSubpath(?string $subpath): self - { - $this->initialized['subpath'] = true; - $this->subpath = $subpath; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/MountVolumeOptionsDriverConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/MountVolumeOptionsDriverConfig.php deleted file mode 100644 index bbf481495..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/MountVolumeOptionsDriverConfig.php +++ /dev/null @@ -1,72 +0,0 @@ -initialized); - } - /** - * Name of the driver to use to create the volume. - * - * @var string|null - */ - protected $name; - /** - * key/value map of driver specific options. - * - * @var array|null - */ - protected $options; - - /** - * Name of the driver to use to create the volume. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the driver to use to create the volume. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * key/value map of driver specific options. - * - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * key/value map of driver specific options. - * - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Network.php b/app/vendor/beluga-php/docker-php-api/src/Model/Network.php deleted file mode 100644 index 0e03e5f0c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Network.php +++ /dev/null @@ -1,257 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var string|null - */ - protected $id; - /** - * @var string|null - */ - protected $created; - /** - * @var string|null - */ - protected $scope; - /** - * @var string|null - */ - protected $driver; - /** - * @var bool|null - */ - protected $enableIPv6; - /** - * @var IPAM|null - */ - protected $iPAM; - /** - * @var bool|null - */ - protected $internal; - /** - * @var bool|null - */ - protected $attachable; - /** - * @var bool|null - */ - protected $ingress; - /** - * @var array|null - */ - protected $containers; - /** - * @var array|null - */ - protected $options; - /** - * @var array|null - */ - protected $labels; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getId(): ?string - { - return $this->id; - } - - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - public function getCreated(): ?string - { - return $this->created; - } - - public function setCreated(?string $created): self - { - $this->initialized['created'] = true; - $this->created = $created; - - return $this; - } - - public function getScope(): ?string - { - return $this->scope; - } - - public function setScope(?string $scope): self - { - $this->initialized['scope'] = true; - $this->scope = $scope; - - return $this; - } - - public function getDriver(): ?string - { - return $this->driver; - } - - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - public function getEnableIPv6(): ?bool - { - return $this->enableIPv6; - } - - public function setEnableIPv6(?bool $enableIPv6): self - { - $this->initialized['enableIPv6'] = true; - $this->enableIPv6 = $enableIPv6; - - return $this; - } - - public function getIPAM(): ?IPAM - { - return $this->iPAM; - } - - public function setIPAM(?IPAM $iPAM): self - { - $this->initialized['iPAM'] = true; - $this->iPAM = $iPAM; - - return $this; - } - - public function getInternal(): ?bool - { - return $this->internal; - } - - public function setInternal(?bool $internal): self - { - $this->initialized['internal'] = true; - $this->internal = $internal; - - return $this; - } - - public function getAttachable(): ?bool - { - return $this->attachable; - } - - public function setAttachable(?bool $attachable): self - { - $this->initialized['attachable'] = true; - $this->attachable = $attachable; - - return $this; - } - - public function getIngress(): ?bool - { - return $this->ingress; - } - - public function setIngress(?bool $ingress): self - { - $this->initialized['ingress'] = true; - $this->ingress = $ingress; - - return $this; - } - - /** - * @return array|null - */ - public function getContainers(): ?iterable - { - return $this->containers; - } - - /** - * @param array|null $containers - */ - public function setContainers(?iterable $containers): self - { - $this->initialized['containers'] = true; - $this->containers = $containers; - - return $this; - } - - /** - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } - - /** - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworkAttachmentConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworkAttachmentConfig.php deleted file mode 100644 index d5a2ed0bf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworkAttachmentConfig.php +++ /dev/null @@ -1,101 +0,0 @@ -initialized); - } - /** - * The target network for attachment. Must be a network name or ID. - * - * @var string|null - */ - protected $target; - /** - * Discoverable alternate names for the service on this network. - * - * @var list|null - */ - protected $aliases; - /** - * Driver attachment options for the network target. - * - * @var array|null - */ - protected $driverOpts; - - /** - * The target network for attachment. Must be a network name or ID. - */ - public function getTarget(): ?string - { - return $this->target; - } - - /** - * The target network for attachment. Must be a network name or ID. - */ - public function setTarget(?string $target): self - { - $this->initialized['target'] = true; - $this->target = $target; - - return $this; - } - - /** - * Discoverable alternate names for the service on this network. - * - * @return list|null - */ - public function getAliases(): ?array - { - return $this->aliases; - } - - /** - * Discoverable alternate names for the service on this network. - * - * @param list|null $aliases - */ - public function setAliases(?array $aliases): self - { - $this->initialized['aliases'] = true; - $this->aliases = $aliases; - - return $this; - } - - /** - * Driver attachment options for the network target. - * - * @return array|null - */ - public function getDriverOpts(): ?iterable - { - return $this->driverOpts; - } - - /** - * Driver attachment options for the network target. - * - * @param array|null $driverOpts - */ - public function setDriverOpts(?iterable $driverOpts): self - { - $this->initialized['driverOpts'] = true; - $this->driverOpts = $driverOpts; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworkContainer.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworkContainer.php deleted file mode 100644 index 28fe5442f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworkContainer.php +++ /dev/null @@ -1,103 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var string|null - */ - protected $endpointID; - /** - * @var string|null - */ - protected $macAddress; - /** - * @var string|null - */ - protected $iPv4Address; - /** - * @var string|null - */ - protected $iPv6Address; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getEndpointID(): ?string - { - return $this->endpointID; - } - - public function setEndpointID(?string $endpointID): self - { - $this->initialized['endpointID'] = true; - $this->endpointID = $endpointID; - - return $this; - } - - public function getMacAddress(): ?string - { - return $this->macAddress; - } - - public function setMacAddress(?string $macAddress): self - { - $this->initialized['macAddress'] = true; - $this->macAddress = $macAddress; - - return $this; - } - - public function getIPv4Address(): ?string - { - return $this->iPv4Address; - } - - public function setIPv4Address(?string $iPv4Address): self - { - $this->initialized['iPv4Address'] = true; - $this->iPv4Address = $iPv4Address; - - return $this; - } - - public function getIPv6Address(): ?string - { - return $this->iPv6Address; - } - - public function setIPv6Address(?string $iPv6Address): self - { - $this->initialized['iPv6Address'] = true; - $this->iPv6Address = $iPv6Address; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworkSettings.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworkSettings.php deleted file mode 100644 index 6e15371d0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworkSettings.php +++ /dev/null @@ -1,709 +0,0 @@ -initialized); - } - /** - * Name of the default bridge interface when dockerd's --bridge flag is set. - * - * @var string|null - */ - protected $bridge; - /** - * SandboxID uniquely represents a container's network stack. - * - * @var string|null - */ - protected $sandboxID; - /** - * Indicates if hairpin NAT should be enabled on the virtual interface. - * - * Deprecated: This field is never set and will be removed in a future release. - * - * @var bool|null - */ - protected $hairpinMode; - /** - * IPv6 unicast address using the link-local prefix. - * - * Deprecated: This field is never set and will be removed in a future release. - * - * @var string|null - */ - protected $linkLocalIPv6Address; - /** - * Prefix length of the IPv6 unicast address. - * - * Deprecated: This field is never set and will be removed in a future release. - * - * @var int|null - */ - protected $linkLocalIPv6PrefixLen; - /** - * PortMap describes the mapping of container ports to host ports, using the - * container's port-number and protocol as key in the format `/`, - * for example, `80/udp`. - * - * If a container's port is mapped for multiple protocols, separate entries - * are added to the mapping table. - * - * @var array>|null - */ - protected $ports; - /** - * SandboxKey is the full path of the netns handle. - * - * @var string|null - */ - protected $sandboxKey; - /** - * Deprecated: This field is never set and will be removed in a future release. - * - * @var list
|null - */ - protected $secondaryIPAddresses; - /** - * Deprecated: This field is never set and will be removed in a future release. - * - * @var list
|null - */ - protected $secondaryIPv6Addresses; - /** - * EndpointID uniquely represents a service endpoint in a Sandbox. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - * - * @var string|null - */ - protected $endpointID; - /** - * Gateway address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - * - * @var string|null - */ - protected $gateway; - /** - * Global IPv6 address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - * - * @var string|null - */ - protected $globalIPv6Address; - /** - * Mask length of the global IPv6 address. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - * - * @var int|null - */ - protected $globalIPv6PrefixLen; - /** - * IPv4 address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - * - * @var string|null - */ - protected $iPAddress; - /** - * Mask length of the IPv4 address. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - * - * @var int|null - */ - protected $iPPrefixLen; - /** - * IPv6 gateway address for this network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - * - * @var string|null - */ - protected $iPv6Gateway; - /** - * MAC address for the container on the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - * - * @var string|null - */ - protected $macAddress; - /** - * Information about all networks that the container is connected to. - * - * @var array|null - */ - protected $networks; - - /** - * Name of the default bridge interface when dockerd's --bridge flag is set. - */ - public function getBridge(): ?string - { - return $this->bridge; - } - - /** - * Name of the default bridge interface when dockerd's --bridge flag is set. - */ - public function setBridge(?string $bridge): self - { - $this->initialized['bridge'] = true; - $this->bridge = $bridge; - - return $this; - } - - /** - * SandboxID uniquely represents a container's network stack. - */ - public function getSandboxID(): ?string - { - return $this->sandboxID; - } - - /** - * SandboxID uniquely represents a container's network stack. - */ - public function setSandboxID(?string $sandboxID): self - { - $this->initialized['sandboxID'] = true; - $this->sandboxID = $sandboxID; - - return $this; - } - - /** - * Indicates if hairpin NAT should be enabled on the virtual interface. - * - * Deprecated: This field is never set and will be removed in a future release. - */ - public function getHairpinMode(): ?bool - { - return $this->hairpinMode; - } - - /** - * Indicates if hairpin NAT should be enabled on the virtual interface. - * - * Deprecated: This field is never set and will be removed in a future release. - */ - public function setHairpinMode(?bool $hairpinMode): self - { - $this->initialized['hairpinMode'] = true; - $this->hairpinMode = $hairpinMode; - - return $this; - } - - /** - * IPv6 unicast address using the link-local prefix. - * - * Deprecated: This field is never set and will be removed in a future release. - */ - public function getLinkLocalIPv6Address(): ?string - { - return $this->linkLocalIPv6Address; - } - - /** - * IPv6 unicast address using the link-local prefix. - * - * Deprecated: This field is never set and will be removed in a future release. - */ - public function setLinkLocalIPv6Address(?string $linkLocalIPv6Address): self - { - $this->initialized['linkLocalIPv6Address'] = true; - $this->linkLocalIPv6Address = $linkLocalIPv6Address; - - return $this; - } - - /** - * Prefix length of the IPv6 unicast address. - * - * Deprecated: This field is never set and will be removed in a future release. - */ - public function getLinkLocalIPv6PrefixLen(): ?int - { - return $this->linkLocalIPv6PrefixLen; - } - - /** - * Prefix length of the IPv6 unicast address. - * - * Deprecated: This field is never set and will be removed in a future release. - */ - public function setLinkLocalIPv6PrefixLen(?int $linkLocalIPv6PrefixLen): self - { - $this->initialized['linkLocalIPv6PrefixLen'] = true; - $this->linkLocalIPv6PrefixLen = $linkLocalIPv6PrefixLen; - - return $this; - } - - /** - * PortMap describes the mapping of container ports to host ports, using the - * container's port-number and protocol as key in the format `/`, - * for example, `80/udp`. - * - * If a container's port is mapped for multiple protocols, separate entries - * are added to the mapping table. - * - * @return array>|null - */ - public function getPorts(): ?iterable - { - return $this->ports; - } - - /** - * PortMap describes the mapping of container ports to host ports, using the - * container's port-number and protocol as key in the format `/`, - * for example, `80/udp`. - * - * If a container's port is mapped for multiple protocols, separate entries - * are added to the mapping table. - * - * @param array>|null $ports - */ - public function setPorts(?iterable $ports): self - { - $this->initialized['ports'] = true; - $this->ports = $ports; - - return $this; - } - - /** - * SandboxKey is the full path of the netns handle. - */ - public function getSandboxKey(): ?string - { - return $this->sandboxKey; - } - - /** - * SandboxKey is the full path of the netns handle. - */ - public function setSandboxKey(?string $sandboxKey): self - { - $this->initialized['sandboxKey'] = true; - $this->sandboxKey = $sandboxKey; - - return $this; - } - - /** - * Deprecated: This field is never set and will be removed in a future release. - * - * @return list
|null - */ - public function getSecondaryIPAddresses(): ?array - { - return $this->secondaryIPAddresses; - } - - /** - * Deprecated: This field is never set and will be removed in a future release. - * - * @param list
|null $secondaryIPAddresses - */ - public function setSecondaryIPAddresses(?array $secondaryIPAddresses): self - { - $this->initialized['secondaryIPAddresses'] = true; - $this->secondaryIPAddresses = $secondaryIPAddresses; - - return $this; - } - - /** - * Deprecated: This field is never set and will be removed in a future release. - * - * @return list
|null - */ - public function getSecondaryIPv6Addresses(): ?array - { - return $this->secondaryIPv6Addresses; - } - - /** - * Deprecated: This field is never set and will be removed in a future release. - * - * @param list
|null $secondaryIPv6Addresses - */ - public function setSecondaryIPv6Addresses(?array $secondaryIPv6Addresses): self - { - $this->initialized['secondaryIPv6Addresses'] = true; - $this->secondaryIPv6Addresses = $secondaryIPv6Addresses; - - return $this; - } - - /** - * EndpointID uniquely represents a service endpoint in a Sandbox. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function getEndpointID(): ?string - { - return $this->endpointID; - } - - /** - * EndpointID uniquely represents a service endpoint in a Sandbox. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function setEndpointID(?string $endpointID): self - { - $this->initialized['endpointID'] = true; - $this->endpointID = $endpointID; - - return $this; - } - - /** - * Gateway address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function getGateway(): ?string - { - return $this->gateway; - } - - /** - * Gateway address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function setGateway(?string $gateway): self - { - $this->initialized['gateway'] = true; - $this->gateway = $gateway; - - return $this; - } - - /** - * Global IPv6 address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function getGlobalIPv6Address(): ?string - { - return $this->globalIPv6Address; - } - - /** - * Global IPv6 address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function setGlobalIPv6Address(?string $globalIPv6Address): self - { - $this->initialized['globalIPv6Address'] = true; - $this->globalIPv6Address = $globalIPv6Address; - - return $this; - } - - /** - * Mask length of the global IPv6 address. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function getGlobalIPv6PrefixLen(): ?int - { - return $this->globalIPv6PrefixLen; - } - - /** - * Mask length of the global IPv6 address. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function setGlobalIPv6PrefixLen(?int $globalIPv6PrefixLen): self - { - $this->initialized['globalIPv6PrefixLen'] = true; - $this->globalIPv6PrefixLen = $globalIPv6PrefixLen; - - return $this; - } - - /** - * IPv4 address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function getIPAddress(): ?string - { - return $this->iPAddress; - } - - /** - * IPv4 address for the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function setIPAddress(?string $iPAddress): self - { - $this->initialized['iPAddress'] = true; - $this->iPAddress = $iPAddress; - - return $this; - } - - /** - * Mask length of the IPv4 address. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function getIPPrefixLen(): ?int - { - return $this->iPPrefixLen; - } - - /** - * Mask length of the IPv4 address. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function setIPPrefixLen(?int $iPPrefixLen): self - { - $this->initialized['iPPrefixLen'] = true; - $this->iPPrefixLen = $iPPrefixLen; - - return $this; - } - - /** - * IPv6 gateway address for this network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function getIPv6Gateway(): ?string - { - return $this->iPv6Gateway; - } - - /** - * IPv6 gateway address for this network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function setIPv6Gateway(?string $iPv6Gateway): self - { - $this->initialized['iPv6Gateway'] = true; - $this->iPv6Gateway = $iPv6Gateway; - - return $this; - } - - /** - * MAC address for the container on the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function getMacAddress(): ?string - { - return $this->macAddress; - } - - /** - * MAC address for the container on the default "bridge" network. - * - *


- * - * > **Deprecated**: This field is only propagated when attached to the - * > default "bridge" network. Use the information from the "bridge" - * > network inside the `Networks` map instead, which contains the same - * > information. This field was deprecated in Docker 1.9 and is scheduled - * > to be removed in Docker 17.12.0 - */ - public function setMacAddress(?string $macAddress): self - { - $this->initialized['macAddress'] = true; - $this->macAddress = $macAddress; - - return $this; - } - - /** - * Information about all networks that the container is connected to. - * - * @return array|null - */ - public function getNetworks(): ?iterable - { - return $this->networks; - } - - /** - * Information about all networks that the container is connected to. - * - * @param array|null $networks - */ - public function setNetworks(?iterable $networks): self - { - $this->initialized['networks'] = true; - $this->networks = $networks; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworkingConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworkingConfig.php deleted file mode 100644 index 86fb767f2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworkingConfig.php +++ /dev/null @@ -1,53 +0,0 @@ -initialized); - } - /** - * A mapping of network name to endpoint configuration for that network. - * The endpoint configuration can be left empty to connect to that - * network with no particular endpoint configuration. - * - * @var array|null - */ - protected $endpointsConfig; - - /** - * A mapping of network name to endpoint configuration for that network. - * The endpoint configuration can be left empty to connect to that - * network with no particular endpoint configuration. - * - * @return array|null - */ - public function getEndpointsConfig(): ?iterable - { - return $this->endpointsConfig; - } - - /** - * A mapping of network name to endpoint configuration for that network. - * The endpoint configuration can be left empty to connect to that - * network with no particular endpoint configuration. - * - * @param array|null $endpointsConfig - */ - public function setEndpointsConfig(?iterable $endpointsConfig): self - { - $this->initialized['endpointsConfig'] = true; - $this->endpointsConfig = $endpointsConfig; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksCreatePostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworksCreatePostBody.php deleted file mode 100644 index be4f27ae3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksCreatePostBody.php +++ /dev/null @@ -1,274 +0,0 @@ -initialized); - } - /** - * The network's name. - * - * @var string|null - */ - protected $name; - /** - * Deprecated: CheckDuplicate is now always enabled. - * - * @var bool|null - */ - protected $checkDuplicate; - /** - * Name of the network driver plugin to use. - * - * @var string|null - */ - protected $driver = 'bridge'; - /** - * Restrict external access to the network. - * - * @var bool|null - */ - protected $internal; - /** - * Globally scoped network is manually attachable by regular - * containers from workers in swarm mode. - * - * @var bool|null - */ - protected $attachable; - /** - * Ingress network is the network which provides the routing-mesh - * in swarm mode. - * - * @var bool|null - */ - protected $ingress; - /** - * @var IPAM|null - */ - protected $iPAM; - /** - * Enable IPv6 on the network. - * - * @var bool|null - */ - protected $enableIPv6; - /** - * Network specific options to be used by the drivers. - * - * @var array|null - */ - protected $options; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - - /** - * The network's name. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * The network's name. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Deprecated: CheckDuplicate is now always enabled. - */ - public function getCheckDuplicate(): ?bool - { - return $this->checkDuplicate; - } - - /** - * Deprecated: CheckDuplicate is now always enabled. - */ - public function setCheckDuplicate(?bool $checkDuplicate): self - { - $this->initialized['checkDuplicate'] = true; - $this->checkDuplicate = $checkDuplicate; - - return $this; - } - - /** - * Name of the network driver plugin to use. - */ - public function getDriver(): ?string - { - return $this->driver; - } - - /** - * Name of the network driver plugin to use. - */ - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - /** - * Restrict external access to the network. - */ - public function getInternal(): ?bool - { - return $this->internal; - } - - /** - * Restrict external access to the network. - */ - public function setInternal(?bool $internal): self - { - $this->initialized['internal'] = true; - $this->internal = $internal; - - return $this; - } - - /** - * Globally scoped network is manually attachable by regular - * containers from workers in swarm mode. - */ - public function getAttachable(): ?bool - { - return $this->attachable; - } - - /** - * Globally scoped network is manually attachable by regular - * containers from workers in swarm mode. - */ - public function setAttachable(?bool $attachable): self - { - $this->initialized['attachable'] = true; - $this->attachable = $attachable; - - return $this; - } - - /** - * Ingress network is the network which provides the routing-mesh - * in swarm mode. - */ - public function getIngress(): ?bool - { - return $this->ingress; - } - - /** - * Ingress network is the network which provides the routing-mesh - * in swarm mode. - */ - public function setIngress(?bool $ingress): self - { - $this->initialized['ingress'] = true; - $this->ingress = $ingress; - - return $this; - } - - public function getIPAM(): ?IPAM - { - return $this->iPAM; - } - - public function setIPAM(?IPAM $iPAM): self - { - $this->initialized['iPAM'] = true; - $this->iPAM = $iPAM; - - return $this; - } - - /** - * Enable IPv6 on the network. - */ - public function getEnableIPv6(): ?bool - { - return $this->enableIPv6; - } - - /** - * Enable IPv6 on the network. - */ - public function setEnableIPv6(?bool $enableIPv6): self - { - $this->initialized['enableIPv6'] = true; - $this->enableIPv6 = $enableIPv6; - - return $this; - } - - /** - * Network specific options to be used by the drivers. - * - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * Network specific options to be used by the drivers. - * - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksCreatePostResponse201.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworksCreatePostResponse201.php deleted file mode 100644 index 13377303d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksCreatePostResponse201.php +++ /dev/null @@ -1,60 +0,0 @@ -initialized); - } - /** - * The ID of the created network. - * - * @var string|null - */ - protected $id; - /** - * @var string|null - */ - protected $warning; - - /** - * The ID of the created network. - */ - public function getId(): ?string - { - return $this->id; - } - - /** - * The ID of the created network. - */ - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - public function getWarning(): ?string - { - return $this->warning; - } - - public function setWarning(?string $warning): self - { - $this->initialized['warning'] = true; - $this->warning = $warning; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksIdConnectPostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworksIdConnectPostBody.php deleted file mode 100644 index 115c38592..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksIdConnectPostBody.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * The ID or name of the container to connect to the network. - * - * @var string|null - */ - protected $container; - /** - * Configuration for a network endpoint. - * - * @var EndpointSettings|null - */ - protected $endpointConfig; - - /** - * The ID or name of the container to connect to the network. - */ - public function getContainer(): ?string - { - return $this->container; - } - - /** - * The ID or name of the container to connect to the network. - */ - public function setContainer(?string $container): self - { - $this->initialized['container'] = true; - $this->container = $container; - - return $this; - } - - /** - * Configuration for a network endpoint. - */ - public function getEndpointConfig(): ?EndpointSettings - { - return $this->endpointConfig; - } - - /** - * Configuration for a network endpoint. - */ - public function setEndpointConfig(?EndpointSettings $endpointConfig): self - { - $this->initialized['endpointConfig'] = true; - $this->endpointConfig = $endpointConfig; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksIdDisconnectPostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworksIdDisconnectPostBody.php deleted file mode 100644 index 76345a30d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksIdDisconnectPostBody.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * The ID or name of the container to disconnect from the network. - * - * @var string|null - */ - protected $container; - /** - * Force the container to disconnect from the network. - * - * @var bool|null - */ - protected $force; - - /** - * The ID or name of the container to disconnect from the network. - */ - public function getContainer(): ?string - { - return $this->container; - } - - /** - * The ID or name of the container to disconnect from the network. - */ - public function setContainer(?string $container): self - { - $this->initialized['container'] = true; - $this->container = $container; - - return $this; - } - - /** - * Force the container to disconnect from the network. - */ - public function getForce(): ?bool - { - return $this->force; - } - - /** - * Force the container to disconnect from the network. - */ - public function setForce(?bool $force): self - { - $this->initialized['force'] = true; - $this->force = $force; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksPrunePostResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/NetworksPrunePostResponse200.php deleted file mode 100644 index 225cf157f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NetworksPrunePostResponse200.php +++ /dev/null @@ -1,47 +0,0 @@ -initialized); - } - /** - * Networks that were deleted. - * - * @var list|null - */ - protected $networksDeleted; - - /** - * Networks that were deleted. - * - * @return list|null - */ - public function getNetworksDeleted(): ?array - { - return $this->networksDeleted; - } - - /** - * Networks that were deleted. - * - * @param list|null $networksDeleted - */ - public function setNetworksDeleted(?array $networksDeleted): self - { - $this->initialized['networksDeleted'] = true; - $this->networksDeleted = $networksDeleted; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Node.php b/app/vendor/beluga-php/docker-php-api/src/Model/Node.php deleted file mode 100644 index 7120bebe0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Node.php +++ /dev/null @@ -1,253 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $iD; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $version; - /** - * Date and time at which the node was added to the swarm in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $createdAt; - /** - * Date and time at which the node was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $updatedAt; - /** - * @var NodeSpec|null - */ - protected $spec; - /** - * NodeDescription encapsulates the properties of the Node as reported by the - * agent. - * - * @var NodeDescription|null - */ - protected $description; - /** - * NodeStatus represents the status of a node. - * - * It provides the current status of the node, as seen by the manager. - * - * @var NodeStatus|null - */ - protected $status; - /** - * ManagerStatus represents the status of a manager. - * - * It provides the current status of a node's manager component, if the node - * is a manager. - * - * @var ManagerStatus|null - */ - protected $managerStatus; - - public function getID(): ?string - { - return $this->iD; - } - - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getVersion(): ?ObjectVersion - { - return $this->version; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setVersion(?ObjectVersion $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - /** - * Date and time at which the node was added to the swarm in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - /** - * Date and time at which the node was added to the swarm in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - /** - * Date and time at which the node was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getUpdatedAt(): ?string - { - return $this->updatedAt; - } - - /** - * Date and time at which the node was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setUpdatedAt(?string $updatedAt): self - { - $this->initialized['updatedAt'] = true; - $this->updatedAt = $updatedAt; - - return $this; - } - - public function getSpec(): ?NodeSpec - { - return $this->spec; - } - - public function setSpec(?NodeSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } - - /** - * NodeDescription encapsulates the properties of the Node as reported by the - * agent. - */ - public function getDescription(): ?NodeDescription - { - return $this->description; - } - - /** - * NodeDescription encapsulates the properties of the Node as reported by the - * agent. - */ - public function setDescription(?NodeDescription $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - /** - * NodeStatus represents the status of a node. - * - * It provides the current status of the node, as seen by the manager. - */ - public function getStatus(): ?NodeStatus - { - return $this->status; - } - - /** - * NodeStatus represents the status of a node. - * - * It provides the current status of the node, as seen by the manager. - */ - public function setStatus(?NodeStatus $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - /** - * ManagerStatus represents the status of a manager. - * - * It provides the current status of a node's manager component, if the node - * is a manager. - */ - public function getManagerStatus(): ?ManagerStatus - { - return $this->managerStatus; - } - - /** - * ManagerStatus represents the status of a manager. - * - * It provides the current status of a node's manager component, if the node - * is a manager. - */ - public function setManagerStatus(?ManagerStatus $managerStatus): self - { - $this->initialized['managerStatus'] = true; - $this->managerStatus = $managerStatus; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NodeDescription.php b/app/vendor/beluga-php/docker-php-api/src/Model/NodeDescription.php deleted file mode 100644 index 8229020eb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NodeDescription.php +++ /dev/null @@ -1,141 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $hostname; - /** - * Platform represents the platform (Arch/OS). - * - * @var Platform|null - */ - protected $platform; - /** - * An object describing the resources which can be advertised by a node and - * requested by a task. - * - * @var ResourceObject|null - */ - protected $resources; - /** - * EngineDescription provides information about an engine. - * - * @var EngineDescription|null - */ - protected $engine; - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - * - * @var TLSInfo|null - */ - protected $tLSInfo; - - public function getHostname(): ?string - { - return $this->hostname; - } - - public function setHostname(?string $hostname): self - { - $this->initialized['hostname'] = true; - $this->hostname = $hostname; - - return $this; - } - - /** - * Platform represents the platform (Arch/OS). - */ - public function getPlatform(): ?Platform - { - return $this->platform; - } - - /** - * Platform represents the platform (Arch/OS). - */ - public function setPlatform(?Platform $platform): self - { - $this->initialized['platform'] = true; - $this->platform = $platform; - - return $this; - } - - /** - * An object describing the resources which can be advertised by a node and - * requested by a task. - */ - public function getResources(): ?ResourceObject - { - return $this->resources; - } - - /** - * An object describing the resources which can be advertised by a node and - * requested by a task. - */ - public function setResources(?ResourceObject $resources): self - { - $this->initialized['resources'] = true; - $this->resources = $resources; - - return $this; - } - - /** - * EngineDescription provides information about an engine. - */ - public function getEngine(): ?EngineDescription - { - return $this->engine; - } - - /** - * EngineDescription provides information about an engine. - */ - public function setEngine(?EngineDescription $engine): self - { - $this->initialized['engine'] = true; - $this->engine = $engine; - - return $this; - } - - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - */ - public function getTLSInfo(): ?TLSInfo - { - return $this->tLSInfo; - } - - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - */ - public function setTLSInfo(?TLSInfo $tLSInfo): self - { - $this->initialized['tLSInfo'] = true; - $this->tLSInfo = $tLSInfo; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NodeSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/NodeSpec.php deleted file mode 100644 index 784eb2e31..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NodeSpec.php +++ /dev/null @@ -1,122 +0,0 @@ -initialized); - } - /** - * Name for the node. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Role of the node. - * - * @var string|null - */ - protected $role; - /** - * Availability of the node. - * - * @var string|null - */ - protected $availability; - - /** - * Name for the node. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name for the node. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Role of the node. - */ - public function getRole(): ?string - { - return $this->role; - } - - /** - * Role of the node. - */ - public function setRole(?string $role): self - { - $this->initialized['role'] = true; - $this->role = $role; - - return $this; - } - - /** - * Availability of the node. - */ - public function getAvailability(): ?string - { - return $this->availability; - } - - /** - * Availability of the node. - */ - public function setAvailability(?string $availability): self - { - $this->initialized['availability'] = true; - $this->availability = $availability; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/NodeStatus.php b/app/vendor/beluga-php/docker-php-api/src/Model/NodeStatus.php deleted file mode 100644 index b811d0fd4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/NodeStatus.php +++ /dev/null @@ -1,85 +0,0 @@ -initialized); - } - /** - * NodeState represents the state of a node. - * - * @var string|null - */ - protected $state; - /** - * @var string|null - */ - protected $message; - /** - * IP address of the node. - * - * @var string|null - */ - protected $addr; - - /** - * NodeState represents the state of a node. - */ - public function getState(): ?string - { - return $this->state; - } - - /** - * NodeState represents the state of a node. - */ - public function setState(?string $state): self - { - $this->initialized['state'] = true; - $this->state = $state; - - return $this; - } - - public function getMessage(): ?string - { - return $this->message; - } - - public function setMessage(?string $message): self - { - $this->initialized['message'] = true; - $this->message = $message; - - return $this; - } - - /** - * IP address of the node. - */ - public function getAddr(): ?string - { - return $this->addr; - } - - /** - * IP address of the node. - */ - public function setAddr(?string $addr): self - { - $this->initialized['addr'] = true; - $this->addr = $addr; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/OCIDescriptor.php b/app/vendor/beluga-php/docker-php-api/src/Model/OCIDescriptor.php deleted file mode 100644 index 5ead5f3cc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/OCIDescriptor.php +++ /dev/null @@ -1,93 +0,0 @@ -initialized); - } - /** - * The media type of the object this schema refers to. - * - * @var string|null - */ - protected $mediaType; - /** - * The digest of the targeted content. - * - * @var string|null - */ - protected $digest; - /** - * The size in bytes of the blob. - * - * @var int|null - */ - protected $size; - - /** - * The media type of the object this schema refers to. - */ - public function getMediaType(): ?string - { - return $this->mediaType; - } - - /** - * The media type of the object this schema refers to. - */ - public function setMediaType(?string $mediaType): self - { - $this->initialized['mediaType'] = true; - $this->mediaType = $mediaType; - - return $this; - } - - /** - * The digest of the targeted content. - */ - public function getDigest(): ?string - { - return $this->digest; - } - - /** - * The digest of the targeted content. - */ - public function setDigest(?string $digest): self - { - $this->initialized['digest'] = true; - $this->digest = $digest; - - return $this; - } - - /** - * The size in bytes of the blob. - */ - public function getSize(): ?int - { - return $this->size; - } - - /** - * The size in bytes of the blob. - */ - public function setSize(?int $size): self - { - $this->initialized['size'] = true; - $this->size = $size; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/OCIPlatform.php b/app/vendor/beluga-php/docker-php-api/src/Model/OCIPlatform.php deleted file mode 100644 index 49d5198d2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/OCIPlatform.php +++ /dev/null @@ -1,156 +0,0 @@ -initialized); - } - /** - * The CPU architecture, for example `amd64` or `ppc64`. - * - * @var string|null - */ - protected $architecture; - /** - * The operating system, for example `linux` or `windows`. - * - * @var string|null - */ - protected $os; - /** - * Optional field specifying the operating system version, for example on - * Windows `10.0.19041.1165`. - * - * @var string|null - */ - protected $osVersion; - /** - * Optional field specifying an array of strings, each listing a required - * OS feature (for example on Windows `win32k`). - * - * @var list|null - */ - protected $osFeatures; - /** - * Optional field specifying a variant of the CPU, for example `v7` to - * specify ARMv7 when architecture is `arm`. - * - * @var string|null - */ - protected $variant; - - /** - * The CPU architecture, for example `amd64` or `ppc64`. - */ - public function getArchitecture(): ?string - { - return $this->architecture; - } - - /** - * The CPU architecture, for example `amd64` or `ppc64`. - */ - public function setArchitecture(?string $architecture): self - { - $this->initialized['architecture'] = true; - $this->architecture = $architecture; - - return $this; - } - - /** - * The operating system, for example `linux` or `windows`. - */ - public function getOs(): ?string - { - return $this->os; - } - - /** - * The operating system, for example `linux` or `windows`. - */ - public function setOs(?string $os): self - { - $this->initialized['os'] = true; - $this->os = $os; - - return $this; - } - - /** - * Optional field specifying the operating system version, for example on - * Windows `10.0.19041.1165`. - */ - public function getOsVersion(): ?string - { - return $this->osVersion; - } - - /** - * Optional field specifying the operating system version, for example on - * Windows `10.0.19041.1165`. - */ - public function setOsVersion(?string $osVersion): self - { - $this->initialized['osVersion'] = true; - $this->osVersion = $osVersion; - - return $this; - } - - /** - * Optional field specifying an array of strings, each listing a required - * OS feature (for example on Windows `win32k`). - * - * @return list|null - */ - public function getOsFeatures(): ?array - { - return $this->osFeatures; - } - - /** - * Optional field specifying an array of strings, each listing a required - * OS feature (for example on Windows `win32k`). - * - * @param list|null $osFeatures - */ - public function setOsFeatures(?array $osFeatures): self - { - $this->initialized['osFeatures'] = true; - $this->osFeatures = $osFeatures; - - return $this; - } - - /** - * Optional field specifying a variant of the CPU, for example `v7` to - * specify ARMv7 when architecture is `arm`. - */ - public function getVariant(): ?string - { - return $this->variant; - } - - /** - * Optional field specifying a variant of the CPU, for example `v7` to - * specify ARMv7 when architecture is `arm`. - */ - public function setVariant(?string $variant): self - { - $this->initialized['variant'] = true; - $this->variant = $variant; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ObjectVersion.php b/app/vendor/beluga-php/docker-php-api/src/Model/ObjectVersion.php deleted file mode 100644 index bc75b1b69..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ObjectVersion.php +++ /dev/null @@ -1,35 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $index; - - public function getIndex(): ?int - { - return $this->index; - } - - public function setIndex(?int $index): self - { - $this->initialized['index'] = true; - $this->index = $index; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PeerNode.php b/app/vendor/beluga-php/docker-php-api/src/Model/PeerNode.php deleted file mode 100644 index 8355cd593..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PeerNode.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * Unique identifier of for this node in the swarm. - * - * @var string|null - */ - protected $nodeID; - /** - * IP address and ports at which this node can be reached. - * - * @var string|null - */ - protected $addr; - - /** - * Unique identifier of for this node in the swarm. - */ - public function getNodeID(): ?string - { - return $this->nodeID; - } - - /** - * Unique identifier of for this node in the swarm. - */ - public function setNodeID(?string $nodeID): self - { - $this->initialized['nodeID'] = true; - $this->nodeID = $nodeID; - - return $this; - } - - /** - * IP address and ports at which this node can be reached. - */ - public function getAddr(): ?string - { - return $this->addr; - } - - /** - * IP address and ports at which this node can be reached. - */ - public function setAddr(?string $addr): self - { - $this->initialized['addr'] = true; - $this->addr = $addr; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Platform.php b/app/vendor/beluga-php/docker-php-api/src/Model/Platform.php deleted file mode 100644 index 4c9899f70..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Platform.php +++ /dev/null @@ -1,71 +0,0 @@ -initialized); - } - /** - * Architecture represents the hardware architecture (for example, - * `x86_64`). - * - * @var string|null - */ - protected $architecture; - /** - * OS represents the Operating System (for example, `linux` or `windows`). - * - * @var string|null - */ - protected $oS; - - /** - * Architecture represents the hardware architecture (for example, - * `x86_64`). - */ - public function getArchitecture(): ?string - { - return $this->architecture; - } - - /** - * Architecture represents the hardware architecture (for example, - * `x86_64`). - */ - public function setArchitecture(?string $architecture): self - { - $this->initialized['architecture'] = true; - $this->architecture = $architecture; - - return $this; - } - - /** - * OS represents the Operating System (for example, `linux` or `windows`). - */ - public function getOS(): ?string - { - return $this->oS; - } - - /** - * OS represents the Operating System (for example, `linux` or `windows`). - */ - public function setOS(?string $oS): self - { - $this->initialized['oS'] = true; - $this->oS = $oS; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Plugin.php b/app/vendor/beluga-php/docker-php-api/src/Model/Plugin.php deleted file mode 100644 index 23f350588..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Plugin.php +++ /dev/null @@ -1,152 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $id; - /** - * @var string|null - */ - protected $name; - /** - * True if the plugin is running. False if the plugin is not running, only installed. - * - * @var bool|null - */ - protected $enabled; - /** - * Settings that can be modified by users. - * - * @var PluginSettings|null - */ - protected $settings; - /** - * plugin remote reference used to push/pull the plugin. - * - * @var string|null - */ - protected $pluginReference; - /** - * The config of a plugin. - * - * @var PluginConfig|null - */ - protected $config; - - public function getId(): ?string - { - return $this->id; - } - - public function setId(?string $id): self - { - $this->initialized['id'] = true; - $this->id = $id; - - return $this; - } - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * True if the plugin is running. False if the plugin is not running, only installed. - */ - public function getEnabled(): ?bool - { - return $this->enabled; - } - - /** - * True if the plugin is running. False if the plugin is not running, only installed. - */ - public function setEnabled(?bool $enabled): self - { - $this->initialized['enabled'] = true; - $this->enabled = $enabled; - - return $this; - } - - /** - * Settings that can be modified by users. - */ - public function getSettings(): ?PluginSettings - { - return $this->settings; - } - - /** - * Settings that can be modified by users. - */ - public function setSettings(?PluginSettings $settings): self - { - $this->initialized['settings'] = true; - $this->settings = $settings; - - return $this; - } - - /** - * plugin remote reference used to push/pull the plugin. - */ - public function getPluginReference(): ?string - { - return $this->pluginReference; - } - - /** - * plugin remote reference used to push/pull the plugin. - */ - public function setPluginReference(?string $pluginReference): self - { - $this->initialized['pluginReference'] = true; - $this->pluginReference = $pluginReference; - - return $this; - } - - /** - * The config of a plugin. - */ - public function getConfig(): ?PluginConfig - { - return $this->config; - } - - /** - * The config of a plugin. - */ - public function setConfig(?PluginConfig $config): self - { - $this->initialized['config'] = true; - $this->config = $config; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfig.php deleted file mode 100644 index a2af9f0da..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfig.php +++ /dev/null @@ -1,324 +0,0 @@ -initialized); - } - /** - * Docker Version used to create the plugin. - * - * @var string|null - */ - protected $dockerVersion; - /** - * @var string|null - */ - protected $description; - /** - * @var string|null - */ - protected $documentation; - /** - * The interface between Docker and the plugin. - * - * @var PluginConfigInterface|null - */ - protected $interface; - /** - * @var list|null - */ - protected $entrypoint; - /** - * @var string|null - */ - protected $workDir; - /** - * @var PluginConfigUser|null - */ - protected $user; - /** - * @var PluginConfigNetwork|null - */ - protected $network; - /** - * @var PluginConfigLinux|null - */ - protected $linux; - /** - * @var string|null - */ - protected $propagatedMount; - /** - * @var bool|null - */ - protected $ipcHost; - /** - * @var bool|null - */ - protected $pidHost; - /** - * @var list|null - */ - protected $mounts; - /** - * @var list|null - */ - protected $env; - /** - * @var PluginConfigArgs|null - */ - protected $args; - /** - * @var PluginConfigRootfs|null - */ - protected $rootfs; - - /** - * Docker Version used to create the plugin. - */ - public function getDockerVersion(): ?string - { - return $this->dockerVersion; - } - - /** - * Docker Version used to create the plugin. - */ - public function setDockerVersion(?string $dockerVersion): self - { - $this->initialized['dockerVersion'] = true; - $this->dockerVersion = $dockerVersion; - - return $this; - } - - public function getDescription(): ?string - { - return $this->description; - } - - public function setDescription(?string $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - public function getDocumentation(): ?string - { - return $this->documentation; - } - - public function setDocumentation(?string $documentation): self - { - $this->initialized['documentation'] = true; - $this->documentation = $documentation; - - return $this; - } - - /** - * The interface between Docker and the plugin. - */ - public function getInterface(): ?PluginConfigInterface - { - return $this->interface; - } - - /** - * The interface between Docker and the plugin. - */ - public function setInterface(?PluginConfigInterface $interface): self - { - $this->initialized['interface'] = true; - $this->interface = $interface; - - return $this; - } - - /** - * @return list|null - */ - public function getEntrypoint(): ?array - { - return $this->entrypoint; - } - - /** - * @param list|null $entrypoint - */ - public function setEntrypoint(?array $entrypoint): self - { - $this->initialized['entrypoint'] = true; - $this->entrypoint = $entrypoint; - - return $this; - } - - public function getWorkDir(): ?string - { - return $this->workDir; - } - - public function setWorkDir(?string $workDir): self - { - $this->initialized['workDir'] = true; - $this->workDir = $workDir; - - return $this; - } - - public function getUser(): ?PluginConfigUser - { - return $this->user; - } - - public function setUser(?PluginConfigUser $user): self - { - $this->initialized['user'] = true; - $this->user = $user; - - return $this; - } - - public function getNetwork(): ?PluginConfigNetwork - { - return $this->network; - } - - public function setNetwork(?PluginConfigNetwork $network): self - { - $this->initialized['network'] = true; - $this->network = $network; - - return $this; - } - - public function getLinux(): ?PluginConfigLinux - { - return $this->linux; - } - - public function setLinux(?PluginConfigLinux $linux): self - { - $this->initialized['linux'] = true; - $this->linux = $linux; - - return $this; - } - - public function getPropagatedMount(): ?string - { - return $this->propagatedMount; - } - - public function setPropagatedMount(?string $propagatedMount): self - { - $this->initialized['propagatedMount'] = true; - $this->propagatedMount = $propagatedMount; - - return $this; - } - - public function getIpcHost(): ?bool - { - return $this->ipcHost; - } - - public function setIpcHost(?bool $ipcHost): self - { - $this->initialized['ipcHost'] = true; - $this->ipcHost = $ipcHost; - - return $this; - } - - public function getPidHost(): ?bool - { - return $this->pidHost; - } - - public function setPidHost(?bool $pidHost): self - { - $this->initialized['pidHost'] = true; - $this->pidHost = $pidHost; - - return $this; - } - - /** - * @return list|null - */ - public function getMounts(): ?array - { - return $this->mounts; - } - - /** - * @param list|null $mounts - */ - public function setMounts(?array $mounts): self - { - $this->initialized['mounts'] = true; - $this->mounts = $mounts; - - return $this; - } - - /** - * @return list|null - */ - public function getEnv(): ?array - { - return $this->env; - } - - /** - * @param list|null $env - */ - public function setEnv(?array $env): self - { - $this->initialized['env'] = true; - $this->env = $env; - - return $this; - } - - public function getArgs(): ?PluginConfigArgs - { - return $this->args; - } - - public function setArgs(?PluginConfigArgs $args): self - { - $this->initialized['args'] = true; - $this->args = $args; - - return $this; - } - - public function getRootfs(): ?PluginConfigRootfs - { - return $this->rootfs; - } - - public function setRootfs(?PluginConfigRootfs $rootfs): self - { - $this->initialized['rootfs'] = true; - $this->rootfs = $rootfs; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigArgs.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigArgs.php deleted file mode 100644 index 32e482c03..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigArgs.php +++ /dev/null @@ -1,98 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var string|null - */ - protected $description; - /** - * @var list|null - */ - protected $settable; - /** - * @var list|null - */ - protected $value; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getDescription(): ?string - { - return $this->description; - } - - public function setDescription(?string $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - /** - * @return list|null - */ - public function getSettable(): ?array - { - return $this->settable; - } - - /** - * @param list|null $settable - */ - public function setSettable(?array $settable): self - { - $this->initialized['settable'] = true; - $this->settable = $settable; - - return $this; - } - - /** - * @return list|null - */ - public function getValue(): ?array - { - return $this->value; - } - - /** - * @param list|null $value - */ - public function setValue(?array $value): self - { - $this->initialized['value'] = true; - $this->value = $value; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigInterface.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigInterface.php deleted file mode 100644 index e2443eda4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigInterface.php +++ /dev/null @@ -1,83 +0,0 @@ -initialized); - } - /** - * @var list|null - */ - protected $types; - /** - * @var string|null - */ - protected $socket; - /** - * Protocol to use for clients connecting to the plugin. - * - * @var string|null - */ - protected $protocolScheme; - - /** - * @return list|null - */ - public function getTypes(): ?array - { - return $this->types; - } - - /** - * @param list|null $types - */ - public function setTypes(?array $types): self - { - $this->initialized['types'] = true; - $this->types = $types; - - return $this; - } - - public function getSocket(): ?string - { - return $this->socket; - } - - public function setSocket(?string $socket): self - { - $this->initialized['socket'] = true; - $this->socket = $socket; - - return $this; - } - - /** - * Protocol to use for clients connecting to the plugin. - */ - public function getProtocolScheme(): ?string - { - return $this->protocolScheme; - } - - /** - * Protocol to use for clients connecting to the plugin. - */ - public function setProtocolScheme(?string $protocolScheme): self - { - $this->initialized['protocolScheme'] = true; - $this->protocolScheme = $protocolScheme; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigLinux.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigLinux.php deleted file mode 100644 index 201d8c37e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigLinux.php +++ /dev/null @@ -1,81 +0,0 @@ -initialized); - } - /** - * @var list|null - */ - protected $capabilities; - /** - * @var bool|null - */ - protected $allowAllDevices; - /** - * @var list|null - */ - protected $devices; - - /** - * @return list|null - */ - public function getCapabilities(): ?array - { - return $this->capabilities; - } - - /** - * @param list|null $capabilities - */ - public function setCapabilities(?array $capabilities): self - { - $this->initialized['capabilities'] = true; - $this->capabilities = $capabilities; - - return $this; - } - - public function getAllowAllDevices(): ?bool - { - return $this->allowAllDevices; - } - - public function setAllowAllDevices(?bool $allowAllDevices): self - { - $this->initialized['allowAllDevices'] = true; - $this->allowAllDevices = $allowAllDevices; - - return $this; - } - - /** - * @return list|null - */ - public function getDevices(): ?array - { - return $this->devices; - } - - /** - * @param list|null $devices - */ - public function setDevices(?array $devices): self - { - $this->initialized['devices'] = true; - $this->devices = $devices; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigNetwork.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigNetwork.php deleted file mode 100644 index a2cb9dc83..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigNetwork.php +++ /dev/null @@ -1,35 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $type; - - public function getType(): ?string - { - return $this->type; - } - - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigRootfs.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigRootfs.php deleted file mode 100644 index 28caa4b31..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigRootfs.php +++ /dev/null @@ -1,58 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $type; - /** - * @var list|null - */ - protected $diffIds; - - public function getType(): ?string - { - return $this->type; - } - - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * @return list|null - */ - public function getDiffIds(): ?array - { - return $this->diffIds; - } - - /** - * @param list|null $diffIds - */ - public function setDiffIds(?array $diffIds): self - { - $this->initialized['diffIds'] = true; - $this->diffIds = $diffIds; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigUser.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigUser.php deleted file mode 100644 index 788ccbad7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginConfigUser.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $uID; - /** - * @var int|null - */ - protected $gID; - - public function getUID(): ?int - { - return $this->uID; - } - - public function setUID(?int $uID): self - { - $this->initialized['uID'] = true; - $this->uID = $uID; - - return $this; - } - - public function getGID(): ?int - { - return $this->gID; - } - - public function setGID(?int $gID): self - { - $this->initialized['gID'] = true; - $this->gID = $gID; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginDevice.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginDevice.php deleted file mode 100644 index a2dfe1349..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginDevice.php +++ /dev/null @@ -1,92 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var string|null - */ - protected $description; - /** - * @var list|null - */ - protected $settable; - /** - * @var string|null - */ - protected $path; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getDescription(): ?string - { - return $this->description; - } - - public function setDescription(?string $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - /** - * @return list|null - */ - public function getSettable(): ?array - { - return $this->settable; - } - - /** - * @param list|null $settable - */ - public function setSettable(?array $settable): self - { - $this->initialized['settable'] = true; - $this->settable = $settable; - - return $this; - } - - public function getPath(): ?string - { - return $this->path; - } - - public function setPath(?string $path): self - { - $this->initialized['path'] = true; - $this->path = $path; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginEnv.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginEnv.php deleted file mode 100644 index f9f4bd0ab..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginEnv.php +++ /dev/null @@ -1,92 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var string|null - */ - protected $description; - /** - * @var list|null - */ - protected $settable; - /** - * @var string|null - */ - protected $value; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getDescription(): ?string - { - return $this->description; - } - - public function setDescription(?string $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - /** - * @return list|null - */ - public function getSettable(): ?array - { - return $this->settable; - } - - /** - * @param list|null $settable - */ - public function setSettable(?array $settable): self - { - $this->initialized['settable'] = true; - $this->settable = $settable; - - return $this; - } - - public function getValue(): ?string - { - return $this->value; - } - - public function setValue(?string $value): self - { - $this->initialized['value'] = true; - $this->value = $value; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginInterfaceType.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginInterfaceType.php deleted file mode 100644 index a5e5ac432..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginInterfaceType.php +++ /dev/null @@ -1,69 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $prefix; - /** - * @var string|null - */ - protected $capability; - /** - * @var string|null - */ - protected $version; - - public function getPrefix(): ?string - { - return $this->prefix; - } - - public function setPrefix(?string $prefix): self - { - $this->initialized['prefix'] = true; - $this->prefix = $prefix; - - return $this; - } - - public function getCapability(): ?string - { - return $this->capability; - } - - public function setCapability(?string $capability): self - { - $this->initialized['capability'] = true; - $this->capability = $capability; - - return $this; - } - - public function getVersion(): ?string - { - return $this->version; - } - - public function setVersion(?string $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginMount.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginMount.php deleted file mode 100644 index 541cb0408..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginMount.php +++ /dev/null @@ -1,149 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var string|null - */ - protected $description; - /** - * @var list|null - */ - protected $settable; - /** - * @var string|null - */ - protected $source; - /** - * @var string|null - */ - protected $destination; - /** - * @var string|null - */ - protected $type; - /** - * @var list|null - */ - protected $options; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getDescription(): ?string - { - return $this->description; - } - - public function setDescription(?string $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - /** - * @return list|null - */ - public function getSettable(): ?array - { - return $this->settable; - } - - /** - * @param list|null $settable - */ - public function setSettable(?array $settable): self - { - $this->initialized['settable'] = true; - $this->settable = $settable; - - return $this; - } - - public function getSource(): ?string - { - return $this->source; - } - - public function setSource(?string $source): self - { - $this->initialized['source'] = true; - $this->source = $source; - - return $this; - } - - public function getDestination(): ?string - { - return $this->destination; - } - - public function setDestination(?string $destination): self - { - $this->initialized['destination'] = true; - $this->destination = $destination; - - return $this; - } - - public function getType(): ?string - { - return $this->type; - } - - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * @return list|null - */ - public function getOptions(): ?array - { - return $this->options; - } - - /** - * @param list|null $options - */ - public function setOptions(?array $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginPrivilege.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginPrivilege.php deleted file mode 100644 index 557af43b0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginPrivilege.php +++ /dev/null @@ -1,75 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var string|null - */ - protected $description; - /** - * @var list|null - */ - protected $value; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - public function getDescription(): ?string - { - return $this->description; - } - - public function setDescription(?string $description): self - { - $this->initialized['description'] = true; - $this->description = $description; - - return $this; - } - - /** - * @return list|null - */ - public function getValue(): ?array - { - return $this->value; - } - - /** - * @param list|null $value - */ - public function setValue(?array $value): self - { - $this->initialized['value'] = true; - $this->value = $value; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginSettings.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginSettings.php deleted file mode 100644 index 543ecf609..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginSettings.php +++ /dev/null @@ -1,110 +0,0 @@ -initialized); - } - /** - * @var list|null - */ - protected $mounts; - /** - * @var list|null - */ - protected $env; - /** - * @var list|null - */ - protected $args; - /** - * @var list|null - */ - protected $devices; - - /** - * @return list|null - */ - public function getMounts(): ?array - { - return $this->mounts; - } - - /** - * @param list|null $mounts - */ - public function setMounts(?array $mounts): self - { - $this->initialized['mounts'] = true; - $this->mounts = $mounts; - - return $this; - } - - /** - * @return list|null - */ - public function getEnv(): ?array - { - return $this->env; - } - - /** - * @param list|null $env - */ - public function setEnv(?array $env): self - { - $this->initialized['env'] = true; - $this->env = $env; - - return $this; - } - - /** - * @return list|null - */ - public function getArgs(): ?array - { - return $this->args; - } - - /** - * @param list|null $args - */ - public function setArgs(?array $args): self - { - $this->initialized['args'] = true; - $this->args = $args; - - return $this; - } - - /** - * @return list|null - */ - public function getDevices(): ?array - { - return $this->devices; - } - - /** - * @param list|null $devices - */ - public function setDevices(?array $devices): self - { - $this->initialized['devices'] = true; - $this->devices = $devices; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PluginsInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/PluginsInfo.php deleted file mode 100644 index 41c73db20..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PluginsInfo.php +++ /dev/null @@ -1,134 +0,0 @@ -initialized); - } - /** - * Names of available volume-drivers, and network-driver plugins. - * - * @var list|null - */ - protected $volume; - /** - * Names of available network-drivers, and network-driver plugins. - * - * @var list|null - */ - protected $network; - /** - * Names of available authorization plugins. - * - * @var list|null - */ - protected $authorization; - /** - * Names of available logging-drivers, and logging-driver plugins. - * - * @var list|null - */ - protected $log; - - /** - * Names of available volume-drivers, and network-driver plugins. - * - * @return list|null - */ - public function getVolume(): ?array - { - return $this->volume; - } - - /** - * Names of available volume-drivers, and network-driver plugins. - * - * @param list|null $volume - */ - public function setVolume(?array $volume): self - { - $this->initialized['volume'] = true; - $this->volume = $volume; - - return $this; - } - - /** - * Names of available network-drivers, and network-driver plugins. - * - * @return list|null - */ - public function getNetwork(): ?array - { - return $this->network; - } - - /** - * Names of available network-drivers, and network-driver plugins. - * - * @param list|null $network - */ - public function setNetwork(?array $network): self - { - $this->initialized['network'] = true; - $this->network = $network; - - return $this; - } - - /** - * Names of available authorization plugins. - * - * @return list|null - */ - public function getAuthorization(): ?array - { - return $this->authorization; - } - - /** - * Names of available authorization plugins. - * - * @param list|null $authorization - */ - public function setAuthorization(?array $authorization): self - { - $this->initialized['authorization'] = true; - $this->authorization = $authorization; - - return $this; - } - - /** - * Names of available logging-drivers, and logging-driver plugins. - * - * @return list|null - */ - public function getLog(): ?array - { - return $this->log; - } - - /** - * Names of available logging-drivers, and logging-driver plugins. - * - * @param list|null $log - */ - public function setLog(?array $log): self - { - $this->initialized['log'] = true; - $this->log = $log; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Port.php b/app/vendor/beluga-php/docker-php-api/src/Model/Port.php deleted file mode 100644 index cde2781c3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Port.php +++ /dev/null @@ -1,110 +0,0 @@ -initialized); - } - /** - * Host IP address that the container's port is mapped to. - * - * @var string|null - */ - protected $iP; - /** - * Port on the container. - * - * @var int|null - */ - protected $privatePort; - /** - * Port exposed on the host. - * - * @var int|null - */ - protected $publicPort; - /** - * @var string|null - */ - protected $type; - - /** - * Host IP address that the container's port is mapped to. - */ - public function getIP(): ?string - { - return $this->iP; - } - - /** - * Host IP address that the container's port is mapped to. - */ - public function setIP(?string $iP): self - { - $this->initialized['iP'] = true; - $this->iP = $iP; - - return $this; - } - - /** - * Port on the container. - */ - public function getPrivatePort(): ?int - { - return $this->privatePort; - } - - /** - * Port on the container. - */ - public function setPrivatePort(?int $privatePort): self - { - $this->initialized['privatePort'] = true; - $this->privatePort = $privatePort; - - return $this; - } - - /** - * Port exposed on the host. - */ - public function getPublicPort(): ?int - { - return $this->publicPort; - } - - /** - * Port exposed on the host. - */ - public function setPublicPort(?int $publicPort): self - { - $this->initialized['publicPort'] = true; - $this->publicPort = $publicPort; - - return $this; - } - - public function getType(): ?string - { - return $this->type; - } - - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PortBinding.php b/app/vendor/beluga-php/docker-php-api/src/Model/PortBinding.php deleted file mode 100644 index 038cfbfb9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PortBinding.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * Host IP address that the container's port is mapped to. - * - * @var string|null - */ - protected $hostIp; - /** - * Host port number that the container's port is mapped to. - * - * @var string|null - */ - protected $hostPort; - - /** - * Host IP address that the container's port is mapped to. - */ - public function getHostIp(): ?string - { - return $this->hostIp; - } - - /** - * Host IP address that the container's port is mapped to. - */ - public function setHostIp(?string $hostIp): self - { - $this->initialized['hostIp'] = true; - $this->hostIp = $hostIp; - - return $this; - } - - /** - * Host port number that the container's port is mapped to. - */ - public function getHostPort(): ?string - { - return $this->hostPort; - } - - /** - * Host port number that the container's port is mapped to. - */ - public function setHostPort(?string $hostPort): self - { - $this->initialized['hostPort'] = true; - $this->hostPort = $hostPort; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PortStatus.php b/app/vendor/beluga-php/docker-php-api/src/Model/PortStatus.php deleted file mode 100644 index af7d52379..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PortStatus.php +++ /dev/null @@ -1,41 +0,0 @@ -initialized); - } - /** - * @var list|null - */ - protected $ports; - - /** - * @return list|null - */ - public function getPorts(): ?array - { - return $this->ports; - } - - /** - * @param list|null $ports - */ - public function setPorts(?array $ports): self - { - $this->initialized['ports'] = true; - $this->ports = $ports; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ProcessConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/ProcessConfig.php deleted file mode 100644 index 65ba9c3b9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ProcessConfig.php +++ /dev/null @@ -1,109 +0,0 @@ -initialized); - } - /** - * @var bool|null - */ - protected $privileged; - /** - * @var string|null - */ - protected $user; - /** - * @var bool|null - */ - protected $tty; - /** - * @var string|null - */ - protected $entrypoint; - /** - * @var list|null - */ - protected $arguments; - - public function getPrivileged(): ?bool - { - return $this->privileged; - } - - public function setPrivileged(?bool $privileged): self - { - $this->initialized['privileged'] = true; - $this->privileged = $privileged; - - return $this; - } - - public function getUser(): ?string - { - return $this->user; - } - - public function setUser(?string $user): self - { - $this->initialized['user'] = true; - $this->user = $user; - - return $this; - } - - public function getTty(): ?bool - { - return $this->tty; - } - - public function setTty(?bool $tty): self - { - $this->initialized['tty'] = true; - $this->tty = $tty; - - return $this; - } - - public function getEntrypoint(): ?string - { - return $this->entrypoint; - } - - public function setEntrypoint(?string $entrypoint): self - { - $this->initialized['entrypoint'] = true; - $this->entrypoint = $entrypoint; - - return $this; - } - - /** - * @return list|null - */ - public function getArguments(): ?array - { - return $this->arguments; - } - - /** - * @param list|null $arguments - */ - public function setArguments(?array $arguments): self - { - $this->initialized['arguments'] = true; - $this->arguments = $arguments; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ProgressDetail.php b/app/vendor/beluga-php/docker-php-api/src/Model/ProgressDetail.php deleted file mode 100644 index 615843446..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ProgressDetail.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $current; - /** - * @var int|null - */ - protected $total; - - public function getCurrent(): ?int - { - return $this->current; - } - - public function setCurrent(?int $current): self - { - $this->initialized['current'] = true; - $this->current = $current; - - return $this; - } - - public function getTotal(): ?int - { - return $this->total; - } - - public function setTotal(?int $total): self - { - $this->initialized['total'] = true; - $this->total = $total; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/PushImageInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/PushImageInfo.php deleted file mode 100644 index 662938a20..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/PushImageInfo.php +++ /dev/null @@ -1,86 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $error; - /** - * @var string|null - */ - protected $status; - /** - * @var string|null - */ - protected $progress; - /** - * @var ProgressDetail|null - */ - protected $progressDetail; - - public function getError(): ?string - { - return $this->error; - } - - public function setError(?string $error): self - { - $this->initialized['error'] = true; - $this->error = $error; - - return $this; - } - - public function getStatus(): ?string - { - return $this->status; - } - - public function setStatus(?string $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - public function getProgress(): ?string - { - return $this->progress; - } - - public function setProgress(?string $progress): self - { - $this->initialized['progress'] = true; - $this->progress = $progress; - - return $this; - } - - public function getProgressDetail(): ?ProgressDetail - { - return $this->progressDetail; - } - - public function setProgressDetail(?ProgressDetail $progressDetail): self - { - $this->initialized['progressDetail'] = true; - $this->progressDetail = $progressDetail; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/RegistryServiceConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/RegistryServiceConfig.php deleted file mode 100644 index bda10c0a1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/RegistryServiceConfig.php +++ /dev/null @@ -1,343 +0,0 @@ -initialized); - } - /** - * List of IP ranges to which nondistributable artifacts can be pushed, - * using the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632). - * - * Some images (for example, Windows base images) contain artifacts - * whose distribution is restricted by license. When these images are - * pushed to a registry, restricted artifacts are not included. - * - * This configuration override this behavior, and enables the daemon to - * push nondistributable artifacts to all registries whose resolved IP - * address is within the subnet described by the CIDR syntax. - * - * This option is useful when pushing images containing - * nondistributable artifacts to a registry on an air-gapped network so - * hosts on that network can pull the images without connecting to - * another server. - * - * > **Warning**: Nondistributable artifacts typically have restrictions - * > on how and where they can be distributed and shared. Only use this - * > feature to push artifacts to private registries and ensure that you - * > are in compliance with any terms that cover redistributing - * > nondistributable artifacts. - * - * @var list|null - */ - protected $allowNondistributableArtifactsCIDRs; - /** - * List of registry hostnames to which nondistributable artifacts can be - * pushed, using the format `[:]` or `[:]`. - * - * Some images (for example, Windows base images) contain artifacts - * whose distribution is restricted by license. When these images are - * pushed to a registry, restricted artifacts are not included. - * - * This configuration override this behavior for the specified - * registries. - * - * This option is useful when pushing images containing - * nondistributable artifacts to a registry on an air-gapped network so - * hosts on that network can pull the images without connecting to - * another server. - * - * > **Warning**: Nondistributable artifacts typically have restrictions - * > on how and where they can be distributed and shared. Only use this - * > feature to push artifacts to private registries and ensure that you - * > are in compliance with any terms that cover redistributing - * > nondistributable artifacts. - * - * @var list|null - */ - protected $allowNondistributableArtifactsHostnames; - /** - * List of IP ranges of insecure registries, using the CIDR syntax - * ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries - * accept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates - * from unknown CAs) communication. - * - * By default, local registries (`127.0.0.0/8`) are configured as - * insecure. All other registries are secure. Communicating with an - * insecure registry is not possible if the daemon assumes that registry - * is secure. - * - * This configuration override this behavior, insecure communication with - * registries whose resolved IP address is within the subnet described by - * the CIDR syntax. - * - * Registries can also be marked insecure by hostname. Those registries - * are listed under `IndexConfigs` and have their `Secure` field set to - * `false`. - * - * > **Warning**: Using this option can be useful when running a local - * > registry, but introduces security vulnerabilities. This option - * > should therefore ONLY be used for testing purposes. For increased - * > security, users should add their CA to their system's list of trusted - * > CAs instead of enabling this option. - * - * @var list|null - */ - protected $insecureRegistryCIDRs; - /** - * @var array|null - */ - protected $indexConfigs; - /** - * List of registry URLs that act as a mirror for the official - * (`docker.io`) registry. - * - * @var list|null - */ - protected $mirrors; - - /** - * List of IP ranges to which nondistributable artifacts can be pushed, - * using the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632). - * - * Some images (for example, Windows base images) contain artifacts - * whose distribution is restricted by license. When these images are - * pushed to a registry, restricted artifacts are not included. - * - * This configuration override this behavior, and enables the daemon to - * push nondistributable artifacts to all registries whose resolved IP - * address is within the subnet described by the CIDR syntax. - * - * This option is useful when pushing images containing - * nondistributable artifacts to a registry on an air-gapped network so - * hosts on that network can pull the images without connecting to - * another server. - * - * > **Warning**: Nondistributable artifacts typically have restrictions - * > on how and where they can be distributed and shared. Only use this - * > feature to push artifacts to private registries and ensure that you - * > are in compliance with any terms that cover redistributing - * > nondistributable artifacts. - * - * @return list|null - */ - public function getAllowNondistributableArtifactsCIDRs(): ?array - { - return $this->allowNondistributableArtifactsCIDRs; - } - - /** - * List of IP ranges to which nondistributable artifacts can be pushed, - * using the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632). - * - * Some images (for example, Windows base images) contain artifacts - * whose distribution is restricted by license. When these images are - * pushed to a registry, restricted artifacts are not included. - * - * This configuration override this behavior, and enables the daemon to - * push nondistributable artifacts to all registries whose resolved IP - * address is within the subnet described by the CIDR syntax. - * - * This option is useful when pushing images containing - * nondistributable artifacts to a registry on an air-gapped network so - * hosts on that network can pull the images without connecting to - * another server. - * - * > **Warning**: Nondistributable artifacts typically have restrictions - * > on how and where they can be distributed and shared. Only use this - * > feature to push artifacts to private registries and ensure that you - * > are in compliance with any terms that cover redistributing - * > nondistributable artifacts. - * - * @param list|null $allowNondistributableArtifactsCIDRs - */ - public function setAllowNondistributableArtifactsCIDRs(?array $allowNondistributableArtifactsCIDRs): self - { - $this->initialized['allowNondistributableArtifactsCIDRs'] = true; - $this->allowNondistributableArtifactsCIDRs = $allowNondistributableArtifactsCIDRs; - - return $this; - } - - /** - * List of registry hostnames to which nondistributable artifacts can be - * pushed, using the format `[:]` or `[:]`. - * - * Some images (for example, Windows base images) contain artifacts - * whose distribution is restricted by license. When these images are - * pushed to a registry, restricted artifacts are not included. - * - * This configuration override this behavior for the specified - * registries. - * - * This option is useful when pushing images containing - * nondistributable artifacts to a registry on an air-gapped network so - * hosts on that network can pull the images without connecting to - * another server. - * - * > **Warning**: Nondistributable artifacts typically have restrictions - * > on how and where they can be distributed and shared. Only use this - * > feature to push artifacts to private registries and ensure that you - * > are in compliance with any terms that cover redistributing - * > nondistributable artifacts. - * - * @return list|null - */ - public function getAllowNondistributableArtifactsHostnames(): ?array - { - return $this->allowNondistributableArtifactsHostnames; - } - - /** - * List of registry hostnames to which nondistributable artifacts can be - * pushed, using the format `[:]` or `[:]`. - * - * Some images (for example, Windows base images) contain artifacts - * whose distribution is restricted by license. When these images are - * pushed to a registry, restricted artifacts are not included. - * - * This configuration override this behavior for the specified - * registries. - * - * This option is useful when pushing images containing - * nondistributable artifacts to a registry on an air-gapped network so - * hosts on that network can pull the images without connecting to - * another server. - * - * > **Warning**: Nondistributable artifacts typically have restrictions - * > on how and where they can be distributed and shared. Only use this - * > feature to push artifacts to private registries and ensure that you - * > are in compliance with any terms that cover redistributing - * > nondistributable artifacts. - * - * @param list|null $allowNondistributableArtifactsHostnames - */ - public function setAllowNondistributableArtifactsHostnames(?array $allowNondistributableArtifactsHostnames): self - { - $this->initialized['allowNondistributableArtifactsHostnames'] = true; - $this->allowNondistributableArtifactsHostnames = $allowNondistributableArtifactsHostnames; - - return $this; - } - - /** - * List of IP ranges of insecure registries, using the CIDR syntax - * ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries - * accept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates - * from unknown CAs) communication. - * - * By default, local registries (`127.0.0.0/8`) are configured as - * insecure. All other registries are secure. Communicating with an - * insecure registry is not possible if the daemon assumes that registry - * is secure. - * - * This configuration override this behavior, insecure communication with - * registries whose resolved IP address is within the subnet described by - * the CIDR syntax. - * - * Registries can also be marked insecure by hostname. Those registries - * are listed under `IndexConfigs` and have their `Secure` field set to - * `false`. - * - * > **Warning**: Using this option can be useful when running a local - * > registry, but introduces security vulnerabilities. This option - * > should therefore ONLY be used for testing purposes. For increased - * > security, users should add their CA to their system's list of trusted - * > CAs instead of enabling this option. - * - * @return list|null - */ - public function getInsecureRegistryCIDRs(): ?array - { - return $this->insecureRegistryCIDRs; - } - - /** - * List of IP ranges of insecure registries, using the CIDR syntax - * ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries - * accept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates - * from unknown CAs) communication. - * - * By default, local registries (`127.0.0.0/8`) are configured as - * insecure. All other registries are secure. Communicating with an - * insecure registry is not possible if the daemon assumes that registry - * is secure. - * - * This configuration override this behavior, insecure communication with - * registries whose resolved IP address is within the subnet described by - * the CIDR syntax. - * - * Registries can also be marked insecure by hostname. Those registries - * are listed under `IndexConfigs` and have their `Secure` field set to - * `false`. - * - * > **Warning**: Using this option can be useful when running a local - * > registry, but introduces security vulnerabilities. This option - * > should therefore ONLY be used for testing purposes. For increased - * > security, users should add their CA to their system's list of trusted - * > CAs instead of enabling this option. - * - * @param list|null $insecureRegistryCIDRs - */ - public function setInsecureRegistryCIDRs(?array $insecureRegistryCIDRs): self - { - $this->initialized['insecureRegistryCIDRs'] = true; - $this->insecureRegistryCIDRs = $insecureRegistryCIDRs; - - return $this; - } - - /** - * @return array|null - */ - public function getIndexConfigs(): ?iterable - { - return $this->indexConfigs; - } - - /** - * @param array|null $indexConfigs - */ - public function setIndexConfigs(?iterable $indexConfigs): self - { - $this->initialized['indexConfigs'] = true; - $this->indexConfigs = $indexConfigs; - - return $this; - } - - /** - * List of registry URLs that act as a mirror for the official - * (`docker.io`) registry. - * - * @return list|null - */ - public function getMirrors(): ?array - { - return $this->mirrors; - } - - /** - * List of registry URLs that act as a mirror for the official - * (`docker.io`) registry. - * - * @param list|null $mirrors - */ - public function setMirrors(?array $mirrors): self - { - $this->initialized['mirrors'] = true; - $this->mirrors = $mirrors; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ResourceObject.php b/app/vendor/beluga-php/docker-php-api/src/Model/ResourceObject.php deleted file mode 100644 index b8b1ec65f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ResourceObject.php +++ /dev/null @@ -1,84 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $nanoCPUs; - /** - * @var int|null - */ - protected $memoryBytes; - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @var list|null - */ - protected $genericResources; - - public function getNanoCPUs(): ?int - { - return $this->nanoCPUs; - } - - public function setNanoCPUs(?int $nanoCPUs): self - { - $this->initialized['nanoCPUs'] = true; - $this->nanoCPUs = $nanoCPUs; - - return $this; - } - - public function getMemoryBytes(): ?int - { - return $this->memoryBytes; - } - - public function setMemoryBytes(?int $memoryBytes): self - { - $this->initialized['memoryBytes'] = true; - $this->memoryBytes = $memoryBytes; - - return $this; - } - - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @return list|null - */ - public function getGenericResources(): ?array - { - return $this->genericResources; - } - - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @param list|null $genericResources - */ - public function setGenericResources(?array $genericResources): self - { - $this->initialized['genericResources'] = true; - $this->genericResources = $genericResources; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Resources.php b/app/vendor/beluga-php/docker-php-api/src/Model/Resources.php deleted file mode 100644 index ac83f6c45..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Resources.php +++ /dev/null @@ -1,976 +0,0 @@ -initialized); - } - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - * - * @var int|null - */ - protected $cpuShares; - /** - * Memory limit in bytes. - * - * @var int|null - */ - protected $memory = 0; - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - * - * @var string|null - */ - protected $cgroupParent; - /** - * Block IO weight (relative weight). - * - * @var int|null - */ - protected $blkioWeight; - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @var list|null - */ - protected $blkioWeightDevice; - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceReadBps; - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceWriteBps; - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceReadIOps; - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @var list|null - */ - protected $blkioDeviceWriteIOps; - /** - * The length of a CPU period in microseconds. - * - * @var int|null - */ - protected $cpuPeriod; - /** - * Microseconds of CPU time that the container can get in a CPU period. - * - * @var int|null - */ - protected $cpuQuota; - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - * - * @var int|null - */ - protected $cpuRealtimePeriod; - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - * - * @var int|null - */ - protected $cpuRealtimeRuntime; - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - * - * @var string|null - */ - protected $cpusetCpus; - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - * - * @var string|null - */ - protected $cpusetMems; - /** - * A list of devices to add to the container. - * - * @var list|null - */ - protected $devices; - /** - * a list of cgroup rules to apply to the container. - * - * @var list|null - */ - protected $deviceCgroupRules; - /** - * A list of requests for devices to be sent to device drivers. - * - * @var list|null - */ - protected $deviceRequests; - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - * - * @var int|null - */ - protected $kernelMemoryTCP; - /** - * Memory soft limit in bytes. - * - * @var int|null - */ - protected $memoryReservation; - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - * - * @var int|null - */ - protected $memorySwap; - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - * - * @var int|null - */ - protected $memorySwappiness; - /** - * CPU quota in units of 10-9 CPUs. - * - * @var int|null - */ - protected $nanoCpus; - /** - * Disable OOM Killer for the container. - * - * @var bool|null - */ - protected $oomKillDisable; - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - * - * @var bool|null - */ - protected $init; - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - * - * @var int|null - */ - protected $pidsLimit; - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @var list|null - */ - protected $ulimits; - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - * - * @var int|null - */ - protected $cpuCount; - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - * - * @var int|null - */ - protected $cpuPercent; - /** - * Maximum IOps for the container system drive (Windows only). - * - * @var int|null - */ - protected $iOMaximumIOps; - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - * - * @var int|null - */ - protected $iOMaximumBandwidth; - - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - */ - public function getCpuShares(): ?int - { - return $this->cpuShares; - } - - /** - * An integer value representing this container's relative CPU weight - * versus other containers. - */ - public function setCpuShares(?int $cpuShares): self - { - $this->initialized['cpuShares'] = true; - $this->cpuShares = $cpuShares; - - return $this; - } - - /** - * Memory limit in bytes. - */ - public function getMemory(): ?int - { - return $this->memory; - } - - /** - * Memory limit in bytes. - */ - public function setMemory(?int $memory): self - { - $this->initialized['memory'] = true; - $this->memory = $memory; - - return $this; - } - - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - */ - public function getCgroupParent(): ?string - { - return $this->cgroupParent; - } - - /** - * Path to `cgroups` under which the container's `cgroup` is created. If - * the path is not absolute, the path is considered to be relative to the - * `cgroups` path of the init process. Cgroups are created if they do not - * already exist. - */ - public function setCgroupParent(?string $cgroupParent): self - { - $this->initialized['cgroupParent'] = true; - $this->cgroupParent = $cgroupParent; - - return $this; - } - - /** - * Block IO weight (relative weight). - */ - public function getBlkioWeight(): ?int - { - return $this->blkioWeight; - } - - /** - * Block IO weight (relative weight). - */ - public function setBlkioWeight(?int $blkioWeight): self - { - $this->initialized['blkioWeight'] = true; - $this->blkioWeight = $blkioWeight; - - return $this; - } - - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @return list|null - */ - public function getBlkioWeightDevice(): ?array - { - return $this->blkioWeightDevice; - } - - /** - * Block IO weight (relative device weight) in the form: - * - * ``` - * [{"Path": "device_path", "Weight": weight}] - * ``` - * - * @param list|null $blkioWeightDevice - */ - public function setBlkioWeightDevice(?array $blkioWeightDevice): self - { - $this->initialized['blkioWeightDevice'] = true; - $this->blkioWeightDevice = $blkioWeightDevice; - - return $this; - } - - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceReadBps(): ?array - { - return $this->blkioDeviceReadBps; - } - - /** - * Limit read rate (bytes per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceReadBps - */ - public function setBlkioDeviceReadBps(?array $blkioDeviceReadBps): self - { - $this->initialized['blkioDeviceReadBps'] = true; - $this->blkioDeviceReadBps = $blkioDeviceReadBps; - - return $this; - } - - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceWriteBps(): ?array - { - return $this->blkioDeviceWriteBps; - } - - /** - * Limit write rate (bytes per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceWriteBps - */ - public function setBlkioDeviceWriteBps(?array $blkioDeviceWriteBps): self - { - $this->initialized['blkioDeviceWriteBps'] = true; - $this->blkioDeviceWriteBps = $blkioDeviceWriteBps; - - return $this; - } - - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceReadIOps(): ?array - { - return $this->blkioDeviceReadIOps; - } - - /** - * Limit read rate (IO per second) from a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceReadIOps - */ - public function setBlkioDeviceReadIOps(?array $blkioDeviceReadIOps): self - { - $this->initialized['blkioDeviceReadIOps'] = true; - $this->blkioDeviceReadIOps = $blkioDeviceReadIOps; - - return $this; - } - - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @return list|null - */ - public function getBlkioDeviceWriteIOps(): ?array - { - return $this->blkioDeviceWriteIOps; - } - - /** - * Limit write rate (IO per second) to a device, in the form: - * - * ``` - * [{"Path": "device_path", "Rate": rate}] - * ``` - * - * @param list|null $blkioDeviceWriteIOps - */ - public function setBlkioDeviceWriteIOps(?array $blkioDeviceWriteIOps): self - { - $this->initialized['blkioDeviceWriteIOps'] = true; - $this->blkioDeviceWriteIOps = $blkioDeviceWriteIOps; - - return $this; - } - - /** - * The length of a CPU period in microseconds. - */ - public function getCpuPeriod(): ?int - { - return $this->cpuPeriod; - } - - /** - * The length of a CPU period in microseconds. - */ - public function setCpuPeriod(?int $cpuPeriod): self - { - $this->initialized['cpuPeriod'] = true; - $this->cpuPeriod = $cpuPeriod; - - return $this; - } - - /** - * Microseconds of CPU time that the container can get in a CPU period. - */ - public function getCpuQuota(): ?int - { - return $this->cpuQuota; - } - - /** - * Microseconds of CPU time that the container can get in a CPU period. - */ - public function setCpuQuota(?int $cpuQuota): self - { - $this->initialized['cpuQuota'] = true; - $this->cpuQuota = $cpuQuota; - - return $this; - } - - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function getCpuRealtimePeriod(): ?int - { - return $this->cpuRealtimePeriod; - } - - /** - * The length of a CPU real-time period in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function setCpuRealtimePeriod(?int $cpuRealtimePeriod): self - { - $this->initialized['cpuRealtimePeriod'] = true; - $this->cpuRealtimePeriod = $cpuRealtimePeriod; - - return $this; - } - - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function getCpuRealtimeRuntime(): ?int - { - return $this->cpuRealtimeRuntime; - } - - /** - * The length of a CPU real-time runtime in microseconds. Set to 0 to - * allocate no time allocated to real-time tasks. - */ - public function setCpuRealtimeRuntime(?int $cpuRealtimeRuntime): self - { - $this->initialized['cpuRealtimeRuntime'] = true; - $this->cpuRealtimeRuntime = $cpuRealtimeRuntime; - - return $this; - } - - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - */ - public function getCpusetCpus(): ?string - { - return $this->cpusetCpus; - } - - /** - * CPUs in which to allow execution (e.g., `0-3`, `0,1`). - */ - public function setCpusetCpus(?string $cpusetCpus): self - { - $this->initialized['cpusetCpus'] = true; - $this->cpusetCpus = $cpusetCpus; - - return $this; - } - - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - */ - public function getCpusetMems(): ?string - { - return $this->cpusetMems; - } - - /** - * Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only - * effective on NUMA systems. - */ - public function setCpusetMems(?string $cpusetMems): self - { - $this->initialized['cpusetMems'] = true; - $this->cpusetMems = $cpusetMems; - - return $this; - } - - /** - * A list of devices to add to the container. - * - * @return list|null - */ - public function getDevices(): ?array - { - return $this->devices; - } - - /** - * A list of devices to add to the container. - * - * @param list|null $devices - */ - public function setDevices(?array $devices): self - { - $this->initialized['devices'] = true; - $this->devices = $devices; - - return $this; - } - - /** - * a list of cgroup rules to apply to the container. - * - * @return list|null - */ - public function getDeviceCgroupRules(): ?array - { - return $this->deviceCgroupRules; - } - - /** - * a list of cgroup rules to apply to the container. - * - * @param list|null $deviceCgroupRules - */ - public function setDeviceCgroupRules(?array $deviceCgroupRules): self - { - $this->initialized['deviceCgroupRules'] = true; - $this->deviceCgroupRules = $deviceCgroupRules; - - return $this; - } - - /** - * A list of requests for devices to be sent to device drivers. - * - * @return list|null - */ - public function getDeviceRequests(): ?array - { - return $this->deviceRequests; - } - - /** - * A list of requests for devices to be sent to device drivers. - * - * @param list|null $deviceRequests - */ - public function setDeviceRequests(?array $deviceRequests): self - { - $this->initialized['deviceRequests'] = true; - $this->deviceRequests = $deviceRequests; - - return $this; - } - - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - */ - public function getKernelMemoryTCP(): ?int - { - return $this->kernelMemoryTCP; - } - - /** - * Hard limit for kernel TCP buffer memory (in bytes). Depending on the - * OCI runtime in use, this option may be ignored. It is no longer supported - * by the default (runc) runtime. - * - * This field is omitted when empty. - */ - public function setKernelMemoryTCP(?int $kernelMemoryTCP): self - { - $this->initialized['kernelMemoryTCP'] = true; - $this->kernelMemoryTCP = $kernelMemoryTCP; - - return $this; - } - - /** - * Memory soft limit in bytes. - */ - public function getMemoryReservation(): ?int - { - return $this->memoryReservation; - } - - /** - * Memory soft limit in bytes. - */ - public function setMemoryReservation(?int $memoryReservation): self - { - $this->initialized['memoryReservation'] = true; - $this->memoryReservation = $memoryReservation; - - return $this; - } - - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - */ - public function getMemorySwap(): ?int - { - return $this->memorySwap; - } - - /** - * Total memory limit (memory + swap). Set as `-1` to enable unlimited - * swap. - */ - public function setMemorySwap(?int $memorySwap): self - { - $this->initialized['memorySwap'] = true; - $this->memorySwap = $memorySwap; - - return $this; - } - - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - */ - public function getMemorySwappiness(): ?int - { - return $this->memorySwappiness; - } - - /** - * Tune a container's memory swappiness behavior. Accepts an integer - * between 0 and 100. - */ - public function setMemorySwappiness(?int $memorySwappiness): self - { - $this->initialized['memorySwappiness'] = true; - $this->memorySwappiness = $memorySwappiness; - - return $this; - } - - /** - * CPU quota in units of 10-9 CPUs. - */ - public function getNanoCpus(): ?int - { - return $this->nanoCpus; - } - - /** - * CPU quota in units of 10-9 CPUs. - */ - public function setNanoCpus(?int $nanoCpus): self - { - $this->initialized['nanoCpus'] = true; - $this->nanoCpus = $nanoCpus; - - return $this; - } - - /** - * Disable OOM Killer for the container. - */ - public function getOomKillDisable(): ?bool - { - return $this->oomKillDisable; - } - - /** - * Disable OOM Killer for the container. - */ - public function setOomKillDisable(?bool $oomKillDisable): self - { - $this->initialized['oomKillDisable'] = true; - $this->oomKillDisable = $oomKillDisable; - - return $this; - } - - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - */ - public function getInit(): ?bool - { - return $this->init; - } - - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - */ - public function setInit(?bool $init): self - { - $this->initialized['init'] = true; - $this->init = $init; - - return $this; - } - - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - */ - public function getPidsLimit(): ?int - { - return $this->pidsLimit; - } - - /** - * Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` - * to not change. - */ - public function setPidsLimit(?int $pidsLimit): self - { - $this->initialized['pidsLimit'] = true; - $this->pidsLimit = $pidsLimit; - - return $this; - } - - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @return list|null - */ - public function getUlimits(): ?array - { - return $this->ulimits; - } - - /** - * A list of resource limits to set in the container. For example: - * - * ``` - * {"Name": "nofile", "Soft": 1024, "Hard": 2048} - * ``` - * - * @param list|null $ulimits - */ - public function setUlimits(?array $ulimits): self - { - $this->initialized['ulimits'] = true; - $this->ulimits = $ulimits; - - return $this; - } - - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function getCpuCount(): ?int - { - return $this->cpuCount; - } - - /** - * The number of usable CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function setCpuCount(?int $cpuCount): self - { - $this->initialized['cpuCount'] = true; - $this->cpuCount = $cpuCount; - - return $this; - } - - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function getCpuPercent(): ?int - { - return $this->cpuPercent; - } - - /** - * The usable percentage of the available CPUs (Windows only). - * - * On Windows Server containers, the processor resource controls are - * mutually exclusive. The order of precedence is `CPUCount` first, then - * `CPUShares`, and `CPUPercent` last. - */ - public function setCpuPercent(?int $cpuPercent): self - { - $this->initialized['cpuPercent'] = true; - $this->cpuPercent = $cpuPercent; - - return $this; - } - - /** - * Maximum IOps for the container system drive (Windows only). - */ - public function getIOMaximumIOps(): ?int - { - return $this->iOMaximumIOps; - } - - /** - * Maximum IOps for the container system drive (Windows only). - */ - public function setIOMaximumIOps(?int $iOMaximumIOps): self - { - $this->initialized['iOMaximumIOps'] = true; - $this->iOMaximumIOps = $iOMaximumIOps; - - return $this; - } - - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - */ - public function getIOMaximumBandwidth(): ?int - { - return $this->iOMaximumBandwidth; - } - - /** - * Maximum IO in bytes per second for the container system drive - * (Windows only). - */ - public function setIOMaximumBandwidth(?int $iOMaximumBandwidth): self - { - $this->initialized['iOMaximumBandwidth'] = true; - $this->iOMaximumBandwidth = $iOMaximumBandwidth; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ResourcesBlkioWeightDeviceItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/ResourcesBlkioWeightDeviceItem.php deleted file mode 100644 index 9cfccfe3b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ResourcesBlkioWeightDeviceItem.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $path; - /** - * @var int|null - */ - protected $weight; - - public function getPath(): ?string - { - return $this->path; - } - - public function setPath(?string $path): self - { - $this->initialized['path'] = true; - $this->path = $path; - - return $this; - } - - public function getWeight(): ?int - { - return $this->weight; - } - - public function setWeight(?int $weight): self - { - $this->initialized['weight'] = true; - $this->weight = $weight; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ResourcesUlimitsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/ResourcesUlimitsItem.php deleted file mode 100644 index c457dc253..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ResourcesUlimitsItem.php +++ /dev/null @@ -1,93 +0,0 @@ -initialized); - } - /** - * Name of ulimit. - * - * @var string|null - */ - protected $name; - /** - * Soft limit. - * - * @var int|null - */ - protected $soft; - /** - * Hard limit. - * - * @var int|null - */ - protected $hard; - - /** - * Name of ulimit. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of ulimit. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Soft limit. - */ - public function getSoft(): ?int - { - return $this->soft; - } - - /** - * Soft limit. - */ - public function setSoft(?int $soft): self - { - $this->initialized['soft'] = true; - $this->soft = $soft; - - return $this; - } - - /** - * Hard limit. - */ - public function getHard(): ?int - { - return $this->hard; - } - - /** - * Hard limit. - */ - public function setHard(?int $hard): self - { - $this->initialized['hard'] = true; - $this->hard = $hard; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/RestartPolicy.php b/app/vendor/beluga-php/docker-php-api/src/Model/RestartPolicy.php deleted file mode 100644 index f77a821dc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/RestartPolicy.php +++ /dev/null @@ -1,80 +0,0 @@ -initialized); - } - /** - * - Empty string means not to restart - * - `no` Do not automatically restart - * - `always` Always restart - * - `unless-stopped` Restart always except when the user has manually stopped the container - * - `on-failure` Restart only when the container exit code is non-zero. - * - * @var string|null - */ - protected $name; - /** - * If `on-failure` is used, the number of times to retry before giving up. - * - * @var int|null - */ - protected $maximumRetryCount; - - /** - * - Empty string means not to restart - * - `no` Do not automatically restart - * - `always` Always restart - * - `unless-stopped` Restart always except when the user has manually stopped the container - * - `on-failure` Restart only when the container exit code is non-zero. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * - Empty string means not to restart - * - `no` Do not automatically restart - * - `always` Always restart - * - `unless-stopped` Restart always except when the user has manually stopped the container - * - `on-failure` Restart only when the container exit code is non-zero. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * If `on-failure` is used, the number of times to retry before giving up. - */ - public function getMaximumRetryCount(): ?int - { - return $this->maximumRetryCount; - } - - /** - * If `on-failure` is used, the number of times to retry before giving up. - */ - public function setMaximumRetryCount(?int $maximumRetryCount): self - { - $this->initialized['maximumRetryCount'] = true; - $this->maximumRetryCount = $maximumRetryCount; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Runtime.php b/app/vendor/beluga-php/docker-php-api/src/Model/Runtime.php deleted file mode 100644 index 3def6b74b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Runtime.php +++ /dev/null @@ -1,149 +0,0 @@ -initialized); - } - /** - * Name and, optional, path, of the OCI executable binary. - * - * If the path is omitted, the daemon searches the host's `$PATH` for the - * binary and uses the first result. - * - * @var string|null - */ - protected $path; - /** - * List of command-line arguments to pass to the runtime when invoked. - * - * @var list|null - */ - protected $runtimeArgs; - /** - * Information specific to the runtime. - * - * While this API specification does not define data provided by runtimes, - * the following well-known properties may be provided by runtimes: - * - * `org.opencontainers.runtime-spec.features`: features structure as defined - * in the [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/main/features.md), - * in a JSON string representation. - * - *


- * - * > **Note**: The information returned in this field, including the - * > formatting of values and labels, should not be considered stable, - * > and may change without notice. - * - * @var array|null - */ - protected $status; - - /** - * Name and, optional, path, of the OCI executable binary. - * - * If the path is omitted, the daemon searches the host's `$PATH` for the - * binary and uses the first result. - */ - public function getPath(): ?string - { - return $this->path; - } - - /** - * Name and, optional, path, of the OCI executable binary. - * - * If the path is omitted, the daemon searches the host's `$PATH` for the - * binary and uses the first result. - */ - public function setPath(?string $path): self - { - $this->initialized['path'] = true; - $this->path = $path; - - return $this; - } - - /** - * List of command-line arguments to pass to the runtime when invoked. - * - * @return list|null - */ - public function getRuntimeArgs(): ?array - { - return $this->runtimeArgs; - } - - /** - * List of command-line arguments to pass to the runtime when invoked. - * - * @param list|null $runtimeArgs - */ - public function setRuntimeArgs(?array $runtimeArgs): self - { - $this->initialized['runtimeArgs'] = true; - $this->runtimeArgs = $runtimeArgs; - - return $this; - } - - /** - * Information specific to the runtime. - * - * While this API specification does not define data provided by runtimes, - * the following well-known properties may be provided by runtimes: - * - * `org.opencontainers.runtime-spec.features`: features structure as defined - * in the [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/main/features.md), - * in a JSON string representation. - * - *


- * - * > **Note**: The information returned in this field, including the - * > formatting of values and labels, should not be considered stable, - * > and may change without notice. - * - * @return array|null - */ - public function getStatus(): ?iterable - { - return $this->status; - } - - /** - * Information specific to the runtime. - * - * While this API specification does not define data provided by runtimes, - * the following well-known properties may be provided by runtimes: - * - * `org.opencontainers.runtime-spec.features`: features structure as defined - * in the [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/main/features.md), - * in a JSON string representation. - * - *


- * - * > **Note**: The information returned in this field, including the - * > formatting of values and labels, should not be considered stable, - * > and may change without notice. - * - * @param array|null $status - */ - public function setStatus(?iterable $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Secret.php b/app/vendor/beluga-php/docker-php-api/src/Model/Secret.php deleted file mode 100644 index 6cb7d8b23..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Secret.php +++ /dev/null @@ -1,138 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $iD; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $version; - /** - * @var string|null - */ - protected $createdAt; - /** - * @var string|null - */ - protected $updatedAt; - /** - * @var SecretSpec|null - */ - protected $spec; - - public function getID(): ?string - { - return $this->iD; - } - - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getVersion(): ?ObjectVersion - { - return $this->version; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setVersion(?ObjectVersion $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - public function getUpdatedAt(): ?string - { - return $this->updatedAt; - } - - public function setUpdatedAt(?string $updatedAt): self - { - $this->initialized['updatedAt'] = true; - $this->updatedAt = $updatedAt; - - return $this; - } - - public function getSpec(): ?SecretSpec - { - return $this->spec; - } - - public function setSpec(?SecretSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SecretSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/SecretSpec.php deleted file mode 100644 index 324ef660b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SecretSpec.php +++ /dev/null @@ -1,159 +0,0 @@ -initialized); - } - /** - * User-defined name of the secret. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * data to store as secret. - * - * This field is only used to _create_ a secret, and is not returned by - * other endpoints. - * - * @var string|null - */ - protected $data; - /** - * Driver represents a driver (network, logging, secrets). - * - * @var Driver|null - */ - protected $driver; - /** - * Driver represents a driver (network, logging, secrets). - * - * @var Driver|null - */ - protected $templating; - - /** - * User-defined name of the secret. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * User-defined name of the secret. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * data to store as secret. - * - * This field is only used to _create_ a secret, and is not returned by - * other endpoints. - */ - public function getData(): ?string - { - return $this->data; - } - - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * data to store as secret. - * - * This field is only used to _create_ a secret, and is not returned by - * other endpoints. - */ - public function setData(?string $data): self - { - $this->initialized['data'] = true; - $this->data = $data; - - return $this; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function getDriver(): ?Driver - { - return $this->driver; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function setDriver(?Driver $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function getTemplating(): ?Driver - { - return $this->templating; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function setTemplating(?Driver $templating): self - { - $this->initialized['templating'] = true; - $this->templating = $templating; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SecretsCreatePostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/SecretsCreatePostBody.php deleted file mode 100644 index 2545eecd1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SecretsCreatePostBody.php +++ /dev/null @@ -1,159 +0,0 @@ -initialized); - } - /** - * User-defined name of the secret. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * data to store as secret. - * - * This field is only used to _create_ a secret, and is not returned by - * other endpoints. - * - * @var string|null - */ - protected $data; - /** - * Driver represents a driver (network, logging, secrets). - * - * @var Driver|null - */ - protected $driver; - /** - * Driver represents a driver (network, logging, secrets). - * - * @var Driver|null - */ - protected $templating; - - /** - * User-defined name of the secret. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * User-defined name of the secret. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * data to store as secret. - * - * This field is only used to _create_ a secret, and is not returned by - * other endpoints. - */ - public function getData(): ?string - { - return $this->data; - } - - /** - * Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5)) - * data to store as secret. - * - * This field is only used to _create_ a secret, and is not returned by - * other endpoints. - */ - public function setData(?string $data): self - { - $this->initialized['data'] = true; - $this->data = $data; - - return $this; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function getDriver(): ?Driver - { - return $this->driver; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function setDriver(?Driver $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function getTemplating(): ?Driver - { - return $this->templating; - } - - /** - * Driver represents a driver (network, logging, secrets). - */ - public function setTemplating(?Driver $templating): self - { - $this->initialized['templating'] = true; - $this->templating = $templating; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Service.php b/app/vendor/beluga-php/docker-php-api/src/Model/Service.php deleted file mode 100644 index 334cb307d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Service.php +++ /dev/null @@ -1,250 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $iD; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $version; - /** - * @var string|null - */ - protected $createdAt; - /** - * @var string|null - */ - protected $updatedAt; - /** - * User modifiable configuration for a service. - * - * @var ServiceSpec|null - */ - protected $spec; - /** - * @var ServiceEndpoint|null - */ - protected $endpoint; - /** - * The status of a service update. - * - * @var ServiceUpdateStatus|null - */ - protected $updateStatus; - /** - * The status of the service's tasks. Provided only when requested as - * part of a ServiceList operation. - * - * @var ServiceServiceStatus|null - */ - protected $serviceStatus; - /** - * The status of the service when it is in one of ReplicatedJob or - * GlobalJob modes. Absent on Replicated and Global mode services. The - * JobIteration is an ObjectVersion, but unlike the Service's version, - * does not need to be sent with an update request. - * - * @var ServiceJobStatus|null - */ - protected $jobStatus; - - public function getID(): ?string - { - return $this->iD; - } - - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getVersion(): ?ObjectVersion - { - return $this->version; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setVersion(?ObjectVersion $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - public function getUpdatedAt(): ?string - { - return $this->updatedAt; - } - - public function setUpdatedAt(?string $updatedAt): self - { - $this->initialized['updatedAt'] = true; - $this->updatedAt = $updatedAt; - - return $this; - } - - /** - * User modifiable configuration for a service. - */ - public function getSpec(): ?ServiceSpec - { - return $this->spec; - } - - /** - * User modifiable configuration for a service. - */ - public function setSpec(?ServiceSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } - - public function getEndpoint(): ?ServiceEndpoint - { - return $this->endpoint; - } - - public function setEndpoint(?ServiceEndpoint $endpoint): self - { - $this->initialized['endpoint'] = true; - $this->endpoint = $endpoint; - - return $this; - } - - /** - * The status of a service update. - */ - public function getUpdateStatus(): ?ServiceUpdateStatus - { - return $this->updateStatus; - } - - /** - * The status of a service update. - */ - public function setUpdateStatus(?ServiceUpdateStatus $updateStatus): self - { - $this->initialized['updateStatus'] = true; - $this->updateStatus = $updateStatus; - - return $this; - } - - /** - * The status of the service's tasks. Provided only when requested as - * part of a ServiceList operation. - */ - public function getServiceStatus(): ?ServiceServiceStatus - { - return $this->serviceStatus; - } - - /** - * The status of the service's tasks. Provided only when requested as - * part of a ServiceList operation. - */ - public function setServiceStatus(?ServiceServiceStatus $serviceStatus): self - { - $this->initialized['serviceStatus'] = true; - $this->serviceStatus = $serviceStatus; - - return $this; - } - - /** - * The status of the service when it is in one of ReplicatedJob or - * GlobalJob modes. Absent on Replicated and Global mode services. The - * JobIteration is an ObjectVersion, but unlike the Service's version, - * does not need to be sent with an update request. - */ - public function getJobStatus(): ?ServiceJobStatus - { - return $this->jobStatus; - } - - /** - * The status of the service when it is in one of ReplicatedJob or - * GlobalJob modes. Absent on Replicated and Global mode services. The - * JobIteration is an ObjectVersion, but unlike the Service's version, - * does not need to be sent with an update request. - */ - public function setJobStatus(?ServiceJobStatus $jobStatus): self - { - $this->initialized['jobStatus'] = true; - $this->jobStatus = $jobStatus; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceCreateResponse.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceCreateResponse.php deleted file mode 100644 index ed60b267f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceCreateResponse.php +++ /dev/null @@ -1,78 +0,0 @@ -initialized); - } - /** - * The ID of the created service. - * - * @var string|null - */ - protected $iD; - /** - * Optional warning message. - * - * FIXME(thaJeztah): this should have "omitempty" in the generated type. - * - * @var list|null - */ - protected $warnings; - - /** - * The ID of the created service. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * The ID of the created service. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * Optional warning message. - * - * FIXME(thaJeztah): this should have "omitempty" in the generated type. - * - * @return list|null - */ - public function getWarnings(): ?array - { - return $this->warnings; - } - - /** - * Optional warning message. - * - * FIXME(thaJeztah): this should have "omitempty" in the generated type. - * - * @param list|null $warnings - */ - public function setWarnings(?array $warnings): self - { - $this->initialized['warnings'] = true; - $this->warnings = $warnings; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceEndpoint.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceEndpoint.php deleted file mode 100644 index 0c070487a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceEndpoint.php +++ /dev/null @@ -1,89 +0,0 @@ -initialized); - } - /** - * Properties that can be configured to access and load balance a service. - * - * @var EndpointSpec|null - */ - protected $spec; - /** - * @var list|null - */ - protected $ports; - /** - * @var list|null - */ - protected $virtualIPs; - - /** - * Properties that can be configured to access and load balance a service. - */ - public function getSpec(): ?EndpointSpec - { - return $this->spec; - } - - /** - * Properties that can be configured to access and load balance a service. - */ - public function setSpec(?EndpointSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } - - /** - * @return list|null - */ - public function getPorts(): ?array - { - return $this->ports; - } - - /** - * @param list|null $ports - */ - public function setPorts(?array $ports): self - { - $this->initialized['ports'] = true; - $this->ports = $ports; - - return $this; - } - - /** - * @return list|null - */ - public function getVirtualIPs(): ?array - { - return $this->virtualIPs; - } - - /** - * @param list|null $virtualIPs - */ - public function setVirtualIPs(?array $virtualIPs): self - { - $this->initialized['virtualIPs'] = true; - $this->virtualIPs = $virtualIPs; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceEndpointVirtualIPsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceEndpointVirtualIPsItem.php deleted file mode 100644 index 6b8c510b7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceEndpointVirtualIPsItem.php +++ /dev/null @@ -1,52 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $networkID; - /** - * @var string|null - */ - protected $addr; - - public function getNetworkID(): ?string - { - return $this->networkID; - } - - public function setNetworkID(?string $networkID): self - { - $this->initialized['networkID'] = true; - $this->networkID = $networkID; - - return $this; - } - - public function getAddr(): ?string - { - return $this->addr; - } - - public function setAddr(?string $addr): self - { - $this->initialized['addr'] = true; - $this->addr = $addr; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceJobStatus.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceJobStatus.php deleted file mode 100644 index f77d6e55e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceJobStatus.php +++ /dev/null @@ -1,98 +0,0 @@ -initialized); - } - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $jobIteration; - /** - * The last time, as observed by the server, that this job was - * started. - * - * @var string|null - */ - protected $lastExecution; - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getJobIteration(): ?ObjectVersion - { - return $this->jobIteration; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setJobIteration(?ObjectVersion $jobIteration): self - { - $this->initialized['jobIteration'] = true; - $this->jobIteration = $jobIteration; - - return $this; - } - - /** - * The last time, as observed by the server, that this job was - * started. - */ - public function getLastExecution(): ?string - { - return $this->lastExecution; - } - - /** - * The last time, as observed by the server, that this job was - * started. - */ - public function setLastExecution(?string $lastExecution): self - { - $this->initialized['lastExecution'] = true; - $this->lastExecution = $lastExecution; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceServiceStatus.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceServiceStatus.php deleted file mode 100644 index dd4641062..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceServiceStatus.php +++ /dev/null @@ -1,114 +0,0 @@ -initialized); - } - /** - * The number of tasks for the service currently in the Running state. - * - * @var int|null - */ - protected $runningTasks; - /** - * The number of tasks for the service desired to be running. - * For replicated services, this is the replica count from the - * service spec. For global services, this is computed by taking - * count of all tasks for the service with a Desired State other - * than Shutdown. - * - * @var int|null - */ - protected $desiredTasks; - /** - * The number of tasks for a job that are in the Completed state. - * This field must be cross-referenced with the service type, as the - * value of 0 may mean the service is not in a job mode, or it may - * mean the job-mode service has no tasks yet Completed. - * - * @var int|null - */ - protected $completedTasks; - - /** - * The number of tasks for the service currently in the Running state. - */ - public function getRunningTasks(): ?int - { - return $this->runningTasks; - } - - /** - * The number of tasks for the service currently in the Running state. - */ - public function setRunningTasks(?int $runningTasks): self - { - $this->initialized['runningTasks'] = true; - $this->runningTasks = $runningTasks; - - return $this; - } - - /** - * The number of tasks for the service desired to be running. - * For replicated services, this is the replica count from the - * service spec. For global services, this is computed by taking - * count of all tasks for the service with a Desired State other - * than Shutdown. - */ - public function getDesiredTasks(): ?int - { - return $this->desiredTasks; - } - - /** - * The number of tasks for the service desired to be running. - * For replicated services, this is the replica count from the - * service spec. For global services, this is computed by taking - * count of all tasks for the service with a Desired State other - * than Shutdown. - */ - public function setDesiredTasks(?int $desiredTasks): self - { - $this->initialized['desiredTasks'] = true; - $this->desiredTasks = $desiredTasks; - - return $this; - } - - /** - * The number of tasks for a job that are in the Completed state. - * This field must be cross-referenced with the service type, as the - * value of 0 may mean the service is not in a job mode, or it may - * mean the job-mode service has no tasks yet Completed. - */ - public function getCompletedTasks(): ?int - { - return $this->completedTasks; - } - - /** - * The number of tasks for a job that are in the Completed state. - * This field must be cross-referenced with the service type, as the - * value of 0 may mean the service is not in a job mode, or it may - * mean the job-mode service has no tasks yet Completed. - */ - public function setCompletedTasks(?int $completedTasks): self - { - $this->initialized['completedTasks'] = true; - $this->completedTasks = $completedTasks; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpec.php deleted file mode 100644 index 0c09c857c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpec.php +++ /dev/null @@ -1,232 +0,0 @@ -initialized); - } - /** - * Name of the service. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * User modifiable task configuration. - * - * @var TaskSpec|null - */ - protected $taskTemplate; - /** - * Scheduling mode for the service. - * - * @var ServiceSpecMode|null - */ - protected $mode; - /** - * Specification for the update strategy of the service. - * - * @var ServiceSpecUpdateConfig|null - */ - protected $updateConfig; - /** - * Specification for the rollback strategy of the service. - * - * @var ServiceSpecRollbackConfig|null - */ - protected $rollbackConfig; - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @var list|null - */ - protected $networks; - /** - * Properties that can be configured to access and load balance a service. - * - * @var EndpointSpec|null - */ - protected $endpointSpec; - - /** - * Name of the service. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the service. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * User modifiable task configuration. - */ - public function getTaskTemplate(): ?TaskSpec - { - return $this->taskTemplate; - } - - /** - * User modifiable task configuration. - */ - public function setTaskTemplate(?TaskSpec $taskTemplate): self - { - $this->initialized['taskTemplate'] = true; - $this->taskTemplate = $taskTemplate; - - return $this; - } - - /** - * Scheduling mode for the service. - */ - public function getMode(): ?ServiceSpecMode - { - return $this->mode; - } - - /** - * Scheduling mode for the service. - */ - public function setMode(?ServiceSpecMode $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } - - /** - * Specification for the update strategy of the service. - */ - public function getUpdateConfig(): ?ServiceSpecUpdateConfig - { - return $this->updateConfig; - } - - /** - * Specification for the update strategy of the service. - */ - public function setUpdateConfig(?ServiceSpecUpdateConfig $updateConfig): self - { - $this->initialized['updateConfig'] = true; - $this->updateConfig = $updateConfig; - - return $this; - } - - /** - * Specification for the rollback strategy of the service. - */ - public function getRollbackConfig(): ?ServiceSpecRollbackConfig - { - return $this->rollbackConfig; - } - - /** - * Specification for the rollback strategy of the service. - */ - public function setRollbackConfig(?ServiceSpecRollbackConfig $rollbackConfig): self - { - $this->initialized['rollbackConfig'] = true; - $this->rollbackConfig = $rollbackConfig; - - return $this; - } - - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @return list|null - */ - public function getNetworks(): ?array - { - return $this->networks; - } - - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @param list|null $networks - */ - public function setNetworks(?array $networks): self - { - $this->initialized['networks'] = true; - $this->networks = $networks; - - return $this; - } - - /** - * Properties that can be configured to access and load balance a service. - */ - public function getEndpointSpec(): ?EndpointSpec - { - return $this->endpointSpec; - } - - /** - * Properties that can be configured to access and load balance a service. - */ - public function setEndpointSpec(?EndpointSpec $endpointSpec): self - { - $this->initialized['endpointSpec'] = true; - $this->endpointSpec = $endpointSpec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecMode.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecMode.php deleted file mode 100644 index 72a8185b9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecMode.php +++ /dev/null @@ -1,108 +0,0 @@ -initialized); - } - /** - * @var ServiceSpecModeReplicated|null - */ - protected $replicated; - /** - * @var ServiceSpecModeGlobal|null - */ - protected $global; - /** - * The mode used for services with a finite number of tasks that run - * to a completed state. - * - * @var ServiceSpecModeReplicatedJob|null - */ - protected $replicatedJob; - /** - * The mode used for services which run a task to the completed state - * on each valid node. - * - * @var ServiceSpecModeGlobalJob|null - */ - protected $globalJob; - - public function getReplicated(): ?ServiceSpecModeReplicated - { - return $this->replicated; - } - - public function setReplicated(?ServiceSpecModeReplicated $replicated): self - { - $this->initialized['replicated'] = true; - $this->replicated = $replicated; - - return $this; - } - - public function getGlobal(): ?ServiceSpecModeGlobal - { - return $this->global; - } - - public function setGlobal(?ServiceSpecModeGlobal $global): self - { - $this->initialized['global'] = true; - $this->global = $global; - - return $this; - } - - /** - * The mode used for services with a finite number of tasks that run - * to a completed state. - */ - public function getReplicatedJob(): ?ServiceSpecModeReplicatedJob - { - return $this->replicatedJob; - } - - /** - * The mode used for services with a finite number of tasks that run - * to a completed state. - */ - public function setReplicatedJob(?ServiceSpecModeReplicatedJob $replicatedJob): self - { - $this->initialized['replicatedJob'] = true; - $this->replicatedJob = $replicatedJob; - - return $this; - } - - /** - * The mode used for services which run a task to the completed state - * on each valid node. - */ - public function getGlobalJob(): ?ServiceSpecModeGlobalJob - { - return $this->globalJob; - } - - /** - * The mode used for services which run a task to the completed state - * on each valid node. - */ - public function setGlobalJob(?ServiceSpecModeGlobalJob $globalJob): self - { - $this->initialized['globalJob'] = true; - $this->globalJob = $globalJob; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeGlobal.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeGlobal.php deleted file mode 100644 index d1089e36f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeGlobal.php +++ /dev/null @@ -1,18 +0,0 @@ -initialized); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeGlobalJob.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeGlobalJob.php deleted file mode 100644 index 33932becb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeGlobalJob.php +++ /dev/null @@ -1,18 +0,0 @@ -initialized); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeReplicated.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeReplicated.php deleted file mode 100644 index 7a25296d1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeReplicated.php +++ /dev/null @@ -1,35 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $replicas; - - public function getReplicas(): ?int - { - return $this->replicas; - } - - public function setReplicas(?int $replicas): self - { - $this->initialized['replicas'] = true; - $this->replicas = $replicas; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeReplicatedJob.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeReplicatedJob.php deleted file mode 100644 index f0642655b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecModeReplicatedJob.php +++ /dev/null @@ -1,71 +0,0 @@ -initialized); - } - /** - * The maximum number of replicas to run simultaneously. - * - * @var int|null - */ - protected $maxConcurrent = 1; - /** - * The total number of replicas desired to reach the Completed - * state. If unset, will default to the value of `MaxConcurrent`. - * - * @var int|null - */ - protected $totalCompletions; - - /** - * The maximum number of replicas to run simultaneously. - */ - public function getMaxConcurrent(): ?int - { - return $this->maxConcurrent; - } - - /** - * The maximum number of replicas to run simultaneously. - */ - public function setMaxConcurrent(?int $maxConcurrent): self - { - $this->initialized['maxConcurrent'] = true; - $this->maxConcurrent = $maxConcurrent; - - return $this; - } - - /** - * The total number of replicas desired to reach the Completed - * state. If unset, will default to the value of `MaxConcurrent`. - */ - public function getTotalCompletions(): ?int - { - return $this->totalCompletions; - } - - /** - * The total number of replicas desired to reach the Completed - * state. If unset, will default to the value of `MaxConcurrent`. - */ - public function setTotalCompletions(?int $totalCompletions): self - { - $this->initialized['totalCompletions'] = true; - $this->totalCompletions = $totalCompletions; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecRollbackConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecRollbackConfig.php deleted file mode 100644 index c630b335d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecRollbackConfig.php +++ /dev/null @@ -1,189 +0,0 @@ -initialized); - } - /** - * Maximum number of tasks to be rolled back in one iteration (0 means - * unlimited parallelism). - * - * @var int|null - */ - protected $parallelism; - /** - * Amount of time between rollback iterations, in nanoseconds. - * - * @var int|null - */ - protected $delay; - /** - * Action to take if an rolled back task fails to run, or stops - * running during the rollback. - * - * @var string|null - */ - protected $failureAction; - /** - * Amount of time to monitor each rolled back task for failures, in - * nanoseconds. - * - * @var int|null - */ - protected $monitor; - /** - * The fraction of tasks that may fail during a rollback before the - * failure action is invoked, specified as a floating point number - * between 0 and 1. - * - * @var float|null - */ - protected $maxFailureRatio; - /** - * The order of operations when rolling back a task. Either the old - * task is shut down before the new task is started, or the new task - * is started before the old task is shut down. - * - * @var string|null - */ - protected $order; - - /** - * Maximum number of tasks to be rolled back in one iteration (0 means - * unlimited parallelism). - */ - public function getParallelism(): ?int - { - return $this->parallelism; - } - - /** - * Maximum number of tasks to be rolled back in one iteration (0 means - * unlimited parallelism). - */ - public function setParallelism(?int $parallelism): self - { - $this->initialized['parallelism'] = true; - $this->parallelism = $parallelism; - - return $this; - } - - /** - * Amount of time between rollback iterations, in nanoseconds. - */ - public function getDelay(): ?int - { - return $this->delay; - } - - /** - * Amount of time between rollback iterations, in nanoseconds. - */ - public function setDelay(?int $delay): self - { - $this->initialized['delay'] = true; - $this->delay = $delay; - - return $this; - } - - /** - * Action to take if an rolled back task fails to run, or stops - * running during the rollback. - */ - public function getFailureAction(): ?string - { - return $this->failureAction; - } - - /** - * Action to take if an rolled back task fails to run, or stops - * running during the rollback. - */ - public function setFailureAction(?string $failureAction): self - { - $this->initialized['failureAction'] = true; - $this->failureAction = $failureAction; - - return $this; - } - - /** - * Amount of time to monitor each rolled back task for failures, in - * nanoseconds. - */ - public function getMonitor(): ?int - { - return $this->monitor; - } - - /** - * Amount of time to monitor each rolled back task for failures, in - * nanoseconds. - */ - public function setMonitor(?int $monitor): self - { - $this->initialized['monitor'] = true; - $this->monitor = $monitor; - - return $this; - } - - /** - * The fraction of tasks that may fail during a rollback before the - * failure action is invoked, specified as a floating point number - * between 0 and 1. - */ - public function getMaxFailureRatio(): ?float - { - return $this->maxFailureRatio; - } - - /** - * The fraction of tasks that may fail during a rollback before the - * failure action is invoked, specified as a floating point number - * between 0 and 1. - */ - public function setMaxFailureRatio(?float $maxFailureRatio): self - { - $this->initialized['maxFailureRatio'] = true; - $this->maxFailureRatio = $maxFailureRatio; - - return $this; - } - - /** - * The order of operations when rolling back a task. Either the old - * task is shut down before the new task is started, or the new task - * is started before the old task is shut down. - */ - public function getOrder(): ?string - { - return $this->order; - } - - /** - * The order of operations when rolling back a task. Either the old - * task is shut down before the new task is started, or the new task - * is started before the old task is shut down. - */ - public function setOrder(?string $order): self - { - $this->initialized['order'] = true; - $this->order = $order; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecUpdateConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecUpdateConfig.php deleted file mode 100644 index 453dc337a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceSpecUpdateConfig.php +++ /dev/null @@ -1,189 +0,0 @@ -initialized); - } - /** - * Maximum number of tasks to be updated in one iteration (0 means - * unlimited parallelism). - * - * @var int|null - */ - protected $parallelism; - /** - * Amount of time between updates, in nanoseconds. - * - * @var int|null - */ - protected $delay; - /** - * Action to take if an updated task fails to run, or stops running - * during the update. - * - * @var string|null - */ - protected $failureAction; - /** - * Amount of time to monitor each updated task for failures, in - * nanoseconds. - * - * @var int|null - */ - protected $monitor; - /** - * The fraction of tasks that may fail during an update before the - * failure action is invoked, specified as a floating point number - * between 0 and 1. - * - * @var float|null - */ - protected $maxFailureRatio; - /** - * The order of operations when rolling out an updated task. Either - * the old task is shut down before the new task is started, or the - * new task is started before the old task is shut down. - * - * @var string|null - */ - protected $order; - - /** - * Maximum number of tasks to be updated in one iteration (0 means - * unlimited parallelism). - */ - public function getParallelism(): ?int - { - return $this->parallelism; - } - - /** - * Maximum number of tasks to be updated in one iteration (0 means - * unlimited parallelism). - */ - public function setParallelism(?int $parallelism): self - { - $this->initialized['parallelism'] = true; - $this->parallelism = $parallelism; - - return $this; - } - - /** - * Amount of time between updates, in nanoseconds. - */ - public function getDelay(): ?int - { - return $this->delay; - } - - /** - * Amount of time between updates, in nanoseconds. - */ - public function setDelay(?int $delay): self - { - $this->initialized['delay'] = true; - $this->delay = $delay; - - return $this; - } - - /** - * Action to take if an updated task fails to run, or stops running - * during the update. - */ - public function getFailureAction(): ?string - { - return $this->failureAction; - } - - /** - * Action to take if an updated task fails to run, or stops running - * during the update. - */ - public function setFailureAction(?string $failureAction): self - { - $this->initialized['failureAction'] = true; - $this->failureAction = $failureAction; - - return $this; - } - - /** - * Amount of time to monitor each updated task for failures, in - * nanoseconds. - */ - public function getMonitor(): ?int - { - return $this->monitor; - } - - /** - * Amount of time to monitor each updated task for failures, in - * nanoseconds. - */ - public function setMonitor(?int $monitor): self - { - $this->initialized['monitor'] = true; - $this->monitor = $monitor; - - return $this; - } - - /** - * The fraction of tasks that may fail during an update before the - * failure action is invoked, specified as a floating point number - * between 0 and 1. - */ - public function getMaxFailureRatio(): ?float - { - return $this->maxFailureRatio; - } - - /** - * The fraction of tasks that may fail during an update before the - * failure action is invoked, specified as a floating point number - * between 0 and 1. - */ - public function setMaxFailureRatio(?float $maxFailureRatio): self - { - $this->initialized['maxFailureRatio'] = true; - $this->maxFailureRatio = $maxFailureRatio; - - return $this; - } - - /** - * The order of operations when rolling out an updated task. Either - * the old task is shut down before the new task is started, or the - * new task is started before the old task is shut down. - */ - public function getOrder(): ?string - { - return $this->order; - } - - /** - * The order of operations when rolling out an updated task. Either - * the old task is shut down before the new task is started, or the - * new task is started before the old task is shut down. - */ - public function setOrder(?string $order): self - { - $this->initialized['order'] = true; - $this->order = $order; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceUpdateResponse.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceUpdateResponse.php deleted file mode 100644 index 5489200c6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceUpdateResponse.php +++ /dev/null @@ -1,47 +0,0 @@ -initialized); - } - /** - * Optional warning messages. - * - * @var list|null - */ - protected $warnings; - - /** - * Optional warning messages. - * - * @return list|null - */ - public function getWarnings(): ?array - { - return $this->warnings; - } - - /** - * Optional warning messages. - * - * @param list|null $warnings - */ - public function setWarnings(?array $warnings): self - { - $this->initialized['warnings'] = true; - $this->warnings = $warnings; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceUpdateStatus.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServiceUpdateStatus.php deleted file mode 100644 index 2581c09ff..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServiceUpdateStatus.php +++ /dev/null @@ -1,86 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $state; - /** - * @var string|null - */ - protected $startedAt; - /** - * @var string|null - */ - protected $completedAt; - /** - * @var string|null - */ - protected $message; - - public function getState(): ?string - { - return $this->state; - } - - public function setState(?string $state): self - { - $this->initialized['state'] = true; - $this->state = $state; - - return $this; - } - - public function getStartedAt(): ?string - { - return $this->startedAt; - } - - public function setStartedAt(?string $startedAt): self - { - $this->initialized['startedAt'] = true; - $this->startedAt = $startedAt; - - return $this; - } - - public function getCompletedAt(): ?string - { - return $this->completedAt; - } - - public function setCompletedAt(?string $completedAt): self - { - $this->initialized['completedAt'] = true; - $this->completedAt = $completedAt; - - return $this; - } - - public function getMessage(): ?string - { - return $this->message; - } - - public function setMessage(?string $message): self - { - $this->initialized['message'] = true; - $this->message = $message; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServicesCreatePostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServicesCreatePostBody.php deleted file mode 100644 index d9ec1c6ba..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServicesCreatePostBody.php +++ /dev/null @@ -1,232 +0,0 @@ -initialized); - } - /** - * Name of the service. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * User modifiable task configuration. - * - * @var TaskSpec|null - */ - protected $taskTemplate; - /** - * Scheduling mode for the service. - * - * @var ServiceSpecMode|null - */ - protected $mode; - /** - * Specification for the update strategy of the service. - * - * @var ServiceSpecUpdateConfig|null - */ - protected $updateConfig; - /** - * Specification for the rollback strategy of the service. - * - * @var ServiceSpecRollbackConfig|null - */ - protected $rollbackConfig; - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @var list|null - */ - protected $networks; - /** - * Properties that can be configured to access and load balance a service. - * - * @var EndpointSpec|null - */ - protected $endpointSpec; - - /** - * Name of the service. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the service. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * User modifiable task configuration. - */ - public function getTaskTemplate(): ?TaskSpec - { - return $this->taskTemplate; - } - - /** - * User modifiable task configuration. - */ - public function setTaskTemplate(?TaskSpec $taskTemplate): self - { - $this->initialized['taskTemplate'] = true; - $this->taskTemplate = $taskTemplate; - - return $this; - } - - /** - * Scheduling mode for the service. - */ - public function getMode(): ?ServiceSpecMode - { - return $this->mode; - } - - /** - * Scheduling mode for the service. - */ - public function setMode(?ServiceSpecMode $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } - - /** - * Specification for the update strategy of the service. - */ - public function getUpdateConfig(): ?ServiceSpecUpdateConfig - { - return $this->updateConfig; - } - - /** - * Specification for the update strategy of the service. - */ - public function setUpdateConfig(?ServiceSpecUpdateConfig $updateConfig): self - { - $this->initialized['updateConfig'] = true; - $this->updateConfig = $updateConfig; - - return $this; - } - - /** - * Specification for the rollback strategy of the service. - */ - public function getRollbackConfig(): ?ServiceSpecRollbackConfig - { - return $this->rollbackConfig; - } - - /** - * Specification for the rollback strategy of the service. - */ - public function setRollbackConfig(?ServiceSpecRollbackConfig $rollbackConfig): self - { - $this->initialized['rollbackConfig'] = true; - $this->rollbackConfig = $rollbackConfig; - - return $this; - } - - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @return list|null - */ - public function getNetworks(): ?array - { - return $this->networks; - } - - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @param list|null $networks - */ - public function setNetworks(?array $networks): self - { - $this->initialized['networks'] = true; - $this->networks = $networks; - - return $this; - } - - /** - * Properties that can be configured to access and load balance a service. - */ - public function getEndpointSpec(): ?EndpointSpec - { - return $this->endpointSpec; - } - - /** - * Properties that can be configured to access and load balance a service. - */ - public function setEndpointSpec(?EndpointSpec $endpointSpec): self - { - $this->initialized['endpointSpec'] = true; - $this->endpointSpec = $endpointSpec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ServicesIdUpdatePostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/ServicesIdUpdatePostBody.php deleted file mode 100644 index c53eacf17..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ServicesIdUpdatePostBody.php +++ /dev/null @@ -1,232 +0,0 @@ -initialized); - } - /** - * Name of the service. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * User modifiable task configuration. - * - * @var TaskSpec|null - */ - protected $taskTemplate; - /** - * Scheduling mode for the service. - * - * @var ServiceSpecMode|null - */ - protected $mode; - /** - * Specification for the update strategy of the service. - * - * @var ServiceSpecUpdateConfig|null - */ - protected $updateConfig; - /** - * Specification for the rollback strategy of the service. - * - * @var ServiceSpecRollbackConfig|null - */ - protected $rollbackConfig; - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @var list|null - */ - protected $networks; - /** - * Properties that can be configured to access and load balance a service. - * - * @var EndpointSpec|null - */ - protected $endpointSpec; - - /** - * Name of the service. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the service. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * User modifiable task configuration. - */ - public function getTaskTemplate(): ?TaskSpec - { - return $this->taskTemplate; - } - - /** - * User modifiable task configuration. - */ - public function setTaskTemplate(?TaskSpec $taskTemplate): self - { - $this->initialized['taskTemplate'] = true; - $this->taskTemplate = $taskTemplate; - - return $this; - } - - /** - * Scheduling mode for the service. - */ - public function getMode(): ?ServiceSpecMode - { - return $this->mode; - } - - /** - * Scheduling mode for the service. - */ - public function setMode(?ServiceSpecMode $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } - - /** - * Specification for the update strategy of the service. - */ - public function getUpdateConfig(): ?ServiceSpecUpdateConfig - { - return $this->updateConfig; - } - - /** - * Specification for the update strategy of the service. - */ - public function setUpdateConfig(?ServiceSpecUpdateConfig $updateConfig): self - { - $this->initialized['updateConfig'] = true; - $this->updateConfig = $updateConfig; - - return $this; - } - - /** - * Specification for the rollback strategy of the service. - */ - public function getRollbackConfig(): ?ServiceSpecRollbackConfig - { - return $this->rollbackConfig; - } - - /** - * Specification for the rollback strategy of the service. - */ - public function setRollbackConfig(?ServiceSpecRollbackConfig $rollbackConfig): self - { - $this->initialized['rollbackConfig'] = true; - $this->rollbackConfig = $rollbackConfig; - - return $this; - } - - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @return list|null - */ - public function getNetworks(): ?array - { - return $this->networks; - } - - /** - * Specifies which networks the service should attach to. - * - * Deprecated: This field is deprecated since v1.44. The Networks field in TaskSpec should be used instead. - * - * @param list|null $networks - */ - public function setNetworks(?array $networks): self - { - $this->initialized['networks'] = true; - $this->networks = $networks; - - return $this; - } - - /** - * Properties that can be configured to access and load balance a service. - */ - public function getEndpointSpec(): ?EndpointSpec - { - return $this->endpointSpec; - } - - /** - * Properties that can be configured to access and load balance a service. - */ - public function setEndpointSpec(?EndpointSpec $endpointSpec): self - { - $this->initialized['endpointSpec'] = true; - $this->endpointSpec = $endpointSpec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Swarm.php b/app/vendor/beluga-php/docker-php-api/src/Model/Swarm.php deleted file mode 100644 index ad88dd4bd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Swarm.php +++ /dev/null @@ -1,345 +0,0 @@ -initialized); - } - /** - * The ID of the swarm. - * - * @var string|null - */ - protected $iD; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $version; - /** - * Date and time at which the swarm was initialised in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $createdAt; - /** - * Date and time at which the swarm was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - * - * @var string|null - */ - protected $updatedAt; - /** - * User modifiable swarm configuration. - * - * @var SwarmSpec|null - */ - protected $spec; - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - * - * @var TLSInfo|null - */ - protected $tLSInfo; - /** - * Whether there is currently a root CA rotation in progress for the swarm. - * - * @var bool|null - */ - protected $rootRotationInProgress; - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * If no port is set or is set to 0, the default port (4789) is used. - * - * @var int|null - */ - protected $dataPathPort; - /** - * Default Address Pool specifies default subnet pools for global scope - * networks. - * - * @var list|null - */ - protected $defaultAddrPool; - /** - * SubnetSize specifies the subnet size of the networks created from the - * default subnet pool. - * - * @var int|null - */ - protected $subnetSize; - /** - * JoinTokens contains the tokens workers and managers need to join the swarm. - * - * @var JoinTokens|null - */ - protected $joinTokens; - - /** - * The ID of the swarm. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * The ID of the swarm. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getVersion(): ?ObjectVersion - { - return $this->version; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setVersion(?ObjectVersion $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - /** - * Date and time at which the swarm was initialised in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - /** - * Date and time at which the swarm was initialised in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - /** - * Date and time at which the swarm was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function getUpdatedAt(): ?string - { - return $this->updatedAt; - } - - /** - * Date and time at which the swarm was last updated in - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. - */ - public function setUpdatedAt(?string $updatedAt): self - { - $this->initialized['updatedAt'] = true; - $this->updatedAt = $updatedAt; - - return $this; - } - - /** - * User modifiable swarm configuration. - */ - public function getSpec(): ?SwarmSpec - { - return $this->spec; - } - - /** - * User modifiable swarm configuration. - */ - public function setSpec(?SwarmSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } - - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - */ - public function getTLSInfo(): ?TLSInfo - { - return $this->tLSInfo; - } - - /** - * Information about the issuer of leaf TLS certificates and the trusted root - * CA certificate. - */ - public function setTLSInfo(?TLSInfo $tLSInfo): self - { - $this->initialized['tLSInfo'] = true; - $this->tLSInfo = $tLSInfo; - - return $this; - } - - /** - * Whether there is currently a root CA rotation in progress for the swarm. - */ - public function getRootRotationInProgress(): ?bool - { - return $this->rootRotationInProgress; - } - - /** - * Whether there is currently a root CA rotation in progress for the swarm. - */ - public function setRootRotationInProgress(?bool $rootRotationInProgress): self - { - $this->initialized['rootRotationInProgress'] = true; - $this->rootRotationInProgress = $rootRotationInProgress; - - return $this; - } - - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * If no port is set or is set to 0, the default port (4789) is used. - */ - public function getDataPathPort(): ?int - { - return $this->dataPathPort; - } - - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * If no port is set or is set to 0, the default port (4789) is used. - */ - public function setDataPathPort(?int $dataPathPort): self - { - $this->initialized['dataPathPort'] = true; - $this->dataPathPort = $dataPathPort; - - return $this; - } - - /** - * Default Address Pool specifies default subnet pools for global scope - * networks. - * - * @return list|null - */ - public function getDefaultAddrPool(): ?array - { - return $this->defaultAddrPool; - } - - /** - * Default Address Pool specifies default subnet pools for global scope - * networks. - * - * @param list|null $defaultAddrPool - */ - public function setDefaultAddrPool(?array $defaultAddrPool): self - { - $this->initialized['defaultAddrPool'] = true; - $this->defaultAddrPool = $defaultAddrPool; - - return $this; - } - - /** - * SubnetSize specifies the subnet size of the networks created from the - * default subnet pool. - */ - public function getSubnetSize(): ?int - { - return $this->subnetSize; - } - - /** - * SubnetSize specifies the subnet size of the networks created from the - * default subnet pool. - */ - public function setSubnetSize(?int $subnetSize): self - { - $this->initialized['subnetSize'] = true; - $this->subnetSize = $subnetSize; - - return $this; - } - - /** - * JoinTokens contains the tokens workers and managers need to join the swarm. - */ - public function getJoinTokens(): ?JoinTokens - { - return $this->joinTokens; - } - - /** - * JoinTokens contains the tokens workers and managers need to join the swarm. - */ - public function setJoinTokens(?JoinTokens $joinTokens): self - { - $this->initialized['joinTokens'] = true; - $this->joinTokens = $joinTokens; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmInfo.php deleted file mode 100644 index d09fb8269..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmInfo.php +++ /dev/null @@ -1,237 +0,0 @@ -initialized); - } - /** - * Unique identifier of for this node in the swarm. - * - * @var string|null - */ - protected $nodeID = ''; - /** - * IP address at which this node can be reached by other nodes in the - * swarm. - * - * @var string|null - */ - protected $nodeAddr = ''; - /** - * Current local status of this node. - * - * @var string|null - */ - protected $localNodeState = ''; - /** - * @var bool|null - */ - protected $controlAvailable = false; - /** - * @var string|null - */ - protected $error = ''; - /** - * List of ID's and addresses of other managers in the swarm. - * - * @var list|null - */ - protected $remoteManagers; - /** - * Total number of nodes in the swarm. - * - * @var int|null - */ - protected $nodes; - /** - * Total number of managers in the swarm. - * - * @var int|null - */ - protected $managers; - /** - * ClusterInfo represents information about the swarm as is returned by the - * "/info" endpoint. Join-tokens are not included. - * - * @var ClusterInfo|null - */ - protected $cluster; - - /** - * Unique identifier of for this node in the swarm. - */ - public function getNodeID(): ?string - { - return $this->nodeID; - } - - /** - * Unique identifier of for this node in the swarm. - */ - public function setNodeID(?string $nodeID): self - { - $this->initialized['nodeID'] = true; - $this->nodeID = $nodeID; - - return $this; - } - - /** - * IP address at which this node can be reached by other nodes in the - * swarm. - */ - public function getNodeAddr(): ?string - { - return $this->nodeAddr; - } - - /** - * IP address at which this node can be reached by other nodes in the - * swarm. - */ - public function setNodeAddr(?string $nodeAddr): self - { - $this->initialized['nodeAddr'] = true; - $this->nodeAddr = $nodeAddr; - - return $this; - } - - /** - * Current local status of this node. - */ - public function getLocalNodeState(): ?string - { - return $this->localNodeState; - } - - /** - * Current local status of this node. - */ - public function setLocalNodeState(?string $localNodeState): self - { - $this->initialized['localNodeState'] = true; - $this->localNodeState = $localNodeState; - - return $this; - } - - public function getControlAvailable(): ?bool - { - return $this->controlAvailable; - } - - public function setControlAvailable(?bool $controlAvailable): self - { - $this->initialized['controlAvailable'] = true; - $this->controlAvailable = $controlAvailable; - - return $this; - } - - public function getError(): ?string - { - return $this->error; - } - - public function setError(?string $error): self - { - $this->initialized['error'] = true; - $this->error = $error; - - return $this; - } - - /** - * List of ID's and addresses of other managers in the swarm. - * - * @return list|null - */ - public function getRemoteManagers(): ?array - { - return $this->remoteManagers; - } - - /** - * List of ID's and addresses of other managers in the swarm. - * - * @param list|null $remoteManagers - */ - public function setRemoteManagers(?array $remoteManagers): self - { - $this->initialized['remoteManagers'] = true; - $this->remoteManagers = $remoteManagers; - - return $this; - } - - /** - * Total number of nodes in the swarm. - */ - public function getNodes(): ?int - { - return $this->nodes; - } - - /** - * Total number of nodes in the swarm. - */ - public function setNodes(?int $nodes): self - { - $this->initialized['nodes'] = true; - $this->nodes = $nodes; - - return $this; - } - - /** - * Total number of managers in the swarm. - */ - public function getManagers(): ?int - { - return $this->managers; - } - - /** - * Total number of managers in the swarm. - */ - public function setManagers(?int $managers): self - { - $this->initialized['managers'] = true; - $this->managers = $managers; - - return $this; - } - - /** - * ClusterInfo represents information about the swarm as is returned by the - * "/info" endpoint. Join-tokens are not included. - */ - public function getCluster(): ?ClusterInfo - { - return $this->cluster; - } - - /** - * ClusterInfo represents information about the swarm as is returned by the - * "/info" endpoint. Join-tokens are not included. - */ - public function setCluster(?ClusterInfo $cluster): self - { - $this->initialized['cluster'] = true; - $this->cluster = $cluster; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmInitPostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmInitPostBody.php deleted file mode 100644 index d037378a1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmInitPostBody.php +++ /dev/null @@ -1,291 +0,0 @@ -initialized); - } - /** - * Listen address used for inter-manager communication, as well - * as determining the networking interface used for the VXLAN - * Tunnel Endpoint (VTEP). This can either be an address/port - * combination in the form `192.168.1.1:4567`, or an interface - * followed by a port number, like `eth0:4567`. If the port number - * is omitted, the default swarm listening port is used. - * - * @var string|null - */ - protected $listenAddr; - /** - * Externally reachable address advertised to other nodes. This - * can either be an address/port combination in the form - * `192.168.1.1:4567`, or an interface followed by a port number, - * like `eth0:4567`. If the port number is omitted, the port - * number from the listen address is used. If `AdvertiseAddr` is - * not specified, it will be automatically detected when possible. - * - * @var string|null - */ - protected $advertiseAddr; - /** - * Address or interface to use for data path traffic (format: - * ``), for example, `192.168.1.1`, or an interface, - * like `eth0`. If `DataPathAddr` is unspecified, the same address - * as `AdvertiseAddr` is used. - * - * The `DataPathAddr` specifies the address that global scope - * network drivers will publish towards other nodes in order to - * reach the containers running on this node. Using this parameter - * it is possible to separate the container data traffic from the - * management traffic of the cluster. - * - * @var string|null - */ - protected $dataPathAddr; - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * if no port is set or is set to 0, default port 4789 will be used. - * - * @var int|null - */ - protected $dataPathPort; - /** - * Default Address Pool specifies default subnet pools for global - * scope networks. - * - * @var list|null - */ - protected $defaultAddrPool; - /** - * Force creation of a new swarm. - * - * @var bool|null - */ - protected $forceNewCluster; - /** - * SubnetSize specifies the subnet size of the networks created - * from the default subnet pool. - * - * @var int|null - */ - protected $subnetSize; - /** - * User modifiable swarm configuration. - * - * @var SwarmSpec|null - */ - protected $spec; - - /** - * Listen address used for inter-manager communication, as well - * as determining the networking interface used for the VXLAN - * Tunnel Endpoint (VTEP). This can either be an address/port - * combination in the form `192.168.1.1:4567`, or an interface - * followed by a port number, like `eth0:4567`. If the port number - * is omitted, the default swarm listening port is used. - */ - public function getListenAddr(): ?string - { - return $this->listenAddr; - } - - /** - * Listen address used for inter-manager communication, as well - * as determining the networking interface used for the VXLAN - * Tunnel Endpoint (VTEP). This can either be an address/port - * combination in the form `192.168.1.1:4567`, or an interface - * followed by a port number, like `eth0:4567`. If the port number - * is omitted, the default swarm listening port is used. - */ - public function setListenAddr(?string $listenAddr): self - { - $this->initialized['listenAddr'] = true; - $this->listenAddr = $listenAddr; - - return $this; - } - - /** - * Externally reachable address advertised to other nodes. This - * can either be an address/port combination in the form - * `192.168.1.1:4567`, or an interface followed by a port number, - * like `eth0:4567`. If the port number is omitted, the port - * number from the listen address is used. If `AdvertiseAddr` is - * not specified, it will be automatically detected when possible. - */ - public function getAdvertiseAddr(): ?string - { - return $this->advertiseAddr; - } - - /** - * Externally reachable address advertised to other nodes. This - * can either be an address/port combination in the form - * `192.168.1.1:4567`, or an interface followed by a port number, - * like `eth0:4567`. If the port number is omitted, the port - * number from the listen address is used. If `AdvertiseAddr` is - * not specified, it will be automatically detected when possible. - */ - public function setAdvertiseAddr(?string $advertiseAddr): self - { - $this->initialized['advertiseAddr'] = true; - $this->advertiseAddr = $advertiseAddr; - - return $this; - } - - /** - * Address or interface to use for data path traffic (format: - * ``), for example, `192.168.1.1`, or an interface, - * like `eth0`. If `DataPathAddr` is unspecified, the same address - * as `AdvertiseAddr` is used. - * - * The `DataPathAddr` specifies the address that global scope - * network drivers will publish towards other nodes in order to - * reach the containers running on this node. Using this parameter - * it is possible to separate the container data traffic from the - * management traffic of the cluster. - */ - public function getDataPathAddr(): ?string - { - return $this->dataPathAddr; - } - - /** - * Address or interface to use for data path traffic (format: - * ``), for example, `192.168.1.1`, or an interface, - * like `eth0`. If `DataPathAddr` is unspecified, the same address - * as `AdvertiseAddr` is used. - * - * The `DataPathAddr` specifies the address that global scope - * network drivers will publish towards other nodes in order to - * reach the containers running on this node. Using this parameter - * it is possible to separate the container data traffic from the - * management traffic of the cluster. - */ - public function setDataPathAddr(?string $dataPathAddr): self - { - $this->initialized['dataPathAddr'] = true; - $this->dataPathAddr = $dataPathAddr; - - return $this; - } - - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * if no port is set or is set to 0, default port 4789 will be used. - */ - public function getDataPathPort(): ?int - { - return $this->dataPathPort; - } - - /** - * DataPathPort specifies the data path port number for data traffic. - * Acceptable port range is 1024 to 49151. - * if no port is set or is set to 0, default port 4789 will be used. - */ - public function setDataPathPort(?int $dataPathPort): self - { - $this->initialized['dataPathPort'] = true; - $this->dataPathPort = $dataPathPort; - - return $this; - } - - /** - * Default Address Pool specifies default subnet pools for global - * scope networks. - * - * @return list|null - */ - public function getDefaultAddrPool(): ?array - { - return $this->defaultAddrPool; - } - - /** - * Default Address Pool specifies default subnet pools for global - * scope networks. - * - * @param list|null $defaultAddrPool - */ - public function setDefaultAddrPool(?array $defaultAddrPool): self - { - $this->initialized['defaultAddrPool'] = true; - $this->defaultAddrPool = $defaultAddrPool; - - return $this; - } - - /** - * Force creation of a new swarm. - */ - public function getForceNewCluster(): ?bool - { - return $this->forceNewCluster; - } - - /** - * Force creation of a new swarm. - */ - public function setForceNewCluster(?bool $forceNewCluster): self - { - $this->initialized['forceNewCluster'] = true; - $this->forceNewCluster = $forceNewCluster; - - return $this; - } - - /** - * SubnetSize specifies the subnet size of the networks created - * from the default subnet pool. - */ - public function getSubnetSize(): ?int - { - return $this->subnetSize; - } - - /** - * SubnetSize specifies the subnet size of the networks created - * from the default subnet pool. - */ - public function setSubnetSize(?int $subnetSize): self - { - $this->initialized['subnetSize'] = true; - $this->subnetSize = $subnetSize; - - return $this; - } - - /** - * User modifiable swarm configuration. - */ - public function getSpec(): ?SwarmSpec - { - return $this->spec; - } - - /** - * User modifiable swarm configuration. - */ - public function setSpec(?SwarmSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmJoinPostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmJoinPostBody.php deleted file mode 100644 index 21a3aebc8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmJoinPostBody.php +++ /dev/null @@ -1,195 +0,0 @@ -initialized); - } - /** - * Listen address used for inter-manager communication if the node - * gets promoted to manager, as well as determining the networking - * interface used for the VXLAN Tunnel Endpoint (VTEP). - * - * @var string|null - */ - protected $listenAddr; - /** - * Externally reachable address advertised to other nodes. This - * can either be an address/port combination in the form - * `192.168.1.1:4567`, or an interface followed by a port number, - * like `eth0:4567`. If the port number is omitted, the port - * number from the listen address is used. If `AdvertiseAddr` is - * not specified, it will be automatically detected when possible. - * - * @var string|null - */ - protected $advertiseAddr; - /** - * Address or interface to use for data path traffic (format: - * ``), for example, `192.168.1.1`, or an interface, - * like `eth0`. If `DataPathAddr` is unspecified, the same address - * as `AdvertiseAddr` is used. - * - * The `DataPathAddr` specifies the address that global scope - * network drivers will publish towards other nodes in order to - * reach the containers running on this node. Using this parameter - * it is possible to separate the container data traffic from the - * management traffic of the cluster. - * - * @var string|null - */ - protected $dataPathAddr; - /** - * Addresses of manager nodes already participating in the swarm. - * - * @var list|null - */ - protected $remoteAddrs; - /** - * Secret token for joining this swarm. - * - * @var string|null - */ - protected $joinToken; - - /** - * Listen address used for inter-manager communication if the node - * gets promoted to manager, as well as determining the networking - * interface used for the VXLAN Tunnel Endpoint (VTEP). - */ - public function getListenAddr(): ?string - { - return $this->listenAddr; - } - - /** - * Listen address used for inter-manager communication if the node - * gets promoted to manager, as well as determining the networking - * interface used for the VXLAN Tunnel Endpoint (VTEP). - */ - public function setListenAddr(?string $listenAddr): self - { - $this->initialized['listenAddr'] = true; - $this->listenAddr = $listenAddr; - - return $this; - } - - /** - * Externally reachable address advertised to other nodes. This - * can either be an address/port combination in the form - * `192.168.1.1:4567`, or an interface followed by a port number, - * like `eth0:4567`. If the port number is omitted, the port - * number from the listen address is used. If `AdvertiseAddr` is - * not specified, it will be automatically detected when possible. - */ - public function getAdvertiseAddr(): ?string - { - return $this->advertiseAddr; - } - - /** - * Externally reachable address advertised to other nodes. This - * can either be an address/port combination in the form - * `192.168.1.1:4567`, or an interface followed by a port number, - * like `eth0:4567`. If the port number is omitted, the port - * number from the listen address is used. If `AdvertiseAddr` is - * not specified, it will be automatically detected when possible. - */ - public function setAdvertiseAddr(?string $advertiseAddr): self - { - $this->initialized['advertiseAddr'] = true; - $this->advertiseAddr = $advertiseAddr; - - return $this; - } - - /** - * Address or interface to use for data path traffic (format: - * ``), for example, `192.168.1.1`, or an interface, - * like `eth0`. If `DataPathAddr` is unspecified, the same address - * as `AdvertiseAddr` is used. - * - * The `DataPathAddr` specifies the address that global scope - * network drivers will publish towards other nodes in order to - * reach the containers running on this node. Using this parameter - * it is possible to separate the container data traffic from the - * management traffic of the cluster. - */ - public function getDataPathAddr(): ?string - { - return $this->dataPathAddr; - } - - /** - * Address or interface to use for data path traffic (format: - * ``), for example, `192.168.1.1`, or an interface, - * like `eth0`. If `DataPathAddr` is unspecified, the same address - * as `AdvertiseAddr` is used. - * - * The `DataPathAddr` specifies the address that global scope - * network drivers will publish towards other nodes in order to - * reach the containers running on this node. Using this parameter - * it is possible to separate the container data traffic from the - * management traffic of the cluster. - */ - public function setDataPathAddr(?string $dataPathAddr): self - { - $this->initialized['dataPathAddr'] = true; - $this->dataPathAddr = $dataPathAddr; - - return $this; - } - - /** - * Addresses of manager nodes already participating in the swarm. - * - * @return list|null - */ - public function getRemoteAddrs(): ?array - { - return $this->remoteAddrs; - } - - /** - * Addresses of manager nodes already participating in the swarm. - * - * @param list|null $remoteAddrs - */ - public function setRemoteAddrs(?array $remoteAddrs): self - { - $this->initialized['remoteAddrs'] = true; - $this->remoteAddrs = $remoteAddrs; - - return $this; - } - - /** - * Secret token for joining this swarm. - */ - public function getJoinToken(): ?string - { - return $this->joinToken; - } - - /** - * Secret token for joining this swarm. - */ - public function setJoinToken(?string $joinToken): self - { - $this->initialized['joinToken'] = true; - $this->joinToken = $joinToken; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpec.php deleted file mode 100644 index 6efb97a01..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpec.php +++ /dev/null @@ -1,222 +0,0 @@ -initialized); - } - /** - * Name of the swarm. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Orchestration configuration. - * - * @var SwarmSpecOrchestration|null - */ - protected $orchestration; - /** - * Raft configuration. - * - * @var SwarmSpecRaft|null - */ - protected $raft; - /** - * Dispatcher configuration. - * - * @var SwarmSpecDispatcher|null - */ - protected $dispatcher; - /** - * CA configuration. - * - * @var SwarmSpecCAConfig|null - */ - protected $cAConfig; - /** - * Parameters related to encryption-at-rest. - * - * @var SwarmSpecEncryptionConfig|null - */ - protected $encryptionConfig; - /** - * Defaults for creating tasks in this cluster. - * - * @var SwarmSpecTaskDefaults|null - */ - protected $taskDefaults; - - /** - * Name of the swarm. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the swarm. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Orchestration configuration. - */ - public function getOrchestration(): ?SwarmSpecOrchestration - { - return $this->orchestration; - } - - /** - * Orchestration configuration. - */ - public function setOrchestration(?SwarmSpecOrchestration $orchestration): self - { - $this->initialized['orchestration'] = true; - $this->orchestration = $orchestration; - - return $this; - } - - /** - * Raft configuration. - */ - public function getRaft(): ?SwarmSpecRaft - { - return $this->raft; - } - - /** - * Raft configuration. - */ - public function setRaft(?SwarmSpecRaft $raft): self - { - $this->initialized['raft'] = true; - $this->raft = $raft; - - return $this; - } - - /** - * Dispatcher configuration. - */ - public function getDispatcher(): ?SwarmSpecDispatcher - { - return $this->dispatcher; - } - - /** - * Dispatcher configuration. - */ - public function setDispatcher(?SwarmSpecDispatcher $dispatcher): self - { - $this->initialized['dispatcher'] = true; - $this->dispatcher = $dispatcher; - - return $this; - } - - /** - * CA configuration. - */ - public function getCAConfig(): ?SwarmSpecCAConfig - { - return $this->cAConfig; - } - - /** - * CA configuration. - */ - public function setCAConfig(?SwarmSpecCAConfig $cAConfig): self - { - $this->initialized['cAConfig'] = true; - $this->cAConfig = $cAConfig; - - return $this; - } - - /** - * Parameters related to encryption-at-rest. - */ - public function getEncryptionConfig(): ?SwarmSpecEncryptionConfig - { - return $this->encryptionConfig; - } - - /** - * Parameters related to encryption-at-rest. - */ - public function setEncryptionConfig(?SwarmSpecEncryptionConfig $encryptionConfig): self - { - $this->initialized['encryptionConfig'] = true; - $this->encryptionConfig = $encryptionConfig; - - return $this; - } - - /** - * Defaults for creating tasks in this cluster. - */ - public function getTaskDefaults(): ?SwarmSpecTaskDefaults - { - return $this->taskDefaults; - } - - /** - * Defaults for creating tasks in this cluster. - */ - public function setTaskDefaults(?SwarmSpecTaskDefaults $taskDefaults): self - { - $this->initialized['taskDefaults'] = true; - $this->taskDefaults = $taskDefaults; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecCAConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecCAConfig.php deleted file mode 100644 index 873690ff5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecCAConfig.php +++ /dev/null @@ -1,162 +0,0 @@ -initialized); - } - /** - * The duration node certificates are issued for. - * - * @var int|null - */ - protected $nodeCertExpiry; - /** - * Configuration for forwarding signing requests to an external - * certificate authority. - * - * @var list|null - */ - protected $externalCAs; - /** - * The desired signing CA certificate for all swarm node TLS leaf - * certificates, in PEM format. - * - * @var string|null - */ - protected $signingCACert; - /** - * The desired signing CA key for all swarm node TLS leaf certificates, - * in PEM format. - * - * @var string|null - */ - protected $signingCAKey; - /** - * An integer whose purpose is to force swarm to generate a new - * signing CA certificate and key, if none have been specified in - * `SigningCACert` and `SigningCAKey`. - * - * @var int|null - */ - protected $forceRotate; - - /** - * The duration node certificates are issued for. - */ - public function getNodeCertExpiry(): ?int - { - return $this->nodeCertExpiry; - } - - /** - * The duration node certificates are issued for. - */ - public function setNodeCertExpiry(?int $nodeCertExpiry): self - { - $this->initialized['nodeCertExpiry'] = true; - $this->nodeCertExpiry = $nodeCertExpiry; - - return $this; - } - - /** - * Configuration for forwarding signing requests to an external - * certificate authority. - * - * @return list|null - */ - public function getExternalCAs(): ?array - { - return $this->externalCAs; - } - - /** - * Configuration for forwarding signing requests to an external - * certificate authority. - * - * @param list|null $externalCAs - */ - public function setExternalCAs(?array $externalCAs): self - { - $this->initialized['externalCAs'] = true; - $this->externalCAs = $externalCAs; - - return $this; - } - - /** - * The desired signing CA certificate for all swarm node TLS leaf - * certificates, in PEM format. - */ - public function getSigningCACert(): ?string - { - return $this->signingCACert; - } - - /** - * The desired signing CA certificate for all swarm node TLS leaf - * certificates, in PEM format. - */ - public function setSigningCACert(?string $signingCACert): self - { - $this->initialized['signingCACert'] = true; - $this->signingCACert = $signingCACert; - - return $this; - } - - /** - * The desired signing CA key for all swarm node TLS leaf certificates, - * in PEM format. - */ - public function getSigningCAKey(): ?string - { - return $this->signingCAKey; - } - - /** - * The desired signing CA key for all swarm node TLS leaf certificates, - * in PEM format. - */ - public function setSigningCAKey(?string $signingCAKey): self - { - $this->initialized['signingCAKey'] = true; - $this->signingCAKey = $signingCAKey; - - return $this; - } - - /** - * An integer whose purpose is to force swarm to generate a new - * signing CA certificate and key, if none have been specified in - * `SigningCACert` and `SigningCAKey`. - */ - public function getForceRotate(): ?int - { - return $this->forceRotate; - } - - /** - * An integer whose purpose is to force swarm to generate a new - * signing CA certificate and key, if none have been specified in - * `SigningCACert` and `SigningCAKey`. - */ - public function setForceRotate(?int $forceRotate): self - { - $this->initialized['forceRotate'] = true; - $this->forceRotate = $forceRotate; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecCAConfigExternalCAsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecCAConfigExternalCAsItem.php deleted file mode 100644 index 4a957f4d4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecCAConfigExternalCAsItem.php +++ /dev/null @@ -1,134 +0,0 @@ -initialized); - } - /** - * Protocol for communication with the external CA (currently - * only `cfssl` is supported). - * - * @var string|null - */ - protected $protocol = 'cfssl'; - /** - * URL where certificate signing requests should be sent. - * - * @var string|null - */ - protected $uRL; - /** - * An object with key/value pairs that are interpreted as - * protocol-specific options for the external CA driver. - * - * @var array|null - */ - protected $options; - /** - * The root CA certificate (in PEM format) this external CA uses - * to issue TLS certificates (assumed to be to the current swarm - * root CA certificate if not provided). - * - * @var string|null - */ - protected $cACert; - - /** - * Protocol for communication with the external CA (currently - * only `cfssl` is supported). - */ - public function getProtocol(): ?string - { - return $this->protocol; - } - - /** - * Protocol for communication with the external CA (currently - * only `cfssl` is supported). - */ - public function setProtocol(?string $protocol): self - { - $this->initialized['protocol'] = true; - $this->protocol = $protocol; - - return $this; - } - - /** - * URL where certificate signing requests should be sent. - */ - public function getURL(): ?string - { - return $this->uRL; - } - - /** - * URL where certificate signing requests should be sent. - */ - public function setURL(?string $uRL): self - { - $this->initialized['uRL'] = true; - $this->uRL = $uRL; - - return $this; - } - - /** - * An object with key/value pairs that are interpreted as - * protocol-specific options for the external CA driver. - * - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * An object with key/value pairs that are interpreted as - * protocol-specific options for the external CA driver. - * - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } - - /** - * The root CA certificate (in PEM format) this external CA uses - * to issue TLS certificates (assumed to be to the current swarm - * root CA certificate if not provided). - */ - public function getCACert(): ?string - { - return $this->cACert; - } - - /** - * The root CA certificate (in PEM format) this external CA uses - * to issue TLS certificates (assumed to be to the current swarm - * root CA certificate if not provided). - */ - public function setCACert(?string $cACert): self - { - $this->initialized['cACert'] = true; - $this->cACert = $cACert; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecDispatcher.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecDispatcher.php deleted file mode 100644 index 2b39e3c55..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecDispatcher.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * The delay for an agent to send a heartbeat to the dispatcher. - * - * @var int|null - */ - protected $heartbeatPeriod; - - /** - * The delay for an agent to send a heartbeat to the dispatcher. - */ - public function getHeartbeatPeriod(): ?int - { - return $this->heartbeatPeriod; - } - - /** - * The delay for an agent to send a heartbeat to the dispatcher. - */ - public function setHeartbeatPeriod(?int $heartbeatPeriod): self - { - $this->initialized['heartbeatPeriod'] = true; - $this->heartbeatPeriod = $heartbeatPeriod; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecEncryptionConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecEncryptionConfig.php deleted file mode 100644 index dbfcade85..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecEncryptionConfig.php +++ /dev/null @@ -1,46 +0,0 @@ -initialized); - } - /** - * If set, generate a key and use it to lock data stored on the - * managers. - * - * @var bool|null - */ - protected $autoLockManagers; - - /** - * If set, generate a key and use it to lock data stored on the - * managers. - */ - public function getAutoLockManagers(): ?bool - { - return $this->autoLockManagers; - } - - /** - * If set, generate a key and use it to lock data stored on the - * managers. - */ - public function setAutoLockManagers(?bool $autoLockManagers): self - { - $this->initialized['autoLockManagers'] = true; - $this->autoLockManagers = $autoLockManagers; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecOrchestration.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecOrchestration.php deleted file mode 100644 index 047e8b0fb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecOrchestration.php +++ /dev/null @@ -1,46 +0,0 @@ -initialized); - } - /** - * The number of historic tasks to keep per instance or node. If - * negative, never remove completed or failed tasks. - * - * @var int|null - */ - protected $taskHistoryRetentionLimit; - - /** - * The number of historic tasks to keep per instance or node. If - * negative, never remove completed or failed tasks. - */ - public function getTaskHistoryRetentionLimit(): ?int - { - return $this->taskHistoryRetentionLimit; - } - - /** - * The number of historic tasks to keep per instance or node. If - * negative, never remove completed or failed tasks. - */ - public function setTaskHistoryRetentionLimit(?int $taskHistoryRetentionLimit): self - { - $this->initialized['taskHistoryRetentionLimit'] = true; - $this->taskHistoryRetentionLimit = $taskHistoryRetentionLimit; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecRaft.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecRaft.php deleted file mode 100644 index 039f2d410..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecRaft.php +++ /dev/null @@ -1,173 +0,0 @@ -initialized); - } - /** - * The number of log entries between snapshots. - * - * @var int|null - */ - protected $snapshotInterval; - /** - * The number of snapshots to keep beyond the current snapshot. - * - * @var int|null - */ - protected $keepOldSnapshots; - /** - * The number of log entries to keep around to sync up slow followers - * after a snapshot is created. - * - * @var int|null - */ - protected $logEntriesForSlowFollowers; - /** - * The number of ticks that a follower will wait for a message from - * the leader before becoming a candidate and starting an election. - * `ElectionTick` must be greater than `HeartbeatTick`. - * - * A tick currently defaults to one second, so these translate - * directly to seconds currently, but this is NOT guaranteed. - * - * @var int|null - */ - protected $electionTick; - /** - * The number of ticks between heartbeats. Every HeartbeatTick ticks, - * the leader will send a heartbeat to the followers. - * - * A tick currently defaults to one second, so these translate - * directly to seconds currently, but this is NOT guaranteed. - * - * @var int|null - */ - protected $heartbeatTick; - - /** - * The number of log entries between snapshots. - */ - public function getSnapshotInterval(): ?int - { - return $this->snapshotInterval; - } - - /** - * The number of log entries between snapshots. - */ - public function setSnapshotInterval(?int $snapshotInterval): self - { - $this->initialized['snapshotInterval'] = true; - $this->snapshotInterval = $snapshotInterval; - - return $this; - } - - /** - * The number of snapshots to keep beyond the current snapshot. - */ - public function getKeepOldSnapshots(): ?int - { - return $this->keepOldSnapshots; - } - - /** - * The number of snapshots to keep beyond the current snapshot. - */ - public function setKeepOldSnapshots(?int $keepOldSnapshots): self - { - $this->initialized['keepOldSnapshots'] = true; - $this->keepOldSnapshots = $keepOldSnapshots; - - return $this; - } - - /** - * The number of log entries to keep around to sync up slow followers - * after a snapshot is created. - */ - public function getLogEntriesForSlowFollowers(): ?int - { - return $this->logEntriesForSlowFollowers; - } - - /** - * The number of log entries to keep around to sync up slow followers - * after a snapshot is created. - */ - public function setLogEntriesForSlowFollowers(?int $logEntriesForSlowFollowers): self - { - $this->initialized['logEntriesForSlowFollowers'] = true; - $this->logEntriesForSlowFollowers = $logEntriesForSlowFollowers; - - return $this; - } - - /** - * The number of ticks that a follower will wait for a message from - * the leader before becoming a candidate and starting an election. - * `ElectionTick` must be greater than `HeartbeatTick`. - * - * A tick currently defaults to one second, so these translate - * directly to seconds currently, but this is NOT guaranteed. - */ - public function getElectionTick(): ?int - { - return $this->electionTick; - } - - /** - * The number of ticks that a follower will wait for a message from - * the leader before becoming a candidate and starting an election. - * `ElectionTick` must be greater than `HeartbeatTick`. - * - * A tick currently defaults to one second, so these translate - * directly to seconds currently, but this is NOT guaranteed. - */ - public function setElectionTick(?int $electionTick): self - { - $this->initialized['electionTick'] = true; - $this->electionTick = $electionTick; - - return $this; - } - - /** - * The number of ticks between heartbeats. Every HeartbeatTick ticks, - * the leader will send a heartbeat to the followers. - * - * A tick currently defaults to one second, so these translate - * directly to seconds currently, but this is NOT guaranteed. - */ - public function getHeartbeatTick(): ?int - { - return $this->heartbeatTick; - } - - /** - * The number of ticks between heartbeats. Every HeartbeatTick ticks, - * the leader will send a heartbeat to the followers. - * - * A tick currently defaults to one second, so these translate - * directly to seconds currently, but this is NOT guaranteed. - */ - public function setHeartbeatTick(?int $heartbeatTick): self - { - $this->initialized['heartbeatTick'] = true; - $this->heartbeatTick = $heartbeatTick; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecTaskDefaults.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecTaskDefaults.php deleted file mode 100644 index aadcd88ee..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecTaskDefaults.php +++ /dev/null @@ -1,55 +0,0 @@ -initialized); - } - /** - * The log driver to use for tasks created in the orchestrator if - * unspecified by a service. - * - * Updating this value only affects new tasks. Existing tasks continue - * to use their previously configured log driver until recreated. - * - * @var SwarmSpecTaskDefaultsLogDriver|null - */ - protected $logDriver; - - /** - * The log driver to use for tasks created in the orchestrator if - * unspecified by a service. - * - * Updating this value only affects new tasks. Existing tasks continue - * to use their previously configured log driver until recreated. - */ - public function getLogDriver(): ?SwarmSpecTaskDefaultsLogDriver - { - return $this->logDriver; - } - - /** - * The log driver to use for tasks created in the orchestrator if - * unspecified by a service. - * - * Updating this value only affects new tasks. Existing tasks continue - * to use their previously configured log driver until recreated. - */ - public function setLogDriver(?SwarmSpecTaskDefaultsLogDriver $logDriver): self - { - $this->initialized['logDriver'] = true; - $this->logDriver = $logDriver; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecTaskDefaultsLogDriver.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecTaskDefaultsLogDriver.php deleted file mode 100644 index 4bd8521f3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmSpecTaskDefaultsLogDriver.php +++ /dev/null @@ -1,75 +0,0 @@ -initialized); - } - /** - * The log driver to use as a default for new tasks. - * - * @var string|null - */ - protected $name; - /** - * Driver-specific options for the selectd log driver, specified - * as key/value pairs. - * - * @var array|null - */ - protected $options; - - /** - * The log driver to use as a default for new tasks. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * The log driver to use as a default for new tasks. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Driver-specific options for the selectd log driver, specified - * as key/value pairs. - * - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * Driver-specific options for the selectd log driver, specified - * as key/value pairs. - * - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockPostBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockPostBody.php deleted file mode 100644 index 1f33fdd32..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockPostBody.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * The swarm's unlock key. - * - * @var string|null - */ - protected $unlockKey; - - /** - * The swarm's unlock key. - */ - public function getUnlockKey(): ?string - { - return $this->unlockKey; - } - - /** - * The swarm's unlock key. - */ - public function setUnlockKey(?string $unlockKey): self - { - $this->initialized['unlockKey'] = true; - $this->unlockKey = $unlockKey; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockkeyGetJsonResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockkeyGetJsonResponse200.php deleted file mode 100644 index 803e8f35b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockkeyGetJsonResponse200.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * The swarm's unlock key. - * - * @var string|null - */ - protected $unlockKey; - - /** - * The swarm's unlock key. - */ - public function getUnlockKey(): ?string - { - return $this->unlockKey; - } - - /** - * The swarm's unlock key. - */ - public function setUnlockKey(?string $unlockKey): self - { - $this->initialized['unlockKey'] = true; - $this->unlockKey = $unlockKey; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockkeyGetTextplainResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockkeyGetTextplainResponse200.php deleted file mode 100644 index 659e2c8f3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SwarmUnlockkeyGetTextplainResponse200.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * The swarm's unlock key. - * - * @var string|null - */ - protected $unlockKey; - - /** - * The swarm's unlock key. - */ - public function getUnlockKey(): ?string - { - return $this->unlockKey; - } - - /** - * The swarm's unlock key. - */ - public function setUnlockKey(?string $unlockKey): self - { - $this->initialized['unlockKey'] = true; - $this->unlockKey = $unlockKey; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SystemDfGetJsonResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/SystemDfGetJsonResponse200.php deleted file mode 100644 index 8ba172118..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SystemDfGetJsonResponse200.php +++ /dev/null @@ -1,127 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $layersSize; - /** - * @var list|null - */ - protected $images; - /** - * @var list|null - */ - protected $containers; - /** - * @var list|null - */ - protected $volumes; - /** - * @var list|null - */ - protected $buildCache; - - public function getLayersSize(): ?int - { - return $this->layersSize; - } - - public function setLayersSize(?int $layersSize): self - { - $this->initialized['layersSize'] = true; - $this->layersSize = $layersSize; - - return $this; - } - - /** - * @return list|null - */ - public function getImages(): ?array - { - return $this->images; - } - - /** - * @param list|null $images - */ - public function setImages(?array $images): self - { - $this->initialized['images'] = true; - $this->images = $images; - - return $this; - } - - /** - * @return list|null - */ - public function getContainers(): ?array - { - return $this->containers; - } - - /** - * @param list|null $containers - */ - public function setContainers(?array $containers): self - { - $this->initialized['containers'] = true; - $this->containers = $containers; - - return $this; - } - - /** - * @return list|null - */ - public function getVolumes(): ?array - { - return $this->volumes; - } - - /** - * @param list|null $volumes - */ - public function setVolumes(?array $volumes): self - { - $this->initialized['volumes'] = true; - $this->volumes = $volumes; - - return $this; - } - - /** - * @return list|null - */ - public function getBuildCache(): ?array - { - return $this->buildCache; - } - - /** - * @param list|null $buildCache - */ - public function setBuildCache(?array $buildCache): self - { - $this->initialized['buildCache'] = true; - $this->buildCache = $buildCache; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SystemDfGetTextplainResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/SystemDfGetTextplainResponse200.php deleted file mode 100644 index 0ca7e3435..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SystemDfGetTextplainResponse200.php +++ /dev/null @@ -1,127 +0,0 @@ -initialized); - } - /** - * @var int|null - */ - protected $layersSize; - /** - * @var list|null - */ - protected $images; - /** - * @var list|null - */ - protected $containers; - /** - * @var list|null - */ - protected $volumes; - /** - * @var list|null - */ - protected $buildCache; - - public function getLayersSize(): ?int - { - return $this->layersSize; - } - - public function setLayersSize(?int $layersSize): self - { - $this->initialized['layersSize'] = true; - $this->layersSize = $layersSize; - - return $this; - } - - /** - * @return list|null - */ - public function getImages(): ?array - { - return $this->images; - } - - /** - * @param list|null $images - */ - public function setImages(?array $images): self - { - $this->initialized['images'] = true; - $this->images = $images; - - return $this; - } - - /** - * @return list|null - */ - public function getContainers(): ?array - { - return $this->containers; - } - - /** - * @param list|null $containers - */ - public function setContainers(?array $containers): self - { - $this->initialized['containers'] = true; - $this->containers = $containers; - - return $this; - } - - /** - * @return list|null - */ - public function getVolumes(): ?array - { - return $this->volumes; - } - - /** - * @param list|null $volumes - */ - public function setVolumes(?array $volumes): self - { - $this->initialized['volumes'] = true; - $this->volumes = $volumes; - - return $this; - } - - /** - * @return list|null - */ - public function getBuildCache(): ?array - { - return $this->buildCache; - } - - /** - * @param list|null $buildCache - */ - public function setBuildCache(?array $buildCache): self - { - $this->initialized['buildCache'] = true; - $this->buildCache = $buildCache; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SystemInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/SystemInfo.php deleted file mode 100644 index df7f2409c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SystemInfo.php +++ /dev/null @@ -1,2001 +0,0 @@ -initialized); - } - /** - * Unique identifier of the daemon. - * - *


- * - * > **Note**: The format of the ID itself is not part of the API, and - * > should not be considered stable. - * - * @var string|null - */ - protected $iD; - /** - * Total number of containers on the host. - * - * @var int|null - */ - protected $containers; - /** - * Number of containers with status `"running"`. - * - * @var int|null - */ - protected $containersRunning; - /** - * Number of containers with status `"paused"`. - * - * @var int|null - */ - protected $containersPaused; - /** - * Number of containers with status `"stopped"`. - * - * @var int|null - */ - protected $containersStopped; - /** - * Total number of images on the host. - * - * Both _tagged_ and _untagged_ (dangling) images are counted. - * - * @var int|null - */ - protected $images; - /** - * Name of the storage driver in use. - * - * @var string|null - */ - protected $driver; - /** - * Information specific to the storage driver, provided as - * "label" / "value" pairs. - * - * This information is provided by the storage driver, and formatted - * in a way consistent with the output of `docker info` on the command - * line. - * - *


- * - * > **Note**: The information returned in this field, including the - * > formatting of values and labels, should not be considered stable, - * > and may change without notice. - * - * @var list>|null - */ - protected $driverStatus; - /** - * Root directory of persistent Docker state. - * - * Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker` - * on Windows. - * - * @var string|null - */ - protected $dockerRootDir; - /** - * Available plugins per type. - * - *


- * - * > **Note**: Only unmanaged (V1) plugins are included in this list. - * > V1 plugins are "lazily" loaded, and are not returned in this list - * > if there is no resource using the plugin. - * - * @var PluginsInfo|null - */ - protected $plugins; - /** - * Indicates if the host has memory limit support enabled. - * - * @var bool|null - */ - protected $memoryLimit; - /** - * Indicates if the host has memory swap limit support enabled. - * - * @var bool|null - */ - protected $swapLimit; - /** - * Indicates if the host has kernel memory TCP limit support enabled. This - * field is omitted if not supported. - * - * Kernel memory TCP limits are not supported when using cgroups v2, which - * does not support the corresponding `memory.kmem.tcp.limit_in_bytes` cgroup. - * - * @var bool|null - */ - protected $kernelMemoryTCP; - /** - * Indicates if CPU CFS(Completely Fair Scheduler) period is supported by - * the host. - * - * @var bool|null - */ - protected $cpuCfsPeriod; - /** - * Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by - * the host. - * - * @var bool|null - */ - protected $cpuCfsQuota; - /** - * Indicates if CPU Shares limiting is supported by the host. - * - * @var bool|null - */ - protected $cPUShares; - /** - * Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host. - * - * See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt) - * - * @var bool|null - */ - protected $cPUSet; - /** - * Indicates if the host kernel has PID limit support enabled. - * - * @var bool|null - */ - protected $pidsLimit; - /** - * Indicates if OOM killer disable is supported on the host. - * - * @var bool|null - */ - protected $oomKillDisable; - /** - * Indicates IPv4 forwarding is enabled. - * - * @var bool|null - */ - protected $iPv4Forwarding; - /** - * Indicates if `bridge-nf-call-iptables` is available on the host. - * - * @var bool|null - */ - protected $bridgeNfIptables; - /** - * Indicates if `bridge-nf-call-ip6tables` is available on the host. - * - * @var bool|null - */ - protected $bridgeNfIp6tables; - /** - * Indicates if the daemon is running in debug-mode / with debug-level - * logging enabled. - * - * @var bool|null - */ - protected $debug; - /** - * The total number of file Descriptors in use by the daemon process. - * - * This information is only returned if debug-mode is enabled. - * - * @var int|null - */ - protected $nFd; - /** - * The number of goroutines that currently exist. - * - * This information is only returned if debug-mode is enabled. - * - * @var int|null - */ - protected $nGoroutines; - /** - * Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) - * format with nano-seconds. - * - * @var string|null - */ - protected $systemTime; - /** - * The logging driver to use as a default for new containers. - * - * @var string|null - */ - protected $loggingDriver; - /** - * The driver to use for managing cgroups. - * - * @var string|null - */ - protected $cgroupDriver = 'cgroupfs'; - /** - * The version of the cgroup. - * - * @var string|null - */ - protected $cgroupVersion = '1'; - /** - * Number of event listeners subscribed. - * - * @var int|null - */ - protected $nEventsListener; - /** - * Kernel version of the host. - * - * On Linux, this information obtained from `uname`. On Windows this - * information is queried from the HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ - * registry value, for example _"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)"_. - * - * @var string|null - */ - protected $kernelVersion; - /** - * Name of the host's operating system, for example: "Ubuntu 16.04.2 LTS" - * or "Windows Server 2016 Datacenter". - * - * @var string|null - */ - protected $operatingSystem; - /** - * Version of the host's operating system. - * - *


- * - * > **Note**: The information returned in this field, including its - * > very existence, and the formatting of values, should not be considered - * > stable, and may change without notice. - * - * @var string|null - */ - protected $oSVersion; - /** - * Generic type of the operating system of the host, as returned by the - * Go runtime (`GOOS`). - * - * Currently returned values are "linux" and "windows". A full list of - * possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment). - * - * @var string|null - */ - protected $oSType; - /** - * Hardware architecture of the host, as returned by the Go runtime - * (`GOARCH`). - * - * A full list of possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment). - * - * @var string|null - */ - protected $architecture; - /** - * The number of logical CPUs usable by the daemon. - * - * The number of available CPUs is checked by querying the operating - * system when the daemon starts. Changes to operating system CPU - * allocation after the daemon is started are not reflected. - * - * @var int|null - */ - protected $nCPU; - /** - * Total amount of physical memory available on the host, in bytes. - * - * @var int|null - */ - protected $memTotal; - /** - * Address / URL of the index server that is used for image search, - * and as a default for user authentication for Docker Hub and Docker Cloud. - * - * @var string|null - */ - protected $indexServerAddress = 'https://index.docker.io/v1/'; - /** - * RegistryServiceConfig stores daemon registry services configuration. - * - * @var RegistryServiceConfig|null - */ - protected $registryConfig; - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @var list|null - */ - protected $genericResources; - /** - * HTTP-proxy configured for the daemon. This value is obtained from the - * [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. - * Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL - * are masked in the API response. - * - * Containers do not automatically inherit this configuration. - * - * @var string|null - */ - protected $httpProxy; - /** - * HTTPS-proxy configured for the daemon. This value is obtained from the - * [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. - * Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL - * are masked in the API response. - * - * Containers do not automatically inherit this configuration. - * - * @var string|null - */ - protected $httpsProxy; - /** - * Comma-separated list of domain extensions for which no proxy should be - * used. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) - * environment variable. - * - * Containers do not automatically inherit this configuration. - * - * @var string|null - */ - protected $noProxy; - /** - * Hostname of the host. - * - * @var string|null - */ - protected $name; - /** - * User-defined labels (key/value metadata) as set on the daemon. - * - *


- * - * > **Note**: When part of a Swarm, nodes can both have _daemon_ labels, - * > set through the daemon configuration, and _node_ labels, set from a - * > manager node in the Swarm. Node labels are not included in this - * > field. Node labels can be retrieved using the `/nodes/(id)` endpoint - * > on a manager node in the Swarm. - * - * @var list|null - */ - protected $labels; - /** - * Indicates if experimental features are enabled on the daemon. - * - * @var bool|null - */ - protected $experimentalBuild; - /** - * Version string of the daemon. - * - * @var string|null - */ - protected $serverVersion; - /** - * List of [OCI compliant](https://github.com/opencontainers/runtime-spec) - * runtimes configured on the daemon. Keys hold the "name" used to - * reference the runtime. - * - * The Docker daemon relies on an OCI compliant runtime (invoked via the - * `containerd` daemon) as its interface to the Linux kernel namespaces, - * cgroups, and SELinux. - * - * The default runtime is `runc`, and automatically configured. Additional - * runtimes can be configured by the user and will be listed here. - * - * @var array|null - */ - protected $runtimes; - /** - * Name of the default OCI runtime that is used when starting containers. - * - * The default can be overridden per-container at create time. - * - * @var string|null - */ - protected $defaultRuntime = 'runc'; - /** - * Represents generic information about swarm. - * - * @var SwarmInfo|null - */ - protected $swarm; - /** - * Indicates if live restore is enabled. - * - * If enabled, containers are kept running when the daemon is shutdown - * or upon daemon start if running containers are detected. - * - * @var bool|null - */ - protected $liveRestoreEnabled = false; - /** - * Represents the isolation technology to use as a default for containers. - * The supported values are platform-specific. - * - * If no isolation value is specified on daemon start, on Windows client, - * the default is `hyperv`, and on Windows server, the default is `process`. - * - * This option is currently not used on other platforms. - * - * @var string|null - */ - protected $isolation = 'default'; - /** - * Name and, optional, path of the `docker-init` binary. - * - * If the path is omitted, the daemon searches the host's `$PATH` for the - * binary and uses the first result. - * - * @var string|null - */ - protected $initBinary; - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - * - * @var Commit|null - */ - protected $containerdCommit; - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - * - * @var Commit|null - */ - protected $runcCommit; - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - * - * @var Commit|null - */ - protected $initCommit; - /** - * List of security features that are enabled on the daemon, such as - * apparmor, seccomp, SELinux, user-namespaces (userns), rootless and - * no-new-privileges. - * - * Additional configuration options for each security feature may - * be present, and are included as a comma-separated list of key/value - * pairs. - * - * @var list|null - */ - protected $securityOptions; - /** - * Reports a summary of the product license on the daemon. - * - * If a commercial license has been applied to the daemon, information - * such as number of nodes, and expiration are included. - * - * @var string|null - */ - protected $productLicense; - /** - * List of custom default address pools for local networks, which can be - * specified in the daemon.json file or dockerd option. - * - * Example: a Base "10.10.0.0/16" with Size 24 will define the set of 256 - * 10.10.[0-255].0/24 address pools. - * - * @var list|null - */ - protected $defaultAddressPools; - /** - * List of warnings / informational messages about missing features, or - * issues related to the daemon configuration. - * - * These messages can be printed by the client as information to the user. - * - * @var list|null - */ - protected $warnings; - /** - * List of directories where (Container Device Interface) CDI - * specifications are located. - * - * These specifications define vendor-specific modifications to an OCI - * runtime specification for a container being created. - * - * An empty list indicates that CDI device injection is disabled. - * - * Note that since using CDI device injection requires the daemon to have - * experimental enabled. For non-experimental daemons an empty list will - * always be returned. - * - * @var list|null - */ - protected $cDISpecDirs; - - /** - * Unique identifier of the daemon. - * - *


- * - * > **Note**: The format of the ID itself is not part of the API, and - * > should not be considered stable. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * Unique identifier of the daemon. - * - *


- * - * > **Note**: The format of the ID itself is not part of the API, and - * > should not be considered stable. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * Total number of containers on the host. - */ - public function getContainers(): ?int - { - return $this->containers; - } - - /** - * Total number of containers on the host. - */ - public function setContainers(?int $containers): self - { - $this->initialized['containers'] = true; - $this->containers = $containers; - - return $this; - } - - /** - * Number of containers with status `"running"`. - */ - public function getContainersRunning(): ?int - { - return $this->containersRunning; - } - - /** - * Number of containers with status `"running"`. - */ - public function setContainersRunning(?int $containersRunning): self - { - $this->initialized['containersRunning'] = true; - $this->containersRunning = $containersRunning; - - return $this; - } - - /** - * Number of containers with status `"paused"`. - */ - public function getContainersPaused(): ?int - { - return $this->containersPaused; - } - - /** - * Number of containers with status `"paused"`. - */ - public function setContainersPaused(?int $containersPaused): self - { - $this->initialized['containersPaused'] = true; - $this->containersPaused = $containersPaused; - - return $this; - } - - /** - * Number of containers with status `"stopped"`. - */ - public function getContainersStopped(): ?int - { - return $this->containersStopped; - } - - /** - * Number of containers with status `"stopped"`. - */ - public function setContainersStopped(?int $containersStopped): self - { - $this->initialized['containersStopped'] = true; - $this->containersStopped = $containersStopped; - - return $this; - } - - /** - * Total number of images on the host. - * - * Both _tagged_ and _untagged_ (dangling) images are counted. - */ - public function getImages(): ?int - { - return $this->images; - } - - /** - * Total number of images on the host. - * - * Both _tagged_ and _untagged_ (dangling) images are counted. - */ - public function setImages(?int $images): self - { - $this->initialized['images'] = true; - $this->images = $images; - - return $this; - } - - /** - * Name of the storage driver in use. - */ - public function getDriver(): ?string - { - return $this->driver; - } - - /** - * Name of the storage driver in use. - */ - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - /** - * Information specific to the storage driver, provided as - * "label" / "value" pairs. - * - * This information is provided by the storage driver, and formatted - * in a way consistent with the output of `docker info` on the command - * line. - * - *


- * - * > **Note**: The information returned in this field, including the - * > formatting of values and labels, should not be considered stable, - * > and may change without notice. - * - * @return list>|null - */ - public function getDriverStatus(): ?array - { - return $this->driverStatus; - } - - /** - * Information specific to the storage driver, provided as - * "label" / "value" pairs. - * - * This information is provided by the storage driver, and formatted - * in a way consistent with the output of `docker info` on the command - * line. - * - *


- * - * > **Note**: The information returned in this field, including the - * > formatting of values and labels, should not be considered stable, - * > and may change without notice. - * - * @param list>|null $driverStatus - */ - public function setDriverStatus(?array $driverStatus): self - { - $this->initialized['driverStatus'] = true; - $this->driverStatus = $driverStatus; - - return $this; - } - - /** - * Root directory of persistent Docker state. - * - * Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker` - * on Windows. - */ - public function getDockerRootDir(): ?string - { - return $this->dockerRootDir; - } - - /** - * Root directory of persistent Docker state. - * - * Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker` - * on Windows. - */ - public function setDockerRootDir(?string $dockerRootDir): self - { - $this->initialized['dockerRootDir'] = true; - $this->dockerRootDir = $dockerRootDir; - - return $this; - } - - /** - * Available plugins per type. - * - *


- * - * > **Note**: Only unmanaged (V1) plugins are included in this list. - * > V1 plugins are "lazily" loaded, and are not returned in this list - * > if there is no resource using the plugin. - */ - public function getPlugins(): ?PluginsInfo - { - return $this->plugins; - } - - /** - * Available plugins per type. - * - *


- * - * > **Note**: Only unmanaged (V1) plugins are included in this list. - * > V1 plugins are "lazily" loaded, and are not returned in this list - * > if there is no resource using the plugin. - */ - public function setPlugins(?PluginsInfo $plugins): self - { - $this->initialized['plugins'] = true; - $this->plugins = $plugins; - - return $this; - } - - /** - * Indicates if the host has memory limit support enabled. - */ - public function getMemoryLimit(): ?bool - { - return $this->memoryLimit; - } - - /** - * Indicates if the host has memory limit support enabled. - */ - public function setMemoryLimit(?bool $memoryLimit): self - { - $this->initialized['memoryLimit'] = true; - $this->memoryLimit = $memoryLimit; - - return $this; - } - - /** - * Indicates if the host has memory swap limit support enabled. - */ - public function getSwapLimit(): ?bool - { - return $this->swapLimit; - } - - /** - * Indicates if the host has memory swap limit support enabled. - */ - public function setSwapLimit(?bool $swapLimit): self - { - $this->initialized['swapLimit'] = true; - $this->swapLimit = $swapLimit; - - return $this; - } - - /** - * Indicates if the host has kernel memory TCP limit support enabled. This - * field is omitted if not supported. - * - * Kernel memory TCP limits are not supported when using cgroups v2, which - * does not support the corresponding `memory.kmem.tcp.limit_in_bytes` cgroup. - */ - public function getKernelMemoryTCP(): ?bool - { - return $this->kernelMemoryTCP; - } - - /** - * Indicates if the host has kernel memory TCP limit support enabled. This - * field is omitted if not supported. - * - * Kernel memory TCP limits are not supported when using cgroups v2, which - * does not support the corresponding `memory.kmem.tcp.limit_in_bytes` cgroup. - */ - public function setKernelMemoryTCP(?bool $kernelMemoryTCP): self - { - $this->initialized['kernelMemoryTCP'] = true; - $this->kernelMemoryTCP = $kernelMemoryTCP; - - return $this; - } - - /** - * Indicates if CPU CFS(Completely Fair Scheduler) period is supported by - * the host. - */ - public function getCpuCfsPeriod(): ?bool - { - return $this->cpuCfsPeriod; - } - - /** - * Indicates if CPU CFS(Completely Fair Scheduler) period is supported by - * the host. - */ - public function setCpuCfsPeriod(?bool $cpuCfsPeriod): self - { - $this->initialized['cpuCfsPeriod'] = true; - $this->cpuCfsPeriod = $cpuCfsPeriod; - - return $this; - } - - /** - * Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by - * the host. - */ - public function getCpuCfsQuota(): ?bool - { - return $this->cpuCfsQuota; - } - - /** - * Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by - * the host. - */ - public function setCpuCfsQuota(?bool $cpuCfsQuota): self - { - $this->initialized['cpuCfsQuota'] = true; - $this->cpuCfsQuota = $cpuCfsQuota; - - return $this; - } - - /** - * Indicates if CPU Shares limiting is supported by the host. - */ - public function getCPUShares(): ?bool - { - return $this->cPUShares; - } - - /** - * Indicates if CPU Shares limiting is supported by the host. - */ - public function setCPUShares(?bool $cPUShares): self - { - $this->initialized['cPUShares'] = true; - $this->cPUShares = $cPUShares; - - return $this; - } - - /** - * Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host. - * - * See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt) - */ - public function getCPUSet(): ?bool - { - return $this->cPUSet; - } - - /** - * Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host. - * - * See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt) - */ - public function setCPUSet(?bool $cPUSet): self - { - $this->initialized['cPUSet'] = true; - $this->cPUSet = $cPUSet; - - return $this; - } - - /** - * Indicates if the host kernel has PID limit support enabled. - */ - public function getPidsLimit(): ?bool - { - return $this->pidsLimit; - } - - /** - * Indicates if the host kernel has PID limit support enabled. - */ - public function setPidsLimit(?bool $pidsLimit): self - { - $this->initialized['pidsLimit'] = true; - $this->pidsLimit = $pidsLimit; - - return $this; - } - - /** - * Indicates if OOM killer disable is supported on the host. - */ - public function getOomKillDisable(): ?bool - { - return $this->oomKillDisable; - } - - /** - * Indicates if OOM killer disable is supported on the host. - */ - public function setOomKillDisable(?bool $oomKillDisable): self - { - $this->initialized['oomKillDisable'] = true; - $this->oomKillDisable = $oomKillDisable; - - return $this; - } - - /** - * Indicates IPv4 forwarding is enabled. - */ - public function getIPv4Forwarding(): ?bool - { - return $this->iPv4Forwarding; - } - - /** - * Indicates IPv4 forwarding is enabled. - */ - public function setIPv4Forwarding(?bool $iPv4Forwarding): self - { - $this->initialized['iPv4Forwarding'] = true; - $this->iPv4Forwarding = $iPv4Forwarding; - - return $this; - } - - /** - * Indicates if `bridge-nf-call-iptables` is available on the host. - */ - public function getBridgeNfIptables(): ?bool - { - return $this->bridgeNfIptables; - } - - /** - * Indicates if `bridge-nf-call-iptables` is available on the host. - */ - public function setBridgeNfIptables(?bool $bridgeNfIptables): self - { - $this->initialized['bridgeNfIptables'] = true; - $this->bridgeNfIptables = $bridgeNfIptables; - - return $this; - } - - /** - * Indicates if `bridge-nf-call-ip6tables` is available on the host. - */ - public function getBridgeNfIp6tables(): ?bool - { - return $this->bridgeNfIp6tables; - } - - /** - * Indicates if `bridge-nf-call-ip6tables` is available on the host. - */ - public function setBridgeNfIp6tables(?bool $bridgeNfIp6tables): self - { - $this->initialized['bridgeNfIp6tables'] = true; - $this->bridgeNfIp6tables = $bridgeNfIp6tables; - - return $this; - } - - /** - * Indicates if the daemon is running in debug-mode / with debug-level - * logging enabled. - */ - public function getDebug(): ?bool - { - return $this->debug; - } - - /** - * Indicates if the daemon is running in debug-mode / with debug-level - * logging enabled. - */ - public function setDebug(?bool $debug): self - { - $this->initialized['debug'] = true; - $this->debug = $debug; - - return $this; - } - - /** - * The total number of file Descriptors in use by the daemon process. - * - * This information is only returned if debug-mode is enabled. - */ - public function getNFd(): ?int - { - return $this->nFd; - } - - /** - * The total number of file Descriptors in use by the daemon process. - * - * This information is only returned if debug-mode is enabled. - */ - public function setNFd(?int $nFd): self - { - $this->initialized['nFd'] = true; - $this->nFd = $nFd; - - return $this; - } - - /** - * The number of goroutines that currently exist. - * - * This information is only returned if debug-mode is enabled. - */ - public function getNGoroutines(): ?int - { - return $this->nGoroutines; - } - - /** - * The number of goroutines that currently exist. - * - * This information is only returned if debug-mode is enabled. - */ - public function setNGoroutines(?int $nGoroutines): self - { - $this->initialized['nGoroutines'] = true; - $this->nGoroutines = $nGoroutines; - - return $this; - } - - /** - * Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) - * format with nano-seconds. - */ - public function getSystemTime(): ?string - { - return $this->systemTime; - } - - /** - * Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) - * format with nano-seconds. - */ - public function setSystemTime(?string $systemTime): self - { - $this->initialized['systemTime'] = true; - $this->systemTime = $systemTime; - - return $this; - } - - /** - * The logging driver to use as a default for new containers. - */ - public function getLoggingDriver(): ?string - { - return $this->loggingDriver; - } - - /** - * The logging driver to use as a default for new containers. - */ - public function setLoggingDriver(?string $loggingDriver): self - { - $this->initialized['loggingDriver'] = true; - $this->loggingDriver = $loggingDriver; - - return $this; - } - - /** - * The driver to use for managing cgroups. - */ - public function getCgroupDriver(): ?string - { - return $this->cgroupDriver; - } - - /** - * The driver to use for managing cgroups. - */ - public function setCgroupDriver(?string $cgroupDriver): self - { - $this->initialized['cgroupDriver'] = true; - $this->cgroupDriver = $cgroupDriver; - - return $this; - } - - /** - * The version of the cgroup. - */ - public function getCgroupVersion(): ?string - { - return $this->cgroupVersion; - } - - /** - * The version of the cgroup. - */ - public function setCgroupVersion(?string $cgroupVersion): self - { - $this->initialized['cgroupVersion'] = true; - $this->cgroupVersion = $cgroupVersion; - - return $this; - } - - /** - * Number of event listeners subscribed. - */ - public function getNEventsListener(): ?int - { - return $this->nEventsListener; - } - - /** - * Number of event listeners subscribed. - */ - public function setNEventsListener(?int $nEventsListener): self - { - $this->initialized['nEventsListener'] = true; - $this->nEventsListener = $nEventsListener; - - return $this; - } - - /** - * Kernel version of the host. - * - * On Linux, this information obtained from `uname`. On Windows this - * information is queried from the HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ - * registry value, for example _"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)"_. - */ - public function getKernelVersion(): ?string - { - return $this->kernelVersion; - } - - /** - * Kernel version of the host. - * - * On Linux, this information obtained from `uname`. On Windows this - * information is queried from the HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ - * registry value, for example _"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)"_. - */ - public function setKernelVersion(?string $kernelVersion): self - { - $this->initialized['kernelVersion'] = true; - $this->kernelVersion = $kernelVersion; - - return $this; - } - - /** - * Name of the host's operating system, for example: "Ubuntu 16.04.2 LTS" - * or "Windows Server 2016 Datacenter". - */ - public function getOperatingSystem(): ?string - { - return $this->operatingSystem; - } - - /** - * Name of the host's operating system, for example: "Ubuntu 16.04.2 LTS" - * or "Windows Server 2016 Datacenter". - */ - public function setOperatingSystem(?string $operatingSystem): self - { - $this->initialized['operatingSystem'] = true; - $this->operatingSystem = $operatingSystem; - - return $this; - } - - /** - * Version of the host's operating system. - * - *


- * - * > **Note**: The information returned in this field, including its - * > very existence, and the formatting of values, should not be considered - * > stable, and may change without notice. - */ - public function getOSVersion(): ?string - { - return $this->oSVersion; - } - - /** - * Version of the host's operating system. - * - *


- * - * > **Note**: The information returned in this field, including its - * > very existence, and the formatting of values, should not be considered - * > stable, and may change without notice. - */ - public function setOSVersion(?string $oSVersion): self - { - $this->initialized['oSVersion'] = true; - $this->oSVersion = $oSVersion; - - return $this; - } - - /** - * Generic type of the operating system of the host, as returned by the - * Go runtime (`GOOS`). - * - * Currently returned values are "linux" and "windows". A full list of - * possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment). - */ - public function getOSType(): ?string - { - return $this->oSType; - } - - /** - * Generic type of the operating system of the host, as returned by the - * Go runtime (`GOOS`). - * - * Currently returned values are "linux" and "windows". A full list of - * possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment). - */ - public function setOSType(?string $oSType): self - { - $this->initialized['oSType'] = true; - $this->oSType = $oSType; - - return $this; - } - - /** - * Hardware architecture of the host, as returned by the Go runtime - * (`GOARCH`). - * - * A full list of possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment). - */ - public function getArchitecture(): ?string - { - return $this->architecture; - } - - /** - * Hardware architecture of the host, as returned by the Go runtime - * (`GOARCH`). - * - * A full list of possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment). - */ - public function setArchitecture(?string $architecture): self - { - $this->initialized['architecture'] = true; - $this->architecture = $architecture; - - return $this; - } - - /** - * The number of logical CPUs usable by the daemon. - * - * The number of available CPUs is checked by querying the operating - * system when the daemon starts. Changes to operating system CPU - * allocation after the daemon is started are not reflected. - */ - public function getNCPU(): ?int - { - return $this->nCPU; - } - - /** - * The number of logical CPUs usable by the daemon. - * - * The number of available CPUs is checked by querying the operating - * system when the daemon starts. Changes to operating system CPU - * allocation after the daemon is started are not reflected. - */ - public function setNCPU(?int $nCPU): self - { - $this->initialized['nCPU'] = true; - $this->nCPU = $nCPU; - - return $this; - } - - /** - * Total amount of physical memory available on the host, in bytes. - */ - public function getMemTotal(): ?int - { - return $this->memTotal; - } - - /** - * Total amount of physical memory available on the host, in bytes. - */ - public function setMemTotal(?int $memTotal): self - { - $this->initialized['memTotal'] = true; - $this->memTotal = $memTotal; - - return $this; - } - - /** - * Address / URL of the index server that is used for image search, - * and as a default for user authentication for Docker Hub and Docker Cloud. - */ - public function getIndexServerAddress(): ?string - { - return $this->indexServerAddress; - } - - /** - * Address / URL of the index server that is used for image search, - * and as a default for user authentication for Docker Hub and Docker Cloud. - */ - public function setIndexServerAddress(?string $indexServerAddress): self - { - $this->initialized['indexServerAddress'] = true; - $this->indexServerAddress = $indexServerAddress; - - return $this; - } - - /** - * RegistryServiceConfig stores daemon registry services configuration. - */ - public function getRegistryConfig(): ?RegistryServiceConfig - { - return $this->registryConfig; - } - - /** - * RegistryServiceConfig stores daemon registry services configuration. - */ - public function setRegistryConfig(?RegistryServiceConfig $registryConfig): self - { - $this->initialized['registryConfig'] = true; - $this->registryConfig = $registryConfig; - - return $this; - } - - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @return list|null - */ - public function getGenericResources(): ?array - { - return $this->genericResources; - } - - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @param list|null $genericResources - */ - public function setGenericResources(?array $genericResources): self - { - $this->initialized['genericResources'] = true; - $this->genericResources = $genericResources; - - return $this; - } - - /** - * HTTP-proxy configured for the daemon. This value is obtained from the - * [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. - * Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL - * are masked in the API response. - * - * Containers do not automatically inherit this configuration. - */ - public function getHttpProxy(): ?string - { - return $this->httpProxy; - } - - /** - * HTTP-proxy configured for the daemon. This value is obtained from the - * [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. - * Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL - * are masked in the API response. - * - * Containers do not automatically inherit this configuration. - */ - public function setHttpProxy(?string $httpProxy): self - { - $this->initialized['httpProxy'] = true; - $this->httpProxy = $httpProxy; - - return $this; - } - - /** - * HTTPS-proxy configured for the daemon. This value is obtained from the - * [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. - * Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL - * are masked in the API response. - * - * Containers do not automatically inherit this configuration. - */ - public function getHttpsProxy(): ?string - { - return $this->httpsProxy; - } - - /** - * HTTPS-proxy configured for the daemon. This value is obtained from the - * [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. - * Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL - * are masked in the API response. - * - * Containers do not automatically inherit this configuration. - */ - public function setHttpsProxy(?string $httpsProxy): self - { - $this->initialized['httpsProxy'] = true; - $this->httpsProxy = $httpsProxy; - - return $this; - } - - /** - * Comma-separated list of domain extensions for which no proxy should be - * used. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) - * environment variable. - * - * Containers do not automatically inherit this configuration. - */ - public function getNoProxy(): ?string - { - return $this->noProxy; - } - - /** - * Comma-separated list of domain extensions for which no proxy should be - * used. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) - * environment variable. - * - * Containers do not automatically inherit this configuration. - */ - public function setNoProxy(?string $noProxy): self - { - $this->initialized['noProxy'] = true; - $this->noProxy = $noProxy; - - return $this; - } - - /** - * Hostname of the host. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Hostname of the host. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined labels (key/value metadata) as set on the daemon. - * - *


- * - * > **Note**: When part of a Swarm, nodes can both have _daemon_ labels, - * > set through the daemon configuration, and _node_ labels, set from a - * > manager node in the Swarm. Node labels are not included in this - * > field. Node labels can be retrieved using the `/nodes/(id)` endpoint - * > on a manager node in the Swarm. - * - * @return list|null - */ - public function getLabels(): ?array - { - return $this->labels; - } - - /** - * User-defined labels (key/value metadata) as set on the daemon. - * - *


- * - * > **Note**: When part of a Swarm, nodes can both have _daemon_ labels, - * > set through the daemon configuration, and _node_ labels, set from a - * > manager node in the Swarm. Node labels are not included in this - * > field. Node labels can be retrieved using the `/nodes/(id)` endpoint - * > on a manager node in the Swarm. - * - * @param list|null $labels - */ - public function setLabels(?array $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Indicates if experimental features are enabled on the daemon. - */ - public function getExperimentalBuild(): ?bool - { - return $this->experimentalBuild; - } - - /** - * Indicates if experimental features are enabled on the daemon. - */ - public function setExperimentalBuild(?bool $experimentalBuild): self - { - $this->initialized['experimentalBuild'] = true; - $this->experimentalBuild = $experimentalBuild; - - return $this; - } - - /** - * Version string of the daemon. - */ - public function getServerVersion(): ?string - { - return $this->serverVersion; - } - - /** - * Version string of the daemon. - */ - public function setServerVersion(?string $serverVersion): self - { - $this->initialized['serverVersion'] = true; - $this->serverVersion = $serverVersion; - - return $this; - } - - /** - * List of [OCI compliant](https://github.com/opencontainers/runtime-spec) - * runtimes configured on the daemon. Keys hold the "name" used to - * reference the runtime. - * - * The Docker daemon relies on an OCI compliant runtime (invoked via the - * `containerd` daemon) as its interface to the Linux kernel namespaces, - * cgroups, and SELinux. - * - * The default runtime is `runc`, and automatically configured. Additional - * runtimes can be configured by the user and will be listed here. - * - * @return array|null - */ - public function getRuntimes(): ?iterable - { - return $this->runtimes; - } - - /** - * List of [OCI compliant](https://github.com/opencontainers/runtime-spec) - * runtimes configured on the daemon. Keys hold the "name" used to - * reference the runtime. - * - * The Docker daemon relies on an OCI compliant runtime (invoked via the - * `containerd` daemon) as its interface to the Linux kernel namespaces, - * cgroups, and SELinux. - * - * The default runtime is `runc`, and automatically configured. Additional - * runtimes can be configured by the user and will be listed here. - * - * @param array|null $runtimes - */ - public function setRuntimes(?iterable $runtimes): self - { - $this->initialized['runtimes'] = true; - $this->runtimes = $runtimes; - - return $this; - } - - /** - * Name of the default OCI runtime that is used when starting containers. - * - * The default can be overridden per-container at create time. - */ - public function getDefaultRuntime(): ?string - { - return $this->defaultRuntime; - } - - /** - * Name of the default OCI runtime that is used when starting containers. - * - * The default can be overridden per-container at create time. - */ - public function setDefaultRuntime(?string $defaultRuntime): self - { - $this->initialized['defaultRuntime'] = true; - $this->defaultRuntime = $defaultRuntime; - - return $this; - } - - /** - * Represents generic information about swarm. - */ - public function getSwarm(): ?SwarmInfo - { - return $this->swarm; - } - - /** - * Represents generic information about swarm. - */ - public function setSwarm(?SwarmInfo $swarm): self - { - $this->initialized['swarm'] = true; - $this->swarm = $swarm; - - return $this; - } - - /** - * Indicates if live restore is enabled. - * - * If enabled, containers are kept running when the daemon is shutdown - * or upon daemon start if running containers are detected. - */ - public function getLiveRestoreEnabled(): ?bool - { - return $this->liveRestoreEnabled; - } - - /** - * Indicates if live restore is enabled. - * - * If enabled, containers are kept running when the daemon is shutdown - * or upon daemon start if running containers are detected. - */ - public function setLiveRestoreEnabled(?bool $liveRestoreEnabled): self - { - $this->initialized['liveRestoreEnabled'] = true; - $this->liveRestoreEnabled = $liveRestoreEnabled; - - return $this; - } - - /** - * Represents the isolation technology to use as a default for containers. - * The supported values are platform-specific. - * - * If no isolation value is specified on daemon start, on Windows client, - * the default is `hyperv`, and on Windows server, the default is `process`. - * - * This option is currently not used on other platforms. - */ - public function getIsolation(): ?string - { - return $this->isolation; - } - - /** - * Represents the isolation technology to use as a default for containers. - * The supported values are platform-specific. - * - * If no isolation value is specified on daemon start, on Windows client, - * the default is `hyperv`, and on Windows server, the default is `process`. - * - * This option is currently not used on other platforms. - */ - public function setIsolation(?string $isolation): self - { - $this->initialized['isolation'] = true; - $this->isolation = $isolation; - - return $this; - } - - /** - * Name and, optional, path of the `docker-init` binary. - * - * If the path is omitted, the daemon searches the host's `$PATH` for the - * binary and uses the first result. - */ - public function getInitBinary(): ?string - { - return $this->initBinary; - } - - /** - * Name and, optional, path of the `docker-init` binary. - * - * If the path is omitted, the daemon searches the host's `$PATH` for the - * binary and uses the first result. - */ - public function setInitBinary(?string $initBinary): self - { - $this->initialized['initBinary'] = true; - $this->initBinary = $initBinary; - - return $this; - } - - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - */ - public function getContainerdCommit(): ?Commit - { - return $this->containerdCommit; - } - - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - */ - public function setContainerdCommit(?Commit $containerdCommit): self - { - $this->initialized['containerdCommit'] = true; - $this->containerdCommit = $containerdCommit; - - return $this; - } - - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - */ - public function getRuncCommit(): ?Commit - { - return $this->runcCommit; - } - - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - */ - public function setRuncCommit(?Commit $runcCommit): self - { - $this->initialized['runcCommit'] = true; - $this->runcCommit = $runcCommit; - - return $this; - } - - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - */ - public function getInitCommit(): ?Commit - { - return $this->initCommit; - } - - /** - * Commit holds the Git-commit (SHA1) that a binary was built from, as - * reported in the version-string of external tools, such as `containerd`, - * or `runC`. - */ - public function setInitCommit(?Commit $initCommit): self - { - $this->initialized['initCommit'] = true; - $this->initCommit = $initCommit; - - return $this; - } - - /** - * List of security features that are enabled on the daemon, such as - * apparmor, seccomp, SELinux, user-namespaces (userns), rootless and - * no-new-privileges. - * - * Additional configuration options for each security feature may - * be present, and are included as a comma-separated list of key/value - * pairs. - * - * @return list|null - */ - public function getSecurityOptions(): ?array - { - return $this->securityOptions; - } - - /** - * List of security features that are enabled on the daemon, such as - * apparmor, seccomp, SELinux, user-namespaces (userns), rootless and - * no-new-privileges. - * - * Additional configuration options for each security feature may - * be present, and are included as a comma-separated list of key/value - * pairs. - * - * @param list|null $securityOptions - */ - public function setSecurityOptions(?array $securityOptions): self - { - $this->initialized['securityOptions'] = true; - $this->securityOptions = $securityOptions; - - return $this; - } - - /** - * Reports a summary of the product license on the daemon. - * - * If a commercial license has been applied to the daemon, information - * such as number of nodes, and expiration are included. - */ - public function getProductLicense(): ?string - { - return $this->productLicense; - } - - /** - * Reports a summary of the product license on the daemon. - * - * If a commercial license has been applied to the daemon, information - * such as number of nodes, and expiration are included. - */ - public function setProductLicense(?string $productLicense): self - { - $this->initialized['productLicense'] = true; - $this->productLicense = $productLicense; - - return $this; - } - - /** - * List of custom default address pools for local networks, which can be - * specified in the daemon.json file or dockerd option. - * - * Example: a Base "10.10.0.0/16" with Size 24 will define the set of 256 - * 10.10.[0-255].0/24 address pools. - * - * @return list|null - */ - public function getDefaultAddressPools(): ?array - { - return $this->defaultAddressPools; - } - - /** - * List of custom default address pools for local networks, which can be - * specified in the daemon.json file or dockerd option. - * - * Example: a Base "10.10.0.0/16" with Size 24 will define the set of 256 - * 10.10.[0-255].0/24 address pools. - * - * @param list|null $defaultAddressPools - */ - public function setDefaultAddressPools(?array $defaultAddressPools): self - { - $this->initialized['defaultAddressPools'] = true; - $this->defaultAddressPools = $defaultAddressPools; - - return $this; - } - - /** - * List of warnings / informational messages about missing features, or - * issues related to the daemon configuration. - * - * These messages can be printed by the client as information to the user. - * - * @return list|null - */ - public function getWarnings(): ?array - { - return $this->warnings; - } - - /** - * List of warnings / informational messages about missing features, or - * issues related to the daemon configuration. - * - * These messages can be printed by the client as information to the user. - * - * @param list|null $warnings - */ - public function setWarnings(?array $warnings): self - { - $this->initialized['warnings'] = true; - $this->warnings = $warnings; - - return $this; - } - - /** - * List of directories where (Container Device Interface) CDI - * specifications are located. - * - * These specifications define vendor-specific modifications to an OCI - * runtime specification for a container being created. - * - * An empty list indicates that CDI device injection is disabled. - * - * Note that since using CDI device injection requires the daemon to have - * experimental enabled. For non-experimental daemons an empty list will - * always be returned. - * - * @return list|null - */ - public function getCDISpecDirs(): ?array - { - return $this->cDISpecDirs; - } - - /** - * List of directories where (Container Device Interface) CDI - * specifications are located. - * - * These specifications define vendor-specific modifications to an OCI - * runtime specification for a container being created. - * - * An empty list indicates that CDI device injection is disabled. - * - * Note that since using CDI device injection requires the daemon to have - * experimental enabled. For non-experimental daemons an empty list will - * always be returned. - * - * @param list|null $cDISpecDirs - */ - public function setCDISpecDirs(?array $cDISpecDirs): self - { - $this->initialized['cDISpecDirs'] = true; - $this->cDISpecDirs = $cDISpecDirs; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SystemInfoDefaultAddressPoolsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/SystemInfoDefaultAddressPoolsItem.php deleted file mode 100644 index 7847664fa..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SystemInfoDefaultAddressPoolsItem.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * The network address in CIDR format. - * - * @var string|null - */ - protected $base; - /** - * The network pool size. - * - * @var int|null - */ - protected $size; - - /** - * The network address in CIDR format. - */ - public function getBase(): ?string - { - return $this->base; - } - - /** - * The network address in CIDR format. - */ - public function setBase(?string $base): self - { - $this->initialized['base'] = true; - $this->base = $base; - - return $this; - } - - /** - * The network pool size. - */ - public function getSize(): ?int - { - return $this->size; - } - - /** - * The network pool size. - */ - public function setSize(?int $size): self - { - $this->initialized['size'] = true; - $this->size = $size; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersion.php b/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersion.php deleted file mode 100644 index 1281aabe0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersion.php +++ /dev/null @@ -1,329 +0,0 @@ -initialized); - } - /** - * @var SystemVersionPlatform|null - */ - protected $platform; - /** - * Information about system components. - * - * @var list|null - */ - protected $components; - /** - * The version of the daemon. - * - * @var string|null - */ - protected $version; - /** - * The default (and highest) API version that is supported by the daemon. - * - * @var string|null - */ - protected $apiVersion; - /** - * The minimum API version that is supported by the daemon. - * - * @var string|null - */ - protected $minAPIVersion; - /** - * The Git commit of the source code that was used to build the daemon. - * - * @var string|null - */ - protected $gitCommit; - /** - * The version Go used to compile the daemon, and the version of the Go - * runtime in use. - * - * @var string|null - */ - protected $goVersion; - /** - * The operating system that the daemon is running on ("linux" or "windows"). - * - * @var string|null - */ - protected $os; - /** - * The architecture that the daemon is running on. - * - * @var string|null - */ - protected $arch; - /** - * The kernel version (`uname -r`) that the daemon is running on. - * - * This field is omitted when empty. - * - * @var string|null - */ - protected $kernelVersion; - /** - * Indicates if the daemon is started with experimental features enabled. - * - * This field is omitted when empty / false. - * - * @var bool|null - */ - protected $experimental; - /** - * The date and time that the daemon was compiled. - * - * @var string|null - */ - protected $buildTime; - - public function getPlatform(): ?SystemVersionPlatform - { - return $this->platform; - } - - public function setPlatform(?SystemVersionPlatform $platform): self - { - $this->initialized['platform'] = true; - $this->platform = $platform; - - return $this; - } - - /** - * Information about system components. - * - * @return list|null - */ - public function getComponents(): ?array - { - return $this->components; - } - - /** - * Information about system components. - * - * @param list|null $components - */ - public function setComponents(?array $components): self - { - $this->initialized['components'] = true; - $this->components = $components; - - return $this; - } - - /** - * The version of the daemon. - */ - public function getVersion(): ?string - { - return $this->version; - } - - /** - * The version of the daemon. - */ - public function setVersion(?string $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - /** - * The default (and highest) API version that is supported by the daemon. - */ - public function getApiVersion(): ?string - { - return $this->apiVersion; - } - - /** - * The default (and highest) API version that is supported by the daemon. - */ - public function setApiVersion(?string $apiVersion): self - { - $this->initialized['apiVersion'] = true; - $this->apiVersion = $apiVersion; - - return $this; - } - - /** - * The minimum API version that is supported by the daemon. - */ - public function getMinAPIVersion(): ?string - { - return $this->minAPIVersion; - } - - /** - * The minimum API version that is supported by the daemon. - */ - public function setMinAPIVersion(?string $minAPIVersion): self - { - $this->initialized['minAPIVersion'] = true; - $this->minAPIVersion = $minAPIVersion; - - return $this; - } - - /** - * The Git commit of the source code that was used to build the daemon. - */ - public function getGitCommit(): ?string - { - return $this->gitCommit; - } - - /** - * The Git commit of the source code that was used to build the daemon. - */ - public function setGitCommit(?string $gitCommit): self - { - $this->initialized['gitCommit'] = true; - $this->gitCommit = $gitCommit; - - return $this; - } - - /** - * The version Go used to compile the daemon, and the version of the Go - * runtime in use. - */ - public function getGoVersion(): ?string - { - return $this->goVersion; - } - - /** - * The version Go used to compile the daemon, and the version of the Go - * runtime in use. - */ - public function setGoVersion(?string $goVersion): self - { - $this->initialized['goVersion'] = true; - $this->goVersion = $goVersion; - - return $this; - } - - /** - * The operating system that the daemon is running on ("linux" or "windows"). - */ - public function getOs(): ?string - { - return $this->os; - } - - /** - * The operating system that the daemon is running on ("linux" or "windows"). - */ - public function setOs(?string $os): self - { - $this->initialized['os'] = true; - $this->os = $os; - - return $this; - } - - /** - * The architecture that the daemon is running on. - */ - public function getArch(): ?string - { - return $this->arch; - } - - /** - * The architecture that the daemon is running on. - */ - public function setArch(?string $arch): self - { - $this->initialized['arch'] = true; - $this->arch = $arch; - - return $this; - } - - /** - * The kernel version (`uname -r`) that the daemon is running on. - * - * This field is omitted when empty. - */ - public function getKernelVersion(): ?string - { - return $this->kernelVersion; - } - - /** - * The kernel version (`uname -r`) that the daemon is running on. - * - * This field is omitted when empty. - */ - public function setKernelVersion(?string $kernelVersion): self - { - $this->initialized['kernelVersion'] = true; - $this->kernelVersion = $kernelVersion; - - return $this; - } - - /** - * Indicates if the daemon is started with experimental features enabled. - * - * This field is omitted when empty / false. - */ - public function getExperimental(): ?bool - { - return $this->experimental; - } - - /** - * Indicates if the daemon is started with experimental features enabled. - * - * This field is omitted when empty / false. - */ - public function setExperimental(?bool $experimental): self - { - $this->initialized['experimental'] = true; - $this->experimental = $experimental; - - return $this; - } - - /** - * The date and time that the daemon was compiled. - */ - public function getBuildTime(): ?string - { - return $this->buildTime; - } - - /** - * The date and time that the daemon was compiled. - */ - public function setBuildTime(?string $buildTime): self - { - $this->initialized['buildTime'] = true; - $this->buildTime = $buildTime; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionComponentsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionComponentsItem.php deleted file mode 100644 index 3236b6a98..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionComponentsItem.php +++ /dev/null @@ -1,108 +0,0 @@ -initialized); - } - /** - * Name of the component. - * - * @var string|null - */ - protected $name; - /** - * Version of the component. - * - * @var string|null - */ - protected $version; - /** - * Key/value pairs of strings with additional information about the - * component. These values are intended for informational purposes - * only, and their content is not defined, and not part of the API - * specification. - * - * These messages can be printed by the client as information to the user. - * - * @var SystemVersionComponentsItemDetails|null - */ - protected $details; - - /** - * Name of the component. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the component. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Version of the component. - */ - public function getVersion(): ?string - { - return $this->version; - } - - /** - * Version of the component. - */ - public function setVersion(?string $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - /** - * Key/value pairs of strings with additional information about the - * component. These values are intended for informational purposes - * only, and their content is not defined, and not part of the API - * specification. - * - * These messages can be printed by the client as information to the user. - */ - public function getDetails(): ?SystemVersionComponentsItemDetails - { - return $this->details; - } - - /** - * Key/value pairs of strings with additional information about the - * component. These values are intended for informational purposes - * only, and their content is not defined, and not part of the API - * specification. - * - * These messages can be printed by the client as information to the user. - */ - public function setDetails(?SystemVersionComponentsItemDetails $details): self - { - $this->initialized['details'] = true; - $this->details = $details; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionComponentsItemDetails.php b/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionComponentsItemDetails.php deleted file mode 100644 index ee3fb7116..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionComponentsItemDetails.php +++ /dev/null @@ -1,18 +0,0 @@ -initialized); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionPlatform.php b/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionPlatform.php deleted file mode 100644 index 0dbeaa69b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/SystemVersionPlatform.php +++ /dev/null @@ -1,35 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TLSInfo.php b/app/vendor/beluga-php/docker-php-api/src/Model/TLSInfo.php deleted file mode 100644 index 9dfef4a0b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TLSInfo.php +++ /dev/null @@ -1,96 +0,0 @@ -initialized); - } - /** - * The root CA certificate(s) that are used to validate leaf TLS - * certificates. - * - * @var string|null - */ - protected $trustRoot; - /** - * The base64-url-safe-encoded raw subject bytes of the issuer. - * - * @var string|null - */ - protected $certIssuerSubject; - /** - * The base64-url-safe-encoded raw public key bytes of the issuer. - * - * @var string|null - */ - protected $certIssuerPublicKey; - - /** - * The root CA certificate(s) that are used to validate leaf TLS - * certificates. - */ - public function getTrustRoot(): ?string - { - return $this->trustRoot; - } - - /** - * The root CA certificate(s) that are used to validate leaf TLS - * certificates. - */ - public function setTrustRoot(?string $trustRoot): self - { - $this->initialized['trustRoot'] = true; - $this->trustRoot = $trustRoot; - - return $this; - } - - /** - * The base64-url-safe-encoded raw subject bytes of the issuer. - */ - public function getCertIssuerSubject(): ?string - { - return $this->certIssuerSubject; - } - - /** - * The base64-url-safe-encoded raw subject bytes of the issuer. - */ - public function setCertIssuerSubject(?string $certIssuerSubject): self - { - $this->initialized['certIssuerSubject'] = true; - $this->certIssuerSubject = $certIssuerSubject; - - return $this; - } - - /** - * The base64-url-safe-encoded raw public key bytes of the issuer. - */ - public function getCertIssuerPublicKey(): ?string - { - return $this->certIssuerPublicKey; - } - - /** - * The base64-url-safe-encoded raw public key bytes of the issuer. - */ - public function setCertIssuerPublicKey(?string $certIssuerPublicKey): self - { - $this->initialized['certIssuerPublicKey'] = true; - $this->certIssuerPublicKey = $certIssuerPublicKey; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Task.php b/app/vendor/beluga-php/docker-php-api/src/Model/Task.php deleted file mode 100644 index 812f1275f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Task.php +++ /dev/null @@ -1,401 +0,0 @@ -initialized); - } - /** - * The ID of the task. - * - * @var string|null - */ - protected $iD; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $version; - /** - * @var string|null - */ - protected $createdAt; - /** - * @var string|null - */ - protected $updatedAt; - /** - * Name of the task. - * - * @var string|null - */ - protected $name; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * User modifiable task configuration. - * - * @var TaskSpec|null - */ - protected $spec; - /** - * The ID of the service this task is part of. - * - * @var string|null - */ - protected $serviceID; - /** - * @var int|null - */ - protected $slot; - /** - * The ID of the node that this task is on. - * - * @var string|null - */ - protected $nodeID; - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @var list|null - */ - protected $assignedGenericResources; - /** - * represents the status of a task. - * - * @var TaskStatus|null - */ - protected $status; - /** - * @var string|null - */ - protected $desiredState; - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - * - * @var ObjectVersion|null - */ - protected $jobIteration; - - /** - * The ID of the task. - */ - public function getID(): ?string - { - return $this->iD; - } - - /** - * The ID of the task. - */ - public function setID(?string $iD): self - { - $this->initialized['iD'] = true; - $this->iD = $iD; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getVersion(): ?ObjectVersion - { - return $this->version; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setVersion(?ObjectVersion $version): self - { - $this->initialized['version'] = true; - $this->version = $version; - - return $this; - } - - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - public function getUpdatedAt(): ?string - { - return $this->updatedAt; - } - - public function setUpdatedAt(?string $updatedAt): self - { - $this->initialized['updatedAt'] = true; - $this->updatedAt = $updatedAt; - - return $this; - } - - /** - * Name of the task. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the task. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * User modifiable task configuration. - */ - public function getSpec(): ?TaskSpec - { - return $this->spec; - } - - /** - * User modifiable task configuration. - */ - public function setSpec(?TaskSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } - - /** - * The ID of the service this task is part of. - */ - public function getServiceID(): ?string - { - return $this->serviceID; - } - - /** - * The ID of the service this task is part of. - */ - public function setServiceID(?string $serviceID): self - { - $this->initialized['serviceID'] = true; - $this->serviceID = $serviceID; - - return $this; - } - - public function getSlot(): ?int - { - return $this->slot; - } - - public function setSlot(?int $slot): self - { - $this->initialized['slot'] = true; - $this->slot = $slot; - - return $this; - } - - /** - * The ID of the node that this task is on. - */ - public function getNodeID(): ?string - { - return $this->nodeID; - } - - /** - * The ID of the node that this task is on. - */ - public function setNodeID(?string $nodeID): self - { - $this->initialized['nodeID'] = true; - $this->nodeID = $nodeID; - - return $this; - } - - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @return list|null - */ - public function getAssignedGenericResources(): ?array - { - return $this->assignedGenericResources; - } - - /** - * User-defined resources can be either Integer resources (e.g, `SSD=3`) or - * String resources (e.g, `GPU=UUID1`). - * - * @param list|null $assignedGenericResources - */ - public function setAssignedGenericResources(?array $assignedGenericResources): self - { - $this->initialized['assignedGenericResources'] = true; - $this->assignedGenericResources = $assignedGenericResources; - - return $this; - } - - /** - * represents the status of a task. - */ - public function getStatus(): ?TaskStatus - { - return $this->status; - } - - /** - * represents the status of a task. - */ - public function setStatus(?TaskStatus $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - public function getDesiredState(): ?string - { - return $this->desiredState; - } - - public function setDesiredState(?string $desiredState): self - { - $this->initialized['desiredState'] = true; - $this->desiredState = $desiredState; - - return $this; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function getJobIteration(): ?ObjectVersion - { - return $this->jobIteration; - } - - /** - * The version number of the object such as node, service, etc. This is needed - * to avoid conflicting writes. The client must send the version number along - * with the modified specification when updating these objects. - * - * This approach ensures safe concurrency and determinism in that the change - * on the object may not be applied if the version number has changed from the - * last read. In other words, if two update requests specify the same base - * version, only one of the requests can succeed. As a result, two separate - * update requests that happen at the same time will not unintentionally - * overwrite each other. - */ - public function setJobIteration(?ObjectVersion $jobIteration): self - { - $this->initialized['jobIteration'] = true; - $this->jobIteration = $jobIteration; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpec.php deleted file mode 100644 index e030d1cf2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpec.php +++ /dev/null @@ -1,345 +0,0 @@ -initialized); - } - /** - * Plugin spec for the service. *(Experimental release only.)*. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - * - * @var TaskSpecPluginSpec|null - */ - protected $pluginSpec; - /** - * Container spec for the service. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - * - * @var TaskSpecContainerSpec|null - */ - protected $containerSpec; - /** - * Read-only spec type for non-swarm containers attached to swarm overlay - * networks. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - * - * @var TaskSpecNetworkAttachmentSpec|null - */ - protected $networkAttachmentSpec; - /** - * Resource requirements which apply to each individual container created - * as part of the service. - * - * @var TaskSpecResources|null - */ - protected $resources; - /** - * Specification for the restart policy which applies to containers - * created as part of this service. - * - * @var TaskSpecRestartPolicy|null - */ - protected $restartPolicy; - /** - * @var TaskSpecPlacement|null - */ - protected $placement; - /** - * A counter that triggers an update even if no relevant parameters have - * been changed. - * - * @var int|null - */ - protected $forceUpdate; - /** - * Runtime is the type of runtime specified for the task executor. - * - * @var string|null - */ - protected $runtime; - /** - * Specifies which networks the service should attach to. - * - * @var list|null - */ - protected $networks; - /** - * Specifies the log driver to use for tasks created from this spec. If - * not present, the default one for the swarm will be used, finally - * falling back to the engine default if not specified. - * - * @var TaskSpecLogDriver|null - */ - protected $logDriver; - - /** - * Plugin spec for the service. *(Experimental release only.)*. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - */ - public function getPluginSpec(): ?TaskSpecPluginSpec - { - return $this->pluginSpec; - } - - /** - * Plugin spec for the service. *(Experimental release only.)*. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - */ - public function setPluginSpec(?TaskSpecPluginSpec $pluginSpec): self - { - $this->initialized['pluginSpec'] = true; - $this->pluginSpec = $pluginSpec; - - return $this; - } - - /** - * Container spec for the service. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - */ - public function getContainerSpec(): ?TaskSpecContainerSpec - { - return $this->containerSpec; - } - - /** - * Container spec for the service. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - */ - public function setContainerSpec(?TaskSpecContainerSpec $containerSpec): self - { - $this->initialized['containerSpec'] = true; - $this->containerSpec = $containerSpec; - - return $this; - } - - /** - * Read-only spec type for non-swarm containers attached to swarm overlay - * networks. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - */ - public function getNetworkAttachmentSpec(): ?TaskSpecNetworkAttachmentSpec - { - return $this->networkAttachmentSpec; - } - - /** - * Read-only spec type for non-swarm containers attached to swarm overlay - * networks. - * - *


- * - * > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are - * > mutually exclusive. PluginSpec is only used when the Runtime field - * > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime - * > field is set to `attachment`. - */ - public function setNetworkAttachmentSpec(?TaskSpecNetworkAttachmentSpec $networkAttachmentSpec): self - { - $this->initialized['networkAttachmentSpec'] = true; - $this->networkAttachmentSpec = $networkAttachmentSpec; - - return $this; - } - - /** - * Resource requirements which apply to each individual container created - * as part of the service. - */ - public function getResources(): ?TaskSpecResources - { - return $this->resources; - } - - /** - * Resource requirements which apply to each individual container created - * as part of the service. - */ - public function setResources(?TaskSpecResources $resources): self - { - $this->initialized['resources'] = true; - $this->resources = $resources; - - return $this; - } - - /** - * Specification for the restart policy which applies to containers - * created as part of this service. - */ - public function getRestartPolicy(): ?TaskSpecRestartPolicy - { - return $this->restartPolicy; - } - - /** - * Specification for the restart policy which applies to containers - * created as part of this service. - */ - public function setRestartPolicy(?TaskSpecRestartPolicy $restartPolicy): self - { - $this->initialized['restartPolicy'] = true; - $this->restartPolicy = $restartPolicy; - - return $this; - } - - public function getPlacement(): ?TaskSpecPlacement - { - return $this->placement; - } - - public function setPlacement(?TaskSpecPlacement $placement): self - { - $this->initialized['placement'] = true; - $this->placement = $placement; - - return $this; - } - - /** - * A counter that triggers an update even if no relevant parameters have - * been changed. - */ - public function getForceUpdate(): ?int - { - return $this->forceUpdate; - } - - /** - * A counter that triggers an update even if no relevant parameters have - * been changed. - */ - public function setForceUpdate(?int $forceUpdate): self - { - $this->initialized['forceUpdate'] = true; - $this->forceUpdate = $forceUpdate; - - return $this; - } - - /** - * Runtime is the type of runtime specified for the task executor. - */ - public function getRuntime(): ?string - { - return $this->runtime; - } - - /** - * Runtime is the type of runtime specified for the task executor. - */ - public function setRuntime(?string $runtime): self - { - $this->initialized['runtime'] = true; - $this->runtime = $runtime; - - return $this; - } - - /** - * Specifies which networks the service should attach to. - * - * @return list|null - */ - public function getNetworks(): ?array - { - return $this->networks; - } - - /** - * Specifies which networks the service should attach to. - * - * @param list|null $networks - */ - public function setNetworks(?array $networks): self - { - $this->initialized['networks'] = true; - $this->networks = $networks; - - return $this; - } - - /** - * Specifies the log driver to use for tasks created from this spec. If - * not present, the default one for the swarm will be used, finally - * falling back to the engine default if not specified. - */ - public function getLogDriver(): ?TaskSpecLogDriver - { - return $this->logDriver; - } - - /** - * Specifies the log driver to use for tasks created from this spec. If - * not present, the default one for the swarm will be used, finally - * falling back to the engine default if not specified. - */ - public function setLogDriver(?TaskSpecLogDriver $logDriver): self - { - $this->initialized['logDriver'] = true; - $this->logDriver = $logDriver; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpec.php deleted file mode 100644 index bcb9cac88..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpec.php +++ /dev/null @@ -1,811 +0,0 @@ -initialized); - } - /** - * The image name to use for the container. - * - * @var string|null - */ - protected $image; - /** - * User-defined key/value data. - * - * @var array|null - */ - protected $labels; - /** - * The command to be run in the image. - * - * @var list|null - */ - protected $command; - /** - * Arguments to the command. - * - * @var list|null - */ - protected $args; - /** - * The hostname to use for the container, as a valid - * [RFC 1123](https://tools.ietf.org/html/rfc1123) hostname. - * - * @var string|null - */ - protected $hostname; - /** - * A list of environment variables in the form `VAR=value`. - * - * @var list|null - */ - protected $env; - /** - * The working directory for commands to run in. - * - * @var string|null - */ - protected $dir; - /** - * The user inside the container. - * - * @var string|null - */ - protected $user; - /** - * A list of additional groups that the container process will run as. - * - * @var list|null - */ - protected $groups; - /** - * Security options for the container. - * - * @var TaskSpecContainerSpecPrivileges|null - */ - protected $privileges; - /** - * Whether a pseudo-TTY should be allocated. - * - * @var bool|null - */ - protected $tTY; - /** - * Open `stdin`. - * - * @var bool|null - */ - protected $openStdin; - /** - * Mount the container's root filesystem as read only. - * - * @var bool|null - */ - protected $readOnly; - /** - * Specification for mounts to be added to containers created as part - * of the service. - * - * @var list|null - */ - protected $mounts; - /** - * Signal to stop the container. - * - * @var string|null - */ - protected $stopSignal; - /** - * Amount of time to wait for the container to terminate before - * forcefully killing it. - * - * @var int|null - */ - protected $stopGracePeriod; - /** - * A test to perform to check that the container is healthy. - * - * @var HealthConfig|null - */ - protected $healthCheck; - /** - * A list of hostname/IP mappings to add to the container's `hosts` - * file. The format of extra hosts is specified in the - * [hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html) - * man page: - * - * IP_address canonical_hostname [aliases...] - * - * @var list|null - */ - protected $hosts; - /** - * Specification for DNS related configurations in resolver configuration - * file (`resolv.conf`). - * - * @var TaskSpecContainerSpecDNSConfig|null - */ - protected $dNSConfig; - /** - * Secrets contains references to zero or more secrets that will be - * exposed to the service. - * - * @var list|null - */ - protected $secrets; - /** - * Configs contains references to zero or more configs that will be - * exposed to the service. - * - * @var list|null - */ - protected $configs; - /** - * Isolation technology of the containers running the service. - * (Windows only). - * - * @var string|null - */ - protected $isolation; - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - * - * @var bool|null - */ - protected $init; - /** - * Set kernel namedspaced parameters (sysctls) in the container. - * The Sysctls option on services accepts the same sysctls as the - * are supported on containers. Note that while the same sysctls are - * supported, no guarantees or checks are made about their - * suitability for a clustered environment, and it's up to the user - * to determine whether a given sysctl will work properly in a - * Service. - * - * @var array|null - */ - protected $sysctls; - /** - * A list of kernel capabilities to add to the default set - * for the container. - * - * @var list|null - */ - protected $capabilityAdd; - /** - * A list of kernel capabilities to drop from the default set - * for the container. - * - * @var list|null - */ - protected $capabilityDrop; - /** - * A list of resource limits to set in the container. For example: `{"Name": "nofile", "Soft": 1024, "Hard": 2048}`". - * - * @var list|null - */ - protected $ulimits; - - /** - * The image name to use for the container. - */ - public function getImage(): ?string - { - return $this->image; - } - - /** - * The image name to use for the container. - */ - public function setImage(?string $image): self - { - $this->initialized['image'] = true; - $this->image = $image; - - return $this; - } - - /** - * User-defined key/value data. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value data. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * The command to be run in the image. - * - * @return list|null - */ - public function getCommand(): ?array - { - return $this->command; - } - - /** - * The command to be run in the image. - * - * @param list|null $command - */ - public function setCommand(?array $command): self - { - $this->initialized['command'] = true; - $this->command = $command; - - return $this; - } - - /** - * Arguments to the command. - * - * @return list|null - */ - public function getArgs(): ?array - { - return $this->args; - } - - /** - * Arguments to the command. - * - * @param list|null $args - */ - public function setArgs(?array $args): self - { - $this->initialized['args'] = true; - $this->args = $args; - - return $this; - } - - /** - * The hostname to use for the container, as a valid - * [RFC 1123](https://tools.ietf.org/html/rfc1123) hostname. - */ - public function getHostname(): ?string - { - return $this->hostname; - } - - /** - * The hostname to use for the container, as a valid - * [RFC 1123](https://tools.ietf.org/html/rfc1123) hostname. - */ - public function setHostname(?string $hostname): self - { - $this->initialized['hostname'] = true; - $this->hostname = $hostname; - - return $this; - } - - /** - * A list of environment variables in the form `VAR=value`. - * - * @return list|null - */ - public function getEnv(): ?array - { - return $this->env; - } - - /** - * A list of environment variables in the form `VAR=value`. - * - * @param list|null $env - */ - public function setEnv(?array $env): self - { - $this->initialized['env'] = true; - $this->env = $env; - - return $this; - } - - /** - * The working directory for commands to run in. - */ - public function getDir(): ?string - { - return $this->dir; - } - - /** - * The working directory for commands to run in. - */ - public function setDir(?string $dir): self - { - $this->initialized['dir'] = true; - $this->dir = $dir; - - return $this; - } - - /** - * The user inside the container. - */ - public function getUser(): ?string - { - return $this->user; - } - - /** - * The user inside the container. - */ - public function setUser(?string $user): self - { - $this->initialized['user'] = true; - $this->user = $user; - - return $this; - } - - /** - * A list of additional groups that the container process will run as. - * - * @return list|null - */ - public function getGroups(): ?array - { - return $this->groups; - } - - /** - * A list of additional groups that the container process will run as. - * - * @param list|null $groups - */ - public function setGroups(?array $groups): self - { - $this->initialized['groups'] = true; - $this->groups = $groups; - - return $this; - } - - /** - * Security options for the container. - */ - public function getPrivileges(): ?TaskSpecContainerSpecPrivileges - { - return $this->privileges; - } - - /** - * Security options for the container. - */ - public function setPrivileges(?TaskSpecContainerSpecPrivileges $privileges): self - { - $this->initialized['privileges'] = true; - $this->privileges = $privileges; - - return $this; - } - - /** - * Whether a pseudo-TTY should be allocated. - */ - public function getTTY(): ?bool - { - return $this->tTY; - } - - /** - * Whether a pseudo-TTY should be allocated. - */ - public function setTTY(?bool $tTY): self - { - $this->initialized['tTY'] = true; - $this->tTY = $tTY; - - return $this; - } - - /** - * Open `stdin`. - */ - public function getOpenStdin(): ?bool - { - return $this->openStdin; - } - - /** - * Open `stdin`. - */ - public function setOpenStdin(?bool $openStdin): self - { - $this->initialized['openStdin'] = true; - $this->openStdin = $openStdin; - - return $this; - } - - /** - * Mount the container's root filesystem as read only. - */ - public function getReadOnly(): ?bool - { - return $this->readOnly; - } - - /** - * Mount the container's root filesystem as read only. - */ - public function setReadOnly(?bool $readOnly): self - { - $this->initialized['readOnly'] = true; - $this->readOnly = $readOnly; - - return $this; - } - - /** - * Specification for mounts to be added to containers created as part - * of the service. - * - * @return list|null - */ - public function getMounts(): ?array - { - return $this->mounts; - } - - /** - * Specification for mounts to be added to containers created as part - * of the service. - * - * @param list|null $mounts - */ - public function setMounts(?array $mounts): self - { - $this->initialized['mounts'] = true; - $this->mounts = $mounts; - - return $this; - } - - /** - * Signal to stop the container. - */ - public function getStopSignal(): ?string - { - return $this->stopSignal; - } - - /** - * Signal to stop the container. - */ - public function setStopSignal(?string $stopSignal): self - { - $this->initialized['stopSignal'] = true; - $this->stopSignal = $stopSignal; - - return $this; - } - - /** - * Amount of time to wait for the container to terminate before - * forcefully killing it. - */ - public function getStopGracePeriod(): ?int - { - return $this->stopGracePeriod; - } - - /** - * Amount of time to wait for the container to terminate before - * forcefully killing it. - */ - public function setStopGracePeriod(?int $stopGracePeriod): self - { - $this->initialized['stopGracePeriod'] = true; - $this->stopGracePeriod = $stopGracePeriod; - - return $this; - } - - /** - * A test to perform to check that the container is healthy. - */ - public function getHealthCheck(): ?HealthConfig - { - return $this->healthCheck; - } - - /** - * A test to perform to check that the container is healthy. - */ - public function setHealthCheck(?HealthConfig $healthCheck): self - { - $this->initialized['healthCheck'] = true; - $this->healthCheck = $healthCheck; - - return $this; - } - - /** - * A list of hostname/IP mappings to add to the container's `hosts` - * file. The format of extra hosts is specified in the - * [hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html) - * man page: - * - * IP_address canonical_hostname [aliases...] - * - * @return list|null - */ - public function getHosts(): ?array - { - return $this->hosts; - } - - /** - * A list of hostname/IP mappings to add to the container's `hosts` - * file. The format of extra hosts is specified in the - * [hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html) - * man page: - * - * IP_address canonical_hostname [aliases...] - * - * @param list|null $hosts - */ - public function setHosts(?array $hosts): self - { - $this->initialized['hosts'] = true; - $this->hosts = $hosts; - - return $this; - } - - /** - * Specification for DNS related configurations in resolver configuration - * file (`resolv.conf`). - */ - public function getDNSConfig(): ?TaskSpecContainerSpecDNSConfig - { - return $this->dNSConfig; - } - - /** - * Specification for DNS related configurations in resolver configuration - * file (`resolv.conf`). - */ - public function setDNSConfig(?TaskSpecContainerSpecDNSConfig $dNSConfig): self - { - $this->initialized['dNSConfig'] = true; - $this->dNSConfig = $dNSConfig; - - return $this; - } - - /** - * Secrets contains references to zero or more secrets that will be - * exposed to the service. - * - * @return list|null - */ - public function getSecrets(): ?array - { - return $this->secrets; - } - - /** - * Secrets contains references to zero or more secrets that will be - * exposed to the service. - * - * @param list|null $secrets - */ - public function setSecrets(?array $secrets): self - { - $this->initialized['secrets'] = true; - $this->secrets = $secrets; - - return $this; - } - - /** - * Configs contains references to zero or more configs that will be - * exposed to the service. - * - * @return list|null - */ - public function getConfigs(): ?array - { - return $this->configs; - } - - /** - * Configs contains references to zero or more configs that will be - * exposed to the service. - * - * @param list|null $configs - */ - public function setConfigs(?array $configs): self - { - $this->initialized['configs'] = true; - $this->configs = $configs; - - return $this; - } - - /** - * Isolation technology of the containers running the service. - * (Windows only). - */ - public function getIsolation(): ?string - { - return $this->isolation; - } - - /** - * Isolation technology of the containers running the service. - * (Windows only). - */ - public function setIsolation(?string $isolation): self - { - $this->initialized['isolation'] = true; - $this->isolation = $isolation; - - return $this; - } - - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - */ - public function getInit(): ?bool - { - return $this->init; - } - - /** - * Run an init inside the container that forwards signals and reaps - * processes. This field is omitted if empty, and the default (as - * configured on the daemon) is used. - */ - public function setInit(?bool $init): self - { - $this->initialized['init'] = true; - $this->init = $init; - - return $this; - } - - /** - * Set kernel namedspaced parameters (sysctls) in the container. - * The Sysctls option on services accepts the same sysctls as the - * are supported on containers. Note that while the same sysctls are - * supported, no guarantees or checks are made about their - * suitability for a clustered environment, and it's up to the user - * to determine whether a given sysctl will work properly in a - * Service. - * - * @return array|null - */ - public function getSysctls(): ?iterable - { - return $this->sysctls; - } - - /** - * Set kernel namedspaced parameters (sysctls) in the container. - * The Sysctls option on services accepts the same sysctls as the - * are supported on containers. Note that while the same sysctls are - * supported, no guarantees or checks are made about their - * suitability for a clustered environment, and it's up to the user - * to determine whether a given sysctl will work properly in a - * Service. - * - * @param array|null $sysctls - */ - public function setSysctls(?iterable $sysctls): self - { - $this->initialized['sysctls'] = true; - $this->sysctls = $sysctls; - - return $this; - } - - /** - * A list of kernel capabilities to add to the default set - * for the container. - * - * @return list|null - */ - public function getCapabilityAdd(): ?array - { - return $this->capabilityAdd; - } - - /** - * A list of kernel capabilities to add to the default set - * for the container. - * - * @param list|null $capabilityAdd - */ - public function setCapabilityAdd(?array $capabilityAdd): self - { - $this->initialized['capabilityAdd'] = true; - $this->capabilityAdd = $capabilityAdd; - - return $this; - } - - /** - * A list of kernel capabilities to drop from the default set - * for the container. - * - * @return list|null - */ - public function getCapabilityDrop(): ?array - { - return $this->capabilityDrop; - } - - /** - * A list of kernel capabilities to drop from the default set - * for the container. - * - * @param list|null $capabilityDrop - */ - public function setCapabilityDrop(?array $capabilityDrop): self - { - $this->initialized['capabilityDrop'] = true; - $this->capabilityDrop = $capabilityDrop; - - return $this; - } - - /** - * A list of resource limits to set in the container. For example: `{"Name": "nofile", "Soft": 1024, "Hard": 2048}`". - * - * @return list|null - */ - public function getUlimits(): ?array - { - return $this->ulimits; - } - - /** - * A list of resource limits to set in the container. For example: `{"Name": "nofile", "Soft": 1024, "Hard": 2048}`". - * - * @param list|null $ulimits - */ - public function setUlimits(?array $ulimits): self - { - $this->initialized['ulimits'] = true; - $this->ulimits = $ulimits; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItem.php deleted file mode 100644 index 96d87e385..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItem.php +++ /dev/null @@ -1,157 +0,0 @@ -initialized); - } - /** - * File represents a specific target that is backed by a file. - * - *


- * - * > **Note**: `Configs.File` and `Configs.Runtime` are mutually exclusive - * - * @var TaskSpecContainerSpecConfigsItemFile|null - */ - protected $file; - /** - * Runtime represents a target that is not mounted into the - * container but is used by the task. - * - *


- * - * > **Note**: `Configs.File` and `Configs.Runtime` are mutually - * > exclusive - * - * @var TaskSpecContainerSpecConfigsItemRuntime|null - */ - protected $runtime; - /** - * ConfigID represents the ID of the specific config that we're - * referencing. - * - * @var string|null - */ - protected $configID; - /** - * ConfigName is the name of the config that this references, - * but this is just provided for lookup/display purposes. The - * config in the reference will be identified by its ID. - * - * @var string|null - */ - protected $configName; - - /** - * File represents a specific target that is backed by a file. - * - *


- * - * > **Note**: `Configs.File` and `Configs.Runtime` are mutually exclusive - */ - public function getFile(): ?TaskSpecContainerSpecConfigsItemFile - { - return $this->file; - } - - /** - * File represents a specific target that is backed by a file. - * - *


- * - * > **Note**: `Configs.File` and `Configs.Runtime` are mutually exclusive - */ - public function setFile(?TaskSpecContainerSpecConfigsItemFile $file): self - { - $this->initialized['file'] = true; - $this->file = $file; - - return $this; - } - - /** - * Runtime represents a target that is not mounted into the - * container but is used by the task. - * - *


- * - * > **Note**: `Configs.File` and `Configs.Runtime` are mutually - * > exclusive - */ - public function getRuntime(): ?TaskSpecContainerSpecConfigsItemRuntime - { - return $this->runtime; - } - - /** - * Runtime represents a target that is not mounted into the - * container but is used by the task. - * - *


- * - * > **Note**: `Configs.File` and `Configs.Runtime` are mutually - * > exclusive - */ - public function setRuntime(?TaskSpecContainerSpecConfigsItemRuntime $runtime): self - { - $this->initialized['runtime'] = true; - $this->runtime = $runtime; - - return $this; - } - - /** - * ConfigID represents the ID of the specific config that we're - * referencing. - */ - public function getConfigID(): ?string - { - return $this->configID; - } - - /** - * ConfigID represents the ID of the specific config that we're - * referencing. - */ - public function setConfigID(?string $configID): self - { - $this->initialized['configID'] = true; - $this->configID = $configID; - - return $this; - } - - /** - * ConfigName is the name of the config that this references, - * but this is just provided for lookup/display purposes. The - * config in the reference will be identified by its ID. - */ - public function getConfigName(): ?string - { - return $this->configName; - } - - /** - * ConfigName is the name of the config that this references, - * but this is just provided for lookup/display purposes. The - * config in the reference will be identified by its ID. - */ - public function setConfigName(?string $configName): self - { - $this->initialized['configName'] = true; - $this->configName = $configName; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItemFile.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItemFile.php deleted file mode 100644 index d77ee9fc2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItemFile.php +++ /dev/null @@ -1,118 +0,0 @@ -initialized); - } - /** - * Name represents the final filename in the filesystem. - * - * @var string|null - */ - protected $name; - /** - * UID represents the file UID. - * - * @var string|null - */ - protected $uID; - /** - * GID represents the file GID. - * - * @var string|null - */ - protected $gID; - /** - * Mode represents the FileMode of the file. - * - * @var int|null - */ - protected $mode; - - /** - * Name represents the final filename in the filesystem. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name represents the final filename in the filesystem. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * UID represents the file UID. - */ - public function getUID(): ?string - { - return $this->uID; - } - - /** - * UID represents the file UID. - */ - public function setUID(?string $uID): self - { - $this->initialized['uID'] = true; - $this->uID = $uID; - - return $this; - } - - /** - * GID represents the file GID. - */ - public function getGID(): ?string - { - return $this->gID; - } - - /** - * GID represents the file GID. - */ - public function setGID(?string $gID): self - { - $this->initialized['gID'] = true; - $this->gID = $gID; - - return $this; - } - - /** - * Mode represents the FileMode of the file. - */ - public function getMode(): ?int - { - return $this->mode; - } - - /** - * Mode represents the FileMode of the file. - */ - public function setMode(?int $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItemRuntime.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItemRuntime.php deleted file mode 100644 index 15c69e665..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecConfigsItemRuntime.php +++ /dev/null @@ -1,18 +0,0 @@ -initialized); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecDNSConfig.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecDNSConfig.php deleted file mode 100644 index be0f8e9e5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecDNSConfig.php +++ /dev/null @@ -1,108 +0,0 @@ -initialized); - } - /** - * The IP addresses of the name servers. - * - * @var list|null - */ - protected $nameservers; - /** - * A search list for host-name lookup. - * - * @var list|null - */ - protected $search; - /** - * A list of internal resolver variables to be modified (e.g., - * `debug`, `ndots:3`, etc.). - * - * @var list|null - */ - protected $options; - - /** - * The IP addresses of the name servers. - * - * @return list|null - */ - public function getNameservers(): ?array - { - return $this->nameservers; - } - - /** - * The IP addresses of the name servers. - * - * @param list|null $nameservers - */ - public function setNameservers(?array $nameservers): self - { - $this->initialized['nameservers'] = true; - $this->nameservers = $nameservers; - - return $this; - } - - /** - * A search list for host-name lookup. - * - * @return list|null - */ - public function getSearch(): ?array - { - return $this->search; - } - - /** - * A search list for host-name lookup. - * - * @param list|null $search - */ - public function setSearch(?array $search): self - { - $this->initialized['search'] = true; - $this->search = $search; - - return $this; - } - - /** - * A list of internal resolver variables to be modified (e.g., - * `debug`, `ndots:3`, etc.). - * - * @return list|null - */ - public function getOptions(): ?array - { - return $this->options; - } - - /** - * A list of internal resolver variables to be modified (e.g., - * `debug`, `ndots:3`, etc.). - * - * @param list|null $options - */ - public function setOptions(?array $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivileges.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivileges.php deleted file mode 100644 index 436431783..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivileges.php +++ /dev/null @@ -1,143 +0,0 @@ -initialized); - } - /** - * CredentialSpec for managed service account (Windows only). - * - * @var TaskSpecContainerSpecPrivilegesCredentialSpec|null - */ - protected $credentialSpec; - /** - * SELinux labels of the container. - * - * @var TaskSpecContainerSpecPrivilegesSELinuxContext|null - */ - protected $sELinuxContext; - /** - * Options for configuring seccomp on the container. - * - * @var TaskSpecContainerSpecPrivilegesSeccomp|null - */ - protected $seccomp; - /** - * Options for configuring AppArmor on the container. - * - * @var TaskSpecContainerSpecPrivilegesAppArmor|null - */ - protected $appArmor; - /** - * Configuration of the no_new_privs bit in the container. - * - * @var bool|null - */ - protected $noNewPrivileges; - - /** - * CredentialSpec for managed service account (Windows only). - */ - public function getCredentialSpec(): ?TaskSpecContainerSpecPrivilegesCredentialSpec - { - return $this->credentialSpec; - } - - /** - * CredentialSpec for managed service account (Windows only). - */ - public function setCredentialSpec(?TaskSpecContainerSpecPrivilegesCredentialSpec $credentialSpec): self - { - $this->initialized['credentialSpec'] = true; - $this->credentialSpec = $credentialSpec; - - return $this; - } - - /** - * SELinux labels of the container. - */ - public function getSELinuxContext(): ?TaskSpecContainerSpecPrivilegesSELinuxContext - { - return $this->sELinuxContext; - } - - /** - * SELinux labels of the container. - */ - public function setSELinuxContext(?TaskSpecContainerSpecPrivilegesSELinuxContext $sELinuxContext): self - { - $this->initialized['sELinuxContext'] = true; - $this->sELinuxContext = $sELinuxContext; - - return $this; - } - - /** - * Options for configuring seccomp on the container. - */ - public function getSeccomp(): ?TaskSpecContainerSpecPrivilegesSeccomp - { - return $this->seccomp; - } - - /** - * Options for configuring seccomp on the container. - */ - public function setSeccomp(?TaskSpecContainerSpecPrivilegesSeccomp $seccomp): self - { - $this->initialized['seccomp'] = true; - $this->seccomp = $seccomp; - - return $this; - } - - /** - * Options for configuring AppArmor on the container. - */ - public function getAppArmor(): ?TaskSpecContainerSpecPrivilegesAppArmor - { - return $this->appArmor; - } - - /** - * Options for configuring AppArmor on the container. - */ - public function setAppArmor(?TaskSpecContainerSpecPrivilegesAppArmor $appArmor): self - { - $this->initialized['appArmor'] = true; - $this->appArmor = $appArmor; - - return $this; - } - - /** - * Configuration of the no_new_privs bit in the container. - */ - public function getNoNewPrivileges(): ?bool - { - return $this->noNewPrivileges; - } - - /** - * Configuration of the no_new_privs bit in the container. - */ - public function setNoNewPrivileges(?bool $noNewPrivileges): self - { - $this->initialized['noNewPrivileges'] = true; - $this->noNewPrivileges = $noNewPrivileges; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesAppArmor.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesAppArmor.php deleted file mode 100644 index 8314775be..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesAppArmor.php +++ /dev/null @@ -1,35 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $mode; - - public function getMode(): ?string - { - return $this->mode; - } - - public function setMode(?string $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesCredentialSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesCredentialSpec.php deleted file mode 100644 index 5238b40b9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesCredentialSpec.php +++ /dev/null @@ -1,177 +0,0 @@ -initialized); - } - /** - * Load credential spec from a Swarm Config with the given ID. - * The specified config must also be present in the Configs - * field with the Runtime property set. - * - *


- * - * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - * - * @var string|null - */ - protected $config; - /** - * Load credential spec from this file. The file is read by - * the daemon, and must be present in the `CredentialSpecs` - * subdirectory in the docker data directory, which defaults - * to `C:\ProgramData\Docker\` on Windows. - * - * For example, specifying `spec.json` loads - * `C:\ProgramData\Docker\CredentialSpecs\spec.json`. - * - *


- * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - * - * @var string|null - */ - protected $file; - /** - * Load credential spec from this value in the Windows - * registry. The specified registry value must be located in: - * - * `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs` - * - *


- * - * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - * - * @var string|null - */ - protected $registry; - - /** - * Load credential spec from a Swarm Config with the given ID. - * The specified config must also be present in the Configs - * field with the Runtime property set. - * - *


- * - * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - */ - public function getConfig(): ?string - { - return $this->config; - } - - /** - * Load credential spec from a Swarm Config with the given ID. - * The specified config must also be present in the Configs - * field with the Runtime property set. - * - *


- * - * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - */ - public function setConfig(?string $config): self - { - $this->initialized['config'] = true; - $this->config = $config; - - return $this; - } - - /** - * Load credential spec from this file. The file is read by - * the daemon, and must be present in the `CredentialSpecs` - * subdirectory in the docker data directory, which defaults - * to `C:\ProgramData\Docker\` on Windows. - * - * For example, specifying `spec.json` loads - * `C:\ProgramData\Docker\CredentialSpecs\spec.json`. - * - *


- * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - */ - public function getFile(): ?string - { - return $this->file; - } - - /** - * Load credential spec from this file. The file is read by - * the daemon, and must be present in the `CredentialSpecs` - * subdirectory in the docker data directory, which defaults - * to `C:\ProgramData\Docker\` on Windows. - * - * For example, specifying `spec.json` loads - * `C:\ProgramData\Docker\CredentialSpecs\spec.json`. - * - *


- * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - */ - public function setFile(?string $file): self - { - $this->initialized['file'] = true; - $this->file = $file; - - return $this; - } - - /** - * Load credential spec from this value in the Windows - * registry. The specified registry value must be located in: - * - * `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs` - * - *


- * - * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - */ - public function getRegistry(): ?string - { - return $this->registry; - } - - /** - * Load credential spec from this value in the Windows - * registry. The specified registry value must be located in: - * - * `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs` - * - *


- * - * - * > **Note**: `CredentialSpec.File`, `CredentialSpec.Registry`, - * > and `CredentialSpec.Config` are mutually exclusive. - */ - public function setRegistry(?string $registry): self - { - $this->initialized['registry'] = true; - $this->registry = $registry; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesSELinuxContext.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesSELinuxContext.php deleted file mode 100644 index f5cf5a82d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesSELinuxContext.php +++ /dev/null @@ -1,143 +0,0 @@ -initialized); - } - /** - * Disable SELinux. - * - * @var bool|null - */ - protected $disable; - /** - * SELinux user label. - * - * @var string|null - */ - protected $user; - /** - * SELinux role label. - * - * @var string|null - */ - protected $role; - /** - * SELinux type label. - * - * @var string|null - */ - protected $type; - /** - * SELinux level label. - * - * @var string|null - */ - protected $level; - - /** - * Disable SELinux. - */ - public function getDisable(): ?bool - { - return $this->disable; - } - - /** - * Disable SELinux. - */ - public function setDisable(?bool $disable): self - { - $this->initialized['disable'] = true; - $this->disable = $disable; - - return $this; - } - - /** - * SELinux user label. - */ - public function getUser(): ?string - { - return $this->user; - } - - /** - * SELinux user label. - */ - public function setUser(?string $user): self - { - $this->initialized['user'] = true; - $this->user = $user; - - return $this; - } - - /** - * SELinux role label. - */ - public function getRole(): ?string - { - return $this->role; - } - - /** - * SELinux role label. - */ - public function setRole(?string $role): self - { - $this->initialized['role'] = true; - $this->role = $role; - - return $this; - } - - /** - * SELinux type label. - */ - public function getType(): ?string - { - return $this->type; - } - - /** - * SELinux type label. - */ - public function setType(?string $type): self - { - $this->initialized['type'] = true; - $this->type = $type; - - return $this; - } - - /** - * SELinux level label. - */ - public function getLevel(): ?string - { - return $this->level; - } - - /** - * SELinux level label. - */ - public function setLevel(?string $level): self - { - $this->initialized['level'] = true; - $this->level = $level; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesSeccomp.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesSeccomp.php deleted file mode 100644 index 011162847..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecPrivilegesSeccomp.php +++ /dev/null @@ -1,60 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $mode; - /** - * The custom seccomp profile as a json object. - * - * @var string|null - */ - protected $profile; - - public function getMode(): ?string - { - return $this->mode; - } - - public function setMode(?string $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } - - /** - * The custom seccomp profile as a json object. - */ - public function getProfile(): ?string - { - return $this->profile; - } - - /** - * The custom seccomp profile as a json object. - */ - public function setProfile(?string $profile): self - { - $this->initialized['profile'] = true; - $this->profile = $profile; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecSecretsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecSecretsItem.php deleted file mode 100644 index ea540fa36..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecSecretsItem.php +++ /dev/null @@ -1,102 +0,0 @@ -initialized); - } - /** - * File represents a specific target that is backed by a file. - * - * @var TaskSpecContainerSpecSecretsItemFile|null - */ - protected $file; - /** - * SecretID represents the ID of the specific secret that we're - * referencing. - * - * @var string|null - */ - protected $secretID; - /** - * SecretName is the name of the secret that this references, - * but this is just provided for lookup/display purposes. The - * secret in the reference will be identified by its ID. - * - * @var string|null - */ - protected $secretName; - - /** - * File represents a specific target that is backed by a file. - */ - public function getFile(): ?TaskSpecContainerSpecSecretsItemFile - { - return $this->file; - } - - /** - * File represents a specific target that is backed by a file. - */ - public function setFile(?TaskSpecContainerSpecSecretsItemFile $file): self - { - $this->initialized['file'] = true; - $this->file = $file; - - return $this; - } - - /** - * SecretID represents the ID of the specific secret that we're - * referencing. - */ - public function getSecretID(): ?string - { - return $this->secretID; - } - - /** - * SecretID represents the ID of the specific secret that we're - * referencing. - */ - public function setSecretID(?string $secretID): self - { - $this->initialized['secretID'] = true; - $this->secretID = $secretID; - - return $this; - } - - /** - * SecretName is the name of the secret that this references, - * but this is just provided for lookup/display purposes. The - * secret in the reference will be identified by its ID. - */ - public function getSecretName(): ?string - { - return $this->secretName; - } - - /** - * SecretName is the name of the secret that this references, - * but this is just provided for lookup/display purposes. The - * secret in the reference will be identified by its ID. - */ - public function setSecretName(?string $secretName): self - { - $this->initialized['secretName'] = true; - $this->secretName = $secretName; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecSecretsItemFile.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecSecretsItemFile.php deleted file mode 100644 index d9daf7ebc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecSecretsItemFile.php +++ /dev/null @@ -1,118 +0,0 @@ -initialized); - } - /** - * Name represents the final filename in the filesystem. - * - * @var string|null - */ - protected $name; - /** - * UID represents the file UID. - * - * @var string|null - */ - protected $uID; - /** - * GID represents the file GID. - * - * @var string|null - */ - protected $gID; - /** - * Mode represents the FileMode of the file. - * - * @var int|null - */ - protected $mode; - - /** - * Name represents the final filename in the filesystem. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name represents the final filename in the filesystem. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * UID represents the file UID. - */ - public function getUID(): ?string - { - return $this->uID; - } - - /** - * UID represents the file UID. - */ - public function setUID(?string $uID): self - { - $this->initialized['uID'] = true; - $this->uID = $uID; - - return $this; - } - - /** - * GID represents the file GID. - */ - public function getGID(): ?string - { - return $this->gID; - } - - /** - * GID represents the file GID. - */ - public function setGID(?string $gID): self - { - $this->initialized['gID'] = true; - $this->gID = $gID; - - return $this; - } - - /** - * Mode represents the FileMode of the file. - */ - public function getMode(): ?int - { - return $this->mode; - } - - /** - * Mode represents the FileMode of the file. - */ - public function setMode(?int $mode): self - { - $this->initialized['mode'] = true; - $this->mode = $mode; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecUlimitsItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecUlimitsItem.php deleted file mode 100644 index f45831991..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecContainerSpecUlimitsItem.php +++ /dev/null @@ -1,93 +0,0 @@ -initialized); - } - /** - * Name of ulimit. - * - * @var string|null - */ - protected $name; - /** - * Soft limit. - * - * @var int|null - */ - protected $soft; - /** - * Hard limit. - * - * @var int|null - */ - protected $hard; - - /** - * Name of ulimit. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of ulimit. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Soft limit. - */ - public function getSoft(): ?int - { - return $this->soft; - } - - /** - * Soft limit. - */ - public function setSoft(?int $soft): self - { - $this->initialized['soft'] = true; - $this->soft = $soft; - - return $this; - } - - /** - * Hard limit. - */ - public function getHard(): ?int - { - return $this->hard; - } - - /** - * Hard limit. - */ - public function setHard(?int $hard): self - { - $this->initialized['hard'] = true; - $this->hard = $hard; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecLogDriver.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecLogDriver.php deleted file mode 100644 index ad67be234..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecLogDriver.php +++ /dev/null @@ -1,58 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $name; - /** - * @var array|null - */ - protected $options; - - public function getName(): ?string - { - return $this->name; - } - - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecNetworkAttachmentSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecNetworkAttachmentSpec.php deleted file mode 100644 index b34b12400..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecNetworkAttachmentSpec.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * ID of the container represented by this task. - * - * @var string|null - */ - protected $containerID; - - /** - * ID of the container represented by this task. - */ - public function getContainerID(): ?string - { - return $this->containerID; - } - - /** - * ID of the container represented by this task. - */ - public function setContainerID(?string $containerID): self - { - $this->initialized['containerID'] = true; - $this->containerID = $containerID; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacement.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacement.php deleted file mode 100644 index 676ef539d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacement.php +++ /dev/null @@ -1,202 +0,0 @@ -initialized); - } - /** - * An array of constraint expressions to limit the set of nodes where - * a task can be scheduled. Constraint expressions can either use a - * _match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find - * nodes that satisfy every expression (AND match). Constraints can - * match node or Docker Engine labels as follows: - * - * node attribute | matches | example - * ---------------------|--------------------------------|----------------------------------------------- - * `node.id` | Node ID | `node.id==2ivku8v2gvtg4` - * `node.hostname` | Node hostname | `node.hostname!=node-2` - * `node.role` | Node role (`manager`/`worker`) | `node.role==manager` - * `node.platform.os` | Node operating system | `node.platform.os==windows` - * `node.platform.arch` | Node architecture | `node.platform.arch==x86_64` - * `node.labels` | User-defined node labels | `node.labels.security==high` - * `engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04` - * - * `engine.labels` apply to Docker Engine labels like operating system, - * drivers, etc. Swarm administrators add `node.labels` for operational - * purposes by using the [`node update endpoint`](#operation/NodeUpdate). - * - * @var list|null - */ - protected $constraints; - /** - * Preferences provide a way to make the scheduler aware of factors - * such as topology. They are provided in order from highest to - * lowest precedence. - * - * @var list|null - */ - protected $preferences; - /** - * Maximum number of replicas for per node (default value is 0, which - * is unlimited). - * - * @var int|null - */ - protected $maxReplicas = 0; - /** - * Platforms stores all the platforms that the service's image can - * run on. This field is used in the platform filter for scheduling. - * If empty, then the platform filter is off, meaning there are no - * scheduling restrictions. - * - * @var list|null - */ - protected $platforms; - - /** - * An array of constraint expressions to limit the set of nodes where - * a task can be scheduled. Constraint expressions can either use a - * _match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find - * nodes that satisfy every expression (AND match). Constraints can - * match node or Docker Engine labels as follows: - * - * node attribute | matches | example - * ---------------------|--------------------------------|----------------------------------------------- - * `node.id` | Node ID | `node.id==2ivku8v2gvtg4` - * `node.hostname` | Node hostname | `node.hostname!=node-2` - * `node.role` | Node role (`manager`/`worker`) | `node.role==manager` - * `node.platform.os` | Node operating system | `node.platform.os==windows` - * `node.platform.arch` | Node architecture | `node.platform.arch==x86_64` - * `node.labels` | User-defined node labels | `node.labels.security==high` - * `engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04` - * - * `engine.labels` apply to Docker Engine labels like operating system, - * drivers, etc. Swarm administrators add `node.labels` for operational - * purposes by using the [`node update endpoint`](#operation/NodeUpdate). - * - * @return list|null - */ - public function getConstraints(): ?array - { - return $this->constraints; - } - - /** - * An array of constraint expressions to limit the set of nodes where - * a task can be scheduled. Constraint expressions can either use a - * _match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find - * nodes that satisfy every expression (AND match). Constraints can - * match node or Docker Engine labels as follows: - * - * node attribute | matches | example - * ---------------------|--------------------------------|----------------------------------------------- - * `node.id` | Node ID | `node.id==2ivku8v2gvtg4` - * `node.hostname` | Node hostname | `node.hostname!=node-2` - * `node.role` | Node role (`manager`/`worker`) | `node.role==manager` - * `node.platform.os` | Node operating system | `node.platform.os==windows` - * `node.platform.arch` | Node architecture | `node.platform.arch==x86_64` - * `node.labels` | User-defined node labels | `node.labels.security==high` - * `engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04` - * - * `engine.labels` apply to Docker Engine labels like operating system, - * drivers, etc. Swarm administrators add `node.labels` for operational - * purposes by using the [`node update endpoint`](#operation/NodeUpdate). - * - * @param list|null $constraints - */ - public function setConstraints(?array $constraints): self - { - $this->initialized['constraints'] = true; - $this->constraints = $constraints; - - return $this; - } - - /** - * Preferences provide a way to make the scheduler aware of factors - * such as topology. They are provided in order from highest to - * lowest precedence. - * - * @return list|null - */ - public function getPreferences(): ?array - { - return $this->preferences; - } - - /** - * Preferences provide a way to make the scheduler aware of factors - * such as topology. They are provided in order from highest to - * lowest precedence. - * - * @param list|null $preferences - */ - public function setPreferences(?array $preferences): self - { - $this->initialized['preferences'] = true; - $this->preferences = $preferences; - - return $this; - } - - /** - * Maximum number of replicas for per node (default value is 0, which - * is unlimited). - */ - public function getMaxReplicas(): ?int - { - return $this->maxReplicas; - } - - /** - * Maximum number of replicas for per node (default value is 0, which - * is unlimited). - */ - public function setMaxReplicas(?int $maxReplicas): self - { - $this->initialized['maxReplicas'] = true; - $this->maxReplicas = $maxReplicas; - - return $this; - } - - /** - * Platforms stores all the platforms that the service's image can - * run on. This field is used in the platform filter for scheduling. - * If empty, then the platform filter is off, meaning there are no - * scheduling restrictions. - * - * @return list|null - */ - public function getPlatforms(): ?array - { - return $this->platforms; - } - - /** - * Platforms stores all the platforms that the service's image can - * run on. This field is used in the platform filter for scheduling. - * If empty, then the platform filter is off, meaning there are no - * scheduling restrictions. - * - * @param list|null $platforms - */ - public function setPlatforms(?array $platforms): self - { - $this->initialized['platforms'] = true; - $this->platforms = $platforms; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacementPreferencesItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacementPreferencesItem.php deleted file mode 100644 index 558b254bb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacementPreferencesItem.php +++ /dev/null @@ -1,35 +0,0 @@ -initialized); - } - /** - * @var TaskSpecPlacementPreferencesItemSpread|null - */ - protected $spread; - - public function getSpread(): ?TaskSpecPlacementPreferencesItemSpread - { - return $this->spread; - } - - public function setSpread(?TaskSpecPlacementPreferencesItemSpread $spread): self - { - $this->initialized['spread'] = true; - $this->spread = $spread; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacementPreferencesItemSpread.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacementPreferencesItemSpread.php deleted file mode 100644 index bca2bc3c5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPlacementPreferencesItemSpread.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * label descriptor, such as `engine.labels.az`. - * - * @var string|null - */ - protected $spreadDescriptor; - - /** - * label descriptor, such as `engine.labels.az`. - */ - public function getSpreadDescriptor(): ?string - { - return $this->spreadDescriptor; - } - - /** - * label descriptor, such as `engine.labels.az`. - */ - public function setSpreadDescriptor(?string $spreadDescriptor): self - { - $this->initialized['spreadDescriptor'] = true; - $this->spreadDescriptor = $spreadDescriptor; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPluginSpec.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPluginSpec.php deleted file mode 100644 index de74015f1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecPluginSpec.php +++ /dev/null @@ -1,116 +0,0 @@ -initialized); - } - /** - * The name or 'alias' to use for the plugin. - * - * @var string|null - */ - protected $name; - /** - * The plugin image reference to use. - * - * @var string|null - */ - protected $remote; - /** - * Disable the plugin once scheduled. - * - * @var bool|null - */ - protected $disabled; - /** - * @var list|null - */ - protected $pluginPrivilege; - - /** - * The name or 'alias' to use for the plugin. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * The name or 'alias' to use for the plugin. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * The plugin image reference to use. - */ - public function getRemote(): ?string - { - return $this->remote; - } - - /** - * The plugin image reference to use. - */ - public function setRemote(?string $remote): self - { - $this->initialized['remote'] = true; - $this->remote = $remote; - - return $this; - } - - /** - * Disable the plugin once scheduled. - */ - public function getDisabled(): ?bool - { - return $this->disabled; - } - - /** - * Disable the plugin once scheduled. - */ - public function setDisabled(?bool $disabled): self - { - $this->initialized['disabled'] = true; - $this->disabled = $disabled; - - return $this; - } - - /** - * @return list|null - */ - public function getPluginPrivilege(): ?array - { - return $this->pluginPrivilege; - } - - /** - * @param list|null $pluginPrivilege - */ - public function setPluginPrivilege(?array $pluginPrivilege): self - { - $this->initialized['pluginPrivilege'] = true; - $this->pluginPrivilege = $pluginPrivilege; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecResources.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecResources.php deleted file mode 100644 index 2936c8516..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecResources.php +++ /dev/null @@ -1,71 +0,0 @@ -initialized); - } - /** - * An object describing a limit on resources which can be requested by a task. - * - * @var Limit|null - */ - protected $limits; - /** - * An object describing the resources which can be advertised by a node and - * requested by a task. - * - * @var ResourceObject|null - */ - protected $reservations; - - /** - * An object describing a limit on resources which can be requested by a task. - */ - public function getLimits(): ?Limit - { - return $this->limits; - } - - /** - * An object describing a limit on resources which can be requested by a task. - */ - public function setLimits(?Limit $limits): self - { - $this->initialized['limits'] = true; - $this->limits = $limits; - - return $this; - } - - /** - * An object describing the resources which can be advertised by a node and - * requested by a task. - */ - public function getReservations(): ?ResourceObject - { - return $this->reservations; - } - - /** - * An object describing the resources which can be advertised by a node and - * requested by a task. - */ - public function setReservations(?ResourceObject $reservations): self - { - $this->initialized['reservations'] = true; - $this->reservations = $reservations; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecRestartPolicy.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecRestartPolicy.php deleted file mode 100644 index 068b26f2d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskSpecRestartPolicy.php +++ /dev/null @@ -1,124 +0,0 @@ -initialized); - } - /** - * Condition for restart. - * - * @var string|null - */ - protected $condition; - /** - * Delay between restart attempts. - * - * @var int|null - */ - protected $delay; - /** - * Maximum attempts to restart a given container before giving up - * (default value is 0, which is ignored). - * - * @var int|null - */ - protected $maxAttempts = 0; - /** - * Windows is the time window used to evaluate the restart policy - * (default value is 0, which is unbounded). - * - * @var int|null - */ - protected $window = 0; - - /** - * Condition for restart. - */ - public function getCondition(): ?string - { - return $this->condition; - } - - /** - * Condition for restart. - */ - public function setCondition(?string $condition): self - { - $this->initialized['condition'] = true; - $this->condition = $condition; - - return $this; - } - - /** - * Delay between restart attempts. - */ - public function getDelay(): ?int - { - return $this->delay; - } - - /** - * Delay between restart attempts. - */ - public function setDelay(?int $delay): self - { - $this->initialized['delay'] = true; - $this->delay = $delay; - - return $this; - } - - /** - * Maximum attempts to restart a given container before giving up - * (default value is 0, which is ignored). - */ - public function getMaxAttempts(): ?int - { - return $this->maxAttempts; - } - - /** - * Maximum attempts to restart a given container before giving up - * (default value is 0, which is ignored). - */ - public function setMaxAttempts(?int $maxAttempts): self - { - $this->initialized['maxAttempts'] = true; - $this->maxAttempts = $maxAttempts; - - return $this; - } - - /** - * Windows is the time window used to evaluate the restart policy - * (default value is 0, which is unbounded). - */ - public function getWindow(): ?int - { - return $this->window; - } - - /** - * Windows is the time window used to evaluate the restart policy - * (default value is 0, which is unbounded). - */ - public function setWindow(?int $window): self - { - $this->initialized['window'] = true; - $this->window = $window; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/TaskStatus.php b/app/vendor/beluga-php/docker-php-api/src/Model/TaskStatus.php deleted file mode 100644 index 179633bfd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/TaskStatus.php +++ /dev/null @@ -1,136 +0,0 @@ -initialized); - } - /** - * @var string|null - */ - protected $timestamp; - /** - * @var string|null - */ - protected $state; - /** - * @var string|null - */ - protected $message; - /** - * @var string|null - */ - protected $err; - /** - * represents the status of a container. - * - * @var ContainerStatus|null - */ - protected $containerStatus; - /** - * represents the port status of a task's host ports whose service has published host ports. - * - * @var PortStatus|null - */ - protected $portStatus; - - public function getTimestamp(): ?string - { - return $this->timestamp; - } - - public function setTimestamp(?string $timestamp): self - { - $this->initialized['timestamp'] = true; - $this->timestamp = $timestamp; - - return $this; - } - - public function getState(): ?string - { - return $this->state; - } - - public function setState(?string $state): self - { - $this->initialized['state'] = true; - $this->state = $state; - - return $this; - } - - public function getMessage(): ?string - { - return $this->message; - } - - public function setMessage(?string $message): self - { - $this->initialized['message'] = true; - $this->message = $message; - - return $this; - } - - public function getErr(): ?string - { - return $this->err; - } - - public function setErr(?string $err): self - { - $this->initialized['err'] = true; - $this->err = $err; - - return $this; - } - - /** - * represents the status of a container. - */ - public function getContainerStatus(): ?ContainerStatus - { - return $this->containerStatus; - } - - /** - * represents the status of a container. - */ - public function setContainerStatus(?ContainerStatus $containerStatus): self - { - $this->initialized['containerStatus'] = true; - $this->containerStatus = $containerStatus; - - return $this; - } - - /** - * represents the port status of a task's host ports whose service has published host ports. - */ - public function getPortStatus(): ?PortStatus - { - return $this->portStatus; - } - - /** - * represents the port status of a task's host ports whose service has published host ports. - */ - public function setPortStatus(?PortStatus $portStatus): self - { - $this->initialized['portStatus'] = true; - $this->portStatus = $portStatus; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/ThrottleDevice.php b/app/vendor/beluga-php/docker-php-api/src/Model/ThrottleDevice.php deleted file mode 100644 index 693a22513..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/ThrottleDevice.php +++ /dev/null @@ -1,68 +0,0 @@ -initialized); - } - /** - * Device path. - * - * @var string|null - */ - protected $path; - /** - * Rate. - * - * @var int|null - */ - protected $rate; - - /** - * Device path. - */ - public function getPath(): ?string - { - return $this->path; - } - - /** - * Device path. - */ - public function setPath(?string $path): self - { - $this->initialized['path'] = true; - $this->path = $path; - - return $this; - } - - /** - * Rate. - */ - public function getRate(): ?int - { - return $this->rate; - } - - /** - * Rate. - */ - public function setRate(?int $rate): self - { - $this->initialized['rate'] = true; - $this->rate = $rate; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/Volume.php b/app/vendor/beluga-php/docker-php-api/src/Model/Volume.php deleted file mode 100644 index b622c7b08..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/Volume.php +++ /dev/null @@ -1,304 +0,0 @@ -initialized); - } - /** - * Name of the volume. - * - * @var string|null - */ - protected $name; - /** - * Name of the volume driver used by the volume. - * - * @var string|null - */ - protected $driver; - /** - * Mount path of the volume on the host. - * - * @var string|null - */ - protected $mountpoint; - /** - * Date/Time the volume was created. - * - * @var string|null - */ - protected $createdAt; - /** - * Low-level details about the volume, provided by the volume driver. - * Details are returned as a map with key/value pairs: - * `{"key":"value","key2":"value2"}`. - * - * The `Status` field is optional, and is omitted if the volume driver - * does not support this feature. - * - * @var array|null - */ - protected $status; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * The level at which the volume exists. Either `global` for cluster-wide, - * or `local` for machine level. - * - * @var string|null - */ - protected $scope = 'local'; - /** - * Options and information specific to, and only present on, Swarm CSI - * cluster volumes. - * - * @var ClusterVolume|null - */ - protected $clusterVolume; - /** - * The driver specific options used when creating the volume. - * - * @var array|null - */ - protected $options; - /** - * Usage details about the volume. This information is used by the - * `GET /system/df` endpoint, and omitted in other endpoints. - * - * @var VolumeUsageData|null - */ - protected $usageData; - - /** - * Name of the volume. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * Name of the volume. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Name of the volume driver used by the volume. - */ - public function getDriver(): ?string - { - return $this->driver; - } - - /** - * Name of the volume driver used by the volume. - */ - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - /** - * Mount path of the volume on the host. - */ - public function getMountpoint(): ?string - { - return $this->mountpoint; - } - - /** - * Mount path of the volume on the host. - */ - public function setMountpoint(?string $mountpoint): self - { - $this->initialized['mountpoint'] = true; - $this->mountpoint = $mountpoint; - - return $this; - } - - /** - * Date/Time the volume was created. - */ - public function getCreatedAt(): ?string - { - return $this->createdAt; - } - - /** - * Date/Time the volume was created. - */ - public function setCreatedAt(?string $createdAt): self - { - $this->initialized['createdAt'] = true; - $this->createdAt = $createdAt; - - return $this; - } - - /** - * Low-level details about the volume, provided by the volume driver. - * Details are returned as a map with key/value pairs: - * `{"key":"value","key2":"value2"}`. - * - * The `Status` field is optional, and is omitted if the volume driver - * does not support this feature. - * - * @return array|null - */ - public function getStatus(): ?iterable - { - return $this->status; - } - - /** - * Low-level details about the volume, provided by the volume driver. - * Details are returned as a map with key/value pairs: - * `{"key":"value","key2":"value2"}`. - * - * The `Status` field is optional, and is omitted if the volume driver - * does not support this feature. - * - * @param array|null $status - */ - public function setStatus(?iterable $status): self - { - $this->initialized['status'] = true; - $this->status = $status; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * The level at which the volume exists. Either `global` for cluster-wide, - * or `local` for machine level. - */ - public function getScope(): ?string - { - return $this->scope; - } - - /** - * The level at which the volume exists. Either `global` for cluster-wide, - * or `local` for machine level. - */ - public function setScope(?string $scope): self - { - $this->initialized['scope'] = true; - $this->scope = $scope; - - return $this; - } - - /** - * Options and information specific to, and only present on, Swarm CSI - * cluster volumes. - */ - public function getClusterVolume(): ?ClusterVolume - { - return $this->clusterVolume; - } - - /** - * Options and information specific to, and only present on, Swarm CSI - * cluster volumes. - */ - public function setClusterVolume(?ClusterVolume $clusterVolume): self - { - $this->initialized['clusterVolume'] = true; - $this->clusterVolume = $clusterVolume; - - return $this; - } - - /** - * The driver specific options used when creating the volume. - * - * @return array|null - */ - public function getOptions(): ?iterable - { - return $this->options; - } - - /** - * The driver specific options used when creating the volume. - * - * @param array|null $options - */ - public function setOptions(?iterable $options): self - { - $this->initialized['options'] = true; - $this->options = $options; - - return $this; - } - - /** - * Usage details about the volume. This information is used by the - * `GET /system/df` endpoint, and omitted in other endpoints. - */ - public function getUsageData(): ?VolumeUsageData - { - return $this->usageData; - } - - /** - * Usage details about the volume. This information is used by the - * `GET /system/df` endpoint, and omitted in other endpoints. - */ - public function setUsageData(?VolumeUsageData $usageData): self - { - $this->initialized['usageData'] = true; - $this->usageData = $usageData; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/VolumeCreateOptions.php b/app/vendor/beluga-php/docker-php-api/src/Model/VolumeCreateOptions.php deleted file mode 100644 index 0cc7ba34c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/VolumeCreateOptions.php +++ /dev/null @@ -1,154 +0,0 @@ -initialized); - } - /** - * The new volume's name. If not specified, Docker generates a name. - * - * @var string|null - */ - protected $name; - /** - * Name of the volume driver to use. - * - * @var string|null - */ - protected $driver = 'local'; - /** - * A mapping of driver options and values. These options are - * passed directly to the driver and are driver specific. - * - * @var array|null - */ - protected $driverOpts; - /** - * User-defined key/value metadata. - * - * @var array|null - */ - protected $labels; - /** - * Cluster-specific options used to create the volume. - * - * @var ClusterVolumeSpec|null - */ - protected $clusterVolumeSpec; - - /** - * The new volume's name. If not specified, Docker generates a name. - */ - public function getName(): ?string - { - return $this->name; - } - - /** - * The new volume's name. If not specified, Docker generates a name. - */ - public function setName(?string $name): self - { - $this->initialized['name'] = true; - $this->name = $name; - - return $this; - } - - /** - * Name of the volume driver to use. - */ - public function getDriver(): ?string - { - return $this->driver; - } - - /** - * Name of the volume driver to use. - */ - public function setDriver(?string $driver): self - { - $this->initialized['driver'] = true; - $this->driver = $driver; - - return $this; - } - - /** - * A mapping of driver options and values. These options are - * passed directly to the driver and are driver specific. - * - * @return array|null - */ - public function getDriverOpts(): ?iterable - { - return $this->driverOpts; - } - - /** - * A mapping of driver options and values. These options are - * passed directly to the driver and are driver specific. - * - * @param array|null $driverOpts - */ - public function setDriverOpts(?iterable $driverOpts): self - { - $this->initialized['driverOpts'] = true; - $this->driverOpts = $driverOpts; - - return $this; - } - - /** - * User-defined key/value metadata. - * - * @return array|null - */ - public function getLabels(): ?iterable - { - return $this->labels; - } - - /** - * User-defined key/value metadata. - * - * @param array|null $labels - */ - public function setLabels(?iterable $labels): self - { - $this->initialized['labels'] = true; - $this->labels = $labels; - - return $this; - } - - /** - * Cluster-specific options used to create the volume. - */ - public function getClusterVolumeSpec(): ?ClusterVolumeSpec - { - return $this->clusterVolumeSpec; - } - - /** - * Cluster-specific options used to create the volume. - */ - public function setClusterVolumeSpec(?ClusterVolumeSpec $clusterVolumeSpec): self - { - $this->initialized['clusterVolumeSpec'] = true; - $this->clusterVolumeSpec = $clusterVolumeSpec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/VolumeListResponse.php b/app/vendor/beluga-php/docker-php-api/src/Model/VolumeListResponse.php deleted file mode 100644 index 52f839529..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/VolumeListResponse.php +++ /dev/null @@ -1,76 +0,0 @@ -initialized); - } - /** - * List of volumes. - * - * @var list|null - */ - protected $volumes; - /** - * Warnings that occurred when fetching the list of volumes. - * - * @var list|null - */ - protected $warnings; - - /** - * List of volumes. - * - * @return list|null - */ - public function getVolumes(): ?array - { - return $this->volumes; - } - - /** - * List of volumes. - * - * @param list|null $volumes - */ - public function setVolumes(?array $volumes): self - { - $this->initialized['volumes'] = true; - $this->volumes = $volumes; - - return $this; - } - - /** - * Warnings that occurred when fetching the list of volumes. - * - * @return list|null - */ - public function getWarnings(): ?array - { - return $this->warnings; - } - - /** - * Warnings that occurred when fetching the list of volumes. - * - * @param list|null $warnings - */ - public function setWarnings(?array $warnings): self - { - $this->initialized['warnings'] = true; - $this->warnings = $warnings; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/VolumeStatusItem.php b/app/vendor/beluga-php/docker-php-api/src/Model/VolumeStatusItem.php deleted file mode 100644 index fbfd22120..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/VolumeStatusItem.php +++ /dev/null @@ -1,18 +0,0 @@ -initialized); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/VolumeUsageData.php b/app/vendor/beluga-php/docker-php-api/src/Model/VolumeUsageData.php deleted file mode 100644 index 09fb2d8d9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/VolumeUsageData.php +++ /dev/null @@ -1,80 +0,0 @@ -initialized); - } - /** - * Amount of disk space used by the volume (in bytes). This information - * is only available for volumes created with the `"local"` volume - * driver. For volumes created with other volume drivers, this field - * is set to `-1` ("not available"). - * - * @var int|null - */ - protected $size = -1; - /** - * The number of containers referencing this volume. This field - * is set to `-1` if the reference-count is not available. - * - * @var int|null - */ - protected $refCount = -1; - - /** - * Amount of disk space used by the volume (in bytes). This information - * is only available for volumes created with the `"local"` volume - * driver. For volumes created with other volume drivers, this field - * is set to `-1` ("not available"). - */ - public function getSize(): ?int - { - return $this->size; - } - - /** - * Amount of disk space used by the volume (in bytes). This information - * is only available for volumes created with the `"local"` volume - * driver. For volumes created with other volume drivers, this field - * is set to `-1` ("not available"). - */ - public function setSize(?int $size): self - { - $this->initialized['size'] = true; - $this->size = $size; - - return $this; - } - - /** - * The number of containers referencing this volume. This field - * is set to `-1` if the reference-count is not available. - */ - public function getRefCount(): ?int - { - return $this->refCount; - } - - /** - * The number of containers referencing this volume. This field - * is set to `-1` if the reference-count is not available. - */ - public function setRefCount(?int $refCount): self - { - $this->initialized['refCount'] = true; - $this->refCount = $refCount; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/VolumesNamePutBody.php b/app/vendor/beluga-php/docker-php-api/src/Model/VolumesNamePutBody.php deleted file mode 100644 index b4820e68c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/VolumesNamePutBody.php +++ /dev/null @@ -1,43 +0,0 @@ -initialized); - } - /** - * Cluster-specific options used to create the volume. - * - * @var ClusterVolumeSpec|null - */ - protected $spec; - - /** - * Cluster-specific options used to create the volume. - */ - public function getSpec(): ?ClusterVolumeSpec - { - return $this->spec; - } - - /** - * Cluster-specific options used to create the volume. - */ - public function setSpec(?ClusterVolumeSpec $spec): self - { - $this->initialized['spec'] = true; - $this->spec = $spec; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Model/VolumesPrunePostResponse200.php b/app/vendor/beluga-php/docker-php-api/src/Model/VolumesPrunePostResponse200.php deleted file mode 100644 index 46a8dc2a6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Model/VolumesPrunePostResponse200.php +++ /dev/null @@ -1,72 +0,0 @@ -initialized); - } - /** - * Volumes that were deleted. - * - * @var list|null - */ - protected $volumesDeleted; - /** - * Disk space reclaimed in bytes. - * - * @var int|null - */ - protected $spaceReclaimed; - - /** - * Volumes that were deleted. - * - * @return list|null - */ - public function getVolumesDeleted(): ?array - { - return $this->volumesDeleted; - } - - /** - * Volumes that were deleted. - * - * @param list|null $volumesDeleted - */ - public function setVolumesDeleted(?array $volumesDeleted): self - { - $this->initialized['volumesDeleted'] = true; - $this->volumesDeleted = $volumesDeleted; - - return $this; - } - - /** - * Disk space reclaimed in bytes. - */ - public function getSpaceReclaimed(): ?int - { - return $this->spaceReclaimed; - } - - /** - * Disk space reclaimed in bytes. - */ - public function setSpaceReclaimed(?int $spaceReclaimed): self - { - $this->initialized['spaceReclaimed'] = true; - $this->spaceReclaimed = $spaceReclaimed; - - return $this; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/AddressNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/AddressNormalizer.php deleted file mode 100644 index 6499fba89..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/AddressNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setAddr($data['Addr']); - unset($data['Addr']); - } elseif (\array_key_exists('Addr', $data) && null === $data['Addr']) { - $object->setAddr(null); - } - if (\array_key_exists('PrefixLen', $data) && null !== $data['PrefixLen']) { - $object->setPrefixLen($data['PrefixLen']); - unset($data['PrefixLen']); - } elseif (\array_key_exists('PrefixLen', $data) && null === $data['PrefixLen']) { - $object->setPrefixLen(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('addr') && null !== $data->getAddr()) { - $dataArray['Addr'] = $data->getAddr(); - } - if ($data->isInitialized('prefixLen') && null !== $data->getPrefixLen()) { - $dataArray['PrefixLen'] = $data->getPrefixLen(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Address::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/AuthConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/AuthConfigNormalizer.php deleted file mode 100644 index 882c6660d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/AuthConfigNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setUsername($data['username']); - unset($data['username']); - } elseif (\array_key_exists('username', $data) && null === $data['username']) { - $object->setUsername(null); - } - if (\array_key_exists('password', $data) && null !== $data['password']) { - $object->setPassword($data['password']); - unset($data['password']); - } elseif (\array_key_exists('password', $data) && null === $data['password']) { - $object->setPassword(null); - } - if (\array_key_exists('email', $data) && null !== $data['email']) { - $object->setEmail($data['email']); - unset($data['email']); - } elseif (\array_key_exists('email', $data) && null === $data['email']) { - $object->setEmail(null); - } - if (\array_key_exists('serveraddress', $data) && null !== $data['serveraddress']) { - $object->setServeraddress($data['serveraddress']); - unset($data['serveraddress']); - } elseif (\array_key_exists('serveraddress', $data) && null === $data['serveraddress']) { - $object->setServeraddress(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('username') && null !== $data->getUsername()) { - $dataArray['username'] = $data->getUsername(); - } - if ($data->isInitialized('password') && null !== $data->getPassword()) { - $dataArray['password'] = $data->getPassword(); - } - if ($data->isInitialized('email') && null !== $data->getEmail()) { - $dataArray['email'] = $data->getEmail(); - } - if ($data->isInitialized('serveraddress') && null !== $data->getServeraddress()) { - $dataArray['serveraddress'] = $data->getServeraddress(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\AuthConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/AuthPostResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/AuthPostResponse200Normalizer.php deleted file mode 100644 index 69b2e4d2c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/AuthPostResponse200Normalizer.php +++ /dev/null @@ -1,87 +0,0 @@ -setStatus($data['Status']); - unset($data['Status']); - } elseif (\array_key_exists('Status', $data) && null === $data['Status']) { - $object->setStatus(null); - } - if (\array_key_exists('IdentityToken', $data) && null !== $data['IdentityToken']) { - $object->setIdentityToken($data['IdentityToken']); - unset($data['IdentityToken']); - } elseif (\array_key_exists('IdentityToken', $data) && null === $data['IdentityToken']) { - $object->setIdentityToken(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Status'] = $data->getStatus(); - if ($data->isInitialized('identityToken') && null !== $data->getIdentityToken()) { - $dataArray['IdentityToken'] = $data->getIdentityToken(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\AuthPostResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildCacheNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildCacheNormalizer.php deleted file mode 100644 index cf83c4412..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildCacheNormalizer.php +++ /dev/null @@ -1,184 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Parent', $data) && null !== $data['Parent']) { - $object->setParent($data['Parent']); - unset($data['Parent']); - } elseif (\array_key_exists('Parent', $data) && null === $data['Parent']) { - $object->setParent(null); - } - if (\array_key_exists('Parents', $data) && null !== $data['Parents']) { - $values = []; - foreach ($data['Parents'] as $value) { - $values[] = $value; - } - $object->setParents($values); - unset($data['Parents']); - } elseif (\array_key_exists('Parents', $data) && null === $data['Parents']) { - $object->setParents(null); - } - if (\array_key_exists('Type', $data) && null !== $data['Type']) { - $object->setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('Description', $data) && null !== $data['Description']) { - $object->setDescription($data['Description']); - unset($data['Description']); - } elseif (\array_key_exists('Description', $data) && null === $data['Description']) { - $object->setDescription(null); - } - if (\array_key_exists('InUse', $data) && null !== $data['InUse']) { - $object->setInUse($data['InUse']); - unset($data['InUse']); - } elseif (\array_key_exists('InUse', $data) && null === $data['InUse']) { - $object->setInUse(null); - } - if (\array_key_exists('Shared', $data) && null !== $data['Shared']) { - $object->setShared($data['Shared']); - unset($data['Shared']); - } elseif (\array_key_exists('Shared', $data) && null === $data['Shared']) { - $object->setShared(null); - } - if (\array_key_exists('Size', $data) && null !== $data['Size']) { - $object->setSize($data['Size']); - unset($data['Size']); - } elseif (\array_key_exists('Size', $data) && null === $data['Size']) { - $object->setSize(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('LastUsedAt', $data) && null !== $data['LastUsedAt']) { - $object->setLastUsedAt($data['LastUsedAt']); - unset($data['LastUsedAt']); - } elseif (\array_key_exists('LastUsedAt', $data) && null === $data['LastUsedAt']) { - $object->setLastUsedAt(null); - } - if (\array_key_exists('UsageCount', $data) && null !== $data['UsageCount']) { - $object->setUsageCount($data['UsageCount']); - unset($data['UsageCount']); - } elseif (\array_key_exists('UsageCount', $data) && null === $data['UsageCount']) { - $object->setUsageCount(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('parent') && null !== $data->getParent()) { - $dataArray['Parent'] = $data->getParent(); - } - if ($data->isInitialized('parents') && null !== $data->getParents()) { - $values = []; - foreach ($data->getParents() as $value) { - $values[] = $value; - } - $dataArray['Parents'] = $values; - } - if ($data->isInitialized('type') && null !== $data->getType()) { - $dataArray['Type'] = $data->getType(); - } - if ($data->isInitialized('description') && null !== $data->getDescription()) { - $dataArray['Description'] = $data->getDescription(); - } - if ($data->isInitialized('inUse') && null !== $data->getInUse()) { - $dataArray['InUse'] = $data->getInUse(); - } - if ($data->isInitialized('shared') && null !== $data->getShared()) { - $dataArray['Shared'] = $data->getShared(); - } - if ($data->isInitialized('size') && null !== $data->getSize()) { - $dataArray['Size'] = $data->getSize(); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('lastUsedAt') && null !== $data->getLastUsedAt()) { - $dataArray['LastUsedAt'] = $data->getLastUsedAt(); - } - if ($data->isInitialized('usageCount') && null !== $data->getUsageCount()) { - $dataArray['UsageCount'] = $data->getUsageCount(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\BuildCache::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildInfoNormalizer.php deleted file mode 100644 index c902ed642..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildInfoNormalizer.php +++ /dev/null @@ -1,143 +0,0 @@ -setId($data['id']); - unset($data['id']); - } elseif (\array_key_exists('id', $data) && null === $data['id']) { - $object->setId(null); - } - if (\array_key_exists('stream', $data) && null !== $data['stream']) { - $object->setStream($data['stream']); - unset($data['stream']); - } elseif (\array_key_exists('stream', $data) && null === $data['stream']) { - $object->setStream(null); - } - if (\array_key_exists('error', $data) && null !== $data['error']) { - $object->setError($data['error']); - unset($data['error']); - } elseif (\array_key_exists('error', $data) && null === $data['error']) { - $object->setError(null); - } - if (\array_key_exists('errorDetail', $data) && null !== $data['errorDetail']) { - $object->setErrorDetail($this->denormalizer->denormalize($data['errorDetail'], \Docker\API\Model\ErrorDetail::class, 'json', $context)); - unset($data['errorDetail']); - } elseif (\array_key_exists('errorDetail', $data) && null === $data['errorDetail']) { - $object->setErrorDetail(null); - } - if (\array_key_exists('status', $data) && null !== $data['status']) { - $object->setStatus($data['status']); - unset($data['status']); - } elseif (\array_key_exists('status', $data) && null === $data['status']) { - $object->setStatus(null); - } - if (\array_key_exists('progress', $data) && null !== $data['progress']) { - $object->setProgress($data['progress']); - unset($data['progress']); - } elseif (\array_key_exists('progress', $data) && null === $data['progress']) { - $object->setProgress(null); - } - if (\array_key_exists('progressDetail', $data) && null !== $data['progressDetail']) { - $object->setProgressDetail($this->denormalizer->denormalize($data['progressDetail'], \Docker\API\Model\ProgressDetail::class, 'json', $context)); - unset($data['progressDetail']); - } elseif (\array_key_exists('progressDetail', $data) && null === $data['progressDetail']) { - $object->setProgressDetail(null); - } - if (\array_key_exists('aux', $data) && null !== $data['aux']) { - $object->setAux($this->denormalizer->denormalize($data['aux'], \Docker\API\Model\ImageID::class, 'json', $context)); - unset($data['aux']); - } elseif (\array_key_exists('aux', $data) && null === $data['aux']) { - $object->setAux(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('id') && null !== $data->getId()) { - $dataArray['id'] = $data->getId(); - } - if ($data->isInitialized('stream') && null !== $data->getStream()) { - $dataArray['stream'] = $data->getStream(); - } - if ($data->isInitialized('error') && null !== $data->getError()) { - $dataArray['error'] = $data->getError(); - } - if ($data->isInitialized('errorDetail') && null !== $data->getErrorDetail()) { - $dataArray['errorDetail'] = $this->normalizer->normalize($data->getErrorDetail(), 'json', $context); - } - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $dataArray['status'] = $data->getStatus(); - } - if ($data->isInitialized('progress') && null !== $data->getProgress()) { - $dataArray['progress'] = $data->getProgress(); - } - if ($data->isInitialized('progressDetail') && null !== $data->getProgressDetail()) { - $dataArray['progressDetail'] = $this->normalizer->normalize($data->getProgressDetail(), 'json', $context); - } - if ($data->isInitialized('aux') && null !== $data->getAux()) { - $dataArray['aux'] = $this->normalizer->normalize($data->getAux(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\BuildInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildPrunePostResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildPrunePostResponse200Normalizer.php deleted file mode 100644 index c3deb1026..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/BuildPrunePostResponse200Normalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setCachesDeleted($values); - unset($data['CachesDeleted']); - } elseif (\array_key_exists('CachesDeleted', $data) && null === $data['CachesDeleted']) { - $object->setCachesDeleted(null); - } - if (\array_key_exists('SpaceReclaimed', $data) && null !== $data['SpaceReclaimed']) { - $object->setSpaceReclaimed($data['SpaceReclaimed']); - unset($data['SpaceReclaimed']); - } elseif (\array_key_exists('SpaceReclaimed', $data) && null === $data['SpaceReclaimed']) { - $object->setSpaceReclaimed(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('cachesDeleted') && null !== $data->getCachesDeleted()) { - $values = []; - foreach ($data->getCachesDeleted() as $value) { - $values[] = $value; - } - $dataArray['CachesDeleted'] = $values; - } - if ($data->isInitialized('spaceReclaimed') && null !== $data->getSpaceReclaimed()) { - $dataArray['SpaceReclaimed'] = $data->getSpaceReclaimed(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\BuildPrunePostResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterInfoNormalizer.php deleted file mode 100644 index 175673463..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterInfoNormalizer.php +++ /dev/null @@ -1,172 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($this->denormalizer->denormalize($data['Version'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('UpdatedAt', $data) && null !== $data['UpdatedAt']) { - $object->setUpdatedAt($data['UpdatedAt']); - unset($data['UpdatedAt']); - } elseif (\array_key_exists('UpdatedAt', $data) && null === $data['UpdatedAt']) { - $object->setUpdatedAt(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\SwarmSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - if (\array_key_exists('TLSInfo', $data) && null !== $data['TLSInfo']) { - $object->setTLSInfo($this->denormalizer->denormalize($data['TLSInfo'], \Docker\API\Model\TLSInfo::class, 'json', $context)); - unset($data['TLSInfo']); - } elseif (\array_key_exists('TLSInfo', $data) && null === $data['TLSInfo']) { - $object->setTLSInfo(null); - } - if (\array_key_exists('RootRotationInProgress', $data) && null !== $data['RootRotationInProgress']) { - $object->setRootRotationInProgress($data['RootRotationInProgress']); - unset($data['RootRotationInProgress']); - } elseif (\array_key_exists('RootRotationInProgress', $data) && null === $data['RootRotationInProgress']) { - $object->setRootRotationInProgress(null); - } - if (\array_key_exists('DataPathPort', $data) && null !== $data['DataPathPort']) { - $object->setDataPathPort($data['DataPathPort']); - unset($data['DataPathPort']); - } elseif (\array_key_exists('DataPathPort', $data) && null === $data['DataPathPort']) { - $object->setDataPathPort(null); - } - if (\array_key_exists('DefaultAddrPool', $data) && null !== $data['DefaultAddrPool']) { - $values = []; - foreach ($data['DefaultAddrPool'] as $value) { - $values[] = $value; - } - $object->setDefaultAddrPool($values); - unset($data['DefaultAddrPool']); - } elseif (\array_key_exists('DefaultAddrPool', $data) && null === $data['DefaultAddrPool']) { - $object->setDefaultAddrPool(null); - } - if (\array_key_exists('SubnetSize', $data) && null !== $data['SubnetSize']) { - $object->setSubnetSize($data['SubnetSize']); - unset($data['SubnetSize']); - } elseif (\array_key_exists('SubnetSize', $data) && null === $data['SubnetSize']) { - $object->setSubnetSize(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $this->normalizer->normalize($data->getVersion(), 'json', $context); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('updatedAt') && null !== $data->getUpdatedAt()) { - $dataArray['UpdatedAt'] = $data->getUpdatedAt(); - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - if ($data->isInitialized('tLSInfo') && null !== $data->getTLSInfo()) { - $dataArray['TLSInfo'] = $this->normalizer->normalize($data->getTLSInfo(), 'json', $context); - } - if ($data->isInitialized('rootRotationInProgress') && null !== $data->getRootRotationInProgress()) { - $dataArray['RootRotationInProgress'] = $data->getRootRotationInProgress(); - } - if ($data->isInitialized('dataPathPort') && null !== $data->getDataPathPort()) { - $dataArray['DataPathPort'] = $data->getDataPathPort(); - } - if ($data->isInitialized('defaultAddrPool') && null !== $data->getDefaultAddrPool()) { - $values = []; - foreach ($data->getDefaultAddrPool() as $value) { - $values[] = $value; - } - $dataArray['DefaultAddrPool'] = $values; - } - if ($data->isInitialized('subnetSize') && null !== $data->getSubnetSize()) { - $dataArray['SubnetSize'] = $data->getSubnetSize(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeInfoNormalizer.php deleted file mode 100644 index 53a4415f0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeInfoNormalizer.php +++ /dev/null @@ -1,131 +0,0 @@ -setCapacityBytes($data['CapacityBytes']); - unset($data['CapacityBytes']); - } elseif (\array_key_exists('CapacityBytes', $data) && null === $data['CapacityBytes']) { - $object->setCapacityBytes(null); - } - if (\array_key_exists('VolumeContext', $data) && null !== $data['VolumeContext']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['VolumeContext'] as $key => $value) { - $values[$key] = $value; - } - $object->setVolumeContext($values); - unset($data['VolumeContext']); - } elseif (\array_key_exists('VolumeContext', $data) && null === $data['VolumeContext']) { - $object->setVolumeContext(null); - } - if (\array_key_exists('VolumeID', $data) && null !== $data['VolumeID']) { - $object->setVolumeID($data['VolumeID']); - unset($data['VolumeID']); - } elseif (\array_key_exists('VolumeID', $data) && null === $data['VolumeID']) { - $object->setVolumeID(null); - } - if (\array_key_exists('AccessibleTopology', $data) && null !== $data['AccessibleTopology']) { - $values_1 = []; - foreach ($data['AccessibleTopology'] as $value_1) { - $values_2 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($value_1 as $key_1 => $value_2) { - $values_2[$key_1] = $value_2; - } - $values_1[] = $values_2; - } - $object->setAccessibleTopology($values_1); - unset($data['AccessibleTopology']); - } elseif (\array_key_exists('AccessibleTopology', $data) && null === $data['AccessibleTopology']) { - $object->setAccessibleTopology(null); - } - foreach ($data as $key_2 => $value_3) { - if (preg_match('/.*/', (string) $key_2)) { - $object[$key_2] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('capacityBytes') && null !== $data->getCapacityBytes()) { - $dataArray['CapacityBytes'] = $data->getCapacityBytes(); - } - if ($data->isInitialized('volumeContext') && null !== $data->getVolumeContext()) { - $values = []; - foreach ($data->getVolumeContext() as $key => $value) { - $values[$key] = $value; - } - $dataArray['VolumeContext'] = $values; - } - if ($data->isInitialized('volumeID') && null !== $data->getVolumeID()) { - $dataArray['VolumeID'] = $data->getVolumeID(); - } - if ($data->isInitialized('accessibleTopology') && null !== $data->getAccessibleTopology()) { - $values_1 = []; - foreach ($data->getAccessibleTopology() as $value_1) { - $values_2 = []; - foreach ($value_1 as $key_1 => $value_2) { - $values_2[$key_1] = $value_2; - } - $values_1[] = $values_2; - } - $dataArray['AccessibleTopology'] = $values_1; - } - foreach ($data as $key_2 => $value_3) { - if (preg_match('/.*/', (string) $key_2)) { - $dataArray[$key_2] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolumeInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeNormalizer.php deleted file mode 100644 index 68ef1c763..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeNormalizer.php +++ /dev/null @@ -1,142 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($this->denormalizer->denormalize($data['Version'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('UpdatedAt', $data) && null !== $data['UpdatedAt']) { - $object->setUpdatedAt($data['UpdatedAt']); - unset($data['UpdatedAt']); - } elseif (\array_key_exists('UpdatedAt', $data) && null === $data['UpdatedAt']) { - $object->setUpdatedAt(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\ClusterVolumeSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - if (\array_key_exists('Info', $data) && null !== $data['Info']) { - $object->setInfo($this->denormalizer->denormalize($data['Info'], \Docker\API\Model\ClusterVolumeInfo::class, 'json', $context)); - unset($data['Info']); - } elseif (\array_key_exists('Info', $data) && null === $data['Info']) { - $object->setInfo(null); - } - if (\array_key_exists('PublishStatus', $data) && null !== $data['PublishStatus']) { - $values = []; - foreach ($data['PublishStatus'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\ClusterVolumePublishStatusItem::class, 'json', $context); - } - $object->setPublishStatus($values); - unset($data['PublishStatus']); - } elseif (\array_key_exists('PublishStatus', $data) && null === $data['PublishStatus']) { - $object->setPublishStatus(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $this->normalizer->normalize($data->getVersion(), 'json', $context); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('updatedAt') && null !== $data->getUpdatedAt()) { - $dataArray['UpdatedAt'] = $data->getUpdatedAt(); - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - if ($data->isInitialized('info') && null !== $data->getInfo()) { - $dataArray['Info'] = $this->normalizer->normalize($data->getInfo(), 'json', $context); - } - if ($data->isInitialized('publishStatus') && null !== $data->getPublishStatus()) { - $values = []; - foreach ($data->getPublishStatus() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['PublishStatus'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolume::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumePublishStatusItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumePublishStatusItemNormalizer.php deleted file mode 100644 index 1acd5f6c0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumePublishStatusItemNormalizer.php +++ /dev/null @@ -1,106 +0,0 @@ -setNodeID($data['NodeID']); - unset($data['NodeID']); - } elseif (\array_key_exists('NodeID', $data) && null === $data['NodeID']) { - $object->setNodeID(null); - } - if (\array_key_exists('State', $data) && null !== $data['State']) { - $object->setState($data['State']); - unset($data['State']); - } elseif (\array_key_exists('State', $data) && null === $data['State']) { - $object->setState(null); - } - if (\array_key_exists('PublishContext', $data) && null !== $data['PublishContext']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['PublishContext'] as $key => $value) { - $values[$key] = $value; - } - $object->setPublishContext($values); - unset($data['PublishContext']); - } elseif (\array_key_exists('PublishContext', $data) && null === $data['PublishContext']) { - $object->setPublishContext(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('nodeID') && null !== $data->getNodeID()) { - $dataArray['NodeID'] = $data->getNodeID(); - } - if ($data->isInitialized('state') && null !== $data->getState()) { - $dataArray['State'] = $data->getState(); - } - if ($data->isInitialized('publishContext') && null !== $data->getPublishContext()) { - $values = []; - foreach ($data->getPublishContext() as $key => $value) { - $values[$key] = $value; - } - $dataArray['PublishContext'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolumePublishStatusItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeAccessibilityRequirementsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeAccessibilityRequirementsNormalizer.php deleted file mode 100644 index d0f0f9c47..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeAccessibilityRequirementsNormalizer.php +++ /dev/null @@ -1,121 +0,0 @@ - $value_1) { - $values_1[$key] = $value_1; - } - $values[] = $values_1; - } - $object->setRequisite($values); - unset($data['Requisite']); - } elseif (\array_key_exists('Requisite', $data) && null === $data['Requisite']) { - $object->setRequisite(null); - } - if (\array_key_exists('Preferred', $data) && null !== $data['Preferred']) { - $values_2 = []; - foreach ($data['Preferred'] as $value_2) { - $values_3 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($value_2 as $key_1 => $value_3) { - $values_3[$key_1] = $value_3; - } - $values_2[] = $values_3; - } - $object->setPreferred($values_2); - unset($data['Preferred']); - } elseif (\array_key_exists('Preferred', $data) && null === $data['Preferred']) { - $object->setPreferred(null); - } - foreach ($data as $key_2 => $value_4) { - if (preg_match('/.*/', (string) $key_2)) { - $object[$key_2] = $value_4; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('requisite') && null !== $data->getRequisite()) { - $values = []; - foreach ($data->getRequisite() as $value) { - $values_1 = []; - foreach ($value as $key => $value_1) { - $values_1[$key] = $value_1; - } - $values[] = $values_1; - } - $dataArray['Requisite'] = $values; - } - if ($data->isInitialized('preferred') && null !== $data->getPreferred()) { - $values_2 = []; - foreach ($data->getPreferred() as $value_2) { - $values_3 = []; - foreach ($value_2 as $key_1 => $value_3) { - $values_3[$key_1] = $value_3; - } - $values_2[] = $values_3; - } - $dataArray['Preferred'] = $values_2; - } - foreach ($data as $key_2 => $value_4) { - if (preg_match('/.*/', (string) $key_2)) { - $dataArray[$key_2] = $value_4; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolumeSpecAccessModeAccessibilityRequirements::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeCapacityRangeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeCapacityRangeNormalizer.php deleted file mode 100644 index 420d14b6b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeCapacityRangeNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setRequiredBytes($data['RequiredBytes']); - unset($data['RequiredBytes']); - } elseif (\array_key_exists('RequiredBytes', $data) && null === $data['RequiredBytes']) { - $object->setRequiredBytes(null); - } - if (\array_key_exists('LimitBytes', $data) && null !== $data['LimitBytes']) { - $object->setLimitBytes($data['LimitBytes']); - unset($data['LimitBytes']); - } elseif (\array_key_exists('LimitBytes', $data) && null === $data['LimitBytes']) { - $object->setLimitBytes(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('requiredBytes') && null !== $data->getRequiredBytes()) { - $dataArray['RequiredBytes'] = $data->getRequiredBytes(); - } - if ($data->isInitialized('limitBytes') && null !== $data->getLimitBytes()) { - $dataArray['LimitBytes'] = $data->getLimitBytes(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolumeSpecAccessModeCapacityRange::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeMountVolumeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeMountVolumeNormalizer.php deleted file mode 100644 index a008372b8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeMountVolumeNormalizer.php +++ /dev/null @@ -1,71 +0,0 @@ - $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolumeSpecAccessModeMountVolume::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeNormalizer.php deleted file mode 100644 index 8416948bc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeNormalizer.php +++ /dev/null @@ -1,142 +0,0 @@ -setScope($data['Scope']); - unset($data['Scope']); - } elseif (\array_key_exists('Scope', $data) && null === $data['Scope']) { - $object->setScope(null); - } - if (\array_key_exists('Sharing', $data) && null !== $data['Sharing']) { - $object->setSharing($data['Sharing']); - unset($data['Sharing']); - } elseif (\array_key_exists('Sharing', $data) && null === $data['Sharing']) { - $object->setSharing(null); - } - if (\array_key_exists('MountVolume', $data) && null !== $data['MountVolume']) { - $object->setMountVolume($this->denormalizer->denormalize($data['MountVolume'], \Docker\API\Model\ClusterVolumeSpecAccessModeMountVolume::class, 'json', $context)); - unset($data['MountVolume']); - } elseif (\array_key_exists('MountVolume', $data) && null === $data['MountVolume']) { - $object->setMountVolume(null); - } - if (\array_key_exists('Secrets', $data) && null !== $data['Secrets']) { - $values = []; - foreach ($data['Secrets'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\ClusterVolumeSpecAccessModeSecretsItem::class, 'json', $context); - } - $object->setSecrets($values); - unset($data['Secrets']); - } elseif (\array_key_exists('Secrets', $data) && null === $data['Secrets']) { - $object->setSecrets(null); - } - if (\array_key_exists('AccessibilityRequirements', $data) && null !== $data['AccessibilityRequirements']) { - $object->setAccessibilityRequirements($this->denormalizer->denormalize($data['AccessibilityRequirements'], \Docker\API\Model\ClusterVolumeSpecAccessModeAccessibilityRequirements::class, 'json', $context)); - unset($data['AccessibilityRequirements']); - } elseif (\array_key_exists('AccessibilityRequirements', $data) && null === $data['AccessibilityRequirements']) { - $object->setAccessibilityRequirements(null); - } - if (\array_key_exists('CapacityRange', $data) && null !== $data['CapacityRange']) { - $object->setCapacityRange($this->denormalizer->denormalize($data['CapacityRange'], \Docker\API\Model\ClusterVolumeSpecAccessModeCapacityRange::class, 'json', $context)); - unset($data['CapacityRange']); - } elseif (\array_key_exists('CapacityRange', $data) && null === $data['CapacityRange']) { - $object->setCapacityRange(null); - } - if (\array_key_exists('Availability', $data) && null !== $data['Availability']) { - $object->setAvailability($data['Availability']); - unset($data['Availability']); - } elseif (\array_key_exists('Availability', $data) && null === $data['Availability']) { - $object->setAvailability(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('scope') && null !== $data->getScope()) { - $dataArray['Scope'] = $data->getScope(); - } - if ($data->isInitialized('sharing') && null !== $data->getSharing()) { - $dataArray['Sharing'] = $data->getSharing(); - } - if ($data->isInitialized('mountVolume') && null !== $data->getMountVolume()) { - $dataArray['MountVolume'] = $this->normalizer->normalize($data->getMountVolume(), 'json', $context); - } - if ($data->isInitialized('secrets') && null !== $data->getSecrets()) { - $values = []; - foreach ($data->getSecrets() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Secrets'] = $values; - } - if ($data->isInitialized('accessibilityRequirements') && null !== $data->getAccessibilityRequirements()) { - $dataArray['AccessibilityRequirements'] = $this->normalizer->normalize($data->getAccessibilityRequirements(), 'json', $context); - } - if ($data->isInitialized('capacityRange') && null !== $data->getCapacityRange()) { - $dataArray['CapacityRange'] = $this->normalizer->normalize($data->getCapacityRange(), 'json', $context); - } - if ($data->isInitialized('availability') && null !== $data->getAvailability()) { - $dataArray['Availability'] = $data->getAvailability(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolumeSpecAccessMode::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeSecretsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeSecretsItemNormalizer.php deleted file mode 100644 index 99e6a5e2e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecAccessModeSecretsItemNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setKey($data['Key']); - unset($data['Key']); - } elseif (\array_key_exists('Key', $data) && null === $data['Key']) { - $object->setKey(null); - } - if (\array_key_exists('Secret', $data) && null !== $data['Secret']) { - $object->setSecret($data['Secret']); - unset($data['Secret']); - } elseif (\array_key_exists('Secret', $data) && null === $data['Secret']) { - $object->setSecret(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('key') && null !== $data->getKey()) { - $dataArray['Key'] = $data->getKey(); - } - if ($data->isInitialized('secret') && null !== $data->getSecret()) { - $dataArray['Secret'] = $data->getSecret(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolumeSpecAccessModeSecretsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecNormalizer.php deleted file mode 100644 index ea1ddea43..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ClusterVolumeSpecNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setGroup($data['Group']); - unset($data['Group']); - } elseif (\array_key_exists('Group', $data) && null === $data['Group']) { - $object->setGroup(null); - } - if (\array_key_exists('AccessMode', $data) && null !== $data['AccessMode']) { - $object->setAccessMode($this->denormalizer->denormalize($data['AccessMode'], \Docker\API\Model\ClusterVolumeSpecAccessMode::class, 'json', $context)); - unset($data['AccessMode']); - } elseif (\array_key_exists('AccessMode', $data) && null === $data['AccessMode']) { - $object->setAccessMode(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('group') && null !== $data->getGroup()) { - $dataArray['Group'] = $data->getGroup(); - } - if ($data->isInitialized('accessMode') && null !== $data->getAccessMode()) { - $dataArray['AccessMode'] = $this->normalizer->normalize($data->getAccessMode(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ClusterVolumeSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/CommitNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/CommitNormalizer.php deleted file mode 100644 index 2d51a9bb7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/CommitNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Expected', $data) && null !== $data['Expected']) { - $object->setExpected($data['Expected']); - unset($data['Expected']); - } elseif (\array_key_exists('Expected', $data) && null === $data['Expected']) { - $object->setExpected(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('expected') && null !== $data->getExpected()) { - $dataArray['Expected'] = $data->getExpected(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Commit::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigNormalizer.php deleted file mode 100644 index 7f5620f2e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigNormalizer.php +++ /dev/null @@ -1,116 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($this->denormalizer->denormalize($data['Version'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('UpdatedAt', $data) && null !== $data['UpdatedAt']) { - $object->setUpdatedAt($data['UpdatedAt']); - unset($data['UpdatedAt']); - } elseif (\array_key_exists('UpdatedAt', $data) && null === $data['UpdatedAt']) { - $object->setUpdatedAt(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\ConfigSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $this->normalizer->normalize($data->getVersion(), 'json', $context); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('updatedAt') && null !== $data->getUpdatedAt()) { - $dataArray['UpdatedAt'] = $data->getUpdatedAt(); - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Config::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigSpecNormalizer.php deleted file mode 100644 index e41c10a6e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigSpecNormalizer.php +++ /dev/null @@ -1,115 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Data', $data) && null !== $data['Data']) { - $object->setData($data['Data']); - unset($data['Data']); - } elseif (\array_key_exists('Data', $data) && null === $data['Data']) { - $object->setData(null); - } - if (\array_key_exists('Templating', $data) && null !== $data['Templating']) { - $object->setTemplating($this->denormalizer->denormalize($data['Templating'], \Docker\API\Model\Driver::class, 'json', $context)); - unset($data['Templating']); - } elseif (\array_key_exists('Templating', $data) && null === $data['Templating']) { - $object->setTemplating(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('data') && null !== $data->getData()) { - $dataArray['Data'] = $data->getData(); - } - if ($data->isInitialized('templating') && null !== $data->getTemplating()) { - $dataArray['Templating'] = $this->normalizer->normalize($data->getTemplating(), 'json', $context); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ConfigSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigsCreatePostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigsCreatePostBodyNormalizer.php deleted file mode 100644 index 575ebc610..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ConfigsCreatePostBodyNormalizer.php +++ /dev/null @@ -1,115 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Data', $data) && null !== $data['Data']) { - $object->setData($data['Data']); - unset($data['Data']); - } elseif (\array_key_exists('Data', $data) && null === $data['Data']) { - $object->setData(null); - } - if (\array_key_exists('Templating', $data) && null !== $data['Templating']) { - $object->setTemplating($this->denormalizer->denormalize($data['Templating'], \Docker\API\Model\Driver::class, 'json', $context)); - unset($data['Templating']); - } elseif (\array_key_exists('Templating', $data) && null === $data['Templating']) { - $object->setTemplating(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('data') && null !== $data->getData()) { - $dataArray['Data'] = $data->getData(); - } - if ($data->isInitialized('templating') && null !== $data->getTemplating()) { - $dataArray['Templating'] = $this->normalizer->normalize($data->getTemplating(), 'json', $context); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ConfigsCreatePostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigExposedPortsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigExposedPortsItemNormalizer.php deleted file mode 100644 index e67f7f087..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigExposedPortsItemNormalizer.php +++ /dev/null @@ -1,71 +0,0 @@ - $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerConfigExposedPortsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigNormalizer.php deleted file mode 100644 index ab299e955..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigNormalizer.php +++ /dev/null @@ -1,384 +0,0 @@ -setHostname($data['Hostname']); - unset($data['Hostname']); - } elseif (\array_key_exists('Hostname', $data) && null === $data['Hostname']) { - $object->setHostname(null); - } - if (\array_key_exists('Domainname', $data) && null !== $data['Domainname']) { - $object->setDomainname($data['Domainname']); - unset($data['Domainname']); - } elseif (\array_key_exists('Domainname', $data) && null === $data['Domainname']) { - $object->setDomainname(null); - } - if (\array_key_exists('User', $data) && null !== $data['User']) { - $object->setUser($data['User']); - unset($data['User']); - } elseif (\array_key_exists('User', $data) && null === $data['User']) { - $object->setUser(null); - } - if (\array_key_exists('AttachStdin', $data) && null !== $data['AttachStdin']) { - $object->setAttachStdin($data['AttachStdin']); - unset($data['AttachStdin']); - } elseif (\array_key_exists('AttachStdin', $data) && null === $data['AttachStdin']) { - $object->setAttachStdin(null); - } - if (\array_key_exists('AttachStdout', $data) && null !== $data['AttachStdout']) { - $object->setAttachStdout($data['AttachStdout']); - unset($data['AttachStdout']); - } elseif (\array_key_exists('AttachStdout', $data) && null === $data['AttachStdout']) { - $object->setAttachStdout(null); - } - if (\array_key_exists('AttachStderr', $data) && null !== $data['AttachStderr']) { - $object->setAttachStderr($data['AttachStderr']); - unset($data['AttachStderr']); - } elseif (\array_key_exists('AttachStderr', $data) && null === $data['AttachStderr']) { - $object->setAttachStderr(null); - } - if (\array_key_exists('ExposedPorts', $data) && null !== $data['ExposedPorts']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['ExposedPorts'] as $key => $value) { - $values[$key] = $this->denormalizer->denormalize($value, \Docker\API\Model\ContainerConfigExposedPortsItem::class, 'json', $context); - } - $object->setExposedPorts($values); - unset($data['ExposedPorts']); - } elseif (\array_key_exists('ExposedPorts', $data) && null === $data['ExposedPorts']) { - $object->setExposedPorts(null); - } - if (\array_key_exists('Tty', $data) && null !== $data['Tty']) { - $object->setTty($data['Tty']); - unset($data['Tty']); - } elseif (\array_key_exists('Tty', $data) && null === $data['Tty']) { - $object->setTty(null); - } - if (\array_key_exists('OpenStdin', $data) && null !== $data['OpenStdin']) { - $object->setOpenStdin($data['OpenStdin']); - unset($data['OpenStdin']); - } elseif (\array_key_exists('OpenStdin', $data) && null === $data['OpenStdin']) { - $object->setOpenStdin(null); - } - if (\array_key_exists('StdinOnce', $data) && null !== $data['StdinOnce']) { - $object->setStdinOnce($data['StdinOnce']); - unset($data['StdinOnce']); - } elseif (\array_key_exists('StdinOnce', $data) && null === $data['StdinOnce']) { - $object->setStdinOnce(null); - } - if (\array_key_exists('Env', $data) && null !== $data['Env']) { - $values_1 = []; - foreach ($data['Env'] as $value_1) { - $values_1[] = $value_1; - } - $object->setEnv($values_1); - unset($data['Env']); - } elseif (\array_key_exists('Env', $data) && null === $data['Env']) { - $object->setEnv(null); - } - if (\array_key_exists('Cmd', $data) && null !== $data['Cmd']) { - $values_2 = []; - foreach ($data['Cmd'] as $value_2) { - $values_2[] = $value_2; - } - $object->setCmd($values_2); - unset($data['Cmd']); - } elseif (\array_key_exists('Cmd', $data) && null === $data['Cmd']) { - $object->setCmd(null); - } - if (\array_key_exists('Healthcheck', $data) && null !== $data['Healthcheck']) { - $object->setHealthcheck($this->denormalizer->denormalize($data['Healthcheck'], \Docker\API\Model\HealthConfig::class, 'json', $context)); - unset($data['Healthcheck']); - } elseif (\array_key_exists('Healthcheck', $data) && null === $data['Healthcheck']) { - $object->setHealthcheck(null); - } - if (\array_key_exists('ArgsEscaped', $data) && null !== $data['ArgsEscaped']) { - $object->setArgsEscaped($data['ArgsEscaped']); - unset($data['ArgsEscaped']); - } elseif (\array_key_exists('ArgsEscaped', $data) && null === $data['ArgsEscaped']) { - $object->setArgsEscaped(null); - } - if (\array_key_exists('Image', $data) && null !== $data['Image']) { - $object->setImage($data['Image']); - unset($data['Image']); - } elseif (\array_key_exists('Image', $data) && null === $data['Image']) { - $object->setImage(null); - } - if (\array_key_exists('Volumes', $data) && null !== $data['Volumes']) { - $values_3 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Volumes'] as $key_1 => $value_3) { - $values_3[$key_1] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\ContainerConfigVolumesItem::class, 'json', $context); - } - $object->setVolumes($values_3); - unset($data['Volumes']); - } elseif (\array_key_exists('Volumes', $data) && null === $data['Volumes']) { - $object->setVolumes(null); - } - if (\array_key_exists('WorkingDir', $data) && null !== $data['WorkingDir']) { - $object->setWorkingDir($data['WorkingDir']); - unset($data['WorkingDir']); - } elseif (\array_key_exists('WorkingDir', $data) && null === $data['WorkingDir']) { - $object->setWorkingDir(null); - } - if (\array_key_exists('Entrypoint', $data) && null !== $data['Entrypoint']) { - $values_4 = []; - foreach ($data['Entrypoint'] as $value_4) { - $values_4[] = $value_4; - } - $object->setEntrypoint($values_4); - unset($data['Entrypoint']); - } elseif (\array_key_exists('Entrypoint', $data) && null === $data['Entrypoint']) { - $object->setEntrypoint(null); - } - if (\array_key_exists('NetworkDisabled', $data) && null !== $data['NetworkDisabled']) { - $object->setNetworkDisabled($data['NetworkDisabled']); - unset($data['NetworkDisabled']); - } elseif (\array_key_exists('NetworkDisabled', $data) && null === $data['NetworkDisabled']) { - $object->setNetworkDisabled(null); - } - if (\array_key_exists('MacAddress', $data) && null !== $data['MacAddress']) { - $object->setMacAddress($data['MacAddress']); - unset($data['MacAddress']); - } elseif (\array_key_exists('MacAddress', $data) && null === $data['MacAddress']) { - $object->setMacAddress(null); - } - if (\array_key_exists('OnBuild', $data) && null !== $data['OnBuild']) { - $values_5 = []; - foreach ($data['OnBuild'] as $value_5) { - $values_5[] = $value_5; - } - $object->setOnBuild($values_5); - unset($data['OnBuild']); - } elseif (\array_key_exists('OnBuild', $data) && null === $data['OnBuild']) { - $object->setOnBuild(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_6 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key_2 => $value_6) { - $values_6[$key_2] = $value_6; - } - $object->setLabels($values_6); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('StopSignal', $data) && null !== $data['StopSignal']) { - $object->setStopSignal($data['StopSignal']); - unset($data['StopSignal']); - } elseif (\array_key_exists('StopSignal', $data) && null === $data['StopSignal']) { - $object->setStopSignal(null); - } - if (\array_key_exists('StopTimeout', $data) && null !== $data['StopTimeout']) { - $object->setStopTimeout($data['StopTimeout']); - unset($data['StopTimeout']); - } elseif (\array_key_exists('StopTimeout', $data) && null === $data['StopTimeout']) { - $object->setStopTimeout(null); - } - if (\array_key_exists('Shell', $data) && null !== $data['Shell']) { - $values_7 = []; - foreach ($data['Shell'] as $value_7) { - $values_7[] = $value_7; - } - $object->setShell($values_7); - unset($data['Shell']); - } elseif (\array_key_exists('Shell', $data) && null === $data['Shell']) { - $object->setShell(null); - } - foreach ($data as $key_3 => $value_8) { - if (preg_match('/.*/', (string) $key_3)) { - $object[$key_3] = $value_8; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('hostname') && null !== $data->getHostname()) { - $dataArray['Hostname'] = $data->getHostname(); - } - if ($data->isInitialized('domainname') && null !== $data->getDomainname()) { - $dataArray['Domainname'] = $data->getDomainname(); - } - if ($data->isInitialized('user') && null !== $data->getUser()) { - $dataArray['User'] = $data->getUser(); - } - if ($data->isInitialized('attachStdin') && null !== $data->getAttachStdin()) { - $dataArray['AttachStdin'] = $data->getAttachStdin(); - } - if ($data->isInitialized('attachStdout') && null !== $data->getAttachStdout()) { - $dataArray['AttachStdout'] = $data->getAttachStdout(); - } - if ($data->isInitialized('attachStderr') && null !== $data->getAttachStderr()) { - $dataArray['AttachStderr'] = $data->getAttachStderr(); - } - if ($data->isInitialized('exposedPorts') && null !== $data->getExposedPorts()) { - $values = []; - foreach ($data->getExposedPorts() as $key => $value) { - $values[$key] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['ExposedPorts'] = $values; - } - if ($data->isInitialized('tty') && null !== $data->getTty()) { - $dataArray['Tty'] = $data->getTty(); - } - if ($data->isInitialized('openStdin') && null !== $data->getOpenStdin()) { - $dataArray['OpenStdin'] = $data->getOpenStdin(); - } - if ($data->isInitialized('stdinOnce') && null !== $data->getStdinOnce()) { - $dataArray['StdinOnce'] = $data->getStdinOnce(); - } - if ($data->isInitialized('env') && null !== $data->getEnv()) { - $values_1 = []; - foreach ($data->getEnv() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Env'] = $values_1; - } - if ($data->isInitialized('cmd') && null !== $data->getCmd()) { - $values_2 = []; - foreach ($data->getCmd() as $value_2) { - $values_2[] = $value_2; - } - $dataArray['Cmd'] = $values_2; - } - if ($data->isInitialized('healthcheck') && null !== $data->getHealthcheck()) { - $dataArray['Healthcheck'] = $this->normalizer->normalize($data->getHealthcheck(), 'json', $context); - } - if ($data->isInitialized('argsEscaped') && null !== $data->getArgsEscaped()) { - $dataArray['ArgsEscaped'] = $data->getArgsEscaped(); - } - if ($data->isInitialized('image') && null !== $data->getImage()) { - $dataArray['Image'] = $data->getImage(); - } - if ($data->isInitialized('volumes') && null !== $data->getVolumes()) { - $values_3 = []; - foreach ($data->getVolumes() as $key_1 => $value_3) { - $values_3[$key_1] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['Volumes'] = $values_3; - } - if ($data->isInitialized('workingDir') && null !== $data->getWorkingDir()) { - $dataArray['WorkingDir'] = $data->getWorkingDir(); - } - if ($data->isInitialized('entrypoint') && null !== $data->getEntrypoint()) { - $values_4 = []; - foreach ($data->getEntrypoint() as $value_4) { - $values_4[] = $value_4; - } - $dataArray['Entrypoint'] = $values_4; - } - if ($data->isInitialized('networkDisabled') && null !== $data->getNetworkDisabled()) { - $dataArray['NetworkDisabled'] = $data->getNetworkDisabled(); - } - if ($data->isInitialized('macAddress') && null !== $data->getMacAddress()) { - $dataArray['MacAddress'] = $data->getMacAddress(); - } - if ($data->isInitialized('onBuild') && null !== $data->getOnBuild()) { - $values_5 = []; - foreach ($data->getOnBuild() as $value_5) { - $values_5[] = $value_5; - } - $dataArray['OnBuild'] = $values_5; - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values_6 = []; - foreach ($data->getLabels() as $key_2 => $value_6) { - $values_6[$key_2] = $value_6; - } - $dataArray['Labels'] = $values_6; - } - if ($data->isInitialized('stopSignal') && null !== $data->getStopSignal()) { - $dataArray['StopSignal'] = $data->getStopSignal(); - } - if ($data->isInitialized('stopTimeout') && null !== $data->getStopTimeout()) { - $dataArray['StopTimeout'] = $data->getStopTimeout(); - } - if ($data->isInitialized('shell') && null !== $data->getShell()) { - $values_7 = []; - foreach ($data->getShell() as $value_7) { - $values_7[] = $value_7; - } - $dataArray['Shell'] = $values_7; - } - foreach ($data as $key_3 => $value_8) { - if (preg_match('/.*/', (string) $key_3)) { - $dataArray[$key_3] = $value_8; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigVolumesItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigVolumesItemNormalizer.php deleted file mode 100644 index 260757b60..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerConfigVolumesItemNormalizer.php +++ /dev/null @@ -1,71 +0,0 @@ - $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerConfigVolumesItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerCreateResponseNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerCreateResponseNormalizer.php deleted file mode 100644 index d459ed316..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerCreateResponseNormalizer.php +++ /dev/null @@ -1,93 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('Warnings', $data) && null !== $data['Warnings']) { - $values = []; - foreach ($data['Warnings'] as $value) { - $values[] = $value; - } - $object->setWarnings($values); - unset($data['Warnings']); - } elseif (\array_key_exists('Warnings', $data) && null === $data['Warnings']) { - $object->setWarnings(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Id'] = $data->getId(); - $values = []; - foreach ($data->getWarnings() as $value) { - $values[] = $value; - } - $dataArray['Warnings'] = $values; - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerCreateResponse::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerStateNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerStateNormalizer.php deleted file mode 100644 index f2e60922e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerStateNormalizer.php +++ /dev/null @@ -1,194 +0,0 @@ -setStatus($data['Status']); - unset($data['Status']); - } elseif (\array_key_exists('Status', $data) && null === $data['Status']) { - $object->setStatus(null); - } - if (\array_key_exists('Running', $data) && null !== $data['Running']) { - $object->setRunning($data['Running']); - unset($data['Running']); - } elseif (\array_key_exists('Running', $data) && null === $data['Running']) { - $object->setRunning(null); - } - if (\array_key_exists('Paused', $data) && null !== $data['Paused']) { - $object->setPaused($data['Paused']); - unset($data['Paused']); - } elseif (\array_key_exists('Paused', $data) && null === $data['Paused']) { - $object->setPaused(null); - } - if (\array_key_exists('Restarting', $data) && null !== $data['Restarting']) { - $object->setRestarting($data['Restarting']); - unset($data['Restarting']); - } elseif (\array_key_exists('Restarting', $data) && null === $data['Restarting']) { - $object->setRestarting(null); - } - if (\array_key_exists('OOMKilled', $data) && null !== $data['OOMKilled']) { - $object->setOOMKilled($data['OOMKilled']); - unset($data['OOMKilled']); - } elseif (\array_key_exists('OOMKilled', $data) && null === $data['OOMKilled']) { - $object->setOOMKilled(null); - } - if (\array_key_exists('Dead', $data) && null !== $data['Dead']) { - $object->setDead($data['Dead']); - unset($data['Dead']); - } elseif (\array_key_exists('Dead', $data) && null === $data['Dead']) { - $object->setDead(null); - } - if (\array_key_exists('Pid', $data) && null !== $data['Pid']) { - $object->setPid($data['Pid']); - unset($data['Pid']); - } elseif (\array_key_exists('Pid', $data) && null === $data['Pid']) { - $object->setPid(null); - } - if (\array_key_exists('ExitCode', $data) && null !== $data['ExitCode']) { - $object->setExitCode($data['ExitCode']); - unset($data['ExitCode']); - } elseif (\array_key_exists('ExitCode', $data) && null === $data['ExitCode']) { - $object->setExitCode(null); - } - if (\array_key_exists('Error', $data) && null !== $data['Error']) { - $object->setError($data['Error']); - unset($data['Error']); - } elseif (\array_key_exists('Error', $data) && null === $data['Error']) { - $object->setError(null); - } - if (\array_key_exists('StartedAt', $data) && null !== $data['StartedAt']) { - $object->setStartedAt($data['StartedAt']); - unset($data['StartedAt']); - } elseif (\array_key_exists('StartedAt', $data) && null === $data['StartedAt']) { - $object->setStartedAt(null); - } - if (\array_key_exists('FinishedAt', $data) && null !== $data['FinishedAt']) { - $object->setFinishedAt($data['FinishedAt']); - unset($data['FinishedAt']); - } elseif (\array_key_exists('FinishedAt', $data) && null === $data['FinishedAt']) { - $object->setFinishedAt(null); - } - if (\array_key_exists('Health', $data) && null !== $data['Health']) { - $object->setHealth($this->denormalizer->denormalize($data['Health'], \Docker\API\Model\Health::class, 'json', $context)); - unset($data['Health']); - } elseif (\array_key_exists('Health', $data) && null === $data['Health']) { - $object->setHealth(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $dataArray['Status'] = $data->getStatus(); - } - if ($data->isInitialized('running') && null !== $data->getRunning()) { - $dataArray['Running'] = $data->getRunning(); - } - if ($data->isInitialized('paused') && null !== $data->getPaused()) { - $dataArray['Paused'] = $data->getPaused(); - } - if ($data->isInitialized('restarting') && null !== $data->getRestarting()) { - $dataArray['Restarting'] = $data->getRestarting(); - } - if ($data->isInitialized('oOMKilled') && null !== $data->getOOMKilled()) { - $dataArray['OOMKilled'] = $data->getOOMKilled(); - } - if ($data->isInitialized('dead') && null !== $data->getDead()) { - $dataArray['Dead'] = $data->getDead(); - } - if ($data->isInitialized('pid') && null !== $data->getPid()) { - $dataArray['Pid'] = $data->getPid(); - } - if ($data->isInitialized('exitCode') && null !== $data->getExitCode()) { - $dataArray['ExitCode'] = $data->getExitCode(); - } - if ($data->isInitialized('error') && null !== $data->getError()) { - $dataArray['Error'] = $data->getError(); - } - if ($data->isInitialized('startedAt') && null !== $data->getStartedAt()) { - $dataArray['StartedAt'] = $data->getStartedAt(); - } - if ($data->isInitialized('finishedAt') && null !== $data->getFinishedAt()) { - $dataArray['FinishedAt'] = $data->getFinishedAt(); - } - if ($data->isInitialized('health') && null !== $data->getHealth()) { - $dataArray['Health'] = $this->normalizer->normalize($data->getHealth(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerState::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerStatusNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerStatusNormalizer.php deleted file mode 100644 index c7b81c3ae..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerStatusNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setContainerID($data['ContainerID']); - unset($data['ContainerID']); - } elseif (\array_key_exists('ContainerID', $data) && null === $data['ContainerID']) { - $object->setContainerID(null); - } - if (\array_key_exists('PID', $data) && null !== $data['PID']) { - $object->setPID($data['PID']); - unset($data['PID']); - } elseif (\array_key_exists('PID', $data) && null === $data['PID']) { - $object->setPID(null); - } - if (\array_key_exists('ExitCode', $data) && null !== $data['ExitCode']) { - $object->setExitCode($data['ExitCode']); - unset($data['ExitCode']); - } elseif (\array_key_exists('ExitCode', $data) && null === $data['ExitCode']) { - $object->setExitCode(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('containerID') && null !== $data->getContainerID()) { - $dataArray['ContainerID'] = $data->getContainerID(); - } - if ($data->isInitialized('pID') && null !== $data->getPID()) { - $dataArray['PID'] = $data->getPID(); - } - if ($data->isInitialized('exitCode') && null !== $data->getExitCode()) { - $dataArray['ExitCode'] = $data->getExitCode(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerStatus::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryHostConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryHostConfigNormalizer.php deleted file mode 100644 index a98a873eb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryHostConfigNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setNetworkMode($data['NetworkMode']); - unset($data['NetworkMode']); - } elseif (\array_key_exists('NetworkMode', $data) && null === $data['NetworkMode']) { - $object->setNetworkMode(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('networkMode') && null !== $data->getNetworkMode()) { - $dataArray['NetworkMode'] = $data->getNetworkMode(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerSummaryHostConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryNetworkSettingsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryNetworkSettingsNormalizer.php deleted file mode 100644 index f10dc4dba..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryNetworkSettingsNormalizer.php +++ /dev/null @@ -1,88 +0,0 @@ - $value) { - $values[$key] = $this->denormalizer->denormalize($value, \Docker\API\Model\EndpointSettings::class, 'json', $context); - } - $object->setNetworks($values); - unset($data['Networks']); - } elseif (\array_key_exists('Networks', $data) && null === $data['Networks']) { - $object->setNetworks(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('networks') && null !== $data->getNetworks()) { - $values = []; - foreach ($data->getNetworks() as $key => $value) { - $values[$key] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Networks'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerSummaryNetworkSettings::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryNormalizer.php deleted file mode 100644 index 1eb0fdb6f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerSummaryNormalizer.php +++ /dev/null @@ -1,238 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('Names', $data) && null !== $data['Names']) { - $values = []; - foreach ($data['Names'] as $value) { - $values[] = $value; - } - $object->setNames($values); - unset($data['Names']); - } elseif (\array_key_exists('Names', $data) && null === $data['Names']) { - $object->setNames(null); - } - if (\array_key_exists('Image', $data) && null !== $data['Image']) { - $object->setImage($data['Image']); - unset($data['Image']); - } elseif (\array_key_exists('Image', $data) && null === $data['Image']) { - $object->setImage(null); - } - if (\array_key_exists('ImageID', $data) && null !== $data['ImageID']) { - $object->setImageID($data['ImageID']); - unset($data['ImageID']); - } elseif (\array_key_exists('ImageID', $data) && null === $data['ImageID']) { - $object->setImageID(null); - } - if (\array_key_exists('Command', $data) && null !== $data['Command']) { - $object->setCommand($data['Command']); - unset($data['Command']); - } elseif (\array_key_exists('Command', $data) && null === $data['Command']) { - $object->setCommand(null); - } - if (\array_key_exists('Created', $data) && null !== $data['Created']) { - $object->setCreated($data['Created']); - unset($data['Created']); - } elseif (\array_key_exists('Created', $data) && null === $data['Created']) { - $object->setCreated(null); - } - if (\array_key_exists('Ports', $data) && null !== $data['Ports']) { - $values_1 = []; - foreach ($data['Ports'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\Port::class, 'json', $context); - } - $object->setPorts($values_1); - unset($data['Ports']); - } elseif (\array_key_exists('Ports', $data) && null === $data['Ports']) { - $object->setPorts(null); - } - if (\array_key_exists('SizeRw', $data) && null !== $data['SizeRw']) { - $object->setSizeRw($data['SizeRw']); - unset($data['SizeRw']); - } elseif (\array_key_exists('SizeRw', $data) && null === $data['SizeRw']) { - $object->setSizeRw(null); - } - if (\array_key_exists('SizeRootFs', $data) && null !== $data['SizeRootFs']) { - $object->setSizeRootFs($data['SizeRootFs']); - unset($data['SizeRootFs']); - } elseif (\array_key_exists('SizeRootFs', $data) && null === $data['SizeRootFs']) { - $object->setSizeRootFs(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_2 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value_2) { - $values_2[$key] = $value_2; - } - $object->setLabels($values_2); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('State', $data) && null !== $data['State']) { - $object->setState($data['State']); - unset($data['State']); - } elseif (\array_key_exists('State', $data) && null === $data['State']) { - $object->setState(null); - } - if (\array_key_exists('Status', $data) && null !== $data['Status']) { - $object->setStatus($data['Status']); - unset($data['Status']); - } elseif (\array_key_exists('Status', $data) && null === $data['Status']) { - $object->setStatus(null); - } - if (\array_key_exists('HostConfig', $data) && null !== $data['HostConfig']) { - $object->setHostConfig($this->denormalizer->denormalize($data['HostConfig'], \Docker\API\Model\ContainerSummaryHostConfig::class, 'json', $context)); - unset($data['HostConfig']); - } elseif (\array_key_exists('HostConfig', $data) && null === $data['HostConfig']) { - $object->setHostConfig(null); - } - if (\array_key_exists('NetworkSettings', $data) && null !== $data['NetworkSettings']) { - $object->setNetworkSettings($this->denormalizer->denormalize($data['NetworkSettings'], \Docker\API\Model\ContainerSummaryNetworkSettings::class, 'json', $context)); - unset($data['NetworkSettings']); - } elseif (\array_key_exists('NetworkSettings', $data) && null === $data['NetworkSettings']) { - $object->setNetworkSettings(null); - } - if (\array_key_exists('Mounts', $data) && null !== $data['Mounts']) { - $values_3 = []; - foreach ($data['Mounts'] as $value_3) { - $values_3[] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\MountPoint::class, 'json', $context); - } - $object->setMounts($values_3); - unset($data['Mounts']); - } elseif (\array_key_exists('Mounts', $data) && null === $data['Mounts']) { - $object->setMounts(null); - } - foreach ($data as $key_1 => $value_4) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_4; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('id') && null !== $data->getId()) { - $dataArray['Id'] = $data->getId(); - } - if ($data->isInitialized('names') && null !== $data->getNames()) { - $values = []; - foreach ($data->getNames() as $value) { - $values[] = $value; - } - $dataArray['Names'] = $values; - } - if ($data->isInitialized('image') && null !== $data->getImage()) { - $dataArray['Image'] = $data->getImage(); - } - if ($data->isInitialized('imageID') && null !== $data->getImageID()) { - $dataArray['ImageID'] = $data->getImageID(); - } - if ($data->isInitialized('command') && null !== $data->getCommand()) { - $dataArray['Command'] = $data->getCommand(); - } - if ($data->isInitialized('created') && null !== $data->getCreated()) { - $dataArray['Created'] = $data->getCreated(); - } - if ($data->isInitialized('ports') && null !== $data->getPorts()) { - $values_1 = []; - foreach ($data->getPorts() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Ports'] = $values_1; - } - if ($data->isInitialized('sizeRw') && null !== $data->getSizeRw()) { - $dataArray['SizeRw'] = $data->getSizeRw(); - } - if ($data->isInitialized('sizeRootFs') && null !== $data->getSizeRootFs()) { - $dataArray['SizeRootFs'] = $data->getSizeRootFs(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values_2 = []; - foreach ($data->getLabels() as $key => $value_2) { - $values_2[$key] = $value_2; - } - $dataArray['Labels'] = $values_2; - } - if ($data->isInitialized('state') && null !== $data->getState()) { - $dataArray['State'] = $data->getState(); - } - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $dataArray['Status'] = $data->getStatus(); - } - if ($data->isInitialized('hostConfig') && null !== $data->getHostConfig()) { - $dataArray['HostConfig'] = $this->normalizer->normalize($data->getHostConfig(), 'json', $context); - } - if ($data->isInitialized('networkSettings') && null !== $data->getNetworkSettings()) { - $dataArray['NetworkSettings'] = $this->normalizer->normalize($data->getNetworkSettings(), 'json', $context); - } - if ($data->isInitialized('mounts') && null !== $data->getMounts()) { - $values_3 = []; - foreach ($data->getMounts() as $value_3) { - $values_3[] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['Mounts'] = $values_3; - } - foreach ($data as $key_1 => $value_4) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_4; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerSummary::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerWaitExitErrorNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerWaitExitErrorNormalizer.php deleted file mode 100644 index bc33a5bf7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerWaitExitErrorNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setMessage($data['Message']); - unset($data['Message']); - } elseif (\array_key_exists('Message', $data) && null === $data['Message']) { - $object->setMessage(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('message') && null !== $data->getMessage()) { - $dataArray['Message'] = $data->getMessage(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerWaitExitError::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerWaitResponseNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerWaitResponseNormalizer.php deleted file mode 100644 index 5fda7d679..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainerWaitResponseNormalizer.php +++ /dev/null @@ -1,87 +0,0 @@ -setStatusCode($data['StatusCode']); - unset($data['StatusCode']); - } elseif (\array_key_exists('StatusCode', $data) && null === $data['StatusCode']) { - $object->setStatusCode(null); - } - if (\array_key_exists('Error', $data) && null !== $data['Error']) { - $object->setError($this->denormalizer->denormalize($data['Error'], \Docker\API\Model\ContainerWaitExitError::class, 'json', $context)); - unset($data['Error']); - } elseif (\array_key_exists('Error', $data) && null === $data['Error']) { - $object->setError(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['StatusCode'] = $data->getStatusCode(); - if ($data->isInitialized('error') && null !== $data->getError()) { - $dataArray['Error'] = $this->normalizer->normalize($data->getError(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainerWaitResponse::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersCreatePostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersCreatePostBodyNormalizer.php deleted file mode 100644 index 279678d30..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersCreatePostBodyNormalizer.php +++ /dev/null @@ -1,402 +0,0 @@ -setHostname($data['Hostname']); - unset($data['Hostname']); - } elseif (\array_key_exists('Hostname', $data) && null === $data['Hostname']) { - $object->setHostname(null); - } - if (\array_key_exists('Domainname', $data) && null !== $data['Domainname']) { - $object->setDomainname($data['Domainname']); - unset($data['Domainname']); - } elseif (\array_key_exists('Domainname', $data) && null === $data['Domainname']) { - $object->setDomainname(null); - } - if (\array_key_exists('User', $data) && null !== $data['User']) { - $object->setUser($data['User']); - unset($data['User']); - } elseif (\array_key_exists('User', $data) && null === $data['User']) { - $object->setUser(null); - } - if (\array_key_exists('AttachStdin', $data) && null !== $data['AttachStdin']) { - $object->setAttachStdin($data['AttachStdin']); - unset($data['AttachStdin']); - } elseif (\array_key_exists('AttachStdin', $data) && null === $data['AttachStdin']) { - $object->setAttachStdin(null); - } - if (\array_key_exists('AttachStdout', $data) && null !== $data['AttachStdout']) { - $object->setAttachStdout($data['AttachStdout']); - unset($data['AttachStdout']); - } elseif (\array_key_exists('AttachStdout', $data) && null === $data['AttachStdout']) { - $object->setAttachStdout(null); - } - if (\array_key_exists('AttachStderr', $data) && null !== $data['AttachStderr']) { - $object->setAttachStderr($data['AttachStderr']); - unset($data['AttachStderr']); - } elseif (\array_key_exists('AttachStderr', $data) && null === $data['AttachStderr']) { - $object->setAttachStderr(null); - } - if (\array_key_exists('ExposedPorts', $data) && null !== $data['ExposedPorts']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['ExposedPorts'] as $key => $value) { - $values[$key] = $this->denormalizer->denormalize($value, \Docker\API\Model\ContainerConfigExposedPortsItem::class, 'json', $context); - } - $object->setExposedPorts($values); - unset($data['ExposedPorts']); - } elseif (\array_key_exists('ExposedPorts', $data) && null === $data['ExposedPorts']) { - $object->setExposedPorts(null); - } - if (\array_key_exists('Tty', $data) && null !== $data['Tty']) { - $object->setTty($data['Tty']); - unset($data['Tty']); - } elseif (\array_key_exists('Tty', $data) && null === $data['Tty']) { - $object->setTty(null); - } - if (\array_key_exists('OpenStdin', $data) && null !== $data['OpenStdin']) { - $object->setOpenStdin($data['OpenStdin']); - unset($data['OpenStdin']); - } elseif (\array_key_exists('OpenStdin', $data) && null === $data['OpenStdin']) { - $object->setOpenStdin(null); - } - if (\array_key_exists('StdinOnce', $data) && null !== $data['StdinOnce']) { - $object->setStdinOnce($data['StdinOnce']); - unset($data['StdinOnce']); - } elseif (\array_key_exists('StdinOnce', $data) && null === $data['StdinOnce']) { - $object->setStdinOnce(null); - } - if (\array_key_exists('Env', $data) && null !== $data['Env']) { - $values_1 = []; - foreach ($data['Env'] as $value_1) { - $values_1[] = $value_1; - } - $object->setEnv($values_1); - unset($data['Env']); - } elseif (\array_key_exists('Env', $data) && null === $data['Env']) { - $object->setEnv(null); - } - if (\array_key_exists('Cmd', $data) && null !== $data['Cmd']) { - $values_2 = []; - foreach ($data['Cmd'] as $value_2) { - $values_2[] = $value_2; - } - $object->setCmd($values_2); - unset($data['Cmd']); - } elseif (\array_key_exists('Cmd', $data) && null === $data['Cmd']) { - $object->setCmd(null); - } - if (\array_key_exists('Healthcheck', $data) && null !== $data['Healthcheck']) { - $object->setHealthcheck($this->denormalizer->denormalize($data['Healthcheck'], \Docker\API\Model\HealthConfig::class, 'json', $context)); - unset($data['Healthcheck']); - } elseif (\array_key_exists('Healthcheck', $data) && null === $data['Healthcheck']) { - $object->setHealthcheck(null); - } - if (\array_key_exists('ArgsEscaped', $data) && null !== $data['ArgsEscaped']) { - $object->setArgsEscaped($data['ArgsEscaped']); - unset($data['ArgsEscaped']); - } elseif (\array_key_exists('ArgsEscaped', $data) && null === $data['ArgsEscaped']) { - $object->setArgsEscaped(null); - } - if (\array_key_exists('Image', $data) && null !== $data['Image']) { - $object->setImage($data['Image']); - unset($data['Image']); - } elseif (\array_key_exists('Image', $data) && null === $data['Image']) { - $object->setImage(null); - } - if (\array_key_exists('Volumes', $data) && null !== $data['Volumes']) { - $values_3 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Volumes'] as $key_1 => $value_3) { - $values_3[$key_1] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\ContainerConfigVolumesItem::class, 'json', $context); - } - $object->setVolumes($values_3); - unset($data['Volumes']); - } elseif (\array_key_exists('Volumes', $data) && null === $data['Volumes']) { - $object->setVolumes(null); - } - if (\array_key_exists('WorkingDir', $data) && null !== $data['WorkingDir']) { - $object->setWorkingDir($data['WorkingDir']); - unset($data['WorkingDir']); - } elseif (\array_key_exists('WorkingDir', $data) && null === $data['WorkingDir']) { - $object->setWorkingDir(null); - } - if (\array_key_exists('Entrypoint', $data) && null !== $data['Entrypoint']) { - $values_4 = []; - foreach ($data['Entrypoint'] as $value_4) { - $values_4[] = $value_4; - } - $object->setEntrypoint($values_4); - unset($data['Entrypoint']); - } elseif (\array_key_exists('Entrypoint', $data) && null === $data['Entrypoint']) { - $object->setEntrypoint(null); - } - if (\array_key_exists('NetworkDisabled', $data) && null !== $data['NetworkDisabled']) { - $object->setNetworkDisabled($data['NetworkDisabled']); - unset($data['NetworkDisabled']); - } elseif (\array_key_exists('NetworkDisabled', $data) && null === $data['NetworkDisabled']) { - $object->setNetworkDisabled(null); - } - if (\array_key_exists('MacAddress', $data) && null !== $data['MacAddress']) { - $object->setMacAddress($data['MacAddress']); - unset($data['MacAddress']); - } elseif (\array_key_exists('MacAddress', $data) && null === $data['MacAddress']) { - $object->setMacAddress(null); - } - if (\array_key_exists('OnBuild', $data) && null !== $data['OnBuild']) { - $values_5 = []; - foreach ($data['OnBuild'] as $value_5) { - $values_5[] = $value_5; - } - $object->setOnBuild($values_5); - unset($data['OnBuild']); - } elseif (\array_key_exists('OnBuild', $data) && null === $data['OnBuild']) { - $object->setOnBuild(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_6 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key_2 => $value_6) { - $values_6[$key_2] = $value_6; - } - $object->setLabels($values_6); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('StopSignal', $data) && null !== $data['StopSignal']) { - $object->setStopSignal($data['StopSignal']); - unset($data['StopSignal']); - } elseif (\array_key_exists('StopSignal', $data) && null === $data['StopSignal']) { - $object->setStopSignal(null); - } - if (\array_key_exists('StopTimeout', $data) && null !== $data['StopTimeout']) { - $object->setStopTimeout($data['StopTimeout']); - unset($data['StopTimeout']); - } elseif (\array_key_exists('StopTimeout', $data) && null === $data['StopTimeout']) { - $object->setStopTimeout(null); - } - if (\array_key_exists('Shell', $data) && null !== $data['Shell']) { - $values_7 = []; - foreach ($data['Shell'] as $value_7) { - $values_7[] = $value_7; - } - $object->setShell($values_7); - unset($data['Shell']); - } elseif (\array_key_exists('Shell', $data) && null === $data['Shell']) { - $object->setShell(null); - } - if (\array_key_exists('HostConfig', $data) && null !== $data['HostConfig']) { - $object->setHostConfig($this->denormalizer->denormalize($data['HostConfig'], \Docker\API\Model\HostConfig::class, 'json', $context)); - unset($data['HostConfig']); - } elseif (\array_key_exists('HostConfig', $data) && null === $data['HostConfig']) { - $object->setHostConfig(null); - } - if (\array_key_exists('NetworkingConfig', $data) && null !== $data['NetworkingConfig']) { - $object->setNetworkingConfig($this->denormalizer->denormalize($data['NetworkingConfig'], \Docker\API\Model\NetworkingConfig::class, 'json', $context)); - unset($data['NetworkingConfig']); - } elseif (\array_key_exists('NetworkingConfig', $data) && null === $data['NetworkingConfig']) { - $object->setNetworkingConfig(null); - } - foreach ($data as $key_3 => $value_8) { - if (preg_match('/.*/', (string) $key_3)) { - $object[$key_3] = $value_8; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('hostname') && null !== $data->getHostname()) { - $dataArray['Hostname'] = $data->getHostname(); - } - if ($data->isInitialized('domainname') && null !== $data->getDomainname()) { - $dataArray['Domainname'] = $data->getDomainname(); - } - if ($data->isInitialized('user') && null !== $data->getUser()) { - $dataArray['User'] = $data->getUser(); - } - if ($data->isInitialized('attachStdin') && null !== $data->getAttachStdin()) { - $dataArray['AttachStdin'] = $data->getAttachStdin(); - } - if ($data->isInitialized('attachStdout') && null !== $data->getAttachStdout()) { - $dataArray['AttachStdout'] = $data->getAttachStdout(); - } - if ($data->isInitialized('attachStderr') && null !== $data->getAttachStderr()) { - $dataArray['AttachStderr'] = $data->getAttachStderr(); - } - if ($data->isInitialized('exposedPorts') && null !== $data->getExposedPorts()) { - $values = []; - foreach ($data->getExposedPorts() as $key => $value) { - $values[$key] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['ExposedPorts'] = $values; - } - if ($data->isInitialized('tty') && null !== $data->getTty()) { - $dataArray['Tty'] = $data->getTty(); - } - if ($data->isInitialized('openStdin') && null !== $data->getOpenStdin()) { - $dataArray['OpenStdin'] = $data->getOpenStdin(); - } - if ($data->isInitialized('stdinOnce') && null !== $data->getStdinOnce()) { - $dataArray['StdinOnce'] = $data->getStdinOnce(); - } - if ($data->isInitialized('env') && null !== $data->getEnv()) { - $values_1 = []; - foreach ($data->getEnv() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Env'] = $values_1; - } - if ($data->isInitialized('cmd') && null !== $data->getCmd()) { - $values_2 = []; - foreach ($data->getCmd() as $value_2) { - $values_2[] = $value_2; - } - $dataArray['Cmd'] = $values_2; - } - if ($data->isInitialized('healthcheck') && null !== $data->getHealthcheck()) { - $dataArray['Healthcheck'] = $this->normalizer->normalize($data->getHealthcheck(), 'json', $context); - } - if ($data->isInitialized('argsEscaped') && null !== $data->getArgsEscaped()) { - $dataArray['ArgsEscaped'] = $data->getArgsEscaped(); - } - if ($data->isInitialized('image') && null !== $data->getImage()) { - $dataArray['Image'] = $data->getImage(); - } - if ($data->isInitialized('volumes') && null !== $data->getVolumes()) { - $values_3 = []; - foreach ($data->getVolumes() as $key_1 => $value_3) { - $values_3[$key_1] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['Volumes'] = $values_3; - } - if ($data->isInitialized('workingDir') && null !== $data->getWorkingDir()) { - $dataArray['WorkingDir'] = $data->getWorkingDir(); - } - if ($data->isInitialized('entrypoint') && null !== $data->getEntrypoint()) { - $values_4 = []; - foreach ($data->getEntrypoint() as $value_4) { - $values_4[] = $value_4; - } - $dataArray['Entrypoint'] = $values_4; - } - if ($data->isInitialized('networkDisabled') && null !== $data->getNetworkDisabled()) { - $dataArray['NetworkDisabled'] = $data->getNetworkDisabled(); - } - if ($data->isInitialized('macAddress') && null !== $data->getMacAddress()) { - $dataArray['MacAddress'] = $data->getMacAddress(); - } - if ($data->isInitialized('onBuild') && null !== $data->getOnBuild()) { - $values_5 = []; - foreach ($data->getOnBuild() as $value_5) { - $values_5[] = $value_5; - } - $dataArray['OnBuild'] = $values_5; - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values_6 = []; - foreach ($data->getLabels() as $key_2 => $value_6) { - $values_6[$key_2] = $value_6; - } - $dataArray['Labels'] = $values_6; - } - if ($data->isInitialized('stopSignal') && null !== $data->getStopSignal()) { - $dataArray['StopSignal'] = $data->getStopSignal(); - } - if ($data->isInitialized('stopTimeout') && null !== $data->getStopTimeout()) { - $dataArray['StopTimeout'] = $data->getStopTimeout(); - } - if ($data->isInitialized('shell') && null !== $data->getShell()) { - $values_7 = []; - foreach ($data->getShell() as $value_7) { - $values_7[] = $value_7; - } - $dataArray['Shell'] = $values_7; - } - if ($data->isInitialized('hostConfig') && null !== $data->getHostConfig()) { - $dataArray['HostConfig'] = $this->normalizer->normalize($data->getHostConfig(), 'json', $context); - } - if ($data->isInitialized('networkingConfig') && null !== $data->getNetworkingConfig()) { - $dataArray['NetworkingConfig'] = $this->normalizer->normalize($data->getNetworkingConfig(), 'json', $context); - } - foreach ($data as $key_3 => $value_8) { - if (preg_match('/.*/', (string) $key_3)) { - $dataArray[$key_3] = $value_8; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainersCreatePostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdExecPostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdExecPostBodyNormalizer.php deleted file mode 100644 index d1a8cb8de..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdExecPostBodyNormalizer.php +++ /dev/null @@ -1,209 +0,0 @@ -setAttachStdin($data['AttachStdin']); - unset($data['AttachStdin']); - } elseif (\array_key_exists('AttachStdin', $data) && null === $data['AttachStdin']) { - $object->setAttachStdin(null); - } - if (\array_key_exists('AttachStdout', $data) && null !== $data['AttachStdout']) { - $object->setAttachStdout($data['AttachStdout']); - unset($data['AttachStdout']); - } elseif (\array_key_exists('AttachStdout', $data) && null === $data['AttachStdout']) { - $object->setAttachStdout(null); - } - if (\array_key_exists('AttachStderr', $data) && null !== $data['AttachStderr']) { - $object->setAttachStderr($data['AttachStderr']); - unset($data['AttachStderr']); - } elseif (\array_key_exists('AttachStderr', $data) && null === $data['AttachStderr']) { - $object->setAttachStderr(null); - } - if (\array_key_exists('ConsoleSize', $data) && null !== $data['ConsoleSize']) { - $values = []; - foreach ($data['ConsoleSize'] as $value) { - $values[] = $value; - } - $object->setConsoleSize($values); - unset($data['ConsoleSize']); - } elseif (\array_key_exists('ConsoleSize', $data) && null === $data['ConsoleSize']) { - $object->setConsoleSize(null); - } - if (\array_key_exists('DetachKeys', $data) && null !== $data['DetachKeys']) { - $object->setDetachKeys($data['DetachKeys']); - unset($data['DetachKeys']); - } elseif (\array_key_exists('DetachKeys', $data) && null === $data['DetachKeys']) { - $object->setDetachKeys(null); - } - if (\array_key_exists('Tty', $data) && null !== $data['Tty']) { - $object->setTty($data['Tty']); - unset($data['Tty']); - } elseif (\array_key_exists('Tty', $data) && null === $data['Tty']) { - $object->setTty(null); - } - if (\array_key_exists('Env', $data) && null !== $data['Env']) { - $values_1 = []; - foreach ($data['Env'] as $value_1) { - $values_1[] = $value_1; - } - $object->setEnv($values_1); - unset($data['Env']); - } elseif (\array_key_exists('Env', $data) && null === $data['Env']) { - $object->setEnv(null); - } - if (\array_key_exists('Cmd', $data) && null !== $data['Cmd']) { - $values_2 = []; - foreach ($data['Cmd'] as $value_2) { - $values_2[] = $value_2; - } - $object->setCmd($values_2); - unset($data['Cmd']); - } elseif (\array_key_exists('Cmd', $data) && null === $data['Cmd']) { - $object->setCmd(null); - } - if (\array_key_exists('Privileged', $data) && null !== $data['Privileged']) { - $object->setPrivileged($data['Privileged']); - unset($data['Privileged']); - } elseif (\array_key_exists('Privileged', $data) && null === $data['Privileged']) { - $object->setPrivileged(null); - } - if (\array_key_exists('User', $data) && null !== $data['User']) { - $object->setUser($data['User']); - unset($data['User']); - } elseif (\array_key_exists('User', $data) && null === $data['User']) { - $object->setUser(null); - } - if (\array_key_exists('WorkingDir', $data) && null !== $data['WorkingDir']) { - $object->setWorkingDir($data['WorkingDir']); - unset($data['WorkingDir']); - } elseif (\array_key_exists('WorkingDir', $data) && null === $data['WorkingDir']) { - $object->setWorkingDir(null); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('attachStdin') && null !== $data->getAttachStdin()) { - $dataArray['AttachStdin'] = $data->getAttachStdin(); - } - if ($data->isInitialized('attachStdout') && null !== $data->getAttachStdout()) { - $dataArray['AttachStdout'] = $data->getAttachStdout(); - } - if ($data->isInitialized('attachStderr') && null !== $data->getAttachStderr()) { - $dataArray['AttachStderr'] = $data->getAttachStderr(); - } - if ($data->isInitialized('consoleSize') && null !== $data->getConsoleSize()) { - $values = []; - foreach ($data->getConsoleSize() as $value) { - $values[] = $value; - } - $dataArray['ConsoleSize'] = $values; - } - if ($data->isInitialized('detachKeys') && null !== $data->getDetachKeys()) { - $dataArray['DetachKeys'] = $data->getDetachKeys(); - } - if ($data->isInitialized('tty') && null !== $data->getTty()) { - $dataArray['Tty'] = $data->getTty(); - } - if ($data->isInitialized('env') && null !== $data->getEnv()) { - $values_1 = []; - foreach ($data->getEnv() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Env'] = $values_1; - } - if ($data->isInitialized('cmd') && null !== $data->getCmd()) { - $values_2 = []; - foreach ($data->getCmd() as $value_2) { - $values_2[] = $value_2; - } - $dataArray['Cmd'] = $values_2; - } - if ($data->isInitialized('privileged') && null !== $data->getPrivileged()) { - $dataArray['Privileged'] = $data->getPrivileged(); - } - if ($data->isInitialized('user') && null !== $data->getUser()) { - $dataArray['User'] = $data->getUser(); - } - if ($data->isInitialized('workingDir') && null !== $data->getWorkingDir()) { - $dataArray['WorkingDir'] = $data->getWorkingDir(); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainersIdExecPostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdJsonGetResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdJsonGetResponse200Normalizer.php deleted file mode 100644 index d1ba4f175..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdJsonGetResponse200Normalizer.php +++ /dev/null @@ -1,320 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('Created', $data) && null !== $data['Created']) { - $object->setCreated($data['Created']); - unset($data['Created']); - } elseif (\array_key_exists('Created', $data) && null === $data['Created']) { - $object->setCreated(null); - } - if (\array_key_exists('Path', $data) && null !== $data['Path']) { - $object->setPath($data['Path']); - unset($data['Path']); - } elseif (\array_key_exists('Path', $data) && null === $data['Path']) { - $object->setPath(null); - } - if (\array_key_exists('Args', $data) && null !== $data['Args']) { - $values = []; - foreach ($data['Args'] as $value) { - $values[] = $value; - } - $object->setArgs($values); - unset($data['Args']); - } elseif (\array_key_exists('Args', $data) && null === $data['Args']) { - $object->setArgs(null); - } - if (\array_key_exists('State', $data) && null !== $data['State']) { - $object->setState($this->denormalizer->denormalize($data['State'], \Docker\API\Model\ContainerState::class, 'json', $context)); - unset($data['State']); - } elseif (\array_key_exists('State', $data) && null === $data['State']) { - $object->setState(null); - } - if (\array_key_exists('Image', $data) && null !== $data['Image']) { - $object->setImage($data['Image']); - unset($data['Image']); - } elseif (\array_key_exists('Image', $data) && null === $data['Image']) { - $object->setImage(null); - } - if (\array_key_exists('ResolvConfPath', $data) && null !== $data['ResolvConfPath']) { - $object->setResolvConfPath($data['ResolvConfPath']); - unset($data['ResolvConfPath']); - } elseif (\array_key_exists('ResolvConfPath', $data) && null === $data['ResolvConfPath']) { - $object->setResolvConfPath(null); - } - if (\array_key_exists('HostnamePath', $data) && null !== $data['HostnamePath']) { - $object->setHostnamePath($data['HostnamePath']); - unset($data['HostnamePath']); - } elseif (\array_key_exists('HostnamePath', $data) && null === $data['HostnamePath']) { - $object->setHostnamePath(null); - } - if (\array_key_exists('HostsPath', $data) && null !== $data['HostsPath']) { - $object->setHostsPath($data['HostsPath']); - unset($data['HostsPath']); - } elseif (\array_key_exists('HostsPath', $data) && null === $data['HostsPath']) { - $object->setHostsPath(null); - } - if (\array_key_exists('LogPath', $data) && null !== $data['LogPath']) { - $object->setLogPath($data['LogPath']); - unset($data['LogPath']); - } elseif (\array_key_exists('LogPath', $data) && null === $data['LogPath']) { - $object->setLogPath(null); - } - if (\array_key_exists('Name', $data) && null !== $data['Name']) { - $object->setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('RestartCount', $data) && null !== $data['RestartCount']) { - $object->setRestartCount($data['RestartCount']); - unset($data['RestartCount']); - } elseif (\array_key_exists('RestartCount', $data) && null === $data['RestartCount']) { - $object->setRestartCount(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('Platform', $data) && null !== $data['Platform']) { - $object->setPlatform($data['Platform']); - unset($data['Platform']); - } elseif (\array_key_exists('Platform', $data) && null === $data['Platform']) { - $object->setPlatform(null); - } - if (\array_key_exists('MountLabel', $data) && null !== $data['MountLabel']) { - $object->setMountLabel($data['MountLabel']); - unset($data['MountLabel']); - } elseif (\array_key_exists('MountLabel', $data) && null === $data['MountLabel']) { - $object->setMountLabel(null); - } - if (\array_key_exists('ProcessLabel', $data) && null !== $data['ProcessLabel']) { - $object->setProcessLabel($data['ProcessLabel']); - unset($data['ProcessLabel']); - } elseif (\array_key_exists('ProcessLabel', $data) && null === $data['ProcessLabel']) { - $object->setProcessLabel(null); - } - if (\array_key_exists('AppArmorProfile', $data) && null !== $data['AppArmorProfile']) { - $object->setAppArmorProfile($data['AppArmorProfile']); - unset($data['AppArmorProfile']); - } elseif (\array_key_exists('AppArmorProfile', $data) && null === $data['AppArmorProfile']) { - $object->setAppArmorProfile(null); - } - if (\array_key_exists('ExecIDs', $data) && null !== $data['ExecIDs']) { - $values_1 = []; - foreach ($data['ExecIDs'] as $value_1) { - $values_1[] = $value_1; - } - $object->setExecIDs($values_1); - unset($data['ExecIDs']); - } elseif (\array_key_exists('ExecIDs', $data) && null === $data['ExecIDs']) { - $object->setExecIDs(null); - } - if (\array_key_exists('HostConfig', $data) && null !== $data['HostConfig']) { - $object->setHostConfig($this->denormalizer->denormalize($data['HostConfig'], \Docker\API\Model\HostConfig::class, 'json', $context)); - unset($data['HostConfig']); - } elseif (\array_key_exists('HostConfig', $data) && null === $data['HostConfig']) { - $object->setHostConfig(null); - } - if (\array_key_exists('GraphDriver', $data) && null !== $data['GraphDriver']) { - $object->setGraphDriver($this->denormalizer->denormalize($data['GraphDriver'], \Docker\API\Model\GraphDriverData::class, 'json', $context)); - unset($data['GraphDriver']); - } elseif (\array_key_exists('GraphDriver', $data) && null === $data['GraphDriver']) { - $object->setGraphDriver(null); - } - if (\array_key_exists('SizeRw', $data) && null !== $data['SizeRw']) { - $object->setSizeRw($data['SizeRw']); - unset($data['SizeRw']); - } elseif (\array_key_exists('SizeRw', $data) && null === $data['SizeRw']) { - $object->setSizeRw(null); - } - if (\array_key_exists('SizeRootFs', $data) && null !== $data['SizeRootFs']) { - $object->setSizeRootFs($data['SizeRootFs']); - unset($data['SizeRootFs']); - } elseif (\array_key_exists('SizeRootFs', $data) && null === $data['SizeRootFs']) { - $object->setSizeRootFs(null); - } - if (\array_key_exists('Mounts', $data) && null !== $data['Mounts']) { - $values_2 = []; - foreach ($data['Mounts'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\MountPoint::class, 'json', $context); - } - $object->setMounts($values_2); - unset($data['Mounts']); - } elseif (\array_key_exists('Mounts', $data) && null === $data['Mounts']) { - $object->setMounts(null); - } - if (\array_key_exists('Config', $data) && null !== $data['Config']) { - $object->setConfig($this->denormalizer->denormalize($data['Config'], \Docker\API\Model\ContainerConfig::class, 'json', $context)); - unset($data['Config']); - } elseif (\array_key_exists('Config', $data) && null === $data['Config']) { - $object->setConfig(null); - } - if (\array_key_exists('NetworkSettings', $data) && null !== $data['NetworkSettings']) { - $object->setNetworkSettings($this->denormalizer->denormalize($data['NetworkSettings'], \Docker\API\Model\NetworkSettings::class, 'json', $context)); - unset($data['NetworkSettings']); - } elseif (\array_key_exists('NetworkSettings', $data) && null === $data['NetworkSettings']) { - $object->setNetworkSettings(null); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('id') && null !== $data->getId()) { - $dataArray['Id'] = $data->getId(); - } - if ($data->isInitialized('created') && null !== $data->getCreated()) { - $dataArray['Created'] = $data->getCreated(); - } - if ($data->isInitialized('path') && null !== $data->getPath()) { - $dataArray['Path'] = $data->getPath(); - } - if ($data->isInitialized('args') && null !== $data->getArgs()) { - $values = []; - foreach ($data->getArgs() as $value) { - $values[] = $value; - } - $dataArray['Args'] = $values; - } - if ($data->isInitialized('state') && null !== $data->getState()) { - $dataArray['State'] = $this->normalizer->normalize($data->getState(), 'json', $context); - } - if ($data->isInitialized('image') && null !== $data->getImage()) { - $dataArray['Image'] = $data->getImage(); - } - if ($data->isInitialized('resolvConfPath') && null !== $data->getResolvConfPath()) { - $dataArray['ResolvConfPath'] = $data->getResolvConfPath(); - } - if ($data->isInitialized('hostnamePath') && null !== $data->getHostnamePath()) { - $dataArray['HostnamePath'] = $data->getHostnamePath(); - } - if ($data->isInitialized('hostsPath') && null !== $data->getHostsPath()) { - $dataArray['HostsPath'] = $data->getHostsPath(); - } - if ($data->isInitialized('logPath') && null !== $data->getLogPath()) { - $dataArray['LogPath'] = $data->getLogPath(); - } - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('restartCount') && null !== $data->getRestartCount()) { - $dataArray['RestartCount'] = $data->getRestartCount(); - } - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $data->getDriver(); - } - if ($data->isInitialized('platform') && null !== $data->getPlatform()) { - $dataArray['Platform'] = $data->getPlatform(); - } - if ($data->isInitialized('mountLabel') && null !== $data->getMountLabel()) { - $dataArray['MountLabel'] = $data->getMountLabel(); - } - if ($data->isInitialized('processLabel') && null !== $data->getProcessLabel()) { - $dataArray['ProcessLabel'] = $data->getProcessLabel(); - } - if ($data->isInitialized('appArmorProfile') && null !== $data->getAppArmorProfile()) { - $dataArray['AppArmorProfile'] = $data->getAppArmorProfile(); - } - if ($data->isInitialized('execIDs') && null !== $data->getExecIDs()) { - $values_1 = []; - foreach ($data->getExecIDs() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['ExecIDs'] = $values_1; - } - if ($data->isInitialized('hostConfig') && null !== $data->getHostConfig()) { - $dataArray['HostConfig'] = $this->normalizer->normalize($data->getHostConfig(), 'json', $context); - } - if ($data->isInitialized('graphDriver') && null !== $data->getGraphDriver()) { - $dataArray['GraphDriver'] = $this->normalizer->normalize($data->getGraphDriver(), 'json', $context); - } - if ($data->isInitialized('sizeRw') && null !== $data->getSizeRw()) { - $dataArray['SizeRw'] = $data->getSizeRw(); - } - if ($data->isInitialized('sizeRootFs') && null !== $data->getSizeRootFs()) { - $dataArray['SizeRootFs'] = $data->getSizeRootFs(); - } - if ($data->isInitialized('mounts') && null !== $data->getMounts()) { - $values_2 = []; - foreach ($data->getMounts() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['Mounts'] = $values_2; - } - if ($data->isInitialized('config') && null !== $data->getConfig()) { - $dataArray['Config'] = $this->normalizer->normalize($data->getConfig(), 'json', $context); - } - if ($data->isInitialized('networkSettings') && null !== $data->getNetworkSettings()) { - $dataArray['NetworkSettings'] = $this->normalizer->normalize($data->getNetworkSettings(), 'json', $context); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainersIdJsonGetResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdTopGetJsonResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdTopGetJsonResponse200Normalizer.php deleted file mode 100644 index 2ca0049d1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdTopGetJsonResponse200Normalizer.php +++ /dev/null @@ -1,113 +0,0 @@ -setTitles($values); - unset($data['Titles']); - } elseif (\array_key_exists('Titles', $data) && null === $data['Titles']) { - $object->setTitles(null); - } - if (\array_key_exists('Processes', $data) && null !== $data['Processes']) { - $values_1 = []; - foreach ($data['Processes'] as $value_1) { - $values_2 = []; - foreach ($value_1 as $value_2) { - $values_2[] = $value_2; - } - $values_1[] = $values_2; - } - $object->setProcesses($values_1); - unset($data['Processes']); - } elseif (\array_key_exists('Processes', $data) && null === $data['Processes']) { - $object->setProcesses(null); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('titles') && null !== $data->getTitles()) { - $values = []; - foreach ($data->getTitles() as $value) { - $values[] = $value; - } - $dataArray['Titles'] = $values; - } - if ($data->isInitialized('processes') && null !== $data->getProcesses()) { - $values_1 = []; - foreach ($data->getProcesses() as $value_1) { - $values_2 = []; - foreach ($value_1 as $value_2) { - $values_2[] = $value_2; - } - $values_1[] = $values_2; - } - $dataArray['Processes'] = $values_1; - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainersIdTopGetJsonResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdTopGetTextplainResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdTopGetTextplainResponse200Normalizer.php deleted file mode 100644 index c5dda2af0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdTopGetTextplainResponse200Normalizer.php +++ /dev/null @@ -1,113 +0,0 @@ -setTitles($values); - unset($data['Titles']); - } elseif (\array_key_exists('Titles', $data) && null === $data['Titles']) { - $object->setTitles(null); - } - if (\array_key_exists('Processes', $data) && null !== $data['Processes']) { - $values_1 = []; - foreach ($data['Processes'] as $value_1) { - $values_2 = []; - foreach ($value_1 as $value_2) { - $values_2[] = $value_2; - } - $values_1[] = $values_2; - } - $object->setProcesses($values_1); - unset($data['Processes']); - } elseif (\array_key_exists('Processes', $data) && null === $data['Processes']) { - $object->setProcesses(null); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('titles') && null !== $data->getTitles()) { - $values = []; - foreach ($data->getTitles() as $value) { - $values[] = $value; - } - $dataArray['Titles'] = $values; - } - if ($data->isInitialized('processes') && null !== $data->getProcesses()) { - $values_1 = []; - foreach ($data->getProcesses() as $value_1) { - $values_2 = []; - foreach ($value_1 as $value_2) { - $values_2[] = $value_2; - } - $values_1[] = $values_2; - } - $dataArray['Processes'] = $values_1; - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainersIdTopGetTextplainResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdUpdatePostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdUpdatePostBodyNormalizer.php deleted file mode 100644 index 9ba353188..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdUpdatePostBodyNormalizer.php +++ /dev/null @@ -1,437 +0,0 @@ -setCpuShares($data['CpuShares']); - unset($data['CpuShares']); - } elseif (\array_key_exists('CpuShares', $data) && null === $data['CpuShares']) { - $object->setCpuShares(null); - } - if (\array_key_exists('Memory', $data) && null !== $data['Memory']) { - $object->setMemory($data['Memory']); - unset($data['Memory']); - } elseif (\array_key_exists('Memory', $data) && null === $data['Memory']) { - $object->setMemory(null); - } - if (\array_key_exists('CgroupParent', $data) && null !== $data['CgroupParent']) { - $object->setCgroupParent($data['CgroupParent']); - unset($data['CgroupParent']); - } elseif (\array_key_exists('CgroupParent', $data) && null === $data['CgroupParent']) { - $object->setCgroupParent(null); - } - if (\array_key_exists('BlkioWeight', $data) && null !== $data['BlkioWeight']) { - $object->setBlkioWeight($data['BlkioWeight']); - unset($data['BlkioWeight']); - } elseif (\array_key_exists('BlkioWeight', $data) && null === $data['BlkioWeight']) { - $object->setBlkioWeight(null); - } - if (\array_key_exists('BlkioWeightDevice', $data) && null !== $data['BlkioWeightDevice']) { - $values = []; - foreach ($data['BlkioWeightDevice'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\ResourcesBlkioWeightDeviceItem::class, 'json', $context); - } - $object->setBlkioWeightDevice($values); - unset($data['BlkioWeightDevice']); - } elseif (\array_key_exists('BlkioWeightDevice', $data) && null === $data['BlkioWeightDevice']) { - $object->setBlkioWeightDevice(null); - } - if (\array_key_exists('BlkioDeviceReadBps', $data) && null !== $data['BlkioDeviceReadBps']) { - $values_1 = []; - foreach ($data['BlkioDeviceReadBps'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceReadBps($values_1); - unset($data['BlkioDeviceReadBps']); - } elseif (\array_key_exists('BlkioDeviceReadBps', $data) && null === $data['BlkioDeviceReadBps']) { - $object->setBlkioDeviceReadBps(null); - } - if (\array_key_exists('BlkioDeviceWriteBps', $data) && null !== $data['BlkioDeviceWriteBps']) { - $values_2 = []; - foreach ($data['BlkioDeviceWriteBps'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceWriteBps($values_2); - unset($data['BlkioDeviceWriteBps']); - } elseif (\array_key_exists('BlkioDeviceWriteBps', $data) && null === $data['BlkioDeviceWriteBps']) { - $object->setBlkioDeviceWriteBps(null); - } - if (\array_key_exists('BlkioDeviceReadIOps', $data) && null !== $data['BlkioDeviceReadIOps']) { - $values_3 = []; - foreach ($data['BlkioDeviceReadIOps'] as $value_3) { - $values_3[] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceReadIOps($values_3); - unset($data['BlkioDeviceReadIOps']); - } elseif (\array_key_exists('BlkioDeviceReadIOps', $data) && null === $data['BlkioDeviceReadIOps']) { - $object->setBlkioDeviceReadIOps(null); - } - if (\array_key_exists('BlkioDeviceWriteIOps', $data) && null !== $data['BlkioDeviceWriteIOps']) { - $values_4 = []; - foreach ($data['BlkioDeviceWriteIOps'] as $value_4) { - $values_4[] = $this->denormalizer->denormalize($value_4, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceWriteIOps($values_4); - unset($data['BlkioDeviceWriteIOps']); - } elseif (\array_key_exists('BlkioDeviceWriteIOps', $data) && null === $data['BlkioDeviceWriteIOps']) { - $object->setBlkioDeviceWriteIOps(null); - } - if (\array_key_exists('CpuPeriod', $data) && null !== $data['CpuPeriod']) { - $object->setCpuPeriod($data['CpuPeriod']); - unset($data['CpuPeriod']); - } elseif (\array_key_exists('CpuPeriod', $data) && null === $data['CpuPeriod']) { - $object->setCpuPeriod(null); - } - if (\array_key_exists('CpuQuota', $data) && null !== $data['CpuQuota']) { - $object->setCpuQuota($data['CpuQuota']); - unset($data['CpuQuota']); - } elseif (\array_key_exists('CpuQuota', $data) && null === $data['CpuQuota']) { - $object->setCpuQuota(null); - } - if (\array_key_exists('CpuRealtimePeriod', $data) && null !== $data['CpuRealtimePeriod']) { - $object->setCpuRealtimePeriod($data['CpuRealtimePeriod']); - unset($data['CpuRealtimePeriod']); - } elseif (\array_key_exists('CpuRealtimePeriod', $data) && null === $data['CpuRealtimePeriod']) { - $object->setCpuRealtimePeriod(null); - } - if (\array_key_exists('CpuRealtimeRuntime', $data) && null !== $data['CpuRealtimeRuntime']) { - $object->setCpuRealtimeRuntime($data['CpuRealtimeRuntime']); - unset($data['CpuRealtimeRuntime']); - } elseif (\array_key_exists('CpuRealtimeRuntime', $data) && null === $data['CpuRealtimeRuntime']) { - $object->setCpuRealtimeRuntime(null); - } - if (\array_key_exists('CpusetCpus', $data) && null !== $data['CpusetCpus']) { - $object->setCpusetCpus($data['CpusetCpus']); - unset($data['CpusetCpus']); - } elseif (\array_key_exists('CpusetCpus', $data) && null === $data['CpusetCpus']) { - $object->setCpusetCpus(null); - } - if (\array_key_exists('CpusetMems', $data) && null !== $data['CpusetMems']) { - $object->setCpusetMems($data['CpusetMems']); - unset($data['CpusetMems']); - } elseif (\array_key_exists('CpusetMems', $data) && null === $data['CpusetMems']) { - $object->setCpusetMems(null); - } - if (\array_key_exists('Devices', $data) && null !== $data['Devices']) { - $values_5 = []; - foreach ($data['Devices'] as $value_5) { - $values_5[] = $this->denormalizer->denormalize($value_5, \Docker\API\Model\DeviceMapping::class, 'json', $context); - } - $object->setDevices($values_5); - unset($data['Devices']); - } elseif (\array_key_exists('Devices', $data) && null === $data['Devices']) { - $object->setDevices(null); - } - if (\array_key_exists('DeviceCgroupRules', $data) && null !== $data['DeviceCgroupRules']) { - $values_6 = []; - foreach ($data['DeviceCgroupRules'] as $value_6) { - $values_6[] = $value_6; - } - $object->setDeviceCgroupRules($values_6); - unset($data['DeviceCgroupRules']); - } elseif (\array_key_exists('DeviceCgroupRules', $data) && null === $data['DeviceCgroupRules']) { - $object->setDeviceCgroupRules(null); - } - if (\array_key_exists('DeviceRequests', $data) && null !== $data['DeviceRequests']) { - $values_7 = []; - foreach ($data['DeviceRequests'] as $value_7) { - $values_7[] = $this->denormalizer->denormalize($value_7, \Docker\API\Model\DeviceRequest::class, 'json', $context); - } - $object->setDeviceRequests($values_7); - unset($data['DeviceRequests']); - } elseif (\array_key_exists('DeviceRequests', $data) && null === $data['DeviceRequests']) { - $object->setDeviceRequests(null); - } - if (\array_key_exists('KernelMemoryTCP', $data) && null !== $data['KernelMemoryTCP']) { - $object->setKernelMemoryTCP($data['KernelMemoryTCP']); - unset($data['KernelMemoryTCP']); - } elseif (\array_key_exists('KernelMemoryTCP', $data) && null === $data['KernelMemoryTCP']) { - $object->setKernelMemoryTCP(null); - } - if (\array_key_exists('MemoryReservation', $data) && null !== $data['MemoryReservation']) { - $object->setMemoryReservation($data['MemoryReservation']); - unset($data['MemoryReservation']); - } elseif (\array_key_exists('MemoryReservation', $data) && null === $data['MemoryReservation']) { - $object->setMemoryReservation(null); - } - if (\array_key_exists('MemorySwap', $data) && null !== $data['MemorySwap']) { - $object->setMemorySwap($data['MemorySwap']); - unset($data['MemorySwap']); - } elseif (\array_key_exists('MemorySwap', $data) && null === $data['MemorySwap']) { - $object->setMemorySwap(null); - } - if (\array_key_exists('MemorySwappiness', $data) && null !== $data['MemorySwappiness']) { - $object->setMemorySwappiness($data['MemorySwappiness']); - unset($data['MemorySwappiness']); - } elseif (\array_key_exists('MemorySwappiness', $data) && null === $data['MemorySwappiness']) { - $object->setMemorySwappiness(null); - } - if (\array_key_exists('NanoCpus', $data) && null !== $data['NanoCpus']) { - $object->setNanoCpus($data['NanoCpus']); - unset($data['NanoCpus']); - } elseif (\array_key_exists('NanoCpus', $data) && null === $data['NanoCpus']) { - $object->setNanoCpus(null); - } - if (\array_key_exists('OomKillDisable', $data) && null !== $data['OomKillDisable']) { - $object->setOomKillDisable($data['OomKillDisable']); - unset($data['OomKillDisable']); - } elseif (\array_key_exists('OomKillDisable', $data) && null === $data['OomKillDisable']) { - $object->setOomKillDisable(null); - } - if (\array_key_exists('Init', $data) && null !== $data['Init']) { - $object->setInit($data['Init']); - unset($data['Init']); - } elseif (\array_key_exists('Init', $data) && null === $data['Init']) { - $object->setInit(null); - } - if (\array_key_exists('PidsLimit', $data) && null !== $data['PidsLimit']) { - $object->setPidsLimit($data['PidsLimit']); - unset($data['PidsLimit']); - } elseif (\array_key_exists('PidsLimit', $data) && null === $data['PidsLimit']) { - $object->setPidsLimit(null); - } - if (\array_key_exists('Ulimits', $data) && null !== $data['Ulimits']) { - $values_8 = []; - foreach ($data['Ulimits'] as $value_8) { - $values_8[] = $this->denormalizer->denormalize($value_8, \Docker\API\Model\ResourcesUlimitsItem::class, 'json', $context); - } - $object->setUlimits($values_8); - unset($data['Ulimits']); - } elseif (\array_key_exists('Ulimits', $data) && null === $data['Ulimits']) { - $object->setUlimits(null); - } - if (\array_key_exists('CpuCount', $data) && null !== $data['CpuCount']) { - $object->setCpuCount($data['CpuCount']); - unset($data['CpuCount']); - } elseif (\array_key_exists('CpuCount', $data) && null === $data['CpuCount']) { - $object->setCpuCount(null); - } - if (\array_key_exists('CpuPercent', $data) && null !== $data['CpuPercent']) { - $object->setCpuPercent($data['CpuPercent']); - unset($data['CpuPercent']); - } elseif (\array_key_exists('CpuPercent', $data) && null === $data['CpuPercent']) { - $object->setCpuPercent(null); - } - if (\array_key_exists('IOMaximumIOps', $data) && null !== $data['IOMaximumIOps']) { - $object->setIOMaximumIOps($data['IOMaximumIOps']); - unset($data['IOMaximumIOps']); - } elseif (\array_key_exists('IOMaximumIOps', $data) && null === $data['IOMaximumIOps']) { - $object->setIOMaximumIOps(null); - } - if (\array_key_exists('IOMaximumBandwidth', $data) && null !== $data['IOMaximumBandwidth']) { - $object->setIOMaximumBandwidth($data['IOMaximumBandwidth']); - unset($data['IOMaximumBandwidth']); - } elseif (\array_key_exists('IOMaximumBandwidth', $data) && null === $data['IOMaximumBandwidth']) { - $object->setIOMaximumBandwidth(null); - } - if (\array_key_exists('RestartPolicy', $data) && null !== $data['RestartPolicy']) { - $object->setRestartPolicy($this->denormalizer->denormalize($data['RestartPolicy'], \Docker\API\Model\RestartPolicy::class, 'json', $context)); - unset($data['RestartPolicy']); - } elseif (\array_key_exists('RestartPolicy', $data) && null === $data['RestartPolicy']) { - $object->setRestartPolicy(null); - } - foreach ($data as $key => $value_9) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_9; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('cpuShares') && null !== $data->getCpuShares()) { - $dataArray['CpuShares'] = $data->getCpuShares(); - } - if ($data->isInitialized('memory') && null !== $data->getMemory()) { - $dataArray['Memory'] = $data->getMemory(); - } - if ($data->isInitialized('cgroupParent') && null !== $data->getCgroupParent()) { - $dataArray['CgroupParent'] = $data->getCgroupParent(); - } - if ($data->isInitialized('blkioWeight') && null !== $data->getBlkioWeight()) { - $dataArray['BlkioWeight'] = $data->getBlkioWeight(); - } - if ($data->isInitialized('blkioWeightDevice') && null !== $data->getBlkioWeightDevice()) { - $values = []; - foreach ($data->getBlkioWeightDevice() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['BlkioWeightDevice'] = $values; - } - if ($data->isInitialized('blkioDeviceReadBps') && null !== $data->getBlkioDeviceReadBps()) { - $values_1 = []; - foreach ($data->getBlkioDeviceReadBps() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['BlkioDeviceReadBps'] = $values_1; - } - if ($data->isInitialized('blkioDeviceWriteBps') && null !== $data->getBlkioDeviceWriteBps()) { - $values_2 = []; - foreach ($data->getBlkioDeviceWriteBps() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['BlkioDeviceWriteBps'] = $values_2; - } - if ($data->isInitialized('blkioDeviceReadIOps') && null !== $data->getBlkioDeviceReadIOps()) { - $values_3 = []; - foreach ($data->getBlkioDeviceReadIOps() as $value_3) { - $values_3[] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['BlkioDeviceReadIOps'] = $values_3; - } - if ($data->isInitialized('blkioDeviceWriteIOps') && null !== $data->getBlkioDeviceWriteIOps()) { - $values_4 = []; - foreach ($data->getBlkioDeviceWriteIOps() as $value_4) { - $values_4[] = $this->normalizer->normalize($value_4, 'json', $context); - } - $dataArray['BlkioDeviceWriteIOps'] = $values_4; - } - if ($data->isInitialized('cpuPeriod') && null !== $data->getCpuPeriod()) { - $dataArray['CpuPeriod'] = $data->getCpuPeriod(); - } - if ($data->isInitialized('cpuQuota') && null !== $data->getCpuQuota()) { - $dataArray['CpuQuota'] = $data->getCpuQuota(); - } - if ($data->isInitialized('cpuRealtimePeriod') && null !== $data->getCpuRealtimePeriod()) { - $dataArray['CpuRealtimePeriod'] = $data->getCpuRealtimePeriod(); - } - if ($data->isInitialized('cpuRealtimeRuntime') && null !== $data->getCpuRealtimeRuntime()) { - $dataArray['CpuRealtimeRuntime'] = $data->getCpuRealtimeRuntime(); - } - if ($data->isInitialized('cpusetCpus') && null !== $data->getCpusetCpus()) { - $dataArray['CpusetCpus'] = $data->getCpusetCpus(); - } - if ($data->isInitialized('cpusetMems') && null !== $data->getCpusetMems()) { - $dataArray['CpusetMems'] = $data->getCpusetMems(); - } - if ($data->isInitialized('devices') && null !== $data->getDevices()) { - $values_5 = []; - foreach ($data->getDevices() as $value_5) { - $values_5[] = $this->normalizer->normalize($value_5, 'json', $context); - } - $dataArray['Devices'] = $values_5; - } - if ($data->isInitialized('deviceCgroupRules') && null !== $data->getDeviceCgroupRules()) { - $values_6 = []; - foreach ($data->getDeviceCgroupRules() as $value_6) { - $values_6[] = $value_6; - } - $dataArray['DeviceCgroupRules'] = $values_6; - } - if ($data->isInitialized('deviceRequests') && null !== $data->getDeviceRequests()) { - $values_7 = []; - foreach ($data->getDeviceRequests() as $value_7) { - $values_7[] = $this->normalizer->normalize($value_7, 'json', $context); - } - $dataArray['DeviceRequests'] = $values_7; - } - if ($data->isInitialized('kernelMemoryTCP') && null !== $data->getKernelMemoryTCP()) { - $dataArray['KernelMemoryTCP'] = $data->getKernelMemoryTCP(); - } - if ($data->isInitialized('memoryReservation') && null !== $data->getMemoryReservation()) { - $dataArray['MemoryReservation'] = $data->getMemoryReservation(); - } - if ($data->isInitialized('memorySwap') && null !== $data->getMemorySwap()) { - $dataArray['MemorySwap'] = $data->getMemorySwap(); - } - if ($data->isInitialized('memorySwappiness') && null !== $data->getMemorySwappiness()) { - $dataArray['MemorySwappiness'] = $data->getMemorySwappiness(); - } - if ($data->isInitialized('nanoCpus') && null !== $data->getNanoCpus()) { - $dataArray['NanoCpus'] = $data->getNanoCpus(); - } - if ($data->isInitialized('oomKillDisable') && null !== $data->getOomKillDisable()) { - $dataArray['OomKillDisable'] = $data->getOomKillDisable(); - } - if ($data->isInitialized('init') && null !== $data->getInit()) { - $dataArray['Init'] = $data->getInit(); - } - if ($data->isInitialized('pidsLimit') && null !== $data->getPidsLimit()) { - $dataArray['PidsLimit'] = $data->getPidsLimit(); - } - if ($data->isInitialized('ulimits') && null !== $data->getUlimits()) { - $values_8 = []; - foreach ($data->getUlimits() as $value_8) { - $values_8[] = $this->normalizer->normalize($value_8, 'json', $context); - } - $dataArray['Ulimits'] = $values_8; - } - if ($data->isInitialized('cpuCount') && null !== $data->getCpuCount()) { - $dataArray['CpuCount'] = $data->getCpuCount(); - } - if ($data->isInitialized('cpuPercent') && null !== $data->getCpuPercent()) { - $dataArray['CpuPercent'] = $data->getCpuPercent(); - } - if ($data->isInitialized('iOMaximumIOps') && null !== $data->getIOMaximumIOps()) { - $dataArray['IOMaximumIOps'] = $data->getIOMaximumIOps(); - } - if ($data->isInitialized('iOMaximumBandwidth') && null !== $data->getIOMaximumBandwidth()) { - $dataArray['IOMaximumBandwidth'] = $data->getIOMaximumBandwidth(); - } - if ($data->isInitialized('restartPolicy') && null !== $data->getRestartPolicy()) { - $dataArray['RestartPolicy'] = $this->normalizer->normalize($data->getRestartPolicy(), 'json', $context); - } - foreach ($data as $key => $value_9) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_9; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainersIdUpdatePostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdUpdatePostResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdUpdatePostResponse200Normalizer.php deleted file mode 100644 index ccc819bbc..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersIdUpdatePostResponse200Normalizer.php +++ /dev/null @@ -1,88 +0,0 @@ -setWarnings($values); - unset($data['Warnings']); - } elseif (\array_key_exists('Warnings', $data) && null === $data['Warnings']) { - $object->setWarnings(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('warnings') && null !== $data->getWarnings()) { - $values = []; - foreach ($data->getWarnings() as $value) { - $values[] = $value; - } - $dataArray['Warnings'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainersIdUpdatePostResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersPrunePostResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersPrunePostResponse200Normalizer.php deleted file mode 100644 index 6109dab54..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ContainersPrunePostResponse200Normalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setContainersDeleted($values); - unset($data['ContainersDeleted']); - } elseif (\array_key_exists('ContainersDeleted', $data) && null === $data['ContainersDeleted']) { - $object->setContainersDeleted(null); - } - if (\array_key_exists('SpaceReclaimed', $data) && null !== $data['SpaceReclaimed']) { - $object->setSpaceReclaimed($data['SpaceReclaimed']); - unset($data['SpaceReclaimed']); - } elseif (\array_key_exists('SpaceReclaimed', $data) && null === $data['SpaceReclaimed']) { - $object->setSpaceReclaimed(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('containersDeleted') && null !== $data->getContainersDeleted()) { - $values = []; - foreach ($data->getContainersDeleted() as $value) { - $values[] = $value; - } - $dataArray['ContainersDeleted'] = $values; - } - if ($data->isInitialized('spaceReclaimed') && null !== $data->getSpaceReclaimed()) { - $dataArray['SpaceReclaimed'] = $data->getSpaceReclaimed(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ContainersPrunePostResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/CreateImageInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/CreateImageInfoNormalizer.php deleted file mode 100644 index 16bbcdb02..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/CreateImageInfoNormalizer.php +++ /dev/null @@ -1,125 +0,0 @@ -setId($data['id']); - unset($data['id']); - } elseif (\array_key_exists('id', $data) && null === $data['id']) { - $object->setId(null); - } - if (\array_key_exists('error', $data) && null !== $data['error']) { - $object->setError($data['error']); - unset($data['error']); - } elseif (\array_key_exists('error', $data) && null === $data['error']) { - $object->setError(null); - } - if (\array_key_exists('errorDetail', $data) && null !== $data['errorDetail']) { - $object->setErrorDetail($this->denormalizer->denormalize($data['errorDetail'], \Docker\API\Model\ErrorDetail::class, 'json', $context)); - unset($data['errorDetail']); - } elseif (\array_key_exists('errorDetail', $data) && null === $data['errorDetail']) { - $object->setErrorDetail(null); - } - if (\array_key_exists('status', $data) && null !== $data['status']) { - $object->setStatus($data['status']); - unset($data['status']); - } elseif (\array_key_exists('status', $data) && null === $data['status']) { - $object->setStatus(null); - } - if (\array_key_exists('progress', $data) && null !== $data['progress']) { - $object->setProgress($data['progress']); - unset($data['progress']); - } elseif (\array_key_exists('progress', $data) && null === $data['progress']) { - $object->setProgress(null); - } - if (\array_key_exists('progressDetail', $data) && null !== $data['progressDetail']) { - $object->setProgressDetail($this->denormalizer->denormalize($data['progressDetail'], \Docker\API\Model\ProgressDetail::class, 'json', $context)); - unset($data['progressDetail']); - } elseif (\array_key_exists('progressDetail', $data) && null === $data['progressDetail']) { - $object->setProgressDetail(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('id') && null !== $data->getId()) { - $dataArray['id'] = $data->getId(); - } - if ($data->isInitialized('error') && null !== $data->getError()) { - $dataArray['error'] = $data->getError(); - } - if ($data->isInitialized('errorDetail') && null !== $data->getErrorDetail()) { - $dataArray['errorDetail'] = $this->normalizer->normalize($data->getErrorDetail(), 'json', $context); - } - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $dataArray['status'] = $data->getStatus(); - } - if ($data->isInitialized('progress') && null !== $data->getProgress()) { - $dataArray['progress'] = $data->getProgress(); - } - if ($data->isInitialized('progressDetail') && null !== $data->getProgressDetail()) { - $dataArray['progressDetail'] = $this->normalizer->normalize($data->getProgressDetail(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\CreateImageInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/DeviceMappingNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/DeviceMappingNormalizer.php deleted file mode 100644 index 05e695135..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/DeviceMappingNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setPathOnHost($data['PathOnHost']); - unset($data['PathOnHost']); - } elseif (\array_key_exists('PathOnHost', $data) && null === $data['PathOnHost']) { - $object->setPathOnHost(null); - } - if (\array_key_exists('PathInContainer', $data) && null !== $data['PathInContainer']) { - $object->setPathInContainer($data['PathInContainer']); - unset($data['PathInContainer']); - } elseif (\array_key_exists('PathInContainer', $data) && null === $data['PathInContainer']) { - $object->setPathInContainer(null); - } - if (\array_key_exists('CgroupPermissions', $data) && null !== $data['CgroupPermissions']) { - $object->setCgroupPermissions($data['CgroupPermissions']); - unset($data['CgroupPermissions']); - } elseif (\array_key_exists('CgroupPermissions', $data) && null === $data['CgroupPermissions']) { - $object->setCgroupPermissions(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('pathOnHost') && null !== $data->getPathOnHost()) { - $dataArray['PathOnHost'] = $data->getPathOnHost(); - } - if ($data->isInitialized('pathInContainer') && null !== $data->getPathInContainer()) { - $dataArray['PathInContainer'] = $data->getPathInContainer(); - } - if ($data->isInitialized('cgroupPermissions') && null !== $data->getCgroupPermissions()) { - $dataArray['CgroupPermissions'] = $data->getCgroupPermissions(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\DeviceMapping::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/DeviceRequestNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/DeviceRequestNormalizer.php deleted file mode 100644 index 6b31cfe17..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/DeviceRequestNormalizer.php +++ /dev/null @@ -1,148 +0,0 @@ -setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('Count', $data) && null !== $data['Count']) { - $object->setCount($data['Count']); - unset($data['Count']); - } elseif (\array_key_exists('Count', $data) && null === $data['Count']) { - $object->setCount(null); - } - if (\array_key_exists('DeviceIDs', $data) && null !== $data['DeviceIDs']) { - $values = []; - foreach ($data['DeviceIDs'] as $value) { - $values[] = $value; - } - $object->setDeviceIDs($values); - unset($data['DeviceIDs']); - } elseif (\array_key_exists('DeviceIDs', $data) && null === $data['DeviceIDs']) { - $object->setDeviceIDs(null); - } - if (\array_key_exists('Capabilities', $data) && null !== $data['Capabilities']) { - $values_1 = []; - foreach ($data['Capabilities'] as $value_1) { - $values_2 = []; - foreach ($value_1 as $value_2) { - $values_2[] = $value_2; - } - $values_1[] = $values_2; - } - $object->setCapabilities($values_1); - unset($data['Capabilities']); - } elseif (\array_key_exists('Capabilities', $data) && null === $data['Capabilities']) { - $object->setCapabilities(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values_3 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key => $value_3) { - $values_3[$key] = $value_3; - } - $object->setOptions($values_3); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - foreach ($data as $key_1 => $value_4) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_4; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $data->getDriver(); - } - if ($data->isInitialized('count') && null !== $data->getCount()) { - $dataArray['Count'] = $data->getCount(); - } - if ($data->isInitialized('deviceIDs') && null !== $data->getDeviceIDs()) { - $values = []; - foreach ($data->getDeviceIDs() as $value) { - $values[] = $value; - } - $dataArray['DeviceIDs'] = $values; - } - if ($data->isInitialized('capabilities') && null !== $data->getCapabilities()) { - $values_1 = []; - foreach ($data->getCapabilities() as $value_1) { - $values_2 = []; - foreach ($value_1 as $value_2) { - $values_2[] = $value_2; - } - $values_1[] = $values_2; - } - $dataArray['Capabilities'] = $values_1; - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values_3 = []; - foreach ($data->getOptions() as $key => $value_3) { - $values_3[$key] = $value_3; - } - $dataArray['Options'] = $values_3; - } - foreach ($data as $key_1 => $value_4) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_4; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\DeviceRequest::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/DistributionInspectNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/DistributionInspectNormalizer.php deleted file mode 100644 index f3bff572c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/DistributionInspectNormalizer.php +++ /dev/null @@ -1,93 +0,0 @@ -setDescriptor($this->denormalizer->denormalize($data['Descriptor'], \Docker\API\Model\OCIDescriptor::class, 'json', $context)); - unset($data['Descriptor']); - } elseif (\array_key_exists('Descriptor', $data) && null === $data['Descriptor']) { - $object->setDescriptor(null); - } - if (\array_key_exists('Platforms', $data) && null !== $data['Platforms']) { - $values = []; - foreach ($data['Platforms'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\OCIPlatform::class, 'json', $context); - } - $object->setPlatforms($values); - unset($data['Platforms']); - } elseif (\array_key_exists('Platforms', $data) && null === $data['Platforms']) { - $object->setPlatforms(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Descriptor'] = $this->normalizer->normalize($data->getDescriptor(), 'json', $context); - $values = []; - foreach ($data->getPlatforms() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Platforms'] = $values; - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\DistributionInspect::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/DriverNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/DriverNormalizer.php deleted file mode 100644 index 0a2e1bfbe..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/DriverNormalizer.php +++ /dev/null @@ -1,95 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key => $value) { - $values[$key] = $value; - } - $object->setOptions($values); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values = []; - foreach ($data->getOptions() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Options'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Driver::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointIPAMConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointIPAMConfigNormalizer.php deleted file mode 100644 index a17dd5744..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointIPAMConfigNormalizer.php +++ /dev/null @@ -1,106 +0,0 @@ -setIPv4Address($data['IPv4Address']); - unset($data['IPv4Address']); - } elseif (\array_key_exists('IPv4Address', $data) && null === $data['IPv4Address']) { - $object->setIPv4Address(null); - } - if (\array_key_exists('IPv6Address', $data) && null !== $data['IPv6Address']) { - $object->setIPv6Address($data['IPv6Address']); - unset($data['IPv6Address']); - } elseif (\array_key_exists('IPv6Address', $data) && null === $data['IPv6Address']) { - $object->setIPv6Address(null); - } - if (\array_key_exists('LinkLocalIPs', $data) && null !== $data['LinkLocalIPs']) { - $values = []; - foreach ($data['LinkLocalIPs'] as $value) { - $values[] = $value; - } - $object->setLinkLocalIPs($values); - unset($data['LinkLocalIPs']); - } elseif (\array_key_exists('LinkLocalIPs', $data) && null === $data['LinkLocalIPs']) { - $object->setLinkLocalIPs(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iPv4Address') && null !== $data->getIPv4Address()) { - $dataArray['IPv4Address'] = $data->getIPv4Address(); - } - if ($data->isInitialized('iPv6Address') && null !== $data->getIPv6Address()) { - $dataArray['IPv6Address'] = $data->getIPv6Address(); - } - if ($data->isInitialized('linkLocalIPs') && null !== $data->getLinkLocalIPs()) { - $values = []; - foreach ($data->getLinkLocalIPs() as $value) { - $values[] = $value; - } - $dataArray['LinkLocalIPs'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\EndpointIPAMConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointPortConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointPortConfigNormalizer.php deleted file mode 100644 index 15b37f164..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointPortConfigNormalizer.php +++ /dev/null @@ -1,116 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Protocol', $data) && null !== $data['Protocol']) { - $object->setProtocol($data['Protocol']); - unset($data['Protocol']); - } elseif (\array_key_exists('Protocol', $data) && null === $data['Protocol']) { - $object->setProtocol(null); - } - if (\array_key_exists('TargetPort', $data) && null !== $data['TargetPort']) { - $object->setTargetPort($data['TargetPort']); - unset($data['TargetPort']); - } elseif (\array_key_exists('TargetPort', $data) && null === $data['TargetPort']) { - $object->setTargetPort(null); - } - if (\array_key_exists('PublishedPort', $data) && null !== $data['PublishedPort']) { - $object->setPublishedPort($data['PublishedPort']); - unset($data['PublishedPort']); - } elseif (\array_key_exists('PublishedPort', $data) && null === $data['PublishedPort']) { - $object->setPublishedPort(null); - } - if (\array_key_exists('PublishMode', $data) && null !== $data['PublishMode']) { - $object->setPublishMode($data['PublishMode']); - unset($data['PublishMode']); - } elseif (\array_key_exists('PublishMode', $data) && null === $data['PublishMode']) { - $object->setPublishMode(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('protocol') && null !== $data->getProtocol()) { - $dataArray['Protocol'] = $data->getProtocol(); - } - if ($data->isInitialized('targetPort') && null !== $data->getTargetPort()) { - $dataArray['TargetPort'] = $data->getTargetPort(); - } - if ($data->isInitialized('publishedPort') && null !== $data->getPublishedPort()) { - $dataArray['PublishedPort'] = $data->getPublishedPort(); - } - if ($data->isInitialized('publishMode') && null !== $data->getPublishMode()) { - $dataArray['PublishMode'] = $data->getPublishMode(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\EndpointPortConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointSettingsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointSettingsNormalizer.php deleted file mode 100644 index 2331484e5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointSettingsNormalizer.php +++ /dev/null @@ -1,229 +0,0 @@ -setIPAMConfig($this->denormalizer->denormalize($data['IPAMConfig'], \Docker\API\Model\EndpointIPAMConfig::class, 'json', $context)); - unset($data['IPAMConfig']); - } elseif (\array_key_exists('IPAMConfig', $data) && null === $data['IPAMConfig']) { - $object->setIPAMConfig(null); - } - if (\array_key_exists('Links', $data) && null !== $data['Links']) { - $values = []; - foreach ($data['Links'] as $value) { - $values[] = $value; - } - $object->setLinks($values); - unset($data['Links']); - } elseif (\array_key_exists('Links', $data) && null === $data['Links']) { - $object->setLinks(null); - } - if (\array_key_exists('MacAddress', $data) && null !== $data['MacAddress']) { - $object->setMacAddress($data['MacAddress']); - unset($data['MacAddress']); - } elseif (\array_key_exists('MacAddress', $data) && null === $data['MacAddress']) { - $object->setMacAddress(null); - } - if (\array_key_exists('Aliases', $data) && null !== $data['Aliases']) { - $values_1 = []; - foreach ($data['Aliases'] as $value_1) { - $values_1[] = $value_1; - } - $object->setAliases($values_1); - unset($data['Aliases']); - } elseif (\array_key_exists('Aliases', $data) && null === $data['Aliases']) { - $object->setAliases(null); - } - if (\array_key_exists('NetworkID', $data) && null !== $data['NetworkID']) { - $object->setNetworkID($data['NetworkID']); - unset($data['NetworkID']); - } elseif (\array_key_exists('NetworkID', $data) && null === $data['NetworkID']) { - $object->setNetworkID(null); - } - if (\array_key_exists('EndpointID', $data) && null !== $data['EndpointID']) { - $object->setEndpointID($data['EndpointID']); - unset($data['EndpointID']); - } elseif (\array_key_exists('EndpointID', $data) && null === $data['EndpointID']) { - $object->setEndpointID(null); - } - if (\array_key_exists('Gateway', $data) && null !== $data['Gateway']) { - $object->setGateway($data['Gateway']); - unset($data['Gateway']); - } elseif (\array_key_exists('Gateway', $data) && null === $data['Gateway']) { - $object->setGateway(null); - } - if (\array_key_exists('IPAddress', $data) && null !== $data['IPAddress']) { - $object->setIPAddress($data['IPAddress']); - unset($data['IPAddress']); - } elseif (\array_key_exists('IPAddress', $data) && null === $data['IPAddress']) { - $object->setIPAddress(null); - } - if (\array_key_exists('IPPrefixLen', $data) && null !== $data['IPPrefixLen']) { - $object->setIPPrefixLen($data['IPPrefixLen']); - unset($data['IPPrefixLen']); - } elseif (\array_key_exists('IPPrefixLen', $data) && null === $data['IPPrefixLen']) { - $object->setIPPrefixLen(null); - } - if (\array_key_exists('IPv6Gateway', $data) && null !== $data['IPv6Gateway']) { - $object->setIPv6Gateway($data['IPv6Gateway']); - unset($data['IPv6Gateway']); - } elseif (\array_key_exists('IPv6Gateway', $data) && null === $data['IPv6Gateway']) { - $object->setIPv6Gateway(null); - } - if (\array_key_exists('GlobalIPv6Address', $data) && null !== $data['GlobalIPv6Address']) { - $object->setGlobalIPv6Address($data['GlobalIPv6Address']); - unset($data['GlobalIPv6Address']); - } elseif (\array_key_exists('GlobalIPv6Address', $data) && null === $data['GlobalIPv6Address']) { - $object->setGlobalIPv6Address(null); - } - if (\array_key_exists('GlobalIPv6PrefixLen', $data) && null !== $data['GlobalIPv6PrefixLen']) { - $object->setGlobalIPv6PrefixLen($data['GlobalIPv6PrefixLen']); - unset($data['GlobalIPv6PrefixLen']); - } elseif (\array_key_exists('GlobalIPv6PrefixLen', $data) && null === $data['GlobalIPv6PrefixLen']) { - $object->setGlobalIPv6PrefixLen(null); - } - if (\array_key_exists('DriverOpts', $data) && null !== $data['DriverOpts']) { - $values_2 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['DriverOpts'] as $key => $value_2) { - $values_2[$key] = $value_2; - } - $object->setDriverOpts($values_2); - unset($data['DriverOpts']); - } elseif (\array_key_exists('DriverOpts', $data) && null === $data['DriverOpts']) { - $object->setDriverOpts(null); - } - if (\array_key_exists('DNSNames', $data) && null !== $data['DNSNames']) { - $values_3 = []; - foreach ($data['DNSNames'] as $value_3) { - $values_3[] = $value_3; - } - $object->setDNSNames($values_3); - unset($data['DNSNames']); - } elseif (\array_key_exists('DNSNames', $data) && null === $data['DNSNames']) { - $object->setDNSNames(null); - } - foreach ($data as $key_1 => $value_4) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_4; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iPAMConfig') && null !== $data->getIPAMConfig()) { - $dataArray['IPAMConfig'] = $this->normalizer->normalize($data->getIPAMConfig(), 'json', $context); - } - if ($data->isInitialized('links') && null !== $data->getLinks()) { - $values = []; - foreach ($data->getLinks() as $value) { - $values[] = $value; - } - $dataArray['Links'] = $values; - } - if ($data->isInitialized('macAddress') && null !== $data->getMacAddress()) { - $dataArray['MacAddress'] = $data->getMacAddress(); - } - if ($data->isInitialized('aliases') && null !== $data->getAliases()) { - $values_1 = []; - foreach ($data->getAliases() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Aliases'] = $values_1; - } - if ($data->isInitialized('networkID') && null !== $data->getNetworkID()) { - $dataArray['NetworkID'] = $data->getNetworkID(); - } - if ($data->isInitialized('endpointID') && null !== $data->getEndpointID()) { - $dataArray['EndpointID'] = $data->getEndpointID(); - } - if ($data->isInitialized('gateway') && null !== $data->getGateway()) { - $dataArray['Gateway'] = $data->getGateway(); - } - if ($data->isInitialized('iPAddress') && null !== $data->getIPAddress()) { - $dataArray['IPAddress'] = $data->getIPAddress(); - } - if ($data->isInitialized('iPPrefixLen') && null !== $data->getIPPrefixLen()) { - $dataArray['IPPrefixLen'] = $data->getIPPrefixLen(); - } - if ($data->isInitialized('iPv6Gateway') && null !== $data->getIPv6Gateway()) { - $dataArray['IPv6Gateway'] = $data->getIPv6Gateway(); - } - if ($data->isInitialized('globalIPv6Address') && null !== $data->getGlobalIPv6Address()) { - $dataArray['GlobalIPv6Address'] = $data->getGlobalIPv6Address(); - } - if ($data->isInitialized('globalIPv6PrefixLen') && null !== $data->getGlobalIPv6PrefixLen()) { - $dataArray['GlobalIPv6PrefixLen'] = $data->getGlobalIPv6PrefixLen(); - } - if ($data->isInitialized('driverOpts') && null !== $data->getDriverOpts()) { - $values_2 = []; - foreach ($data->getDriverOpts() as $key => $value_2) { - $values_2[$key] = $value_2; - } - $dataArray['DriverOpts'] = $values_2; - } - if ($data->isInitialized('dNSNames') && null !== $data->getDNSNames()) { - $values_3 = []; - foreach ($data->getDNSNames() as $value_3) { - $values_3[] = $value_3; - } - $dataArray['DNSNames'] = $values_3; - } - foreach ($data as $key_1 => $value_4) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_4; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\EndpointSettings::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointSpecNormalizer.php deleted file mode 100644 index 24d7b3559..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EndpointSpecNormalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setMode($data['Mode']); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - if (\array_key_exists('Ports', $data) && null !== $data['Ports']) { - $values = []; - foreach ($data['Ports'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\EndpointPortConfig::class, 'json', $context); - } - $object->setPorts($values); - unset($data['Ports']); - } elseif (\array_key_exists('Ports', $data) && null === $data['Ports']) { - $object->setPorts(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $data->getMode(); - } - if ($data->isInitialized('ports') && null !== $data->getPorts()) { - $values = []; - foreach ($data->getPorts() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Ports'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\EndpointSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EngineDescriptionNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/EngineDescriptionNormalizer.php deleted file mode 100644 index 055e0758d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EngineDescriptionNormalizer.php +++ /dev/null @@ -1,114 +0,0 @@ -setEngineVersion($data['EngineVersion']); - unset($data['EngineVersion']); - } elseif (\array_key_exists('EngineVersion', $data) && null === $data['EngineVersion']) { - $object->setEngineVersion(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Plugins', $data) && null !== $data['Plugins']) { - $values_1 = []; - foreach ($data['Plugins'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\EngineDescriptionPluginsItem::class, 'json', $context); - } - $object->setPlugins($values_1); - unset($data['Plugins']); - } elseif (\array_key_exists('Plugins', $data) && null === $data['Plugins']) { - $object->setPlugins(null); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('engineVersion') && null !== $data->getEngineVersion()) { - $dataArray['EngineVersion'] = $data->getEngineVersion(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('plugins') && null !== $data->getPlugins()) { - $values_1 = []; - foreach ($data->getPlugins() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Plugins'] = $values_1; - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\EngineDescription::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EngineDescriptionPluginsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/EngineDescriptionPluginsItemNormalizer.php deleted file mode 100644 index f528c9619..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EngineDescriptionPluginsItemNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('Name', $data) && null !== $data['Name']) { - $object->setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('type') && null !== $data->getType()) { - $dataArray['Type'] = $data->getType(); - } - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\EngineDescriptionPluginsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ErrorDetailNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ErrorDetailNormalizer.php deleted file mode 100644 index d23b05f0f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ErrorDetailNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setCode($data['code']); - unset($data['code']); - } elseif (\array_key_exists('code', $data) && null === $data['code']) { - $object->setCode(null); - } - if (\array_key_exists('message', $data) && null !== $data['message']) { - $object->setMessage($data['message']); - unset($data['message']); - } elseif (\array_key_exists('message', $data) && null === $data['message']) { - $object->setMessage(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('code') && null !== $data->getCode()) { - $dataArray['code'] = $data->getCode(); - } - if ($data->isInitialized('message') && null !== $data->getMessage()) { - $dataArray['message'] = $data->getMessage(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ErrorDetail::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ErrorResponseNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ErrorResponseNormalizer.php deleted file mode 100644 index 1c5b976a0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ErrorResponseNormalizer.php +++ /dev/null @@ -1,78 +0,0 @@ -setMessage($data['message']); - unset($data['message']); - } elseif (\array_key_exists('message', $data) && null === $data['message']) { - $object->setMessage(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['message'] = $data->getMessage(); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ErrorResponse::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EventActorNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/EventActorNormalizer.php deleted file mode 100644 index 8a857a7cd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EventActorNormalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Attributes', $data) && null !== $data['Attributes']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Attributes'] as $key => $value) { - $values[$key] = $value; - } - $object->setAttributes($values); - unset($data['Attributes']); - } elseif (\array_key_exists('Attributes', $data) && null === $data['Attributes']) { - $object->setAttributes(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('attributes') && null !== $data->getAttributes()) { - $values = []; - foreach ($data->getAttributes() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Attributes'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\EventActor::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EventMessageNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/EventMessageNormalizer.php deleted file mode 100644 index 10f33cfeb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/EventMessageNormalizer.php +++ /dev/null @@ -1,125 +0,0 @@ -setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('Action', $data) && null !== $data['Action']) { - $object->setAction($data['Action']); - unset($data['Action']); - } elseif (\array_key_exists('Action', $data) && null === $data['Action']) { - $object->setAction(null); - } - if (\array_key_exists('Actor', $data) && null !== $data['Actor']) { - $object->setActor($this->denormalizer->denormalize($data['Actor'], \Docker\API\Model\EventActor::class, 'json', $context)); - unset($data['Actor']); - } elseif (\array_key_exists('Actor', $data) && null === $data['Actor']) { - $object->setActor(null); - } - if (\array_key_exists('scope', $data) && null !== $data['scope']) { - $object->setScope($data['scope']); - unset($data['scope']); - } elseif (\array_key_exists('scope', $data) && null === $data['scope']) { - $object->setScope(null); - } - if (\array_key_exists('time', $data) && null !== $data['time']) { - $object->setTime($data['time']); - unset($data['time']); - } elseif (\array_key_exists('time', $data) && null === $data['time']) { - $object->setTime(null); - } - if (\array_key_exists('timeNano', $data) && null !== $data['timeNano']) { - $object->setTimeNano($data['timeNano']); - unset($data['timeNano']); - } elseif (\array_key_exists('timeNano', $data) && null === $data['timeNano']) { - $object->setTimeNano(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('type') && null !== $data->getType()) { - $dataArray['Type'] = $data->getType(); - } - if ($data->isInitialized('action') && null !== $data->getAction()) { - $dataArray['Action'] = $data->getAction(); - } - if ($data->isInitialized('actor') && null !== $data->getActor()) { - $dataArray['Actor'] = $this->normalizer->normalize($data->getActor(), 'json', $context); - } - if ($data->isInitialized('scope') && null !== $data->getScope()) { - $dataArray['scope'] = $data->getScope(); - } - if ($data->isInitialized('time') && null !== $data->getTime()) { - $dataArray['time'] = $data->getTime(); - } - if ($data->isInitialized('timeNano') && null !== $data->getTimeNano()) { - $dataArray['timeNano'] = $data->getTimeNano(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\EventMessage::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ExecIdJsonGetResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ExecIdJsonGetResponse200Normalizer.php deleted file mode 100644 index 37828cb0d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ExecIdJsonGetResponse200Normalizer.php +++ /dev/null @@ -1,185 +0,0 @@ -setCanRemove($data['CanRemove']); - unset($data['CanRemove']); - } elseif (\array_key_exists('CanRemove', $data) && null === $data['CanRemove']) { - $object->setCanRemove(null); - } - if (\array_key_exists('DetachKeys', $data) && null !== $data['DetachKeys']) { - $object->setDetachKeys($data['DetachKeys']); - unset($data['DetachKeys']); - } elseif (\array_key_exists('DetachKeys', $data) && null === $data['DetachKeys']) { - $object->setDetachKeys(null); - } - if (\array_key_exists('ID', $data) && null !== $data['ID']) { - $object->setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Running', $data) && null !== $data['Running']) { - $object->setRunning($data['Running']); - unset($data['Running']); - } elseif (\array_key_exists('Running', $data) && null === $data['Running']) { - $object->setRunning(null); - } - if (\array_key_exists('ExitCode', $data) && null !== $data['ExitCode']) { - $object->setExitCode($data['ExitCode']); - unset($data['ExitCode']); - } elseif (\array_key_exists('ExitCode', $data) && null === $data['ExitCode']) { - $object->setExitCode(null); - } - if (\array_key_exists('ProcessConfig', $data) && null !== $data['ProcessConfig']) { - $object->setProcessConfig($this->denormalizer->denormalize($data['ProcessConfig'], \Docker\API\Model\ProcessConfig::class, 'json', $context)); - unset($data['ProcessConfig']); - } elseif (\array_key_exists('ProcessConfig', $data) && null === $data['ProcessConfig']) { - $object->setProcessConfig(null); - } - if (\array_key_exists('OpenStdin', $data) && null !== $data['OpenStdin']) { - $object->setOpenStdin($data['OpenStdin']); - unset($data['OpenStdin']); - } elseif (\array_key_exists('OpenStdin', $data) && null === $data['OpenStdin']) { - $object->setOpenStdin(null); - } - if (\array_key_exists('OpenStderr', $data) && null !== $data['OpenStderr']) { - $object->setOpenStderr($data['OpenStderr']); - unset($data['OpenStderr']); - } elseif (\array_key_exists('OpenStderr', $data) && null === $data['OpenStderr']) { - $object->setOpenStderr(null); - } - if (\array_key_exists('OpenStdout', $data) && null !== $data['OpenStdout']) { - $object->setOpenStdout($data['OpenStdout']); - unset($data['OpenStdout']); - } elseif (\array_key_exists('OpenStdout', $data) && null === $data['OpenStdout']) { - $object->setOpenStdout(null); - } - if (\array_key_exists('ContainerID', $data) && null !== $data['ContainerID']) { - $object->setContainerID($data['ContainerID']); - unset($data['ContainerID']); - } elseif (\array_key_exists('ContainerID', $data) && null === $data['ContainerID']) { - $object->setContainerID(null); - } - if (\array_key_exists('Pid', $data) && null !== $data['Pid']) { - $object->setPid($data['Pid']); - unset($data['Pid']); - } elseif (\array_key_exists('Pid', $data) && null === $data['Pid']) { - $object->setPid(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('canRemove') && null !== $data->getCanRemove()) { - $dataArray['CanRemove'] = $data->getCanRemove(); - } - if ($data->isInitialized('detachKeys') && null !== $data->getDetachKeys()) { - $dataArray['DetachKeys'] = $data->getDetachKeys(); - } - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('running') && null !== $data->getRunning()) { - $dataArray['Running'] = $data->getRunning(); - } - if ($data->isInitialized('exitCode') && null !== $data->getExitCode()) { - $dataArray['ExitCode'] = $data->getExitCode(); - } - if ($data->isInitialized('processConfig') && null !== $data->getProcessConfig()) { - $dataArray['ProcessConfig'] = $this->normalizer->normalize($data->getProcessConfig(), 'json', $context); - } - if ($data->isInitialized('openStdin') && null !== $data->getOpenStdin()) { - $dataArray['OpenStdin'] = $data->getOpenStdin(); - } - if ($data->isInitialized('openStderr') && null !== $data->getOpenStderr()) { - $dataArray['OpenStderr'] = $data->getOpenStderr(); - } - if ($data->isInitialized('openStdout') && null !== $data->getOpenStdout()) { - $dataArray['OpenStdout'] = $data->getOpenStdout(); - } - if ($data->isInitialized('containerID') && null !== $data->getContainerID()) { - $dataArray['ContainerID'] = $data->getContainerID(); - } - if ($data->isInitialized('pid') && null !== $data->getPid()) { - $dataArray['Pid'] = $data->getPid(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ExecIdJsonGetResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ExecIdStartPostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ExecIdStartPostBodyNormalizer.php deleted file mode 100644 index 3237e1b04..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ExecIdStartPostBodyNormalizer.php +++ /dev/null @@ -1,112 +0,0 @@ -setDetach($data['Detach']); - unset($data['Detach']); - } elseif (\array_key_exists('Detach', $data) && null === $data['Detach']) { - $object->setDetach(null); - } - if (\array_key_exists('Tty', $data) && null !== $data['Tty']) { - $object->setTty($data['Tty']); - unset($data['Tty']); - } elseif (\array_key_exists('Tty', $data) && null === $data['Tty']) { - $object->setTty(null); - } - if (\array_key_exists('ConsoleSize', $data) && null !== $data['ConsoleSize']) { - $values = []; - foreach ($data['ConsoleSize'] as $value) { - $values[] = $value; - } - $object->setConsoleSize($values); - unset($data['ConsoleSize']); - } elseif (\array_key_exists('ConsoleSize', $data) && null === $data['ConsoleSize']) { - $object->setConsoleSize(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('detach') && null !== $data->getDetach()) { - $dataArray['Detach'] = $data->getDetach(); - } - if ($data->isInitialized('tty') && null !== $data->getTty()) { - $dataArray['Tty'] = $data->getTty(); - } - if ($data->isInitialized('consoleSize') && null !== $data->getConsoleSize()) { - $values = []; - foreach ($data->getConsoleSize() as $value) { - $values[] = $value; - } - $dataArray['ConsoleSize'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ExecIdStartPostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/FilesystemChangeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/FilesystemChangeNormalizer.php deleted file mode 100644 index 376b2b391..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/FilesystemChangeNormalizer.php +++ /dev/null @@ -1,85 +0,0 @@ -setPath($data['Path']); - unset($data['Path']); - } elseif (\array_key_exists('Path', $data) && null === $data['Path']) { - $object->setPath(null); - } - if (\array_key_exists('Kind', $data) && null !== $data['Kind']) { - $object->setKind($data['Kind']); - unset($data['Kind']); - } elseif (\array_key_exists('Kind', $data) && null === $data['Kind']) { - $object->setKind(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Path'] = $data->getPath(); - $dataArray['Kind'] = $data->getKind(); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\FilesystemChange::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemDiscreteResourceSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemDiscreteResourceSpecNormalizer.php deleted file mode 100644 index bcbc9a5f8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemDiscreteResourceSpecNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setKind($data['Kind']); - unset($data['Kind']); - } elseif (\array_key_exists('Kind', $data) && null === $data['Kind']) { - $object->setKind(null); - } - if (\array_key_exists('Value', $data) && null !== $data['Value']) { - $object->setValue($data['Value']); - unset($data['Value']); - } elseif (\array_key_exists('Value', $data) && null === $data['Value']) { - $object->setValue(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('kind') && null !== $data->getKind()) { - $dataArray['Kind'] = $data->getKind(); - } - if ($data->isInitialized('value') && null !== $data->getValue()) { - $dataArray['Value'] = $data->getValue(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\GenericResourcesItemDiscreteResourceSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemNamedResourceSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemNamedResourceSpecNormalizer.php deleted file mode 100644 index e32828480..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemNamedResourceSpecNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setKind($data['Kind']); - unset($data['Kind']); - } elseif (\array_key_exists('Kind', $data) && null === $data['Kind']) { - $object->setKind(null); - } - if (\array_key_exists('Value', $data) && null !== $data['Value']) { - $object->setValue($data['Value']); - unset($data['Value']); - } elseif (\array_key_exists('Value', $data) && null === $data['Value']) { - $object->setValue(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('kind') && null !== $data->getKind()) { - $dataArray['Kind'] = $data->getKind(); - } - if ($data->isInitialized('value') && null !== $data->getValue()) { - $dataArray['Value'] = $data->getValue(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\GenericResourcesItemNamedResourceSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemNormalizer.php deleted file mode 100644 index c92fe7b87..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/GenericResourcesItemNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setNamedResourceSpec($this->denormalizer->denormalize($data['NamedResourceSpec'], \Docker\API\Model\GenericResourcesItemNamedResourceSpec::class, 'json', $context)); - unset($data['NamedResourceSpec']); - } elseif (\array_key_exists('NamedResourceSpec', $data) && null === $data['NamedResourceSpec']) { - $object->setNamedResourceSpec(null); - } - if (\array_key_exists('DiscreteResourceSpec', $data) && null !== $data['DiscreteResourceSpec']) { - $object->setDiscreteResourceSpec($this->denormalizer->denormalize($data['DiscreteResourceSpec'], \Docker\API\Model\GenericResourcesItemDiscreteResourceSpec::class, 'json', $context)); - unset($data['DiscreteResourceSpec']); - } elseif (\array_key_exists('DiscreteResourceSpec', $data) && null === $data['DiscreteResourceSpec']) { - $object->setDiscreteResourceSpec(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('namedResourceSpec') && null !== $data->getNamedResourceSpec()) { - $dataArray['NamedResourceSpec'] = $this->normalizer->normalize($data->getNamedResourceSpec(), 'json', $context); - } - if ($data->isInitialized('discreteResourceSpec') && null !== $data->getDiscreteResourceSpec()) { - $dataArray['DiscreteResourceSpec'] = $this->normalizer->normalize($data->getDiscreteResourceSpec(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\GenericResourcesItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/GraphDriverDataNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/GraphDriverDataNormalizer.php deleted file mode 100644 index 5dd947030..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/GraphDriverDataNormalizer.php +++ /dev/null @@ -1,93 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Data', $data) && null !== $data['Data']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Data'] as $key => $value) { - $values[$key] = $value; - } - $object->setData($values); - unset($data['Data']); - } elseif (\array_key_exists('Data', $data) && null === $data['Data']) { - $object->setData(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - $values = []; - foreach ($data->getData() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Data'] = $values; - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\GraphDriverData::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthConfigNormalizer.php deleted file mode 100644 index 6aedbc764..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthConfigNormalizer.php +++ /dev/null @@ -1,133 +0,0 @@ -setTest($values); - unset($data['Test']); - } elseif (\array_key_exists('Test', $data) && null === $data['Test']) { - $object->setTest(null); - } - if (\array_key_exists('Interval', $data) && null !== $data['Interval']) { - $object->setInterval($data['Interval']); - unset($data['Interval']); - } elseif (\array_key_exists('Interval', $data) && null === $data['Interval']) { - $object->setInterval(null); - } - if (\array_key_exists('Timeout', $data) && null !== $data['Timeout']) { - $object->setTimeout($data['Timeout']); - unset($data['Timeout']); - } elseif (\array_key_exists('Timeout', $data) && null === $data['Timeout']) { - $object->setTimeout(null); - } - if (\array_key_exists('Retries', $data) && null !== $data['Retries']) { - $object->setRetries($data['Retries']); - unset($data['Retries']); - } elseif (\array_key_exists('Retries', $data) && null === $data['Retries']) { - $object->setRetries(null); - } - if (\array_key_exists('StartPeriod', $data) && null !== $data['StartPeriod']) { - $object->setStartPeriod($data['StartPeriod']); - unset($data['StartPeriod']); - } elseif (\array_key_exists('StartPeriod', $data) && null === $data['StartPeriod']) { - $object->setStartPeriod(null); - } - if (\array_key_exists('StartInterval', $data) && null !== $data['StartInterval']) { - $object->setStartInterval($data['StartInterval']); - unset($data['StartInterval']); - } elseif (\array_key_exists('StartInterval', $data) && null === $data['StartInterval']) { - $object->setStartInterval(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('test') && null !== $data->getTest()) { - $values = []; - foreach ($data->getTest() as $value) { - $values[] = $value; - } - $dataArray['Test'] = $values; - } - if ($data->isInitialized('interval') && null !== $data->getInterval()) { - $dataArray['Interval'] = $data->getInterval(); - } - if ($data->isInitialized('timeout') && null !== $data->getTimeout()) { - $dataArray['Timeout'] = $data->getTimeout(); - } - if ($data->isInitialized('retries') && null !== $data->getRetries()) { - $dataArray['Retries'] = $data->getRetries(); - } - if ($data->isInitialized('startPeriod') && null !== $data->getStartPeriod()) { - $dataArray['StartPeriod'] = $data->getStartPeriod(); - } - if ($data->isInitialized('startInterval') && null !== $data->getStartInterval()) { - $dataArray['StartInterval'] = $data->getStartInterval(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\HealthConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthNormalizer.php deleted file mode 100644 index e9d7fa069..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthNormalizer.php +++ /dev/null @@ -1,106 +0,0 @@ -setStatus($data['Status']); - unset($data['Status']); - } elseif (\array_key_exists('Status', $data) && null === $data['Status']) { - $object->setStatus(null); - } - if (\array_key_exists('FailingStreak', $data) && null !== $data['FailingStreak']) { - $object->setFailingStreak($data['FailingStreak']); - unset($data['FailingStreak']); - } elseif (\array_key_exists('FailingStreak', $data) && null === $data['FailingStreak']) { - $object->setFailingStreak(null); - } - if (\array_key_exists('Log', $data) && null !== $data['Log']) { - $values = []; - foreach ($data['Log'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\HealthcheckResult::class, 'json', $context); - } - $object->setLog($values); - unset($data['Log']); - } elseif (\array_key_exists('Log', $data) && null === $data['Log']) { - $object->setLog(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $dataArray['Status'] = $data->getStatus(); - } - if ($data->isInitialized('failingStreak') && null !== $data->getFailingStreak()) { - $dataArray['FailingStreak'] = $data->getFailingStreak(); - } - if ($data->isInitialized('log') && null !== $data->getLog()) { - $values = []; - foreach ($data->getLog() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Log'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Health::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthcheckResultNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthcheckResultNormalizer.php deleted file mode 100644 index b3962a2b6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HealthcheckResultNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setStart(\DateTime::createFromFormat('Y-m-d\TH:i:s.uuP', $data['Start'])); - unset($data['Start']); - } elseif (\array_key_exists('Start', $data) && null === $data['Start']) { - $object->setStart(null); - } - if (\array_key_exists('End', $data) && null !== $data['End']) { - $object->setEnd($data['End']); - unset($data['End']); - } elseif (\array_key_exists('End', $data) && null === $data['End']) { - $object->setEnd(null); - } - if (\array_key_exists('ExitCode', $data) && null !== $data['ExitCode']) { - $object->setExitCode($data['ExitCode']); - unset($data['ExitCode']); - } elseif (\array_key_exists('ExitCode', $data) && null === $data['ExitCode']) { - $object->setExitCode(null); - } - if (\array_key_exists('Output', $data) && null !== $data['Output']) { - $object->setOutput($data['Output']); - unset($data['Output']); - } elseif (\array_key_exists('Output', $data) && null === $data['Output']) { - $object->setOutput(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('start') && null !== $data->getStart()) { - $dataArray['Start'] = $data->getStart()?->format('Y-m-d\TH:i:sP'); - } - if ($data->isInitialized('end') && null !== $data->getEnd()) { - $dataArray['End'] = $data->getEnd(); - } - if ($data->isInitialized('exitCode') && null !== $data->getExitCode()) { - $dataArray['ExitCode'] = $data->getExitCode(); - } - if ($data->isInitialized('output') && null !== $data->getOutput()) { - $dataArray['Output'] = $data->getOutput(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\HealthcheckResult::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HostConfigLogConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/HostConfigLogConfigNormalizer.php deleted file mode 100644 index a0732e943..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HostConfigLogConfigNormalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('Config', $data) && null !== $data['Config']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Config'] as $key => $value) { - $values[$key] = $value; - } - $object->setConfig($values); - unset($data['Config']); - } elseif (\array_key_exists('Config', $data) && null === $data['Config']) { - $object->setConfig(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('type') && null !== $data->getType()) { - $dataArray['Type'] = $data->getType(); - } - if ($data->isInitialized('config') && null !== $data->getConfig()) { - $values = []; - foreach ($data->getConfig() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Config'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\HostConfigLogConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HostConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/HostConfigNormalizer.php deleted file mode 100644 index cbaaeaf86..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/HostConfigNormalizer.php +++ /dev/null @@ -1,959 +0,0 @@ -setCpuShares($data['CpuShares']); - unset($data['CpuShares']); - } elseif (\array_key_exists('CpuShares', $data) && null === $data['CpuShares']) { - $object->setCpuShares(null); - } - if (\array_key_exists('Memory', $data) && null !== $data['Memory']) { - $object->setMemory($data['Memory']); - unset($data['Memory']); - } elseif (\array_key_exists('Memory', $data) && null === $data['Memory']) { - $object->setMemory(null); - } - if (\array_key_exists('CgroupParent', $data) && null !== $data['CgroupParent']) { - $object->setCgroupParent($data['CgroupParent']); - unset($data['CgroupParent']); - } elseif (\array_key_exists('CgroupParent', $data) && null === $data['CgroupParent']) { - $object->setCgroupParent(null); - } - if (\array_key_exists('BlkioWeight', $data) && null !== $data['BlkioWeight']) { - $object->setBlkioWeight($data['BlkioWeight']); - unset($data['BlkioWeight']); - } elseif (\array_key_exists('BlkioWeight', $data) && null === $data['BlkioWeight']) { - $object->setBlkioWeight(null); - } - if (\array_key_exists('BlkioWeightDevice', $data) && null !== $data['BlkioWeightDevice']) { - $values = []; - foreach ($data['BlkioWeightDevice'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\ResourcesBlkioWeightDeviceItem::class, 'json', $context); - } - $object->setBlkioWeightDevice($values); - unset($data['BlkioWeightDevice']); - } elseif (\array_key_exists('BlkioWeightDevice', $data) && null === $data['BlkioWeightDevice']) { - $object->setBlkioWeightDevice(null); - } - if (\array_key_exists('BlkioDeviceReadBps', $data) && null !== $data['BlkioDeviceReadBps']) { - $values_1 = []; - foreach ($data['BlkioDeviceReadBps'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceReadBps($values_1); - unset($data['BlkioDeviceReadBps']); - } elseif (\array_key_exists('BlkioDeviceReadBps', $data) && null === $data['BlkioDeviceReadBps']) { - $object->setBlkioDeviceReadBps(null); - } - if (\array_key_exists('BlkioDeviceWriteBps', $data) && null !== $data['BlkioDeviceWriteBps']) { - $values_2 = []; - foreach ($data['BlkioDeviceWriteBps'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceWriteBps($values_2); - unset($data['BlkioDeviceWriteBps']); - } elseif (\array_key_exists('BlkioDeviceWriteBps', $data) && null === $data['BlkioDeviceWriteBps']) { - $object->setBlkioDeviceWriteBps(null); - } - if (\array_key_exists('BlkioDeviceReadIOps', $data) && null !== $data['BlkioDeviceReadIOps']) { - $values_3 = []; - foreach ($data['BlkioDeviceReadIOps'] as $value_3) { - $values_3[] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceReadIOps($values_3); - unset($data['BlkioDeviceReadIOps']); - } elseif (\array_key_exists('BlkioDeviceReadIOps', $data) && null === $data['BlkioDeviceReadIOps']) { - $object->setBlkioDeviceReadIOps(null); - } - if (\array_key_exists('BlkioDeviceWriteIOps', $data) && null !== $data['BlkioDeviceWriteIOps']) { - $values_4 = []; - foreach ($data['BlkioDeviceWriteIOps'] as $value_4) { - $values_4[] = $this->denormalizer->denormalize($value_4, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceWriteIOps($values_4); - unset($data['BlkioDeviceWriteIOps']); - } elseif (\array_key_exists('BlkioDeviceWriteIOps', $data) && null === $data['BlkioDeviceWriteIOps']) { - $object->setBlkioDeviceWriteIOps(null); - } - if (\array_key_exists('CpuPeriod', $data) && null !== $data['CpuPeriod']) { - $object->setCpuPeriod($data['CpuPeriod']); - unset($data['CpuPeriod']); - } elseif (\array_key_exists('CpuPeriod', $data) && null === $data['CpuPeriod']) { - $object->setCpuPeriod(null); - } - if (\array_key_exists('CpuQuota', $data) && null !== $data['CpuQuota']) { - $object->setCpuQuota($data['CpuQuota']); - unset($data['CpuQuota']); - } elseif (\array_key_exists('CpuQuota', $data) && null === $data['CpuQuota']) { - $object->setCpuQuota(null); - } - if (\array_key_exists('CpuRealtimePeriod', $data) && null !== $data['CpuRealtimePeriod']) { - $object->setCpuRealtimePeriod($data['CpuRealtimePeriod']); - unset($data['CpuRealtimePeriod']); - } elseif (\array_key_exists('CpuRealtimePeriod', $data) && null === $data['CpuRealtimePeriod']) { - $object->setCpuRealtimePeriod(null); - } - if (\array_key_exists('CpuRealtimeRuntime', $data) && null !== $data['CpuRealtimeRuntime']) { - $object->setCpuRealtimeRuntime($data['CpuRealtimeRuntime']); - unset($data['CpuRealtimeRuntime']); - } elseif (\array_key_exists('CpuRealtimeRuntime', $data) && null === $data['CpuRealtimeRuntime']) { - $object->setCpuRealtimeRuntime(null); - } - if (\array_key_exists('CpusetCpus', $data) && null !== $data['CpusetCpus']) { - $object->setCpusetCpus($data['CpusetCpus']); - unset($data['CpusetCpus']); - } elseif (\array_key_exists('CpusetCpus', $data) && null === $data['CpusetCpus']) { - $object->setCpusetCpus(null); - } - if (\array_key_exists('CpusetMems', $data) && null !== $data['CpusetMems']) { - $object->setCpusetMems($data['CpusetMems']); - unset($data['CpusetMems']); - } elseif (\array_key_exists('CpusetMems', $data) && null === $data['CpusetMems']) { - $object->setCpusetMems(null); - } - if (\array_key_exists('Devices', $data) && null !== $data['Devices']) { - $values_5 = []; - foreach ($data['Devices'] as $value_5) { - $values_5[] = $this->denormalizer->denormalize($value_5, \Docker\API\Model\DeviceMapping::class, 'json', $context); - } - $object->setDevices($values_5); - unset($data['Devices']); - } elseif (\array_key_exists('Devices', $data) && null === $data['Devices']) { - $object->setDevices(null); - } - if (\array_key_exists('DeviceCgroupRules', $data) && null !== $data['DeviceCgroupRules']) { - $values_6 = []; - foreach ($data['DeviceCgroupRules'] as $value_6) { - $values_6[] = $value_6; - } - $object->setDeviceCgroupRules($values_6); - unset($data['DeviceCgroupRules']); - } elseif (\array_key_exists('DeviceCgroupRules', $data) && null === $data['DeviceCgroupRules']) { - $object->setDeviceCgroupRules(null); - } - if (\array_key_exists('DeviceRequests', $data) && null !== $data['DeviceRequests']) { - $values_7 = []; - foreach ($data['DeviceRequests'] as $value_7) { - $values_7[] = $this->denormalizer->denormalize($value_7, \Docker\API\Model\DeviceRequest::class, 'json', $context); - } - $object->setDeviceRequests($values_7); - unset($data['DeviceRequests']); - } elseif (\array_key_exists('DeviceRequests', $data) && null === $data['DeviceRequests']) { - $object->setDeviceRequests(null); - } - if (\array_key_exists('KernelMemoryTCP', $data) && null !== $data['KernelMemoryTCP']) { - $object->setKernelMemoryTCP($data['KernelMemoryTCP']); - unset($data['KernelMemoryTCP']); - } elseif (\array_key_exists('KernelMemoryTCP', $data) && null === $data['KernelMemoryTCP']) { - $object->setKernelMemoryTCP(null); - } - if (\array_key_exists('MemoryReservation', $data) && null !== $data['MemoryReservation']) { - $object->setMemoryReservation($data['MemoryReservation']); - unset($data['MemoryReservation']); - } elseif (\array_key_exists('MemoryReservation', $data) && null === $data['MemoryReservation']) { - $object->setMemoryReservation(null); - } - if (\array_key_exists('MemorySwap', $data) && null !== $data['MemorySwap']) { - $object->setMemorySwap($data['MemorySwap']); - unset($data['MemorySwap']); - } elseif (\array_key_exists('MemorySwap', $data) && null === $data['MemorySwap']) { - $object->setMemorySwap(null); - } - if (\array_key_exists('MemorySwappiness', $data) && null !== $data['MemorySwappiness']) { - $object->setMemorySwappiness($data['MemorySwappiness']); - unset($data['MemorySwappiness']); - } elseif (\array_key_exists('MemorySwappiness', $data) && null === $data['MemorySwappiness']) { - $object->setMemorySwappiness(null); - } - if (\array_key_exists('NanoCpus', $data) && null !== $data['NanoCpus']) { - $object->setNanoCpus($data['NanoCpus']); - unset($data['NanoCpus']); - } elseif (\array_key_exists('NanoCpus', $data) && null === $data['NanoCpus']) { - $object->setNanoCpus(null); - } - if (\array_key_exists('OomKillDisable', $data) && null !== $data['OomKillDisable']) { - $object->setOomKillDisable($data['OomKillDisable']); - unset($data['OomKillDisable']); - } elseif (\array_key_exists('OomKillDisable', $data) && null === $data['OomKillDisable']) { - $object->setOomKillDisable(null); - } - if (\array_key_exists('Init', $data) && null !== $data['Init']) { - $object->setInit($data['Init']); - unset($data['Init']); - } elseif (\array_key_exists('Init', $data) && null === $data['Init']) { - $object->setInit(null); - } - if (\array_key_exists('PidsLimit', $data) && null !== $data['PidsLimit']) { - $object->setPidsLimit($data['PidsLimit']); - unset($data['PidsLimit']); - } elseif (\array_key_exists('PidsLimit', $data) && null === $data['PidsLimit']) { - $object->setPidsLimit(null); - } - if (\array_key_exists('Ulimits', $data) && null !== $data['Ulimits']) { - $values_8 = []; - foreach ($data['Ulimits'] as $value_8) { - $values_8[] = $this->denormalizer->denormalize($value_8, \Docker\API\Model\ResourcesUlimitsItem::class, 'json', $context); - } - $object->setUlimits($values_8); - unset($data['Ulimits']); - } elseif (\array_key_exists('Ulimits', $data) && null === $data['Ulimits']) { - $object->setUlimits(null); - } - if (\array_key_exists('CpuCount', $data) && null !== $data['CpuCount']) { - $object->setCpuCount($data['CpuCount']); - unset($data['CpuCount']); - } elseif (\array_key_exists('CpuCount', $data) && null === $data['CpuCount']) { - $object->setCpuCount(null); - } - if (\array_key_exists('CpuPercent', $data) && null !== $data['CpuPercent']) { - $object->setCpuPercent($data['CpuPercent']); - unset($data['CpuPercent']); - } elseif (\array_key_exists('CpuPercent', $data) && null === $data['CpuPercent']) { - $object->setCpuPercent(null); - } - if (\array_key_exists('IOMaximumIOps', $data) && null !== $data['IOMaximumIOps']) { - $object->setIOMaximumIOps($data['IOMaximumIOps']); - unset($data['IOMaximumIOps']); - } elseif (\array_key_exists('IOMaximumIOps', $data) && null === $data['IOMaximumIOps']) { - $object->setIOMaximumIOps(null); - } - if (\array_key_exists('IOMaximumBandwidth', $data) && null !== $data['IOMaximumBandwidth']) { - $object->setIOMaximumBandwidth($data['IOMaximumBandwidth']); - unset($data['IOMaximumBandwidth']); - } elseif (\array_key_exists('IOMaximumBandwidth', $data) && null === $data['IOMaximumBandwidth']) { - $object->setIOMaximumBandwidth(null); - } - if (\array_key_exists('Binds', $data) && null !== $data['Binds']) { - $values_9 = []; - foreach ($data['Binds'] as $value_9) { - $values_9[] = $value_9; - } - $object->setBinds($values_9); - unset($data['Binds']); - } elseif (\array_key_exists('Binds', $data) && null === $data['Binds']) { - $object->setBinds(null); - } - if (\array_key_exists('ContainerIDFile', $data) && null !== $data['ContainerIDFile']) { - $object->setContainerIDFile($data['ContainerIDFile']); - unset($data['ContainerIDFile']); - } elseif (\array_key_exists('ContainerIDFile', $data) && null === $data['ContainerIDFile']) { - $object->setContainerIDFile(null); - } - if (\array_key_exists('LogConfig', $data) && null !== $data['LogConfig']) { - $object->setLogConfig($this->denormalizer->denormalize($data['LogConfig'], \Docker\API\Model\HostConfigLogConfig::class, 'json', $context)); - unset($data['LogConfig']); - } elseif (\array_key_exists('LogConfig', $data) && null === $data['LogConfig']) { - $object->setLogConfig(null); - } - if (\array_key_exists('NetworkMode', $data) && null !== $data['NetworkMode']) { - $object->setNetworkMode($data['NetworkMode']); - unset($data['NetworkMode']); - } elseif (\array_key_exists('NetworkMode', $data) && null === $data['NetworkMode']) { - $object->setNetworkMode(null); - } - if (\array_key_exists('PortBindings', $data) && null !== $data['PortBindings']) { - $values_10 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['PortBindings'] as $key => $value_10) { - $values_11 = []; - foreach ($value_10 as $value_11) { - $values_11[] = $this->denormalizer->denormalize($value_11, \Docker\API\Model\PortBinding::class, 'json', $context); - } - $values_10[$key] = $values_11; - } - $object->setPortBindings($values_10); - unset($data['PortBindings']); - } elseif (\array_key_exists('PortBindings', $data) && null === $data['PortBindings']) { - $object->setPortBindings(null); - } - if (\array_key_exists('RestartPolicy', $data) && null !== $data['RestartPolicy']) { - $object->setRestartPolicy($this->denormalizer->denormalize($data['RestartPolicy'], \Docker\API\Model\RestartPolicy::class, 'json', $context)); - unset($data['RestartPolicy']); - } elseif (\array_key_exists('RestartPolicy', $data) && null === $data['RestartPolicy']) { - $object->setRestartPolicy(null); - } - if (\array_key_exists('AutoRemove', $data) && null !== $data['AutoRemove']) { - $object->setAutoRemove($data['AutoRemove']); - unset($data['AutoRemove']); - } elseif (\array_key_exists('AutoRemove', $data) && null === $data['AutoRemove']) { - $object->setAutoRemove(null); - } - if (\array_key_exists('VolumeDriver', $data) && null !== $data['VolumeDriver']) { - $object->setVolumeDriver($data['VolumeDriver']); - unset($data['VolumeDriver']); - } elseif (\array_key_exists('VolumeDriver', $data) && null === $data['VolumeDriver']) { - $object->setVolumeDriver(null); - } - if (\array_key_exists('VolumesFrom', $data) && null !== $data['VolumesFrom']) { - $values_12 = []; - foreach ($data['VolumesFrom'] as $value_12) { - $values_12[] = $value_12; - } - $object->setVolumesFrom($values_12); - unset($data['VolumesFrom']); - } elseif (\array_key_exists('VolumesFrom', $data) && null === $data['VolumesFrom']) { - $object->setVolumesFrom(null); - } - if (\array_key_exists('Mounts', $data) && null !== $data['Mounts']) { - $values_13 = []; - foreach ($data['Mounts'] as $value_13) { - $values_13[] = $this->denormalizer->denormalize($value_13, \Docker\API\Model\Mount::class, 'json', $context); - } - $object->setMounts($values_13); - unset($data['Mounts']); - } elseif (\array_key_exists('Mounts', $data) && null === $data['Mounts']) { - $object->setMounts(null); - } - if (\array_key_exists('ConsoleSize', $data) && null !== $data['ConsoleSize']) { - $values_14 = []; - foreach ($data['ConsoleSize'] as $value_14) { - $values_14[] = $value_14; - } - $object->setConsoleSize($values_14); - unset($data['ConsoleSize']); - } elseif (\array_key_exists('ConsoleSize', $data) && null === $data['ConsoleSize']) { - $object->setConsoleSize(null); - } - if (\array_key_exists('Annotations', $data) && null !== $data['Annotations']) { - $values_15 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Annotations'] as $key_1 => $value_15) { - $values_15[$key_1] = $value_15; - } - $object->setAnnotations($values_15); - unset($data['Annotations']); - } elseif (\array_key_exists('Annotations', $data) && null === $data['Annotations']) { - $object->setAnnotations(null); - } - if (\array_key_exists('CapAdd', $data) && null !== $data['CapAdd']) { - $values_16 = []; - foreach ($data['CapAdd'] as $value_16) { - $values_16[] = $value_16; - } - $object->setCapAdd($values_16); - unset($data['CapAdd']); - } elseif (\array_key_exists('CapAdd', $data) && null === $data['CapAdd']) { - $object->setCapAdd(null); - } - if (\array_key_exists('CapDrop', $data) && null !== $data['CapDrop']) { - $values_17 = []; - foreach ($data['CapDrop'] as $value_17) { - $values_17[] = $value_17; - } - $object->setCapDrop($values_17); - unset($data['CapDrop']); - } elseif (\array_key_exists('CapDrop', $data) && null === $data['CapDrop']) { - $object->setCapDrop(null); - } - if (\array_key_exists('CgroupnsMode', $data) && null !== $data['CgroupnsMode']) { - $object->setCgroupnsMode($data['CgroupnsMode']); - unset($data['CgroupnsMode']); - } elseif (\array_key_exists('CgroupnsMode', $data) && null === $data['CgroupnsMode']) { - $object->setCgroupnsMode(null); - } - if (\array_key_exists('Dns', $data) && null !== $data['Dns']) { - $values_18 = []; - foreach ($data['Dns'] as $value_18) { - $values_18[] = $value_18; - } - $object->setDns($values_18); - unset($data['Dns']); - } elseif (\array_key_exists('Dns', $data) && null === $data['Dns']) { - $object->setDns(null); - } - if (\array_key_exists('DnsOptions', $data) && null !== $data['DnsOptions']) { - $values_19 = []; - foreach ($data['DnsOptions'] as $value_19) { - $values_19[] = $value_19; - } - $object->setDnsOptions($values_19); - unset($data['DnsOptions']); - } elseif (\array_key_exists('DnsOptions', $data) && null === $data['DnsOptions']) { - $object->setDnsOptions(null); - } - if (\array_key_exists('DnsSearch', $data) && null !== $data['DnsSearch']) { - $values_20 = []; - foreach ($data['DnsSearch'] as $value_20) { - $values_20[] = $value_20; - } - $object->setDnsSearch($values_20); - unset($data['DnsSearch']); - } elseif (\array_key_exists('DnsSearch', $data) && null === $data['DnsSearch']) { - $object->setDnsSearch(null); - } - if (\array_key_exists('ExtraHosts', $data) && null !== $data['ExtraHosts']) { - $values_21 = []; - foreach ($data['ExtraHosts'] as $value_21) { - $values_21[] = $value_21; - } - $object->setExtraHosts($values_21); - unset($data['ExtraHosts']); - } elseif (\array_key_exists('ExtraHosts', $data) && null === $data['ExtraHosts']) { - $object->setExtraHosts(null); - } - if (\array_key_exists('GroupAdd', $data) && null !== $data['GroupAdd']) { - $values_22 = []; - foreach ($data['GroupAdd'] as $value_22) { - $values_22[] = $value_22; - } - $object->setGroupAdd($values_22); - unset($data['GroupAdd']); - } elseif (\array_key_exists('GroupAdd', $data) && null === $data['GroupAdd']) { - $object->setGroupAdd(null); - } - if (\array_key_exists('IpcMode', $data) && null !== $data['IpcMode']) { - $object->setIpcMode($data['IpcMode']); - unset($data['IpcMode']); - } elseif (\array_key_exists('IpcMode', $data) && null === $data['IpcMode']) { - $object->setIpcMode(null); - } - if (\array_key_exists('Cgroup', $data) && null !== $data['Cgroup']) { - $object->setCgroup($data['Cgroup']); - unset($data['Cgroup']); - } elseif (\array_key_exists('Cgroup', $data) && null === $data['Cgroup']) { - $object->setCgroup(null); - } - if (\array_key_exists('Links', $data) && null !== $data['Links']) { - $values_23 = []; - foreach ($data['Links'] as $value_23) { - $values_23[] = $value_23; - } - $object->setLinks($values_23); - unset($data['Links']); - } elseif (\array_key_exists('Links', $data) && null === $data['Links']) { - $object->setLinks(null); - } - if (\array_key_exists('OomScoreAdj', $data) && null !== $data['OomScoreAdj']) { - $object->setOomScoreAdj($data['OomScoreAdj']); - unset($data['OomScoreAdj']); - } elseif (\array_key_exists('OomScoreAdj', $data) && null === $data['OomScoreAdj']) { - $object->setOomScoreAdj(null); - } - if (\array_key_exists('PidMode', $data) && null !== $data['PidMode']) { - $object->setPidMode($data['PidMode']); - unset($data['PidMode']); - } elseif (\array_key_exists('PidMode', $data) && null === $data['PidMode']) { - $object->setPidMode(null); - } - if (\array_key_exists('Privileged', $data) && null !== $data['Privileged']) { - $object->setPrivileged($data['Privileged']); - unset($data['Privileged']); - } elseif (\array_key_exists('Privileged', $data) && null === $data['Privileged']) { - $object->setPrivileged(null); - } - if (\array_key_exists('PublishAllPorts', $data) && null !== $data['PublishAllPorts']) { - $object->setPublishAllPorts($data['PublishAllPorts']); - unset($data['PublishAllPorts']); - } elseif (\array_key_exists('PublishAllPorts', $data) && null === $data['PublishAllPorts']) { - $object->setPublishAllPorts(null); - } - if (\array_key_exists('ReadonlyRootfs', $data) && null !== $data['ReadonlyRootfs']) { - $object->setReadonlyRootfs($data['ReadonlyRootfs']); - unset($data['ReadonlyRootfs']); - } elseif (\array_key_exists('ReadonlyRootfs', $data) && null === $data['ReadonlyRootfs']) { - $object->setReadonlyRootfs(null); - } - if (\array_key_exists('SecurityOpt', $data) && null !== $data['SecurityOpt']) { - $values_24 = []; - foreach ($data['SecurityOpt'] as $value_24) { - $values_24[] = $value_24; - } - $object->setSecurityOpt($values_24); - unset($data['SecurityOpt']); - } elseif (\array_key_exists('SecurityOpt', $data) && null === $data['SecurityOpt']) { - $object->setSecurityOpt(null); - } - if (\array_key_exists('StorageOpt', $data) && null !== $data['StorageOpt']) { - $values_25 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['StorageOpt'] as $key_2 => $value_25) { - $values_25[$key_2] = $value_25; - } - $object->setStorageOpt($values_25); - unset($data['StorageOpt']); - } elseif (\array_key_exists('StorageOpt', $data) && null === $data['StorageOpt']) { - $object->setStorageOpt(null); - } - if (\array_key_exists('Tmpfs', $data) && null !== $data['Tmpfs']) { - $values_26 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Tmpfs'] as $key_3 => $value_26) { - $values_26[$key_3] = $value_26; - } - $object->setTmpfs($values_26); - unset($data['Tmpfs']); - } elseif (\array_key_exists('Tmpfs', $data) && null === $data['Tmpfs']) { - $object->setTmpfs(null); - } - if (\array_key_exists('UTSMode', $data) && null !== $data['UTSMode']) { - $object->setUTSMode($data['UTSMode']); - unset($data['UTSMode']); - } elseif (\array_key_exists('UTSMode', $data) && null === $data['UTSMode']) { - $object->setUTSMode(null); - } - if (\array_key_exists('UsernsMode', $data) && null !== $data['UsernsMode']) { - $object->setUsernsMode($data['UsernsMode']); - unset($data['UsernsMode']); - } elseif (\array_key_exists('UsernsMode', $data) && null === $data['UsernsMode']) { - $object->setUsernsMode(null); - } - if (\array_key_exists('ShmSize', $data) && null !== $data['ShmSize']) { - $object->setShmSize($data['ShmSize']); - unset($data['ShmSize']); - } elseif (\array_key_exists('ShmSize', $data) && null === $data['ShmSize']) { - $object->setShmSize(null); - } - if (\array_key_exists('Sysctls', $data) && null !== $data['Sysctls']) { - $values_27 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Sysctls'] as $key_4 => $value_27) { - $values_27[$key_4] = $value_27; - } - $object->setSysctls($values_27); - unset($data['Sysctls']); - } elseif (\array_key_exists('Sysctls', $data) && null === $data['Sysctls']) { - $object->setSysctls(null); - } - if (\array_key_exists('Runtime', $data) && null !== $data['Runtime']) { - $object->setRuntime($data['Runtime']); - unset($data['Runtime']); - } elseif (\array_key_exists('Runtime', $data) && null === $data['Runtime']) { - $object->setRuntime(null); - } - if (\array_key_exists('Isolation', $data) && null !== $data['Isolation']) { - $object->setIsolation($data['Isolation']); - unset($data['Isolation']); - } elseif (\array_key_exists('Isolation', $data) && null === $data['Isolation']) { - $object->setIsolation(null); - } - if (\array_key_exists('MaskedPaths', $data) && null !== $data['MaskedPaths']) { - $values_28 = []; - foreach ($data['MaskedPaths'] as $value_28) { - $values_28[] = $value_28; - } - $object->setMaskedPaths($values_28); - unset($data['MaskedPaths']); - } elseif (\array_key_exists('MaskedPaths', $data) && null === $data['MaskedPaths']) { - $object->setMaskedPaths(null); - } - if (\array_key_exists('ReadonlyPaths', $data) && null !== $data['ReadonlyPaths']) { - $values_29 = []; - foreach ($data['ReadonlyPaths'] as $value_29) { - $values_29[] = $value_29; - } - $object->setReadonlyPaths($values_29); - unset($data['ReadonlyPaths']); - } elseif (\array_key_exists('ReadonlyPaths', $data) && null === $data['ReadonlyPaths']) { - $object->setReadonlyPaths(null); - } - foreach ($data as $key_5 => $value_30) { - if (preg_match('/.*/', (string) $key_5)) { - $object[$key_5] = $value_30; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('cpuShares') && null !== $data->getCpuShares()) { - $dataArray['CpuShares'] = $data->getCpuShares(); - } - if ($data->isInitialized('memory') && null !== $data->getMemory()) { - $dataArray['Memory'] = $data->getMemory(); - } - if ($data->isInitialized('cgroupParent') && null !== $data->getCgroupParent()) { - $dataArray['CgroupParent'] = $data->getCgroupParent(); - } - if ($data->isInitialized('blkioWeight') && null !== $data->getBlkioWeight()) { - $dataArray['BlkioWeight'] = $data->getBlkioWeight(); - } - if ($data->isInitialized('blkioWeightDevice') && null !== $data->getBlkioWeightDevice()) { - $values = []; - foreach ($data->getBlkioWeightDevice() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['BlkioWeightDevice'] = $values; - } - if ($data->isInitialized('blkioDeviceReadBps') && null !== $data->getBlkioDeviceReadBps()) { - $values_1 = []; - foreach ($data->getBlkioDeviceReadBps() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['BlkioDeviceReadBps'] = $values_1; - } - if ($data->isInitialized('blkioDeviceWriteBps') && null !== $data->getBlkioDeviceWriteBps()) { - $values_2 = []; - foreach ($data->getBlkioDeviceWriteBps() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['BlkioDeviceWriteBps'] = $values_2; - } - if ($data->isInitialized('blkioDeviceReadIOps') && null !== $data->getBlkioDeviceReadIOps()) { - $values_3 = []; - foreach ($data->getBlkioDeviceReadIOps() as $value_3) { - $values_3[] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['BlkioDeviceReadIOps'] = $values_3; - } - if ($data->isInitialized('blkioDeviceWriteIOps') && null !== $data->getBlkioDeviceWriteIOps()) { - $values_4 = []; - foreach ($data->getBlkioDeviceWriteIOps() as $value_4) { - $values_4[] = $this->normalizer->normalize($value_4, 'json', $context); - } - $dataArray['BlkioDeviceWriteIOps'] = $values_4; - } - if ($data->isInitialized('cpuPeriod') && null !== $data->getCpuPeriod()) { - $dataArray['CpuPeriod'] = $data->getCpuPeriod(); - } - if ($data->isInitialized('cpuQuota') && null !== $data->getCpuQuota()) { - $dataArray['CpuQuota'] = $data->getCpuQuota(); - } - if ($data->isInitialized('cpuRealtimePeriod') && null !== $data->getCpuRealtimePeriod()) { - $dataArray['CpuRealtimePeriod'] = $data->getCpuRealtimePeriod(); - } - if ($data->isInitialized('cpuRealtimeRuntime') && null !== $data->getCpuRealtimeRuntime()) { - $dataArray['CpuRealtimeRuntime'] = $data->getCpuRealtimeRuntime(); - } - if ($data->isInitialized('cpusetCpus') && null !== $data->getCpusetCpus()) { - $dataArray['CpusetCpus'] = $data->getCpusetCpus(); - } - if ($data->isInitialized('cpusetMems') && null !== $data->getCpusetMems()) { - $dataArray['CpusetMems'] = $data->getCpusetMems(); - } - if ($data->isInitialized('devices') && null !== $data->getDevices()) { - $values_5 = []; - foreach ($data->getDevices() as $value_5) { - $values_5[] = $this->normalizer->normalize($value_5, 'json', $context); - } - $dataArray['Devices'] = $values_5; - } - if ($data->isInitialized('deviceCgroupRules') && null !== $data->getDeviceCgroupRules()) { - $values_6 = []; - foreach ($data->getDeviceCgroupRules() as $value_6) { - $values_6[] = $value_6; - } - $dataArray['DeviceCgroupRules'] = $values_6; - } - if ($data->isInitialized('deviceRequests') && null !== $data->getDeviceRequests()) { - $values_7 = []; - foreach ($data->getDeviceRequests() as $value_7) { - $values_7[] = $this->normalizer->normalize($value_7, 'json', $context); - } - $dataArray['DeviceRequests'] = $values_7; - } - if ($data->isInitialized('kernelMemoryTCP') && null !== $data->getKernelMemoryTCP()) { - $dataArray['KernelMemoryTCP'] = $data->getKernelMemoryTCP(); - } - if ($data->isInitialized('memoryReservation') && null !== $data->getMemoryReservation()) { - $dataArray['MemoryReservation'] = $data->getMemoryReservation(); - } - if ($data->isInitialized('memorySwap') && null !== $data->getMemorySwap()) { - $dataArray['MemorySwap'] = $data->getMemorySwap(); - } - if ($data->isInitialized('memorySwappiness') && null !== $data->getMemorySwappiness()) { - $dataArray['MemorySwappiness'] = $data->getMemorySwappiness(); - } - if ($data->isInitialized('nanoCpus') && null !== $data->getNanoCpus()) { - $dataArray['NanoCpus'] = $data->getNanoCpus(); - } - if ($data->isInitialized('oomKillDisable') && null !== $data->getOomKillDisable()) { - $dataArray['OomKillDisable'] = $data->getOomKillDisable(); - } - if ($data->isInitialized('init') && null !== $data->getInit()) { - $dataArray['Init'] = $data->getInit(); - } - if ($data->isInitialized('pidsLimit') && null !== $data->getPidsLimit()) { - $dataArray['PidsLimit'] = $data->getPidsLimit(); - } - if ($data->isInitialized('ulimits') && null !== $data->getUlimits()) { - $values_8 = []; - foreach ($data->getUlimits() as $value_8) { - $values_8[] = $this->normalizer->normalize($value_8, 'json', $context); - } - $dataArray['Ulimits'] = $values_8; - } - if ($data->isInitialized('cpuCount') && null !== $data->getCpuCount()) { - $dataArray['CpuCount'] = $data->getCpuCount(); - } - if ($data->isInitialized('cpuPercent') && null !== $data->getCpuPercent()) { - $dataArray['CpuPercent'] = $data->getCpuPercent(); - } - if ($data->isInitialized('iOMaximumIOps') && null !== $data->getIOMaximumIOps()) { - $dataArray['IOMaximumIOps'] = $data->getIOMaximumIOps(); - } - if ($data->isInitialized('iOMaximumBandwidth') && null !== $data->getIOMaximumBandwidth()) { - $dataArray['IOMaximumBandwidth'] = $data->getIOMaximumBandwidth(); - } - if ($data->isInitialized('binds') && null !== $data->getBinds()) { - $values_9 = []; - foreach ($data->getBinds() as $value_9) { - $values_9[] = $value_9; - } - $dataArray['Binds'] = $values_9; - } - if ($data->isInitialized('containerIDFile') && null !== $data->getContainerIDFile()) { - $dataArray['ContainerIDFile'] = $data->getContainerIDFile(); - } - if ($data->isInitialized('logConfig') && null !== $data->getLogConfig()) { - $dataArray['LogConfig'] = $this->normalizer->normalize($data->getLogConfig(), 'json', $context); - } - if ($data->isInitialized('networkMode') && null !== $data->getNetworkMode()) { - $dataArray['NetworkMode'] = $data->getNetworkMode(); - } - if ($data->isInitialized('portBindings') && null !== $data->getPortBindings()) { - $values_10 = []; - foreach ($data->getPortBindings() as $key => $value_10) { - $values_11 = []; - foreach ($value_10 as $value_11) { - $values_11[] = $this->normalizer->normalize($value_11, 'json', $context); - } - $values_10[$key] = $values_11; - } - $dataArray['PortBindings'] = $values_10; - } - if ($data->isInitialized('restartPolicy') && null !== $data->getRestartPolicy()) { - $dataArray['RestartPolicy'] = $this->normalizer->normalize($data->getRestartPolicy(), 'json', $context); - } - if ($data->isInitialized('autoRemove') && null !== $data->getAutoRemove()) { - $dataArray['AutoRemove'] = $data->getAutoRemove(); - } - if ($data->isInitialized('volumeDriver') && null !== $data->getVolumeDriver()) { - $dataArray['VolumeDriver'] = $data->getVolumeDriver(); - } - if ($data->isInitialized('volumesFrom') && null !== $data->getVolumesFrom()) { - $values_12 = []; - foreach ($data->getVolumesFrom() as $value_12) { - $values_12[] = $value_12; - } - $dataArray['VolumesFrom'] = $values_12; - } - if ($data->isInitialized('mounts') && null !== $data->getMounts()) { - $values_13 = []; - foreach ($data->getMounts() as $value_13) { - $values_13[] = $this->normalizer->normalize($value_13, 'json', $context); - } - $dataArray['Mounts'] = $values_13; - } - if ($data->isInitialized('consoleSize') && null !== $data->getConsoleSize()) { - $values_14 = []; - foreach ($data->getConsoleSize() as $value_14) { - $values_14[] = $value_14; - } - $dataArray['ConsoleSize'] = $values_14; - } - if ($data->isInitialized('annotations') && null !== $data->getAnnotations()) { - $values_15 = []; - foreach ($data->getAnnotations() as $key_1 => $value_15) { - $values_15[$key_1] = $value_15; - } - $dataArray['Annotations'] = $values_15; - } - if ($data->isInitialized('capAdd') && null !== $data->getCapAdd()) { - $values_16 = []; - foreach ($data->getCapAdd() as $value_16) { - $values_16[] = $value_16; - } - $dataArray['CapAdd'] = $values_16; - } - if ($data->isInitialized('capDrop') && null !== $data->getCapDrop()) { - $values_17 = []; - foreach ($data->getCapDrop() as $value_17) { - $values_17[] = $value_17; - } - $dataArray['CapDrop'] = $values_17; - } - if ($data->isInitialized('cgroupnsMode') && null !== $data->getCgroupnsMode()) { - $dataArray['CgroupnsMode'] = $data->getCgroupnsMode(); - } - if ($data->isInitialized('dns') && null !== $data->getDns()) { - $values_18 = []; - foreach ($data->getDns() as $value_18) { - $values_18[] = $value_18; - } - $dataArray['Dns'] = $values_18; - } - if ($data->isInitialized('dnsOptions') && null !== $data->getDnsOptions()) { - $values_19 = []; - foreach ($data->getDnsOptions() as $value_19) { - $values_19[] = $value_19; - } - $dataArray['DnsOptions'] = $values_19; - } - if ($data->isInitialized('dnsSearch') && null !== $data->getDnsSearch()) { - $values_20 = []; - foreach ($data->getDnsSearch() as $value_20) { - $values_20[] = $value_20; - } - $dataArray['DnsSearch'] = $values_20; - } - if ($data->isInitialized('extraHosts') && null !== $data->getExtraHosts()) { - $values_21 = []; - foreach ($data->getExtraHosts() as $value_21) { - $values_21[] = $value_21; - } - $dataArray['ExtraHosts'] = $values_21; - } - if ($data->isInitialized('groupAdd') && null !== $data->getGroupAdd()) { - $values_22 = []; - foreach ($data->getGroupAdd() as $value_22) { - $values_22[] = $value_22; - } - $dataArray['GroupAdd'] = $values_22; - } - if ($data->isInitialized('ipcMode') && null !== $data->getIpcMode()) { - $dataArray['IpcMode'] = $data->getIpcMode(); - } - if ($data->isInitialized('cgroup') && null !== $data->getCgroup()) { - $dataArray['Cgroup'] = $data->getCgroup(); - } - if ($data->isInitialized('links') && null !== $data->getLinks()) { - $values_23 = []; - foreach ($data->getLinks() as $value_23) { - $values_23[] = $value_23; - } - $dataArray['Links'] = $values_23; - } - if ($data->isInitialized('oomScoreAdj') && null !== $data->getOomScoreAdj()) { - $dataArray['OomScoreAdj'] = $data->getOomScoreAdj(); - } - if ($data->isInitialized('pidMode') && null !== $data->getPidMode()) { - $dataArray['PidMode'] = $data->getPidMode(); - } - if ($data->isInitialized('privileged') && null !== $data->getPrivileged()) { - $dataArray['Privileged'] = $data->getPrivileged(); - } - if ($data->isInitialized('publishAllPorts') && null !== $data->getPublishAllPorts()) { - $dataArray['PublishAllPorts'] = $data->getPublishAllPorts(); - } - if ($data->isInitialized('readonlyRootfs') && null !== $data->getReadonlyRootfs()) { - $dataArray['ReadonlyRootfs'] = $data->getReadonlyRootfs(); - } - if ($data->isInitialized('securityOpt') && null !== $data->getSecurityOpt()) { - $values_24 = []; - foreach ($data->getSecurityOpt() as $value_24) { - $values_24[] = $value_24; - } - $dataArray['SecurityOpt'] = $values_24; - } - if ($data->isInitialized('storageOpt') && null !== $data->getStorageOpt()) { - $values_25 = []; - foreach ($data->getStorageOpt() as $key_2 => $value_25) { - $values_25[$key_2] = $value_25; - } - $dataArray['StorageOpt'] = $values_25; - } - if ($data->isInitialized('tmpfs') && null !== $data->getTmpfs()) { - $values_26 = []; - foreach ($data->getTmpfs() as $key_3 => $value_26) { - $values_26[$key_3] = $value_26; - } - $dataArray['Tmpfs'] = $values_26; - } - if ($data->isInitialized('uTSMode') && null !== $data->getUTSMode()) { - $dataArray['UTSMode'] = $data->getUTSMode(); - } - if ($data->isInitialized('usernsMode') && null !== $data->getUsernsMode()) { - $dataArray['UsernsMode'] = $data->getUsernsMode(); - } - if ($data->isInitialized('shmSize') && null !== $data->getShmSize()) { - $dataArray['ShmSize'] = $data->getShmSize(); - } - if ($data->isInitialized('sysctls') && null !== $data->getSysctls()) { - $values_27 = []; - foreach ($data->getSysctls() as $key_4 => $value_27) { - $values_27[$key_4] = $value_27; - } - $dataArray['Sysctls'] = $values_27; - } - if ($data->isInitialized('runtime') && null !== $data->getRuntime()) { - $dataArray['Runtime'] = $data->getRuntime(); - } - if ($data->isInitialized('isolation') && null !== $data->getIsolation()) { - $dataArray['Isolation'] = $data->getIsolation(); - } - if ($data->isInitialized('maskedPaths') && null !== $data->getMaskedPaths()) { - $values_28 = []; - foreach ($data->getMaskedPaths() as $value_28) { - $values_28[] = $value_28; - } - $dataArray['MaskedPaths'] = $values_28; - } - if ($data->isInitialized('readonlyPaths') && null !== $data->getReadonlyPaths()) { - $values_29 = []; - foreach ($data->getReadonlyPaths() as $value_29) { - $values_29[] = $value_29; - } - $dataArray['ReadonlyPaths'] = $values_29; - } - foreach ($data as $key_5 => $value_30) { - if (preg_match('/.*/', (string) $key_5)) { - $dataArray[$key_5] = $value_30; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\HostConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/IPAMConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/IPAMConfigNormalizer.php deleted file mode 100644 index 97eada1c1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/IPAMConfigNormalizer.php +++ /dev/null @@ -1,115 +0,0 @@ -setSubnet($data['Subnet']); - unset($data['Subnet']); - } elseif (\array_key_exists('Subnet', $data) && null === $data['Subnet']) { - $object->setSubnet(null); - } - if (\array_key_exists('IPRange', $data) && null !== $data['IPRange']) { - $object->setIPRange($data['IPRange']); - unset($data['IPRange']); - } elseif (\array_key_exists('IPRange', $data) && null === $data['IPRange']) { - $object->setIPRange(null); - } - if (\array_key_exists('Gateway', $data) && null !== $data['Gateway']) { - $object->setGateway($data['Gateway']); - unset($data['Gateway']); - } elseif (\array_key_exists('Gateway', $data) && null === $data['Gateway']) { - $object->setGateway(null); - } - if (\array_key_exists('AuxiliaryAddresses', $data) && null !== $data['AuxiliaryAddresses']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['AuxiliaryAddresses'] as $key => $value) { - $values[$key] = $value; - } - $object->setAuxiliaryAddresses($values); - unset($data['AuxiliaryAddresses']); - } elseif (\array_key_exists('AuxiliaryAddresses', $data) && null === $data['AuxiliaryAddresses']) { - $object->setAuxiliaryAddresses(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('subnet') && null !== $data->getSubnet()) { - $dataArray['Subnet'] = $data->getSubnet(); - } - if ($data->isInitialized('iPRange') && null !== $data->getIPRange()) { - $dataArray['IPRange'] = $data->getIPRange(); - } - if ($data->isInitialized('gateway') && null !== $data->getGateway()) { - $dataArray['Gateway'] = $data->getGateway(); - } - if ($data->isInitialized('auxiliaryAddresses') && null !== $data->getAuxiliaryAddresses()) { - $values = []; - foreach ($data->getAuxiliaryAddresses() as $key => $value) { - $values[$key] = $value; - } - $dataArray['AuxiliaryAddresses'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\IPAMConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/IPAMNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/IPAMNormalizer.php deleted file mode 100644 index 7f9c3d04b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/IPAMNormalizer.php +++ /dev/null @@ -1,114 +0,0 @@ -setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('Config', $data) && null !== $data['Config']) { - $values = []; - foreach ($data['Config'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\IPAMConfig::class, 'json', $context); - } - $object->setConfig($values); - unset($data['Config']); - } elseif (\array_key_exists('Config', $data) && null === $data['Config']) { - $object->setConfig(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key => $value_1) { - $values_1[$key] = $value_1; - } - $object->setOptions($values_1); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $data->getDriver(); - } - if ($data->isInitialized('config') && null !== $data->getConfig()) { - $values = []; - foreach ($data->getConfig() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Config'] = $values; - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values_1 = []; - foreach ($data->getOptions() as $key => $value_1) { - $values_1[$key] = $value_1; - } - $dataArray['Options'] = $values_1; - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\IPAM::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/IdResponseNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/IdResponseNormalizer.php deleted file mode 100644 index eb44ba36f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/IdResponseNormalizer.php +++ /dev/null @@ -1,78 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Id'] = $data->getId(); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\IdResponse::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageDeleteResponseItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageDeleteResponseItemNormalizer.php deleted file mode 100644 index f68fdf9a7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageDeleteResponseItemNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setUntagged($data['Untagged']); - unset($data['Untagged']); - } elseif (\array_key_exists('Untagged', $data) && null === $data['Untagged']) { - $object->setUntagged(null); - } - if (\array_key_exists('Deleted', $data) && null !== $data['Deleted']) { - $object->setDeleted($data['Deleted']); - unset($data['Deleted']); - } elseif (\array_key_exists('Deleted', $data) && null === $data['Deleted']) { - $object->setDeleted(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('untagged') && null !== $data->getUntagged()) { - $dataArray['Untagged'] = $data->getUntagged(); - } - if ($data->isInitialized('deleted') && null !== $data->getDeleted()) { - $dataArray['Deleted'] = $data->getDeleted(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImageDeleteResponseItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageIDNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageIDNormalizer.php deleted file mode 100644 index 0136eb38c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageIDNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImageID::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectMetadataNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectMetadataNormalizer.php deleted file mode 100644 index 278ec3585..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectMetadataNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setLastTagTime($data['LastTagTime']); - unset($data['LastTagTime']); - } elseif (\array_key_exists('LastTagTime', $data) && null === $data['LastTagTime']) { - $object->setLastTagTime(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('lastTagTime') && null !== $data->getLastTagTime()) { - $dataArray['LastTagTime'] = $data->getLastTagTime(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImageInspectMetadata::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectNormalizer.php deleted file mode 100644 index 2a4589ab1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectNormalizer.php +++ /dev/null @@ -1,267 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('RepoTags', $data) && null !== $data['RepoTags']) { - $values = []; - foreach ($data['RepoTags'] as $value) { - $values[] = $value; - } - $object->setRepoTags($values); - unset($data['RepoTags']); - } elseif (\array_key_exists('RepoTags', $data) && null === $data['RepoTags']) { - $object->setRepoTags(null); - } - if (\array_key_exists('RepoDigests', $data) && null !== $data['RepoDigests']) { - $values_1 = []; - foreach ($data['RepoDigests'] as $value_1) { - $values_1[] = $value_1; - } - $object->setRepoDigests($values_1); - unset($data['RepoDigests']); - } elseif (\array_key_exists('RepoDigests', $data) && null === $data['RepoDigests']) { - $object->setRepoDigests(null); - } - if (\array_key_exists('Parent', $data) && null !== $data['Parent']) { - $object->setParent($data['Parent']); - unset($data['Parent']); - } elseif (\array_key_exists('Parent', $data) && null === $data['Parent']) { - $object->setParent(null); - } - if (\array_key_exists('Comment', $data) && null !== $data['Comment']) { - $object->setComment($data['Comment']); - unset($data['Comment']); - } elseif (\array_key_exists('Comment', $data) && null === $data['Comment']) { - $object->setComment(null); - } - if (\array_key_exists('Created', $data) && null !== $data['Created']) { - $object->setCreated($data['Created']); - unset($data['Created']); - } elseif (\array_key_exists('Created', $data) && null === $data['Created']) { - $object->setCreated(null); - } - if (\array_key_exists('Container', $data) && null !== $data['Container']) { - $object->setContainer($data['Container']); - unset($data['Container']); - } elseif (\array_key_exists('Container', $data) && null === $data['Container']) { - $object->setContainer(null); - } - if (\array_key_exists('ContainerConfig', $data) && null !== $data['ContainerConfig']) { - $object->setContainerConfig($this->denormalizer->denormalize($data['ContainerConfig'], \Docker\API\Model\ContainerConfig::class, 'json', $context)); - unset($data['ContainerConfig']); - } elseif (\array_key_exists('ContainerConfig', $data) && null === $data['ContainerConfig']) { - $object->setContainerConfig(null); - } - if (\array_key_exists('DockerVersion', $data) && null !== $data['DockerVersion']) { - $object->setDockerVersion($data['DockerVersion']); - unset($data['DockerVersion']); - } elseif (\array_key_exists('DockerVersion', $data) && null === $data['DockerVersion']) { - $object->setDockerVersion(null); - } - if (\array_key_exists('Author', $data) && null !== $data['Author']) { - $object->setAuthor($data['Author']); - unset($data['Author']); - } elseif (\array_key_exists('Author', $data) && null === $data['Author']) { - $object->setAuthor(null); - } - if (\array_key_exists('Config', $data) && null !== $data['Config']) { - $object->setConfig($this->denormalizer->denormalize($data['Config'], \Docker\API\Model\ContainerConfig::class, 'json', $context)); - unset($data['Config']); - } elseif (\array_key_exists('Config', $data) && null === $data['Config']) { - $object->setConfig(null); - } - if (\array_key_exists('Architecture', $data) && null !== $data['Architecture']) { - $object->setArchitecture($data['Architecture']); - unset($data['Architecture']); - } elseif (\array_key_exists('Architecture', $data) && null === $data['Architecture']) { - $object->setArchitecture(null); - } - if (\array_key_exists('Variant', $data) && null !== $data['Variant']) { - $object->setVariant($data['Variant']); - unset($data['Variant']); - } elseif (\array_key_exists('Variant', $data) && null === $data['Variant']) { - $object->setVariant(null); - } - if (\array_key_exists('Os', $data) && null !== $data['Os']) { - $object->setOs($data['Os']); - unset($data['Os']); - } elseif (\array_key_exists('Os', $data) && null === $data['Os']) { - $object->setOs(null); - } - if (\array_key_exists('OsVersion', $data) && null !== $data['OsVersion']) { - $object->setOsVersion($data['OsVersion']); - unset($data['OsVersion']); - } elseif (\array_key_exists('OsVersion', $data) && null === $data['OsVersion']) { - $object->setOsVersion(null); - } - if (\array_key_exists('Size', $data) && null !== $data['Size']) { - $object->setSize($data['Size']); - unset($data['Size']); - } elseif (\array_key_exists('Size', $data) && null === $data['Size']) { - $object->setSize(null); - } - if (\array_key_exists('VirtualSize', $data) && null !== $data['VirtualSize']) { - $object->setVirtualSize($data['VirtualSize']); - unset($data['VirtualSize']); - } elseif (\array_key_exists('VirtualSize', $data) && null === $data['VirtualSize']) { - $object->setVirtualSize(null); - } - if (\array_key_exists('GraphDriver', $data) && null !== $data['GraphDriver']) { - $object->setGraphDriver($this->denormalizer->denormalize($data['GraphDriver'], \Docker\API\Model\GraphDriverData::class, 'json', $context)); - unset($data['GraphDriver']); - } elseif (\array_key_exists('GraphDriver', $data) && null === $data['GraphDriver']) { - $object->setGraphDriver(null); - } - if (\array_key_exists('RootFS', $data) && null !== $data['RootFS']) { - $object->setRootFS($this->denormalizer->denormalize($data['RootFS'], \Docker\API\Model\ImageInspectRootFS::class, 'json', $context)); - unset($data['RootFS']); - } elseif (\array_key_exists('RootFS', $data) && null === $data['RootFS']) { - $object->setRootFS(null); - } - if (\array_key_exists('Metadata', $data) && null !== $data['Metadata']) { - $object->setMetadata($this->denormalizer->denormalize($data['Metadata'], \Docker\API\Model\ImageInspectMetadata::class, 'json', $context)); - unset($data['Metadata']); - } elseif (\array_key_exists('Metadata', $data) && null === $data['Metadata']) { - $object->setMetadata(null); - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('id') && null !== $data->getId()) { - $dataArray['Id'] = $data->getId(); - } - if ($data->isInitialized('repoTags') && null !== $data->getRepoTags()) { - $values = []; - foreach ($data->getRepoTags() as $value) { - $values[] = $value; - } - $dataArray['RepoTags'] = $values; - } - if ($data->isInitialized('repoDigests') && null !== $data->getRepoDigests()) { - $values_1 = []; - foreach ($data->getRepoDigests() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['RepoDigests'] = $values_1; - } - if ($data->isInitialized('parent') && null !== $data->getParent()) { - $dataArray['Parent'] = $data->getParent(); - } - if ($data->isInitialized('comment') && null !== $data->getComment()) { - $dataArray['Comment'] = $data->getComment(); - } - if ($data->isInitialized('created') && null !== $data->getCreated()) { - $dataArray['Created'] = $data->getCreated(); - } - if ($data->isInitialized('container') && null !== $data->getContainer()) { - $dataArray['Container'] = $data->getContainer(); - } - if ($data->isInitialized('containerConfig') && null !== $data->getContainerConfig()) { - $dataArray['ContainerConfig'] = $this->normalizer->normalize($data->getContainerConfig(), 'json', $context); - } - if ($data->isInitialized('dockerVersion') && null !== $data->getDockerVersion()) { - $dataArray['DockerVersion'] = $data->getDockerVersion(); - } - if ($data->isInitialized('author') && null !== $data->getAuthor()) { - $dataArray['Author'] = $data->getAuthor(); - } - if ($data->isInitialized('config') && null !== $data->getConfig()) { - $dataArray['Config'] = $this->normalizer->normalize($data->getConfig(), 'json', $context); - } - if ($data->isInitialized('architecture') && null !== $data->getArchitecture()) { - $dataArray['Architecture'] = $data->getArchitecture(); - } - if ($data->isInitialized('variant') && null !== $data->getVariant()) { - $dataArray['Variant'] = $data->getVariant(); - } - if ($data->isInitialized('os') && null !== $data->getOs()) { - $dataArray['Os'] = $data->getOs(); - } - if ($data->isInitialized('osVersion') && null !== $data->getOsVersion()) { - $dataArray['OsVersion'] = $data->getOsVersion(); - } - if ($data->isInitialized('size') && null !== $data->getSize()) { - $dataArray['Size'] = $data->getSize(); - } - if ($data->isInitialized('virtualSize') && null !== $data->getVirtualSize()) { - $dataArray['VirtualSize'] = $data->getVirtualSize(); - } - if ($data->isInitialized('graphDriver') && null !== $data->getGraphDriver()) { - $dataArray['GraphDriver'] = $this->normalizer->normalize($data->getGraphDriver(), 'json', $context); - } - if ($data->isInitialized('rootFS') && null !== $data->getRootFS()) { - $dataArray['RootFS'] = $this->normalizer->normalize($data->getRootFS(), 'json', $context); - } - if ($data->isInitialized('metadata') && null !== $data->getMetadata()) { - $dataArray['Metadata'] = $this->normalizer->normalize($data->getMetadata(), 'json', $context); - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImageInspect::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectRootFSNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectRootFSNormalizer.php deleted file mode 100644 index 6bfa8e6aa..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageInspectRootFSNormalizer.php +++ /dev/null @@ -1,95 +0,0 @@ -setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('Layers', $data) && null !== $data['Layers']) { - $values = []; - foreach ($data['Layers'] as $value) { - $values[] = $value; - } - $object->setLayers($values); - unset($data['Layers']); - } elseif (\array_key_exists('Layers', $data) && null === $data['Layers']) { - $object->setLayers(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Type'] = $data->getType(); - if ($data->isInitialized('layers') && null !== $data->getLayers()) { - $values = []; - foreach ($data->getLayers() as $value) { - $values[] = $value; - } - $dataArray['Layers'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImageInspectRootFS::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageSummaryNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageSummaryNormalizer.php deleted file mode 100644 index c859b864b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImageSummaryNormalizer.php +++ /dev/null @@ -1,167 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('ParentId', $data) && null !== $data['ParentId']) { - $object->setParentId($data['ParentId']); - unset($data['ParentId']); - } elseif (\array_key_exists('ParentId', $data) && null === $data['ParentId']) { - $object->setParentId(null); - } - if (\array_key_exists('RepoTags', $data) && null !== $data['RepoTags']) { - $values = []; - foreach ($data['RepoTags'] as $value) { - $values[] = $value; - } - $object->setRepoTags($values); - unset($data['RepoTags']); - } elseif (\array_key_exists('RepoTags', $data) && null === $data['RepoTags']) { - $object->setRepoTags(null); - } - if (\array_key_exists('RepoDigests', $data) && null !== $data['RepoDigests']) { - $values_1 = []; - foreach ($data['RepoDigests'] as $value_1) { - $values_1[] = $value_1; - } - $object->setRepoDigests($values_1); - unset($data['RepoDigests']); - } elseif (\array_key_exists('RepoDigests', $data) && null === $data['RepoDigests']) { - $object->setRepoDigests(null); - } - if (\array_key_exists('Created', $data) && null !== $data['Created']) { - $object->setCreated($data['Created']); - unset($data['Created']); - } elseif (\array_key_exists('Created', $data) && null === $data['Created']) { - $object->setCreated(null); - } - if (\array_key_exists('Size', $data) && null !== $data['Size']) { - $object->setSize($data['Size']); - unset($data['Size']); - } elseif (\array_key_exists('Size', $data) && null === $data['Size']) { - $object->setSize(null); - } - if (\array_key_exists('SharedSize', $data) && null !== $data['SharedSize']) { - $object->setSharedSize($data['SharedSize']); - unset($data['SharedSize']); - } elseif (\array_key_exists('SharedSize', $data) && null === $data['SharedSize']) { - $object->setSharedSize(null); - } - if (\array_key_exists('VirtualSize', $data) && null !== $data['VirtualSize']) { - $object->setVirtualSize($data['VirtualSize']); - unset($data['VirtualSize']); - } elseif (\array_key_exists('VirtualSize', $data) && null === $data['VirtualSize']) { - $object->setVirtualSize(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_2 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value_2) { - $values_2[$key] = $value_2; - } - $object->setLabels($values_2); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Containers', $data) && null !== $data['Containers']) { - $object->setContainers($data['Containers']); - unset($data['Containers']); - } elseif (\array_key_exists('Containers', $data) && null === $data['Containers']) { - $object->setContainers(null); - } - foreach ($data as $key_1 => $value_3) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Id'] = $data->getId(); - $dataArray['ParentId'] = $data->getParentId(); - $values = []; - foreach ($data->getRepoTags() as $value) { - $values[] = $value; - } - $dataArray['RepoTags'] = $values; - $values_1 = []; - foreach ($data->getRepoDigests() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['RepoDigests'] = $values_1; - $dataArray['Created'] = $data->getCreated(); - $dataArray['Size'] = $data->getSize(); - $dataArray['SharedSize'] = $data->getSharedSize(); - if ($data->isInitialized('virtualSize') && null !== $data->getVirtualSize()) { - $dataArray['VirtualSize'] = $data->getVirtualSize(); - } - $values_2 = []; - foreach ($data->getLabels() as $key => $value_2) { - $values_2[$key] = $value_2; - } - $dataArray['Labels'] = $values_2; - $dataArray['Containers'] = $data->getContainers(); - foreach ($data as $key_1 => $value_3) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImageSummary::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesNameHistoryGetResponse200ItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesNameHistoryGetResponse200ItemNormalizer.php deleted file mode 100644 index 8a5087720..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesNameHistoryGetResponse200ItemNormalizer.php +++ /dev/null @@ -1,121 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('Created', $data) && null !== $data['Created']) { - $object->setCreated($data['Created']); - unset($data['Created']); - } elseif (\array_key_exists('Created', $data) && null === $data['Created']) { - $object->setCreated(null); - } - if (\array_key_exists('CreatedBy', $data) && null !== $data['CreatedBy']) { - $object->setCreatedBy($data['CreatedBy']); - unset($data['CreatedBy']); - } elseif (\array_key_exists('CreatedBy', $data) && null === $data['CreatedBy']) { - $object->setCreatedBy(null); - } - if (\array_key_exists('Tags', $data) && null !== $data['Tags']) { - $values = []; - foreach ($data['Tags'] as $value) { - $values[] = $value; - } - $object->setTags($values); - unset($data['Tags']); - } elseif (\array_key_exists('Tags', $data) && null === $data['Tags']) { - $object->setTags(null); - } - if (\array_key_exists('Size', $data) && null !== $data['Size']) { - $object->setSize($data['Size']); - unset($data['Size']); - } elseif (\array_key_exists('Size', $data) && null === $data['Size']) { - $object->setSize(null); - } - if (\array_key_exists('Comment', $data) && null !== $data['Comment']) { - $object->setComment($data['Comment']); - unset($data['Comment']); - } elseif (\array_key_exists('Comment', $data) && null === $data['Comment']) { - $object->setComment(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Id'] = $data->getId(); - $dataArray['Created'] = $data->getCreated(); - $dataArray['CreatedBy'] = $data->getCreatedBy(); - $values = []; - foreach ($data->getTags() as $value) { - $values[] = $value; - } - $dataArray['Tags'] = $values; - $dataArray['Size'] = $data->getSize(); - $dataArray['Comment'] = $data->getComment(); - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImagesNameHistoryGetResponse200Item::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesPrunePostResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesPrunePostResponse200Normalizer.php deleted file mode 100644 index 5f8ab525b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesPrunePostResponse200Normalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -denormalizer->denormalize($value, \Docker\API\Model\ImageDeleteResponseItem::class, 'json', $context); - } - $object->setImagesDeleted($values); - unset($data['ImagesDeleted']); - } elseif (\array_key_exists('ImagesDeleted', $data) && null === $data['ImagesDeleted']) { - $object->setImagesDeleted(null); - } - if (\array_key_exists('SpaceReclaimed', $data) && null !== $data['SpaceReclaimed']) { - $object->setSpaceReclaimed($data['SpaceReclaimed']); - unset($data['SpaceReclaimed']); - } elseif (\array_key_exists('SpaceReclaimed', $data) && null === $data['SpaceReclaimed']) { - $object->setSpaceReclaimed(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('imagesDeleted') && null !== $data->getImagesDeleted()) { - $values = []; - foreach ($data->getImagesDeleted() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['ImagesDeleted'] = $values; - } - if ($data->isInitialized('spaceReclaimed') && null !== $data->getSpaceReclaimed()) { - $dataArray['SpaceReclaimed'] = $data->getSpaceReclaimed(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImagesPrunePostResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesSearchGetResponse200ItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesSearchGetResponse200ItemNormalizer.php deleted file mode 100644 index f9ae204bf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ImagesSearchGetResponse200ItemNormalizer.php +++ /dev/null @@ -1,122 +0,0 @@ -setDescription($data['description']); - unset($data['description']); - } elseif (\array_key_exists('description', $data) && null === $data['description']) { - $object->setDescription(null); - } - if (\array_key_exists('is_official', $data) && null !== $data['is_official']) { - $object->setIsOfficial($data['is_official']); - unset($data['is_official']); - } elseif (\array_key_exists('is_official', $data) && null === $data['is_official']) { - $object->setIsOfficial(null); - } - if (\array_key_exists('is_automated', $data) && null !== $data['is_automated']) { - $object->setIsAutomated($data['is_automated']); - unset($data['is_automated']); - } elseif (\array_key_exists('is_automated', $data) && null === $data['is_automated']) { - $object->setIsAutomated(null); - } - if (\array_key_exists('name', $data) && null !== $data['name']) { - $object->setName($data['name']); - unset($data['name']); - } elseif (\array_key_exists('name', $data) && null === $data['name']) { - $object->setName(null); - } - if (\array_key_exists('star_count', $data) && null !== $data['star_count']) { - $object->setStarCount($data['star_count']); - unset($data['star_count']); - } elseif (\array_key_exists('star_count', $data) && null === $data['star_count']) { - $object->setStarCount(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('description') && null !== $data->getDescription()) { - $dataArray['description'] = $data->getDescription(); - } - if ($data->isInitialized('isOfficial') && null !== $data->getIsOfficial()) { - $dataArray['is_official'] = $data->getIsOfficial(); - } - if ($data->isInitialized('isAutomated') && null !== $data->getIsAutomated()) { - $dataArray['is_automated'] = $data->getIsAutomated(); - } - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['name'] = $data->getName(); - } - if ($data->isInitialized('starCount') && null !== $data->getStarCount()) { - $dataArray['star_count'] = $data->getStarCount(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ImagesSearchGetResponse200Item::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/IndexInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/IndexInfoNormalizer.php deleted file mode 100644 index aa7ba4945..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/IndexInfoNormalizer.php +++ /dev/null @@ -1,121 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Mirrors', $data) && null !== $data['Mirrors']) { - $values = []; - foreach ($data['Mirrors'] as $value) { - $values[] = $value; - } - $object->setMirrors($values); - unset($data['Mirrors']); - } elseif (\array_key_exists('Mirrors', $data) && null === $data['Mirrors']) { - $object->setMirrors(null); - } - if (\array_key_exists('Secure', $data) && null !== $data['Secure']) { - $object->setSecure($data['Secure']); - unset($data['Secure']); - } elseif (\array_key_exists('Secure', $data) && null === $data['Secure']) { - $object->setSecure(null); - } - if (\array_key_exists('Official', $data) && null !== $data['Official']) { - $object->setOfficial($data['Official']); - unset($data['Official']); - } elseif (\array_key_exists('Official', $data) && null === $data['Official']) { - $object->setOfficial(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('mirrors') && null !== $data->getMirrors()) { - $values = []; - foreach ($data->getMirrors() as $value) { - $values[] = $value; - } - $dataArray['Mirrors'] = $values; - } - if ($data->isInitialized('secure') && null !== $data->getSecure()) { - $dataArray['Secure'] = $data->getSecure(); - } - if ($data->isInitialized('official') && null !== $data->getOfficial()) { - $dataArray['Official'] = $data->getOfficial(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\IndexInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/JaneObjectNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/JaneObjectNormalizer.php deleted file mode 100644 index efc999059..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/JaneObjectNormalizer.php +++ /dev/null @@ -1,713 +0,0 @@ - PortNormalizer::class, - - \Docker\API\Model\MountPoint::class => MountPointNormalizer::class, - - \Docker\API\Model\DeviceMapping::class => DeviceMappingNormalizer::class, - - \Docker\API\Model\DeviceRequest::class => DeviceRequestNormalizer::class, - - \Docker\API\Model\ThrottleDevice::class => ThrottleDeviceNormalizer::class, - - \Docker\API\Model\Mount::class => MountNormalizer::class, - - \Docker\API\Model\MountBindOptions::class => MountBindOptionsNormalizer::class, - - \Docker\API\Model\MountVolumeOptions::class => MountVolumeOptionsNormalizer::class, - - \Docker\API\Model\MountVolumeOptionsDriverConfig::class => MountVolumeOptionsDriverConfigNormalizer::class, - - \Docker\API\Model\MountTmpfsOptions::class => MountTmpfsOptionsNormalizer::class, - - \Docker\API\Model\RestartPolicy::class => RestartPolicyNormalizer::class, - - \Docker\API\Model\Resources::class => ResourcesNormalizer::class, - - \Docker\API\Model\ResourcesBlkioWeightDeviceItem::class => ResourcesBlkioWeightDeviceItemNormalizer::class, - - \Docker\API\Model\ResourcesUlimitsItem::class => ResourcesUlimitsItemNormalizer::class, - - \Docker\API\Model\Limit::class => LimitNormalizer::class, - - \Docker\API\Model\ResourceObject::class => ResourceObjectNormalizer::class, - - \Docker\API\Model\GenericResourcesItem::class => GenericResourcesItemNormalizer::class, - - \Docker\API\Model\GenericResourcesItemNamedResourceSpec::class => GenericResourcesItemNamedResourceSpecNormalizer::class, - - \Docker\API\Model\GenericResourcesItemDiscreteResourceSpec::class => GenericResourcesItemDiscreteResourceSpecNormalizer::class, - - \Docker\API\Model\HealthConfig::class => HealthConfigNormalizer::class, - - \Docker\API\Model\Health::class => HealthNormalizer::class, - - \Docker\API\Model\HealthcheckResult::class => HealthcheckResultNormalizer::class, - - \Docker\API\Model\HostConfig::class => HostConfigNormalizer::class, - - \Docker\API\Model\HostConfigLogConfig::class => HostConfigLogConfigNormalizer::class, - - \Docker\API\Model\ContainerConfig::class => ContainerConfigNormalizer::class, - - \Docker\API\Model\ContainerConfigExposedPortsItem::class => ContainerConfigExposedPortsItemNormalizer::class, - - \Docker\API\Model\ContainerConfigVolumesItem::class => ContainerConfigVolumesItemNormalizer::class, - - \Docker\API\Model\NetworkingConfig::class => NetworkingConfigNormalizer::class, - - \Docker\API\Model\NetworkSettings::class => NetworkSettingsNormalizer::class, - - \Docker\API\Model\Address::class => AddressNormalizer::class, - - \Docker\API\Model\PortBinding::class => PortBindingNormalizer::class, - - \Docker\API\Model\GraphDriverData::class => GraphDriverDataNormalizer::class, - - \Docker\API\Model\FilesystemChange::class => FilesystemChangeNormalizer::class, - - \Docker\API\Model\ImageInspect::class => ImageInspectNormalizer::class, - - \Docker\API\Model\ImageInspectRootFS::class => ImageInspectRootFSNormalizer::class, - - \Docker\API\Model\ImageInspectMetadata::class => ImageInspectMetadataNormalizer::class, - - \Docker\API\Model\ImageSummary::class => ImageSummaryNormalizer::class, - - \Docker\API\Model\AuthConfig::class => AuthConfigNormalizer::class, - - \Docker\API\Model\ProcessConfig::class => ProcessConfigNormalizer::class, - - \Docker\API\Model\Volume::class => VolumeNormalizer::class, - - \Docker\API\Model\VolumeStatusItem::class => VolumeStatusItemNormalizer::class, - - \Docker\API\Model\VolumeUsageData::class => VolumeUsageDataNormalizer::class, - - \Docker\API\Model\VolumeCreateOptions::class => VolumeCreateOptionsNormalizer::class, - - \Docker\API\Model\VolumeListResponse::class => VolumeListResponseNormalizer::class, - - \Docker\API\Model\Network::class => NetworkNormalizer::class, - - \Docker\API\Model\IPAM::class => IPAMNormalizer::class, - - \Docker\API\Model\IPAMConfig::class => IPAMConfigNormalizer::class, - - \Docker\API\Model\NetworkContainer::class => NetworkContainerNormalizer::class, - - \Docker\API\Model\BuildInfo::class => BuildInfoNormalizer::class, - - \Docker\API\Model\BuildCache::class => BuildCacheNormalizer::class, - - \Docker\API\Model\ImageID::class => ImageIDNormalizer::class, - - \Docker\API\Model\CreateImageInfo::class => CreateImageInfoNormalizer::class, - - \Docker\API\Model\PushImageInfo::class => PushImageInfoNormalizer::class, - - \Docker\API\Model\ErrorDetail::class => ErrorDetailNormalizer::class, - - \Docker\API\Model\ProgressDetail::class => ProgressDetailNormalizer::class, - - \Docker\API\Model\ErrorResponse::class => ErrorResponseNormalizer::class, - - \Docker\API\Model\IdResponse::class => IdResponseNormalizer::class, - - \Docker\API\Model\EndpointSettings::class => EndpointSettingsNormalizer::class, - - \Docker\API\Model\EndpointIPAMConfig::class => EndpointIPAMConfigNormalizer::class, - - \Docker\API\Model\PluginMount::class => PluginMountNormalizer::class, - - \Docker\API\Model\PluginDevice::class => PluginDeviceNormalizer::class, - - \Docker\API\Model\PluginEnv::class => PluginEnvNormalizer::class, - - \Docker\API\Model\PluginInterfaceType::class => PluginInterfaceTypeNormalizer::class, - - \Docker\API\Model\PluginPrivilege::class => PluginPrivilegeNormalizer::class, - - \Docker\API\Model\Plugin::class => PluginNormalizer::class, - - \Docker\API\Model\PluginSettings::class => PluginSettingsNormalizer::class, - - \Docker\API\Model\PluginConfig::class => PluginConfigNormalizer::class, - - \Docker\API\Model\PluginConfigInterface::class => PluginConfigInterfaceNormalizer::class, - - \Docker\API\Model\PluginConfigUser::class => PluginConfigUserNormalizer::class, - - \Docker\API\Model\PluginConfigNetwork::class => PluginConfigNetworkNormalizer::class, - - \Docker\API\Model\PluginConfigLinux::class => PluginConfigLinuxNormalizer::class, - - \Docker\API\Model\PluginConfigArgs::class => PluginConfigArgsNormalizer::class, - - \Docker\API\Model\PluginConfigRootfs::class => PluginConfigRootfsNormalizer::class, - - \Docker\API\Model\ObjectVersion::class => ObjectVersionNormalizer::class, - - \Docker\API\Model\NodeSpec::class => NodeSpecNormalizer::class, - - \Docker\API\Model\Node::class => NodeNormalizer::class, - - \Docker\API\Model\NodeDescription::class => NodeDescriptionNormalizer::class, - - \Docker\API\Model\Platform::class => PlatformNormalizer::class, - - \Docker\API\Model\EngineDescription::class => EngineDescriptionNormalizer::class, - - \Docker\API\Model\EngineDescriptionPluginsItem::class => EngineDescriptionPluginsItemNormalizer::class, - - \Docker\API\Model\TLSInfo::class => TLSInfoNormalizer::class, - - \Docker\API\Model\NodeStatus::class => NodeStatusNormalizer::class, - - \Docker\API\Model\ManagerStatus::class => ManagerStatusNormalizer::class, - - \Docker\API\Model\SwarmSpec::class => SwarmSpecNormalizer::class, - - \Docker\API\Model\SwarmSpecOrchestration::class => SwarmSpecOrchestrationNormalizer::class, - - \Docker\API\Model\SwarmSpecRaft::class => SwarmSpecRaftNormalizer::class, - - \Docker\API\Model\SwarmSpecDispatcher::class => SwarmSpecDispatcherNormalizer::class, - - \Docker\API\Model\SwarmSpecCAConfig::class => SwarmSpecCAConfigNormalizer::class, - - \Docker\API\Model\SwarmSpecCAConfigExternalCAsItem::class => SwarmSpecCAConfigExternalCAsItemNormalizer::class, - - \Docker\API\Model\SwarmSpecEncryptionConfig::class => SwarmSpecEncryptionConfigNormalizer::class, - - \Docker\API\Model\SwarmSpecTaskDefaults::class => SwarmSpecTaskDefaultsNormalizer::class, - - \Docker\API\Model\SwarmSpecTaskDefaultsLogDriver::class => SwarmSpecTaskDefaultsLogDriverNormalizer::class, - - \Docker\API\Model\ClusterInfo::class => ClusterInfoNormalizer::class, - - \Docker\API\Model\JoinTokens::class => JoinTokensNormalizer::class, - - \Docker\API\Model\Swarm::class => SwarmNormalizer::class, - - \Docker\API\Model\TaskSpec::class => TaskSpecNormalizer::class, - - \Docker\API\Model\TaskSpecPluginSpec::class => TaskSpecPluginSpecNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpec::class => TaskSpecContainerSpecNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecPrivileges::class => TaskSpecContainerSpecPrivilegesNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecPrivilegesCredentialSpec::class => TaskSpecContainerSpecPrivilegesCredentialSpecNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecPrivilegesSELinuxContext::class => TaskSpecContainerSpecPrivilegesSELinuxContextNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecPrivilegesSeccomp::class => TaskSpecContainerSpecPrivilegesSeccompNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecPrivilegesAppArmor::class => TaskSpecContainerSpecPrivilegesAppArmorNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecDNSConfig::class => TaskSpecContainerSpecDNSConfigNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecSecretsItem::class => TaskSpecContainerSpecSecretsItemNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecSecretsItemFile::class => TaskSpecContainerSpecSecretsItemFileNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecConfigsItem::class => TaskSpecContainerSpecConfigsItemNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecConfigsItemFile::class => TaskSpecContainerSpecConfigsItemFileNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecConfigsItemRuntime::class => TaskSpecContainerSpecConfigsItemRuntimeNormalizer::class, - - \Docker\API\Model\TaskSpecContainerSpecUlimitsItem::class => TaskSpecContainerSpecUlimitsItemNormalizer::class, - - \Docker\API\Model\TaskSpecNetworkAttachmentSpec::class => TaskSpecNetworkAttachmentSpecNormalizer::class, - - \Docker\API\Model\TaskSpecResources::class => TaskSpecResourcesNormalizer::class, - - \Docker\API\Model\TaskSpecRestartPolicy::class => TaskSpecRestartPolicyNormalizer::class, - - \Docker\API\Model\TaskSpecPlacement::class => TaskSpecPlacementNormalizer::class, - - \Docker\API\Model\TaskSpecPlacementPreferencesItem::class => TaskSpecPlacementPreferencesItemNormalizer::class, - - \Docker\API\Model\TaskSpecPlacementPreferencesItemSpread::class => TaskSpecPlacementPreferencesItemSpreadNormalizer::class, - - \Docker\API\Model\TaskSpecLogDriver::class => TaskSpecLogDriverNormalizer::class, - - \Docker\API\Model\ContainerStatus::class => ContainerStatusNormalizer::class, - - \Docker\API\Model\PortStatus::class => PortStatusNormalizer::class, - - \Docker\API\Model\TaskStatus::class => TaskStatusNormalizer::class, - - \Docker\API\Model\Task::class => TaskNormalizer::class, - - \Docker\API\Model\ServiceSpec::class => ServiceSpecNormalizer::class, - - \Docker\API\Model\ServiceSpecMode::class => ServiceSpecModeNormalizer::class, - - \Docker\API\Model\ServiceSpecModeReplicated::class => ServiceSpecModeReplicatedNormalizer::class, - - \Docker\API\Model\ServiceSpecModeGlobal::class => ServiceSpecModeGlobalNormalizer::class, - - \Docker\API\Model\ServiceSpecModeReplicatedJob::class => ServiceSpecModeReplicatedJobNormalizer::class, - - \Docker\API\Model\ServiceSpecModeGlobalJob::class => ServiceSpecModeGlobalJobNormalizer::class, - - \Docker\API\Model\ServiceSpecUpdateConfig::class => ServiceSpecUpdateConfigNormalizer::class, - - \Docker\API\Model\ServiceSpecRollbackConfig::class => ServiceSpecRollbackConfigNormalizer::class, - - \Docker\API\Model\EndpointPortConfig::class => EndpointPortConfigNormalizer::class, - - \Docker\API\Model\EndpointSpec::class => EndpointSpecNormalizer::class, - - \Docker\API\Model\Service::class => ServiceNormalizer::class, - - \Docker\API\Model\ServiceEndpoint::class => ServiceEndpointNormalizer::class, - - \Docker\API\Model\ServiceEndpointVirtualIPsItem::class => ServiceEndpointVirtualIPsItemNormalizer::class, - - \Docker\API\Model\ServiceUpdateStatus::class => ServiceUpdateStatusNormalizer::class, - - \Docker\API\Model\ServiceServiceStatus::class => ServiceServiceStatusNormalizer::class, - - \Docker\API\Model\ServiceJobStatus::class => ServiceJobStatusNormalizer::class, - - \Docker\API\Model\ImageDeleteResponseItem::class => ImageDeleteResponseItemNormalizer::class, - - \Docker\API\Model\ServiceCreateResponse::class => ServiceCreateResponseNormalizer::class, - - \Docker\API\Model\ServiceUpdateResponse::class => ServiceUpdateResponseNormalizer::class, - - \Docker\API\Model\ContainerSummary::class => ContainerSummaryNormalizer::class, - - \Docker\API\Model\ContainerSummaryHostConfig::class => ContainerSummaryHostConfigNormalizer::class, - - \Docker\API\Model\ContainerSummaryNetworkSettings::class => ContainerSummaryNetworkSettingsNormalizer::class, - - \Docker\API\Model\Driver::class => DriverNormalizer::class, - - \Docker\API\Model\SecretSpec::class => SecretSpecNormalizer::class, - - \Docker\API\Model\Secret::class => SecretNormalizer::class, - - \Docker\API\Model\ConfigSpec::class => ConfigSpecNormalizer::class, - - \Docker\API\Model\Config::class => ConfigNormalizer::class, - - \Docker\API\Model\ContainerState::class => ContainerStateNormalizer::class, - - \Docker\API\Model\ContainerCreateResponse::class => ContainerCreateResponseNormalizer::class, - - \Docker\API\Model\ContainerWaitResponse::class => ContainerWaitResponseNormalizer::class, - - \Docker\API\Model\ContainerWaitExitError::class => ContainerWaitExitErrorNormalizer::class, - - \Docker\API\Model\SystemVersion::class => SystemVersionNormalizer::class, - - \Docker\API\Model\SystemVersionPlatform::class => SystemVersionPlatformNormalizer::class, - - \Docker\API\Model\SystemVersionComponentsItem::class => SystemVersionComponentsItemNormalizer::class, - - \Docker\API\Model\SystemVersionComponentsItemDetails::class => SystemVersionComponentsItemDetailsNormalizer::class, - - \Docker\API\Model\SystemInfo::class => SystemInfoNormalizer::class, - - \Docker\API\Model\SystemInfoDefaultAddressPoolsItem::class => SystemInfoDefaultAddressPoolsItemNormalizer::class, - - \Docker\API\Model\PluginsInfo::class => PluginsInfoNormalizer::class, - - \Docker\API\Model\RegistryServiceConfig::class => RegistryServiceConfigNormalizer::class, - - \Docker\API\Model\IndexInfo::class => IndexInfoNormalizer::class, - - \Docker\API\Model\Runtime::class => RuntimeNormalizer::class, - - \Docker\API\Model\Commit::class => CommitNormalizer::class, - - \Docker\API\Model\SwarmInfo::class => SwarmInfoNormalizer::class, - - \Docker\API\Model\PeerNode::class => PeerNodeNormalizer::class, - - \Docker\API\Model\NetworkAttachmentConfig::class => NetworkAttachmentConfigNormalizer::class, - - \Docker\API\Model\EventActor::class => EventActorNormalizer::class, - - \Docker\API\Model\EventMessage::class => EventMessageNormalizer::class, - - \Docker\API\Model\OCIDescriptor::class => OCIDescriptorNormalizer::class, - - \Docker\API\Model\OCIPlatform::class => OCIPlatformNormalizer::class, - - \Docker\API\Model\DistributionInspect::class => DistributionInspectNormalizer::class, - - \Docker\API\Model\ClusterVolume::class => ClusterVolumeNormalizer::class, - - \Docker\API\Model\ClusterVolumeInfo::class => ClusterVolumeInfoNormalizer::class, - - \Docker\API\Model\ClusterVolumePublishStatusItem::class => ClusterVolumePublishStatusItemNormalizer::class, - - \Docker\API\Model\ClusterVolumeSpec::class => ClusterVolumeSpecNormalizer::class, - - \Docker\API\Model\ClusterVolumeSpecAccessMode::class => ClusterVolumeSpecAccessModeNormalizer::class, - - \Docker\API\Model\ClusterVolumeSpecAccessModeMountVolume::class => ClusterVolumeSpecAccessModeMountVolumeNormalizer::class, - - \Docker\API\Model\ClusterVolumeSpecAccessModeSecretsItem::class => ClusterVolumeSpecAccessModeSecretsItemNormalizer::class, - - \Docker\API\Model\ClusterVolumeSpecAccessModeAccessibilityRequirements::class => ClusterVolumeSpecAccessModeAccessibilityRequirementsNormalizer::class, - - \Docker\API\Model\ClusterVolumeSpecAccessModeCapacityRange::class => ClusterVolumeSpecAccessModeCapacityRangeNormalizer::class, - - \Docker\API\Model\ContainersCreatePostBody::class => ContainersCreatePostBodyNormalizer::class, - - \Docker\API\Model\ContainersIdJsonGetResponse200::class => ContainersIdJsonGetResponse200Normalizer::class, - - \Docker\API\Model\ContainersIdTopGetJsonResponse200::class => ContainersIdTopGetJsonResponse200Normalizer::class, - - \Docker\API\Model\ContainersIdTopGetTextplainResponse200::class => ContainersIdTopGetTextplainResponse200Normalizer::class, - - \Docker\API\Model\ContainersIdUpdatePostBody::class => ContainersIdUpdatePostBodyNormalizer::class, - - \Docker\API\Model\ContainersIdUpdatePostResponse200::class => ContainersIdUpdatePostResponse200Normalizer::class, - - \Docker\API\Model\ContainersPrunePostResponse200::class => ContainersPrunePostResponse200Normalizer::class, - - \Docker\API\Model\BuildPrunePostResponse200::class => BuildPrunePostResponse200Normalizer::class, - - \Docker\API\Model\ImagesNameHistoryGetResponse200Item::class => ImagesNameHistoryGetResponse200ItemNormalizer::class, - - \Docker\API\Model\ImagesSearchGetResponse200Item::class => ImagesSearchGetResponse200ItemNormalizer::class, - - \Docker\API\Model\ImagesPrunePostResponse200::class => ImagesPrunePostResponse200Normalizer::class, - - \Docker\API\Model\AuthPostResponse200::class => AuthPostResponse200Normalizer::class, - - \Docker\API\Model\SystemDfGetJsonResponse200::class => SystemDfGetJsonResponse200Normalizer::class, - - \Docker\API\Model\SystemDfGetTextplainResponse200::class => SystemDfGetTextplainResponse200Normalizer::class, - - \Docker\API\Model\ContainersIdExecPostBody::class => ContainersIdExecPostBodyNormalizer::class, - - \Docker\API\Model\ExecIdStartPostBody::class => ExecIdStartPostBodyNormalizer::class, - - \Docker\API\Model\ExecIdJsonGetResponse200::class => ExecIdJsonGetResponse200Normalizer::class, - - \Docker\API\Model\VolumesNamePutBody::class => VolumesNamePutBodyNormalizer::class, - - \Docker\API\Model\VolumesPrunePostResponse200::class => VolumesPrunePostResponse200Normalizer::class, - - \Docker\API\Model\NetworksCreatePostBody::class => NetworksCreatePostBodyNormalizer::class, - - \Docker\API\Model\NetworksCreatePostResponse201::class => NetworksCreatePostResponse201Normalizer::class, - - \Docker\API\Model\NetworksIdConnectPostBody::class => NetworksIdConnectPostBodyNormalizer::class, - - \Docker\API\Model\NetworksIdDisconnectPostBody::class => NetworksIdDisconnectPostBodyNormalizer::class, - - \Docker\API\Model\NetworksPrunePostResponse200::class => NetworksPrunePostResponse200Normalizer::class, - - \Docker\API\Model\SwarmInitPostBody::class => SwarmInitPostBodyNormalizer::class, - - \Docker\API\Model\SwarmJoinPostBody::class => SwarmJoinPostBodyNormalizer::class, - - \Docker\API\Model\SwarmUnlockkeyGetJsonResponse200::class => SwarmUnlockkeyGetJsonResponse200Normalizer::class, - - \Docker\API\Model\SwarmUnlockkeyGetTextplainResponse200::class => SwarmUnlockkeyGetTextplainResponse200Normalizer::class, - - \Docker\API\Model\SwarmUnlockPostBody::class => SwarmUnlockPostBodyNormalizer::class, - - \Docker\API\Model\ServicesCreatePostBody::class => ServicesCreatePostBodyNormalizer::class, - - \Docker\API\Model\ServicesIdUpdatePostBody::class => ServicesIdUpdatePostBodyNormalizer::class, - - \Docker\API\Model\SecretsCreatePostBody::class => SecretsCreatePostBodyNormalizer::class, - - \Docker\API\Model\ConfigsCreatePostBody::class => ConfigsCreatePostBodyNormalizer::class, - - \Jane\Component\JsonSchemaRuntime\Reference::class => \Docker\API\Runtime\Normalizer\ReferenceNormalizer::class, - ]; - protected $normalizersCache = []; - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return \array_key_exists($type, $this->normalizers); - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return \is_object($data) && \array_key_exists($data::class, $this->normalizers); - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $normalizerClass = $this->normalizers[$data::class]; - $normalizer = $this->getNormalizer($normalizerClass); - - return $normalizer->normalize($data, $format, $context); - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - $denormalizerClass = $this->normalizers[$type]; - $denormalizer = $this->getNormalizer($denormalizerClass); - - return $denormalizer->denormalize($data, $type, $format, $context); - } - - private function getNormalizer(string $normalizerClass) - { - return $this->normalizersCache[$normalizerClass] ?? $this->initNormalizer($normalizerClass); - } - - private function initNormalizer(string $normalizerClass) - { - $normalizer = new $normalizerClass(); - $normalizer->setNormalizer($this->normalizer); - $normalizer->setDenormalizer($this->denormalizer); - $this->normalizersCache[$normalizerClass] = $normalizer; - - return $normalizer; - } - - public function getSupportedTypes(?string $format = null): array - { - return [ - \Docker\API\Model\Port::class => false, - \Docker\API\Model\MountPoint::class => false, - \Docker\API\Model\DeviceMapping::class => false, - \Docker\API\Model\DeviceRequest::class => false, - \Docker\API\Model\ThrottleDevice::class => false, - \Docker\API\Model\Mount::class => false, - \Docker\API\Model\MountBindOptions::class => false, - \Docker\API\Model\MountVolumeOptions::class => false, - \Docker\API\Model\MountVolumeOptionsDriverConfig::class => false, - \Docker\API\Model\MountTmpfsOptions::class => false, - \Docker\API\Model\RestartPolicy::class => false, - \Docker\API\Model\Resources::class => false, - \Docker\API\Model\ResourcesBlkioWeightDeviceItem::class => false, - \Docker\API\Model\ResourcesUlimitsItem::class => false, - \Docker\API\Model\Limit::class => false, - \Docker\API\Model\ResourceObject::class => false, - \Docker\API\Model\GenericResourcesItem::class => false, - \Docker\API\Model\GenericResourcesItemNamedResourceSpec::class => false, - \Docker\API\Model\GenericResourcesItemDiscreteResourceSpec::class => false, - \Docker\API\Model\HealthConfig::class => false, - \Docker\API\Model\Health::class => false, - \Docker\API\Model\HealthcheckResult::class => false, - \Docker\API\Model\HostConfig::class => false, - \Docker\API\Model\HostConfigLogConfig::class => false, - \Docker\API\Model\ContainerConfig::class => false, - \Docker\API\Model\ContainerConfigExposedPortsItem::class => false, - \Docker\API\Model\ContainerConfigVolumesItem::class => false, - \Docker\API\Model\NetworkingConfig::class => false, - \Docker\API\Model\NetworkSettings::class => false, - \Docker\API\Model\Address::class => false, - \Docker\API\Model\PortBinding::class => false, - \Docker\API\Model\GraphDriverData::class => false, - \Docker\API\Model\FilesystemChange::class => false, - \Docker\API\Model\ImageInspect::class => false, - \Docker\API\Model\ImageInspectRootFS::class => false, - \Docker\API\Model\ImageInspectMetadata::class => false, - \Docker\API\Model\ImageSummary::class => false, - \Docker\API\Model\AuthConfig::class => false, - \Docker\API\Model\ProcessConfig::class => false, - \Docker\API\Model\Volume::class => false, - \Docker\API\Model\VolumeStatusItem::class => false, - \Docker\API\Model\VolumeUsageData::class => false, - \Docker\API\Model\VolumeCreateOptions::class => false, - \Docker\API\Model\VolumeListResponse::class => false, - \Docker\API\Model\Network::class => false, - \Docker\API\Model\IPAM::class => false, - \Docker\API\Model\IPAMConfig::class => false, - \Docker\API\Model\NetworkContainer::class => false, - \Docker\API\Model\BuildInfo::class => false, - \Docker\API\Model\BuildCache::class => false, - \Docker\API\Model\ImageID::class => false, - \Docker\API\Model\CreateImageInfo::class => false, - \Docker\API\Model\PushImageInfo::class => false, - \Docker\API\Model\ErrorDetail::class => false, - \Docker\API\Model\ProgressDetail::class => false, - \Docker\API\Model\ErrorResponse::class => false, - \Docker\API\Model\IdResponse::class => false, - \Docker\API\Model\EndpointSettings::class => false, - \Docker\API\Model\EndpointIPAMConfig::class => false, - \Docker\API\Model\PluginMount::class => false, - \Docker\API\Model\PluginDevice::class => false, - \Docker\API\Model\PluginEnv::class => false, - \Docker\API\Model\PluginInterfaceType::class => false, - \Docker\API\Model\PluginPrivilege::class => false, - \Docker\API\Model\Plugin::class => false, - \Docker\API\Model\PluginSettings::class => false, - \Docker\API\Model\PluginConfig::class => false, - \Docker\API\Model\PluginConfigInterface::class => false, - \Docker\API\Model\PluginConfigUser::class => false, - \Docker\API\Model\PluginConfigNetwork::class => false, - \Docker\API\Model\PluginConfigLinux::class => false, - \Docker\API\Model\PluginConfigArgs::class => false, - \Docker\API\Model\PluginConfigRootfs::class => false, - \Docker\API\Model\ObjectVersion::class => false, - \Docker\API\Model\NodeSpec::class => false, - \Docker\API\Model\Node::class => false, - \Docker\API\Model\NodeDescription::class => false, - \Docker\API\Model\Platform::class => false, - \Docker\API\Model\EngineDescription::class => false, - \Docker\API\Model\EngineDescriptionPluginsItem::class => false, - \Docker\API\Model\TLSInfo::class => false, - \Docker\API\Model\NodeStatus::class => false, - \Docker\API\Model\ManagerStatus::class => false, - \Docker\API\Model\SwarmSpec::class => false, - \Docker\API\Model\SwarmSpecOrchestration::class => false, - \Docker\API\Model\SwarmSpecRaft::class => false, - \Docker\API\Model\SwarmSpecDispatcher::class => false, - \Docker\API\Model\SwarmSpecCAConfig::class => false, - \Docker\API\Model\SwarmSpecCAConfigExternalCAsItem::class => false, - \Docker\API\Model\SwarmSpecEncryptionConfig::class => false, - \Docker\API\Model\SwarmSpecTaskDefaults::class => false, - \Docker\API\Model\SwarmSpecTaskDefaultsLogDriver::class => false, - \Docker\API\Model\ClusterInfo::class => false, - \Docker\API\Model\JoinTokens::class => false, - \Docker\API\Model\Swarm::class => false, - \Docker\API\Model\TaskSpec::class => false, - \Docker\API\Model\TaskSpecPluginSpec::class => false, - \Docker\API\Model\TaskSpecContainerSpec::class => false, - \Docker\API\Model\TaskSpecContainerSpecPrivileges::class => false, - \Docker\API\Model\TaskSpecContainerSpecPrivilegesCredentialSpec::class => false, - \Docker\API\Model\TaskSpecContainerSpecPrivilegesSELinuxContext::class => false, - \Docker\API\Model\TaskSpecContainerSpecPrivilegesSeccomp::class => false, - \Docker\API\Model\TaskSpecContainerSpecPrivilegesAppArmor::class => false, - \Docker\API\Model\TaskSpecContainerSpecDNSConfig::class => false, - \Docker\API\Model\TaskSpecContainerSpecSecretsItem::class => false, - \Docker\API\Model\TaskSpecContainerSpecSecretsItemFile::class => false, - \Docker\API\Model\TaskSpecContainerSpecConfigsItem::class => false, - \Docker\API\Model\TaskSpecContainerSpecConfigsItemFile::class => false, - \Docker\API\Model\TaskSpecContainerSpecConfigsItemRuntime::class => false, - \Docker\API\Model\TaskSpecContainerSpecUlimitsItem::class => false, - \Docker\API\Model\TaskSpecNetworkAttachmentSpec::class => false, - \Docker\API\Model\TaskSpecResources::class => false, - \Docker\API\Model\TaskSpecRestartPolicy::class => false, - \Docker\API\Model\TaskSpecPlacement::class => false, - \Docker\API\Model\TaskSpecPlacementPreferencesItem::class => false, - \Docker\API\Model\TaskSpecPlacementPreferencesItemSpread::class => false, - \Docker\API\Model\TaskSpecLogDriver::class => false, - \Docker\API\Model\ContainerStatus::class => false, - \Docker\API\Model\PortStatus::class => false, - \Docker\API\Model\TaskStatus::class => false, - \Docker\API\Model\Task::class => false, - \Docker\API\Model\ServiceSpec::class => false, - \Docker\API\Model\ServiceSpecMode::class => false, - \Docker\API\Model\ServiceSpecModeReplicated::class => false, - \Docker\API\Model\ServiceSpecModeGlobal::class => false, - \Docker\API\Model\ServiceSpecModeReplicatedJob::class => false, - \Docker\API\Model\ServiceSpecModeGlobalJob::class => false, - \Docker\API\Model\ServiceSpecUpdateConfig::class => false, - \Docker\API\Model\ServiceSpecRollbackConfig::class => false, - \Docker\API\Model\EndpointPortConfig::class => false, - \Docker\API\Model\EndpointSpec::class => false, - \Docker\API\Model\Service::class => false, - \Docker\API\Model\ServiceEndpoint::class => false, - \Docker\API\Model\ServiceEndpointVirtualIPsItem::class => false, - \Docker\API\Model\ServiceUpdateStatus::class => false, - \Docker\API\Model\ServiceServiceStatus::class => false, - \Docker\API\Model\ServiceJobStatus::class => false, - \Docker\API\Model\ImageDeleteResponseItem::class => false, - \Docker\API\Model\ServiceCreateResponse::class => false, - \Docker\API\Model\ServiceUpdateResponse::class => false, - \Docker\API\Model\ContainerSummary::class => false, - \Docker\API\Model\ContainerSummaryHostConfig::class => false, - \Docker\API\Model\ContainerSummaryNetworkSettings::class => false, - \Docker\API\Model\Driver::class => false, - \Docker\API\Model\SecretSpec::class => false, - \Docker\API\Model\Secret::class => false, - \Docker\API\Model\ConfigSpec::class => false, - \Docker\API\Model\Config::class => false, - \Docker\API\Model\ContainerState::class => false, - \Docker\API\Model\ContainerCreateResponse::class => false, - \Docker\API\Model\ContainerWaitResponse::class => false, - \Docker\API\Model\ContainerWaitExitError::class => false, - \Docker\API\Model\SystemVersion::class => false, - \Docker\API\Model\SystemVersionPlatform::class => false, - \Docker\API\Model\SystemVersionComponentsItem::class => false, - \Docker\API\Model\SystemVersionComponentsItemDetails::class => false, - \Docker\API\Model\SystemInfo::class => false, - \Docker\API\Model\SystemInfoDefaultAddressPoolsItem::class => false, - \Docker\API\Model\PluginsInfo::class => false, - \Docker\API\Model\RegistryServiceConfig::class => false, - \Docker\API\Model\IndexInfo::class => false, - \Docker\API\Model\Runtime::class => false, - \Docker\API\Model\Commit::class => false, - \Docker\API\Model\SwarmInfo::class => false, - \Docker\API\Model\PeerNode::class => false, - \Docker\API\Model\NetworkAttachmentConfig::class => false, - \Docker\API\Model\EventActor::class => false, - \Docker\API\Model\EventMessage::class => false, - \Docker\API\Model\OCIDescriptor::class => false, - \Docker\API\Model\OCIPlatform::class => false, - \Docker\API\Model\DistributionInspect::class => false, - \Docker\API\Model\ClusterVolume::class => false, - \Docker\API\Model\ClusterVolumeInfo::class => false, - \Docker\API\Model\ClusterVolumePublishStatusItem::class => false, - \Docker\API\Model\ClusterVolumeSpec::class => false, - \Docker\API\Model\ClusterVolumeSpecAccessMode::class => false, - \Docker\API\Model\ClusterVolumeSpecAccessModeMountVolume::class => false, - \Docker\API\Model\ClusterVolumeSpecAccessModeSecretsItem::class => false, - \Docker\API\Model\ClusterVolumeSpecAccessModeAccessibilityRequirements::class => false, - \Docker\API\Model\ClusterVolumeSpecAccessModeCapacityRange::class => false, - \Docker\API\Model\ContainersCreatePostBody::class => false, - \Docker\API\Model\ContainersIdJsonGetResponse200::class => false, - \Docker\API\Model\ContainersIdTopGetJsonResponse200::class => false, - \Docker\API\Model\ContainersIdTopGetTextplainResponse200::class => false, - \Docker\API\Model\ContainersIdUpdatePostBody::class => false, - \Docker\API\Model\ContainersIdUpdatePostResponse200::class => false, - \Docker\API\Model\ContainersPrunePostResponse200::class => false, - \Docker\API\Model\BuildPrunePostResponse200::class => false, - \Docker\API\Model\ImagesNameHistoryGetResponse200Item::class => false, - \Docker\API\Model\ImagesSearchGetResponse200Item::class => false, - \Docker\API\Model\ImagesPrunePostResponse200::class => false, - \Docker\API\Model\AuthPostResponse200::class => false, - \Docker\API\Model\SystemDfGetJsonResponse200::class => false, - \Docker\API\Model\SystemDfGetTextplainResponse200::class => false, - \Docker\API\Model\ContainersIdExecPostBody::class => false, - \Docker\API\Model\ExecIdStartPostBody::class => false, - \Docker\API\Model\ExecIdJsonGetResponse200::class => false, - \Docker\API\Model\VolumesNamePutBody::class => false, - \Docker\API\Model\VolumesPrunePostResponse200::class => false, - \Docker\API\Model\NetworksCreatePostBody::class => false, - \Docker\API\Model\NetworksCreatePostResponse201::class => false, - \Docker\API\Model\NetworksIdConnectPostBody::class => false, - \Docker\API\Model\NetworksIdDisconnectPostBody::class => false, - \Docker\API\Model\NetworksPrunePostResponse200::class => false, - \Docker\API\Model\SwarmInitPostBody::class => false, - \Docker\API\Model\SwarmJoinPostBody::class => false, - \Docker\API\Model\SwarmUnlockkeyGetJsonResponse200::class => false, - \Docker\API\Model\SwarmUnlockkeyGetTextplainResponse200::class => false, - \Docker\API\Model\SwarmUnlockPostBody::class => false, - \Docker\API\Model\ServicesCreatePostBody::class => false, - \Docker\API\Model\ServicesIdUpdatePostBody::class => false, - \Docker\API\Model\SecretsCreatePostBody::class => false, - \Docker\API\Model\ConfigsCreatePostBody::class => false, - \Jane\Component\JsonSchemaRuntime\Reference::class => false, - ]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/JoinTokensNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/JoinTokensNormalizer.php deleted file mode 100644 index 9583dff7d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/JoinTokensNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setWorker($data['Worker']); - unset($data['Worker']); - } elseif (\array_key_exists('Worker', $data) && null === $data['Worker']) { - $object->setWorker(null); - } - if (\array_key_exists('Manager', $data) && null !== $data['Manager']) { - $object->setManager($data['Manager']); - unset($data['Manager']); - } elseif (\array_key_exists('Manager', $data) && null === $data['Manager']) { - $object->setManager(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('worker') && null !== $data->getWorker()) { - $dataArray['Worker'] = $data->getWorker(); - } - if ($data->isInitialized('manager') && null !== $data->getManager()) { - $dataArray['Manager'] = $data->getManager(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\JoinTokens::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/LimitNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/LimitNormalizer.php deleted file mode 100644 index 22fc43a6c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/LimitNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setNanoCPUs($data['NanoCPUs']); - unset($data['NanoCPUs']); - } elseif (\array_key_exists('NanoCPUs', $data) && null === $data['NanoCPUs']) { - $object->setNanoCPUs(null); - } - if (\array_key_exists('MemoryBytes', $data) && null !== $data['MemoryBytes']) { - $object->setMemoryBytes($data['MemoryBytes']); - unset($data['MemoryBytes']); - } elseif (\array_key_exists('MemoryBytes', $data) && null === $data['MemoryBytes']) { - $object->setMemoryBytes(null); - } - if (\array_key_exists('Pids', $data) && null !== $data['Pids']) { - $object->setPids($data['Pids']); - unset($data['Pids']); - } elseif (\array_key_exists('Pids', $data) && null === $data['Pids']) { - $object->setPids(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('nanoCPUs') && null !== $data->getNanoCPUs()) { - $dataArray['NanoCPUs'] = $data->getNanoCPUs(); - } - if ($data->isInitialized('memoryBytes') && null !== $data->getMemoryBytes()) { - $dataArray['MemoryBytes'] = $data->getMemoryBytes(); - } - if ($data->isInitialized('pids') && null !== $data->getPids()) { - $dataArray['Pids'] = $data->getPids(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Limit::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ManagerStatusNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ManagerStatusNormalizer.php deleted file mode 100644 index 3af3e42f0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ManagerStatusNormalizer.php +++ /dev/null @@ -1,101 +0,0 @@ -setLeader($data['Leader']); - unset($data['Leader']); - } elseif (\array_key_exists('Leader', $data) && null === $data['Leader']) { - $object->setLeader(null); - } - if (\array_key_exists('Reachability', $data) && null !== $data['Reachability']) { - $object->setReachability($data['Reachability']); - unset($data['Reachability']); - } elseif (\array_key_exists('Reachability', $data) && null === $data['Reachability']) { - $object->setReachability(null); - } - if (\array_key_exists('Addr', $data) && null !== $data['Addr']) { - $object->setAddr($data['Addr']); - unset($data['Addr']); - } elseif (\array_key_exists('Addr', $data) && null === $data['Addr']) { - $object->setAddr(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('leader') && null !== $data->getLeader()) { - $dataArray['Leader'] = $data->getLeader(); - } - if ($data->isInitialized('reachability') && null !== $data->getReachability()) { - $dataArray['Reachability'] = $data->getReachability(); - } - if ($data->isInitialized('addr') && null !== $data->getAddr()) { - $dataArray['Addr'] = $data->getAddr(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ManagerStatus::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountBindOptionsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountBindOptionsNormalizer.php deleted file mode 100644 index bcc742eaf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountBindOptionsNormalizer.php +++ /dev/null @@ -1,128 +0,0 @@ -setPropagation($data['Propagation']); - unset($data['Propagation']); - } elseif (\array_key_exists('Propagation', $data) && null === $data['Propagation']) { - $object->setPropagation(null); - } - if (\array_key_exists('NonRecursive', $data) && null !== $data['NonRecursive']) { - $object->setNonRecursive($data['NonRecursive']); - unset($data['NonRecursive']); - } elseif (\array_key_exists('NonRecursive', $data) && null === $data['NonRecursive']) { - $object->setNonRecursive(null); - } - if (\array_key_exists('CreateMountpoint', $data) && null !== $data['CreateMountpoint']) { - $object->setCreateMountpoint($data['CreateMountpoint']); - unset($data['CreateMountpoint']); - } elseif (\array_key_exists('CreateMountpoint', $data) && null === $data['CreateMountpoint']) { - $object->setCreateMountpoint(null); - } - if (\array_key_exists('ReadOnlyNonRecursive', $data) && null !== $data['ReadOnlyNonRecursive']) { - $object->setReadOnlyNonRecursive($data['ReadOnlyNonRecursive']); - unset($data['ReadOnlyNonRecursive']); - } elseif (\array_key_exists('ReadOnlyNonRecursive', $data) && null === $data['ReadOnlyNonRecursive']) { - $object->setReadOnlyNonRecursive(null); - } - if (\array_key_exists('ReadOnlyForceRecursive', $data) && null !== $data['ReadOnlyForceRecursive']) { - $object->setReadOnlyForceRecursive($data['ReadOnlyForceRecursive']); - unset($data['ReadOnlyForceRecursive']); - } elseif (\array_key_exists('ReadOnlyForceRecursive', $data) && null === $data['ReadOnlyForceRecursive']) { - $object->setReadOnlyForceRecursive(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('propagation') && null !== $data->getPropagation()) { - $dataArray['Propagation'] = $data->getPropagation(); - } - if ($data->isInitialized('nonRecursive') && null !== $data->getNonRecursive()) { - $dataArray['NonRecursive'] = $data->getNonRecursive(); - } - if ($data->isInitialized('createMountpoint') && null !== $data->getCreateMountpoint()) { - $dataArray['CreateMountpoint'] = $data->getCreateMountpoint(); - } - if ($data->isInitialized('readOnlyNonRecursive') && null !== $data->getReadOnlyNonRecursive()) { - $dataArray['ReadOnlyNonRecursive'] = $data->getReadOnlyNonRecursive(); - } - if ($data->isInitialized('readOnlyForceRecursive') && null !== $data->getReadOnlyForceRecursive()) { - $dataArray['ReadOnlyForceRecursive'] = $data->getReadOnlyForceRecursive(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\MountBindOptions::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountNormalizer.php deleted file mode 100644 index 2986f5384..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountNormalizer.php +++ /dev/null @@ -1,146 +0,0 @@ -setTarget($data['Target']); - unset($data['Target']); - } elseif (\array_key_exists('Target', $data) && null === $data['Target']) { - $object->setTarget(null); - } - if (\array_key_exists('Source', $data) && null !== $data['Source']) { - $object->setSource($data['Source']); - unset($data['Source']); - } elseif (\array_key_exists('Source', $data) && null === $data['Source']) { - $object->setSource(null); - } - if (\array_key_exists('Type', $data) && null !== $data['Type']) { - $object->setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('ReadOnly', $data) && null !== $data['ReadOnly']) { - $object->setReadOnly($data['ReadOnly']); - unset($data['ReadOnly']); - } elseif (\array_key_exists('ReadOnly', $data) && null === $data['ReadOnly']) { - $object->setReadOnly(null); - } - if (\array_key_exists('Consistency', $data) && null !== $data['Consistency']) { - $object->setConsistency($data['Consistency']); - unset($data['Consistency']); - } elseif (\array_key_exists('Consistency', $data) && null === $data['Consistency']) { - $object->setConsistency(null); - } - if (\array_key_exists('BindOptions', $data) && null !== $data['BindOptions']) { - $object->setBindOptions($this->denormalizer->denormalize($data['BindOptions'], \Docker\API\Model\MountBindOptions::class, 'json', $context)); - unset($data['BindOptions']); - } elseif (\array_key_exists('BindOptions', $data) && null === $data['BindOptions']) { - $object->setBindOptions(null); - } - if (\array_key_exists('VolumeOptions', $data) && null !== $data['VolumeOptions']) { - $object->setVolumeOptions($this->denormalizer->denormalize($data['VolumeOptions'], \Docker\API\Model\MountVolumeOptions::class, 'json', $context)); - unset($data['VolumeOptions']); - } elseif (\array_key_exists('VolumeOptions', $data) && null === $data['VolumeOptions']) { - $object->setVolumeOptions(null); - } - if (\array_key_exists('TmpfsOptions', $data) && null !== $data['TmpfsOptions']) { - $object->setTmpfsOptions($this->denormalizer->denormalize($data['TmpfsOptions'], \Docker\API\Model\MountTmpfsOptions::class, 'json', $context)); - unset($data['TmpfsOptions']); - } elseif (\array_key_exists('TmpfsOptions', $data) && null === $data['TmpfsOptions']) { - $object->setTmpfsOptions(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('target') && null !== $data->getTarget()) { - $dataArray['Target'] = $data->getTarget(); - } - if ($data->isInitialized('source') && null !== $data->getSource()) { - $dataArray['Source'] = $data->getSource(); - } - if ($data->isInitialized('type') && null !== $data->getType()) { - $dataArray['Type'] = $data->getType(); - } - if ($data->isInitialized('readOnly') && null !== $data->getReadOnly()) { - $dataArray['ReadOnly'] = $data->getReadOnly(); - } - if ($data->isInitialized('consistency') && null !== $data->getConsistency()) { - $dataArray['Consistency'] = $data->getConsistency(); - } - if ($data->isInitialized('bindOptions') && null !== $data->getBindOptions()) { - $dataArray['BindOptions'] = $this->normalizer->normalize($data->getBindOptions(), 'json', $context); - } - if ($data->isInitialized('volumeOptions') && null !== $data->getVolumeOptions()) { - $dataArray['VolumeOptions'] = $this->normalizer->normalize($data->getVolumeOptions(), 'json', $context); - } - if ($data->isInitialized('tmpfsOptions') && null !== $data->getTmpfsOptions()) { - $dataArray['TmpfsOptions'] = $this->normalizer->normalize($data->getTmpfsOptions(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Mount::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountPointNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountPointNormalizer.php deleted file mode 100644 index 9b92d8835..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountPointNormalizer.php +++ /dev/null @@ -1,146 +0,0 @@ -setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('Name', $data) && null !== $data['Name']) { - $object->setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Source', $data) && null !== $data['Source']) { - $object->setSource($data['Source']); - unset($data['Source']); - } elseif (\array_key_exists('Source', $data) && null === $data['Source']) { - $object->setSource(null); - } - if (\array_key_exists('Destination', $data) && null !== $data['Destination']) { - $object->setDestination($data['Destination']); - unset($data['Destination']); - } elseif (\array_key_exists('Destination', $data) && null === $data['Destination']) { - $object->setDestination(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('Mode', $data) && null !== $data['Mode']) { - $object->setMode($data['Mode']); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - if (\array_key_exists('RW', $data) && null !== $data['RW']) { - $object->setRW($data['RW']); - unset($data['RW']); - } elseif (\array_key_exists('RW', $data) && null === $data['RW']) { - $object->setRW(null); - } - if (\array_key_exists('Propagation', $data) && null !== $data['Propagation']) { - $object->setPropagation($data['Propagation']); - unset($data['Propagation']); - } elseif (\array_key_exists('Propagation', $data) && null === $data['Propagation']) { - $object->setPropagation(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('type') && null !== $data->getType()) { - $dataArray['Type'] = $data->getType(); - } - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('source') && null !== $data->getSource()) { - $dataArray['Source'] = $data->getSource(); - } - if ($data->isInitialized('destination') && null !== $data->getDestination()) { - $dataArray['Destination'] = $data->getDestination(); - } - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $data->getDriver(); - } - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $data->getMode(); - } - if ($data->isInitialized('rW') && null !== $data->getRW()) { - $dataArray['RW'] = $data->getRW(); - } - if ($data->isInitialized('propagation') && null !== $data->getPropagation()) { - $dataArray['Propagation'] = $data->getPropagation(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\MountPoint::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountTmpfsOptionsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountTmpfsOptionsNormalizer.php deleted file mode 100644 index 4fbcf4ac1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountTmpfsOptionsNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setSizeBytes($data['SizeBytes']); - unset($data['SizeBytes']); - } elseif (\array_key_exists('SizeBytes', $data) && null === $data['SizeBytes']) { - $object->setSizeBytes(null); - } - if (\array_key_exists('Mode', $data) && null !== $data['Mode']) { - $object->setMode($data['Mode']); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('sizeBytes') && null !== $data->getSizeBytes()) { - $dataArray['SizeBytes'] = $data->getSizeBytes(); - } - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $data->getMode(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\MountTmpfsOptions::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountVolumeOptionsDriverConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountVolumeOptionsDriverConfigNormalizer.php deleted file mode 100644 index 1eb601410..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountVolumeOptionsDriverConfigNormalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key => $value) { - $values[$key] = $value; - } - $object->setOptions($values); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values = []; - foreach ($data->getOptions() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Options'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\MountVolumeOptionsDriverConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountVolumeOptionsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountVolumeOptionsNormalizer.php deleted file mode 100644 index d0969dde2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/MountVolumeOptionsNormalizer.php +++ /dev/null @@ -1,118 +0,0 @@ -setNoCopy($data['NoCopy']); - unset($data['NoCopy']); - } elseif (\array_key_exists('NoCopy', $data) && null === $data['NoCopy']) { - $object->setNoCopy(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('DriverConfig', $data) && null !== $data['DriverConfig']) { - $object->setDriverConfig($this->denormalizer->denormalize($data['DriverConfig'], \Docker\API\Model\MountVolumeOptionsDriverConfig::class, 'json', $context)); - unset($data['DriverConfig']); - } elseif (\array_key_exists('DriverConfig', $data) && null === $data['DriverConfig']) { - $object->setDriverConfig(null); - } - if (\array_key_exists('Subpath', $data) && null !== $data['Subpath']) { - $object->setSubpath($data['Subpath']); - unset($data['Subpath']); - } elseif (\array_key_exists('Subpath', $data) && null === $data['Subpath']) { - $object->setSubpath(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('noCopy') && null !== $data->getNoCopy()) { - $dataArray['NoCopy'] = $data->getNoCopy(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('driverConfig') && null !== $data->getDriverConfig()) { - $dataArray['DriverConfig'] = $this->normalizer->normalize($data->getDriverConfig(), 'json', $context); - } - if ($data->isInitialized('subpath') && null !== $data->getSubpath()) { - $dataArray['Subpath'] = $data->getSubpath(); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\MountVolumeOptions::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkAttachmentConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkAttachmentConfigNormalizer.php deleted file mode 100644 index ea6e15d9c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkAttachmentConfigNormalizer.php +++ /dev/null @@ -1,114 +0,0 @@ -setTarget($data['Target']); - unset($data['Target']); - } elseif (\array_key_exists('Target', $data) && null === $data['Target']) { - $object->setTarget(null); - } - if (\array_key_exists('Aliases', $data) && null !== $data['Aliases']) { - $values = []; - foreach ($data['Aliases'] as $value) { - $values[] = $value; - } - $object->setAliases($values); - unset($data['Aliases']); - } elseif (\array_key_exists('Aliases', $data) && null === $data['Aliases']) { - $object->setAliases(null); - } - if (\array_key_exists('DriverOpts', $data) && null !== $data['DriverOpts']) { - $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['DriverOpts'] as $key => $value_1) { - $values_1[$key] = $value_1; - } - $object->setDriverOpts($values_1); - unset($data['DriverOpts']); - } elseif (\array_key_exists('DriverOpts', $data) && null === $data['DriverOpts']) { - $object->setDriverOpts(null); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('target') && null !== $data->getTarget()) { - $dataArray['Target'] = $data->getTarget(); - } - if ($data->isInitialized('aliases') && null !== $data->getAliases()) { - $values = []; - foreach ($data->getAliases() as $value) { - $values[] = $value; - } - $dataArray['Aliases'] = $values; - } - if ($data->isInitialized('driverOpts') && null !== $data->getDriverOpts()) { - $values_1 = []; - foreach ($data->getDriverOpts() as $key => $value_1) { - $values_1[$key] = $value_1; - } - $dataArray['DriverOpts'] = $values_1; - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworkAttachmentConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkContainerNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkContainerNormalizer.php deleted file mode 100644 index fbf9b5a75..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkContainerNormalizer.php +++ /dev/null @@ -1,116 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('EndpointID', $data) && null !== $data['EndpointID']) { - $object->setEndpointID($data['EndpointID']); - unset($data['EndpointID']); - } elseif (\array_key_exists('EndpointID', $data) && null === $data['EndpointID']) { - $object->setEndpointID(null); - } - if (\array_key_exists('MacAddress', $data) && null !== $data['MacAddress']) { - $object->setMacAddress($data['MacAddress']); - unset($data['MacAddress']); - } elseif (\array_key_exists('MacAddress', $data) && null === $data['MacAddress']) { - $object->setMacAddress(null); - } - if (\array_key_exists('IPv4Address', $data) && null !== $data['IPv4Address']) { - $object->setIPv4Address($data['IPv4Address']); - unset($data['IPv4Address']); - } elseif (\array_key_exists('IPv4Address', $data) && null === $data['IPv4Address']) { - $object->setIPv4Address(null); - } - if (\array_key_exists('IPv6Address', $data) && null !== $data['IPv6Address']) { - $object->setIPv6Address($data['IPv6Address']); - unset($data['IPv6Address']); - } elseif (\array_key_exists('IPv6Address', $data) && null === $data['IPv6Address']) { - $object->setIPv6Address(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('endpointID') && null !== $data->getEndpointID()) { - $dataArray['EndpointID'] = $data->getEndpointID(); - } - if ($data->isInitialized('macAddress') && null !== $data->getMacAddress()) { - $dataArray['MacAddress'] = $data->getMacAddress(); - } - if ($data->isInitialized('iPv4Address') && null !== $data->getIPv4Address()) { - $dataArray['IPv4Address'] = $data->getIPv4Address(); - } - if ($data->isInitialized('iPv6Address') && null !== $data->getIPv6Address()) { - $dataArray['IPv6Address'] = $data->getIPv6Address(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworkContainer::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkNormalizer.php deleted file mode 100644 index d382ff535..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkNormalizer.php +++ /dev/null @@ -1,224 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Id', $data) && null !== $data['Id']) { - $object->setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('Created', $data) && null !== $data['Created']) { - $object->setCreated($data['Created']); - unset($data['Created']); - } elseif (\array_key_exists('Created', $data) && null === $data['Created']) { - $object->setCreated(null); - } - if (\array_key_exists('Scope', $data) && null !== $data['Scope']) { - $object->setScope($data['Scope']); - unset($data['Scope']); - } elseif (\array_key_exists('Scope', $data) && null === $data['Scope']) { - $object->setScope(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('EnableIPv6', $data) && null !== $data['EnableIPv6']) { - $object->setEnableIPv6($data['EnableIPv6']); - unset($data['EnableIPv6']); - } elseif (\array_key_exists('EnableIPv6', $data) && null === $data['EnableIPv6']) { - $object->setEnableIPv6(null); - } - if (\array_key_exists('IPAM', $data) && null !== $data['IPAM']) { - $object->setIPAM($this->denormalizer->denormalize($data['IPAM'], \Docker\API\Model\IPAM::class, 'json', $context)); - unset($data['IPAM']); - } elseif (\array_key_exists('IPAM', $data) && null === $data['IPAM']) { - $object->setIPAM(null); - } - if (\array_key_exists('Internal', $data) && null !== $data['Internal']) { - $object->setInternal($data['Internal']); - unset($data['Internal']); - } elseif (\array_key_exists('Internal', $data) && null === $data['Internal']) { - $object->setInternal(null); - } - if (\array_key_exists('Attachable', $data) && null !== $data['Attachable']) { - $object->setAttachable($data['Attachable']); - unset($data['Attachable']); - } elseif (\array_key_exists('Attachable', $data) && null === $data['Attachable']) { - $object->setAttachable(null); - } - if (\array_key_exists('Ingress', $data) && null !== $data['Ingress']) { - $object->setIngress($data['Ingress']); - unset($data['Ingress']); - } elseif (\array_key_exists('Ingress', $data) && null === $data['Ingress']) { - $object->setIngress(null); - } - if (\array_key_exists('Containers', $data) && null !== $data['Containers']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Containers'] as $key => $value) { - $values[$key] = $this->denormalizer->denormalize($value, \Docker\API\Model\NetworkContainer::class, 'json', $context); - } - $object->setContainers($values); - unset($data['Containers']); - } elseif (\array_key_exists('Containers', $data) && null === $data['Containers']) { - $object->setContainers(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key_1 => $value_1) { - $values_1[$key_1] = $value_1; - } - $object->setOptions($values_1); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_2 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key_2 => $value_2) { - $values_2[$key_2] = $value_2; - } - $object->setLabels($values_2); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - foreach ($data as $key_3 => $value_3) { - if (preg_match('/.*/', (string) $key_3)) { - $object[$key_3] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('id') && null !== $data->getId()) { - $dataArray['Id'] = $data->getId(); - } - if ($data->isInitialized('created') && null !== $data->getCreated()) { - $dataArray['Created'] = $data->getCreated(); - } - if ($data->isInitialized('scope') && null !== $data->getScope()) { - $dataArray['Scope'] = $data->getScope(); - } - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $data->getDriver(); - } - if ($data->isInitialized('enableIPv6') && null !== $data->getEnableIPv6()) { - $dataArray['EnableIPv6'] = $data->getEnableIPv6(); - } - if ($data->isInitialized('iPAM') && null !== $data->getIPAM()) { - $dataArray['IPAM'] = $this->normalizer->normalize($data->getIPAM(), 'json', $context); - } - if ($data->isInitialized('internal') && null !== $data->getInternal()) { - $dataArray['Internal'] = $data->getInternal(); - } - if ($data->isInitialized('attachable') && null !== $data->getAttachable()) { - $dataArray['Attachable'] = $data->getAttachable(); - } - if ($data->isInitialized('ingress') && null !== $data->getIngress()) { - $dataArray['Ingress'] = $data->getIngress(); - } - if ($data->isInitialized('containers') && null !== $data->getContainers()) { - $values = []; - foreach ($data->getContainers() as $key => $value) { - $values[$key] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Containers'] = $values; - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values_1 = []; - foreach ($data->getOptions() as $key_1 => $value_1) { - $values_1[$key_1] = $value_1; - } - $dataArray['Options'] = $values_1; - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values_2 = []; - foreach ($data->getLabels() as $key_2 => $value_2) { - $values_2[$key_2] = $value_2; - } - $dataArray['Labels'] = $values_2; - } - foreach ($data as $key_3 => $value_3) { - if (preg_match('/.*/', (string) $key_3)) { - $dataArray[$key_3] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Network::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkSettingsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkSettingsNormalizer.php deleted file mode 100644 index f08354882..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkSettingsNormalizer.php +++ /dev/null @@ -1,284 +0,0 @@ -setBridge($data['Bridge']); - unset($data['Bridge']); - } elseif (\array_key_exists('Bridge', $data) && null === $data['Bridge']) { - $object->setBridge(null); - } - if (\array_key_exists('SandboxID', $data) && null !== $data['SandboxID']) { - $object->setSandboxID($data['SandboxID']); - unset($data['SandboxID']); - } elseif (\array_key_exists('SandboxID', $data) && null === $data['SandboxID']) { - $object->setSandboxID(null); - } - if (\array_key_exists('HairpinMode', $data) && null !== $data['HairpinMode']) { - $object->setHairpinMode($data['HairpinMode']); - unset($data['HairpinMode']); - } elseif (\array_key_exists('HairpinMode', $data) && null === $data['HairpinMode']) { - $object->setHairpinMode(null); - } - if (\array_key_exists('LinkLocalIPv6Address', $data) && null !== $data['LinkLocalIPv6Address']) { - $object->setLinkLocalIPv6Address($data['LinkLocalIPv6Address']); - unset($data['LinkLocalIPv6Address']); - } elseif (\array_key_exists('LinkLocalIPv6Address', $data) && null === $data['LinkLocalIPv6Address']) { - $object->setLinkLocalIPv6Address(null); - } - if (\array_key_exists('LinkLocalIPv6PrefixLen', $data) && null !== $data['LinkLocalIPv6PrefixLen']) { - $object->setLinkLocalIPv6PrefixLen($data['LinkLocalIPv6PrefixLen']); - unset($data['LinkLocalIPv6PrefixLen']); - } elseif (\array_key_exists('LinkLocalIPv6PrefixLen', $data) && null === $data['LinkLocalIPv6PrefixLen']) { - $object->setLinkLocalIPv6PrefixLen(null); - } - if (\array_key_exists('Ports', $data) && null !== $data['Ports']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Ports'] as $key => $value) { - if (null === $value) { - $values[$key] = null; - continue; - } - $values_1 = []; - foreach ($value as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\PortBinding::class, 'json', $context); - } - $values[$key] = $values_1; - } - $object->setPorts($values); - unset($data['Ports']); - } elseif (\array_key_exists('Ports', $data) && null === $data['Ports']) { - $object->setPorts(null); - } - if (\array_key_exists('SandboxKey', $data) && null !== $data['SandboxKey']) { - $object->setSandboxKey($data['SandboxKey']); - unset($data['SandboxKey']); - } elseif (\array_key_exists('SandboxKey', $data) && null === $data['SandboxKey']) { - $object->setSandboxKey(null); - } - if (\array_key_exists('SecondaryIPAddresses', $data) && null !== $data['SecondaryIPAddresses']) { - $values_2 = []; - foreach ($data['SecondaryIPAddresses'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\Address::class, 'json', $context); - } - $object->setSecondaryIPAddresses($values_2); - unset($data['SecondaryIPAddresses']); - } elseif (\array_key_exists('SecondaryIPAddresses', $data) && null === $data['SecondaryIPAddresses']) { - $object->setSecondaryIPAddresses(null); - } - if (\array_key_exists('SecondaryIPv6Addresses', $data) && null !== $data['SecondaryIPv6Addresses']) { - $values_3 = []; - foreach ($data['SecondaryIPv6Addresses'] as $value_3) { - $values_3[] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\Address::class, 'json', $context); - } - $object->setSecondaryIPv6Addresses($values_3); - unset($data['SecondaryIPv6Addresses']); - } elseif (\array_key_exists('SecondaryIPv6Addresses', $data) && null === $data['SecondaryIPv6Addresses']) { - $object->setSecondaryIPv6Addresses(null); - } - if (\array_key_exists('EndpointID', $data) && null !== $data['EndpointID']) { - $object->setEndpointID($data['EndpointID']); - unset($data['EndpointID']); - } elseif (\array_key_exists('EndpointID', $data) && null === $data['EndpointID']) { - $object->setEndpointID(null); - } - if (\array_key_exists('Gateway', $data) && null !== $data['Gateway']) { - $object->setGateway($data['Gateway']); - unset($data['Gateway']); - } elseif (\array_key_exists('Gateway', $data) && null === $data['Gateway']) { - $object->setGateway(null); - } - if (\array_key_exists('GlobalIPv6Address', $data) && null !== $data['GlobalIPv6Address']) { - $object->setGlobalIPv6Address($data['GlobalIPv6Address']); - unset($data['GlobalIPv6Address']); - } elseif (\array_key_exists('GlobalIPv6Address', $data) && null === $data['GlobalIPv6Address']) { - $object->setGlobalIPv6Address(null); - } - if (\array_key_exists('GlobalIPv6PrefixLen', $data) && null !== $data['GlobalIPv6PrefixLen']) { - $object->setGlobalIPv6PrefixLen($data['GlobalIPv6PrefixLen']); - unset($data['GlobalIPv6PrefixLen']); - } elseif (\array_key_exists('GlobalIPv6PrefixLen', $data) && null === $data['GlobalIPv6PrefixLen']) { - $object->setGlobalIPv6PrefixLen(null); - } - if (\array_key_exists('IPAddress', $data) && null !== $data['IPAddress']) { - $object->setIPAddress($data['IPAddress']); - unset($data['IPAddress']); - } elseif (\array_key_exists('IPAddress', $data) && null === $data['IPAddress']) { - $object->setIPAddress(null); - } - if (\array_key_exists('IPPrefixLen', $data) && null !== $data['IPPrefixLen']) { - $object->setIPPrefixLen($data['IPPrefixLen']); - unset($data['IPPrefixLen']); - } elseif (\array_key_exists('IPPrefixLen', $data) && null === $data['IPPrefixLen']) { - $object->setIPPrefixLen(null); - } - if (\array_key_exists('IPv6Gateway', $data) && null !== $data['IPv6Gateway']) { - $object->setIPv6Gateway($data['IPv6Gateway']); - unset($data['IPv6Gateway']); - } elseif (\array_key_exists('IPv6Gateway', $data) && null === $data['IPv6Gateway']) { - $object->setIPv6Gateway(null); - } - if (\array_key_exists('MacAddress', $data) && null !== $data['MacAddress']) { - $object->setMacAddress($data['MacAddress']); - unset($data['MacAddress']); - } elseif (\array_key_exists('MacAddress', $data) && null === $data['MacAddress']) { - $object->setMacAddress(null); - } - if (\array_key_exists('Networks', $data) && null !== $data['Networks']) { - $values_4 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Networks'] as $key_1 => $value_4) { - $values_4[$key_1] = $this->denormalizer->denormalize($value_4, \Docker\API\Model\EndpointSettings::class, 'json', $context); - } - $object->setNetworks($values_4); - unset($data['Networks']); - } elseif (\array_key_exists('Networks', $data) && null === $data['Networks']) { - $object->setNetworks(null); - } - foreach ($data as $key_2 => $value_5) { - if (preg_match('/.*/', (string) $key_2)) { - $object[$key_2] = $value_5; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('bridge') && null !== $data->getBridge()) { - $dataArray['Bridge'] = $data->getBridge(); - } - if ($data->isInitialized('sandboxID') && null !== $data->getSandboxID()) { - $dataArray['SandboxID'] = $data->getSandboxID(); - } - if ($data->isInitialized('hairpinMode') && null !== $data->getHairpinMode()) { - $dataArray['HairpinMode'] = $data->getHairpinMode(); - } - if ($data->isInitialized('linkLocalIPv6Address') && null !== $data->getLinkLocalIPv6Address()) { - $dataArray['LinkLocalIPv6Address'] = $data->getLinkLocalIPv6Address(); - } - if ($data->isInitialized('linkLocalIPv6PrefixLen') && null !== $data->getLinkLocalIPv6PrefixLen()) { - $dataArray['LinkLocalIPv6PrefixLen'] = $data->getLinkLocalIPv6PrefixLen(); - } - if ($data->isInitialized('ports') && null !== $data->getPorts()) { - $values = []; - foreach ($data->getPorts() as $key => $value) { - if (null === $value) { - $values[$key] = null; - continue; - } - $values_1 = []; - foreach ($value as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $values[$key] = $values_1; - } - $dataArray['Ports'] = $values; - } - if ($data->isInitialized('sandboxKey') && null !== $data->getSandboxKey()) { - $dataArray['SandboxKey'] = $data->getSandboxKey(); - } - if ($data->isInitialized('secondaryIPAddresses') && null !== $data->getSecondaryIPAddresses()) { - $values_2 = []; - foreach ($data->getSecondaryIPAddresses() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['SecondaryIPAddresses'] = $values_2; - } - if ($data->isInitialized('secondaryIPv6Addresses') && null !== $data->getSecondaryIPv6Addresses()) { - $values_3 = []; - foreach ($data->getSecondaryIPv6Addresses() as $value_3) { - $values_3[] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['SecondaryIPv6Addresses'] = $values_3; - } - if ($data->isInitialized('endpointID') && null !== $data->getEndpointID()) { - $dataArray['EndpointID'] = $data->getEndpointID(); - } - if ($data->isInitialized('gateway') && null !== $data->getGateway()) { - $dataArray['Gateway'] = $data->getGateway(); - } - if ($data->isInitialized('globalIPv6Address') && null !== $data->getGlobalIPv6Address()) { - $dataArray['GlobalIPv6Address'] = $data->getGlobalIPv6Address(); - } - if ($data->isInitialized('globalIPv6PrefixLen') && null !== $data->getGlobalIPv6PrefixLen()) { - $dataArray['GlobalIPv6PrefixLen'] = $data->getGlobalIPv6PrefixLen(); - } - if ($data->isInitialized('iPAddress') && null !== $data->getIPAddress()) { - $dataArray['IPAddress'] = $data->getIPAddress(); - } - if ($data->isInitialized('iPPrefixLen') && null !== $data->getIPPrefixLen()) { - $dataArray['IPPrefixLen'] = $data->getIPPrefixLen(); - } - if ($data->isInitialized('iPv6Gateway') && null !== $data->getIPv6Gateway()) { - $dataArray['IPv6Gateway'] = $data->getIPv6Gateway(); - } - if ($data->isInitialized('macAddress') && null !== $data->getMacAddress()) { - $dataArray['MacAddress'] = $data->getMacAddress(); - } - if ($data->isInitialized('networks') && null !== $data->getNetworks()) { - $values_4 = []; - foreach ($data->getNetworks() as $key_1 => $value_4) { - $values_4[$key_1] = $this->normalizer->normalize($value_4, 'json', $context); - } - $dataArray['Networks'] = $values_4; - } - foreach ($data as $key_2 => $value_5) { - if (preg_match('/.*/', (string) $key_2)) { - $dataArray[$key_2] = $value_5; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworkSettings::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkingConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkingConfigNormalizer.php deleted file mode 100644 index 2f8094498..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworkingConfigNormalizer.php +++ /dev/null @@ -1,88 +0,0 @@ - $value) { - $values[$key] = $this->denormalizer->denormalize($value, \Docker\API\Model\EndpointSettings::class, 'json', $context); - } - $object->setEndpointsConfig($values); - unset($data['EndpointsConfig']); - } elseif (\array_key_exists('EndpointsConfig', $data) && null === $data['EndpointsConfig']) { - $object->setEndpointsConfig(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('endpointsConfig') && null !== $data->getEndpointsConfig()) { - $values = []; - foreach ($data->getEndpointsConfig() as $key => $value) { - $values[$key] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['EndpointsConfig'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworkingConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksCreatePostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksCreatePostBodyNormalizer.php deleted file mode 100644 index 14440a861..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksCreatePostBodyNormalizer.php +++ /dev/null @@ -1,190 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('CheckDuplicate', $data) && null !== $data['CheckDuplicate']) { - $object->setCheckDuplicate($data['CheckDuplicate']); - unset($data['CheckDuplicate']); - } elseif (\array_key_exists('CheckDuplicate', $data) && null === $data['CheckDuplicate']) { - $object->setCheckDuplicate(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('Internal', $data) && null !== $data['Internal']) { - $object->setInternal($data['Internal']); - unset($data['Internal']); - } elseif (\array_key_exists('Internal', $data) && null === $data['Internal']) { - $object->setInternal(null); - } - if (\array_key_exists('Attachable', $data) && null !== $data['Attachable']) { - $object->setAttachable($data['Attachable']); - unset($data['Attachable']); - } elseif (\array_key_exists('Attachable', $data) && null === $data['Attachable']) { - $object->setAttachable(null); - } - if (\array_key_exists('Ingress', $data) && null !== $data['Ingress']) { - $object->setIngress($data['Ingress']); - unset($data['Ingress']); - } elseif (\array_key_exists('Ingress', $data) && null === $data['Ingress']) { - $object->setIngress(null); - } - if (\array_key_exists('IPAM', $data) && null !== $data['IPAM']) { - $object->setIPAM($this->denormalizer->denormalize($data['IPAM'], \Docker\API\Model\IPAM::class, 'json', $context)); - unset($data['IPAM']); - } elseif (\array_key_exists('IPAM', $data) && null === $data['IPAM']) { - $object->setIPAM(null); - } - if (\array_key_exists('EnableIPv6', $data) && null !== $data['EnableIPv6']) { - $object->setEnableIPv6($data['EnableIPv6']); - unset($data['EnableIPv6']); - } elseif (\array_key_exists('EnableIPv6', $data) && null === $data['EnableIPv6']) { - $object->setEnableIPv6(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key => $value) { - $values[$key] = $value; - } - $object->setOptions($values); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key_1 => $value_1) { - $values_1[$key_1] = $value_1; - } - $object->setLabels($values_1); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - foreach ($data as $key_2 => $value_2) { - if (preg_match('/.*/', (string) $key_2)) { - $object[$key_2] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - if ($data->isInitialized('checkDuplicate') && null !== $data->getCheckDuplicate()) { - $dataArray['CheckDuplicate'] = $data->getCheckDuplicate(); - } - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $data->getDriver(); - } - if ($data->isInitialized('internal') && null !== $data->getInternal()) { - $dataArray['Internal'] = $data->getInternal(); - } - if ($data->isInitialized('attachable') && null !== $data->getAttachable()) { - $dataArray['Attachable'] = $data->getAttachable(); - } - if ($data->isInitialized('ingress') && null !== $data->getIngress()) { - $dataArray['Ingress'] = $data->getIngress(); - } - if ($data->isInitialized('iPAM') && null !== $data->getIPAM()) { - $dataArray['IPAM'] = $this->normalizer->normalize($data->getIPAM(), 'json', $context); - } - if ($data->isInitialized('enableIPv6') && null !== $data->getEnableIPv6()) { - $dataArray['EnableIPv6'] = $data->getEnableIPv6(); - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values = []; - foreach ($data->getOptions() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Options'] = $values; - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values_1 = []; - foreach ($data->getLabels() as $key_1 => $value_1) { - $values_1[$key_1] = $value_1; - } - $dataArray['Labels'] = $values_1; - } - foreach ($data as $key_2 => $value_2) { - if (preg_match('/.*/', (string) $key_2)) { - $dataArray[$key_2] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworksCreatePostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksCreatePostResponse201Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksCreatePostResponse201Normalizer.php deleted file mode 100644 index 9f8eb8edb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksCreatePostResponse201Normalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('Warning', $data) && null !== $data['Warning']) { - $object->setWarning($data['Warning']); - unset($data['Warning']); - } elseif (\array_key_exists('Warning', $data) && null === $data['Warning']) { - $object->setWarning(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('id') && null !== $data->getId()) { - $dataArray['Id'] = $data->getId(); - } - if ($data->isInitialized('warning') && null !== $data->getWarning()) { - $dataArray['Warning'] = $data->getWarning(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworksCreatePostResponse201::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksIdConnectPostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksIdConnectPostBodyNormalizer.php deleted file mode 100644 index c3970bceb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksIdConnectPostBodyNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setContainer($data['Container']); - unset($data['Container']); - } elseif (\array_key_exists('Container', $data) && null === $data['Container']) { - $object->setContainer(null); - } - if (\array_key_exists('EndpointConfig', $data) && null !== $data['EndpointConfig']) { - $object->setEndpointConfig($this->denormalizer->denormalize($data['EndpointConfig'], \Docker\API\Model\EndpointSettings::class, 'json', $context)); - unset($data['EndpointConfig']); - } elseif (\array_key_exists('EndpointConfig', $data) && null === $data['EndpointConfig']) { - $object->setEndpointConfig(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('container') && null !== $data->getContainer()) { - $dataArray['Container'] = $data->getContainer(); - } - if ($data->isInitialized('endpointConfig') && null !== $data->getEndpointConfig()) { - $dataArray['EndpointConfig'] = $this->normalizer->normalize($data->getEndpointConfig(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworksIdConnectPostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksIdDisconnectPostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksIdDisconnectPostBodyNormalizer.php deleted file mode 100644 index e379e8c78..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksIdDisconnectPostBodyNormalizer.php +++ /dev/null @@ -1,92 +0,0 @@ -setContainer($data['Container']); - unset($data['Container']); - } elseif (\array_key_exists('Container', $data) && null === $data['Container']) { - $object->setContainer(null); - } - if (\array_key_exists('Force', $data) && null !== $data['Force']) { - $object->setForce($data['Force']); - unset($data['Force']); - } elseif (\array_key_exists('Force', $data) && null === $data['Force']) { - $object->setForce(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('container') && null !== $data->getContainer()) { - $dataArray['Container'] = $data->getContainer(); - } - if ($data->isInitialized('force') && null !== $data->getForce()) { - $dataArray['Force'] = $data->getForce(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworksIdDisconnectPostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksPrunePostResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksPrunePostResponse200Normalizer.php deleted file mode 100644 index c519142f7..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NetworksPrunePostResponse200Normalizer.php +++ /dev/null @@ -1,88 +0,0 @@ -setNetworksDeleted($values); - unset($data['NetworksDeleted']); - } elseif (\array_key_exists('NetworksDeleted', $data) && null === $data['NetworksDeleted']) { - $object->setNetworksDeleted(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('networksDeleted') && null !== $data->getNetworksDeleted()) { - $values = []; - foreach ($data->getNetworksDeleted() as $value) { - $values[] = $value; - } - $dataArray['NetworksDeleted'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NetworksPrunePostResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeDescriptionNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeDescriptionNormalizer.php deleted file mode 100644 index 6715dc090..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeDescriptionNormalizer.php +++ /dev/null @@ -1,116 +0,0 @@ -setHostname($data['Hostname']); - unset($data['Hostname']); - } elseif (\array_key_exists('Hostname', $data) && null === $data['Hostname']) { - $object->setHostname(null); - } - if (\array_key_exists('Platform', $data) && null !== $data['Platform']) { - $object->setPlatform($this->denormalizer->denormalize($data['Platform'], \Docker\API\Model\Platform::class, 'json', $context)); - unset($data['Platform']); - } elseif (\array_key_exists('Platform', $data) && null === $data['Platform']) { - $object->setPlatform(null); - } - if (\array_key_exists('Resources', $data) && null !== $data['Resources']) { - $object->setResources($this->denormalizer->denormalize($data['Resources'], \Docker\API\Model\ResourceObject::class, 'json', $context)); - unset($data['Resources']); - } elseif (\array_key_exists('Resources', $data) && null === $data['Resources']) { - $object->setResources(null); - } - if (\array_key_exists('Engine', $data) && null !== $data['Engine']) { - $object->setEngine($this->denormalizer->denormalize($data['Engine'], \Docker\API\Model\EngineDescription::class, 'json', $context)); - unset($data['Engine']); - } elseif (\array_key_exists('Engine', $data) && null === $data['Engine']) { - $object->setEngine(null); - } - if (\array_key_exists('TLSInfo', $data) && null !== $data['TLSInfo']) { - $object->setTLSInfo($this->denormalizer->denormalize($data['TLSInfo'], \Docker\API\Model\TLSInfo::class, 'json', $context)); - unset($data['TLSInfo']); - } elseif (\array_key_exists('TLSInfo', $data) && null === $data['TLSInfo']) { - $object->setTLSInfo(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('hostname') && null !== $data->getHostname()) { - $dataArray['Hostname'] = $data->getHostname(); - } - if ($data->isInitialized('platform') && null !== $data->getPlatform()) { - $dataArray['Platform'] = $this->normalizer->normalize($data->getPlatform(), 'json', $context); - } - if ($data->isInitialized('resources') && null !== $data->getResources()) { - $dataArray['Resources'] = $this->normalizer->normalize($data->getResources(), 'json', $context); - } - if ($data->isInitialized('engine') && null !== $data->getEngine()) { - $dataArray['Engine'] = $this->normalizer->normalize($data->getEngine(), 'json', $context); - } - if ($data->isInitialized('tLSInfo') && null !== $data->getTLSInfo()) { - $dataArray['TLSInfo'] = $this->normalizer->normalize($data->getTLSInfo(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NodeDescription::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeNormalizer.php deleted file mode 100644 index 0148ac130..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeNormalizer.php +++ /dev/null @@ -1,143 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($this->denormalizer->denormalize($data['Version'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('UpdatedAt', $data) && null !== $data['UpdatedAt']) { - $object->setUpdatedAt($data['UpdatedAt']); - unset($data['UpdatedAt']); - } elseif (\array_key_exists('UpdatedAt', $data) && null === $data['UpdatedAt']) { - $object->setUpdatedAt(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\NodeSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - if (\array_key_exists('Description', $data) && null !== $data['Description']) { - $object->setDescription($this->denormalizer->denormalize($data['Description'], \Docker\API\Model\NodeDescription::class, 'json', $context)); - unset($data['Description']); - } elseif (\array_key_exists('Description', $data) && null === $data['Description']) { - $object->setDescription(null); - } - if (\array_key_exists('Status', $data) && null !== $data['Status']) { - $object->setStatus($this->denormalizer->denormalize($data['Status'], \Docker\API\Model\NodeStatus::class, 'json', $context)); - unset($data['Status']); - } elseif (\array_key_exists('Status', $data) && null === $data['Status']) { - $object->setStatus(null); - } - if (\array_key_exists('ManagerStatus', $data) && null !== $data['ManagerStatus']) { - $object->setManagerStatus($this->denormalizer->denormalize($data['ManagerStatus'], \Docker\API\Model\ManagerStatus::class, 'json', $context)); - unset($data['ManagerStatus']); - } elseif (\array_key_exists('ManagerStatus', $data) && null === $data['ManagerStatus']) { - $object->setManagerStatus(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $this->normalizer->normalize($data->getVersion(), 'json', $context); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('updatedAt') && null !== $data->getUpdatedAt()) { - $dataArray['UpdatedAt'] = $data->getUpdatedAt(); - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - if ($data->isInitialized('description') && null !== $data->getDescription()) { - $dataArray['Description'] = $this->normalizer->normalize($data->getDescription(), 'json', $context); - } - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $dataArray['Status'] = $this->normalizer->normalize($data->getStatus(), 'json', $context); - } - if ($data->isInitialized('managerStatus') && null !== $data->getManagerStatus()) { - $dataArray['ManagerStatus'] = $this->normalizer->normalize($data->getManagerStatus(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Node::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeSpecNormalizer.php deleted file mode 100644 index 863748d56..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeSpecNormalizer.php +++ /dev/null @@ -1,115 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Role', $data) && null !== $data['Role']) { - $object->setRole($data['Role']); - unset($data['Role']); - } elseif (\array_key_exists('Role', $data) && null === $data['Role']) { - $object->setRole(null); - } - if (\array_key_exists('Availability', $data) && null !== $data['Availability']) { - $object->setAvailability($data['Availability']); - unset($data['Availability']); - } elseif (\array_key_exists('Availability', $data) && null === $data['Availability']) { - $object->setAvailability(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('role') && null !== $data->getRole()) { - $dataArray['Role'] = $data->getRole(); - } - if ($data->isInitialized('availability') && null !== $data->getAvailability()) { - $dataArray['Availability'] = $data->getAvailability(); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NodeSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeStatusNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeStatusNormalizer.php deleted file mode 100644 index df2c5c3fd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/NodeStatusNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setState($data['State']); - unset($data['State']); - } elseif (\array_key_exists('State', $data) && null === $data['State']) { - $object->setState(null); - } - if (\array_key_exists('Message', $data) && null !== $data['Message']) { - $object->setMessage($data['Message']); - unset($data['Message']); - } elseif (\array_key_exists('Message', $data) && null === $data['Message']) { - $object->setMessage(null); - } - if (\array_key_exists('Addr', $data) && null !== $data['Addr']) { - $object->setAddr($data['Addr']); - unset($data['Addr']); - } elseif (\array_key_exists('Addr', $data) && null === $data['Addr']) { - $object->setAddr(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('state') && null !== $data->getState()) { - $dataArray['State'] = $data->getState(); - } - if ($data->isInitialized('message') && null !== $data->getMessage()) { - $dataArray['Message'] = $data->getMessage(); - } - if ($data->isInitialized('addr') && null !== $data->getAddr()) { - $dataArray['Addr'] = $data->getAddr(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\NodeStatus::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/OCIDescriptorNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/OCIDescriptorNormalizer.php deleted file mode 100644 index 16d539f06..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/OCIDescriptorNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setMediaType($data['mediaType']); - unset($data['mediaType']); - } elseif (\array_key_exists('mediaType', $data) && null === $data['mediaType']) { - $object->setMediaType(null); - } - if (\array_key_exists('digest', $data) && null !== $data['digest']) { - $object->setDigest($data['digest']); - unset($data['digest']); - } elseif (\array_key_exists('digest', $data) && null === $data['digest']) { - $object->setDigest(null); - } - if (\array_key_exists('size', $data) && null !== $data['size']) { - $object->setSize($data['size']); - unset($data['size']); - } elseif (\array_key_exists('size', $data) && null === $data['size']) { - $object->setSize(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('mediaType') && null !== $data->getMediaType()) { - $dataArray['mediaType'] = $data->getMediaType(); - } - if ($data->isInitialized('digest') && null !== $data->getDigest()) { - $dataArray['digest'] = $data->getDigest(); - } - if ($data->isInitialized('size') && null !== $data->getSize()) { - $dataArray['size'] = $data->getSize(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\OCIDescriptor::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/OCIPlatformNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/OCIPlatformNormalizer.php deleted file mode 100644 index d32821784..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/OCIPlatformNormalizer.php +++ /dev/null @@ -1,124 +0,0 @@ -setArchitecture($data['architecture']); - unset($data['architecture']); - } elseif (\array_key_exists('architecture', $data) && null === $data['architecture']) { - $object->setArchitecture(null); - } - if (\array_key_exists('os', $data) && null !== $data['os']) { - $object->setOs($data['os']); - unset($data['os']); - } elseif (\array_key_exists('os', $data) && null === $data['os']) { - $object->setOs(null); - } - if (\array_key_exists('os.version', $data) && null !== $data['os.version']) { - $object->setOsVersion($data['os.version']); - unset($data['os.version']); - } elseif (\array_key_exists('os.version', $data) && null === $data['os.version']) { - $object->setOsVersion(null); - } - if (\array_key_exists('os.features', $data) && null !== $data['os.features']) { - $values = []; - foreach ($data['os.features'] as $value) { - $values[] = $value; - } - $object->setOsFeatures($values); - unset($data['os.features']); - } elseif (\array_key_exists('os.features', $data) && null === $data['os.features']) { - $object->setOsFeatures(null); - } - if (\array_key_exists('variant', $data) && null !== $data['variant']) { - $object->setVariant($data['variant']); - unset($data['variant']); - } elseif (\array_key_exists('variant', $data) && null === $data['variant']) { - $object->setVariant(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('architecture') && null !== $data->getArchitecture()) { - $dataArray['architecture'] = $data->getArchitecture(); - } - if ($data->isInitialized('os') && null !== $data->getOs()) { - $dataArray['os'] = $data->getOs(); - } - if ($data->isInitialized('osVersion') && null !== $data->getOsVersion()) { - $dataArray['os.version'] = $data->getOsVersion(); - } - if ($data->isInitialized('osFeatures') && null !== $data->getOsFeatures()) { - $values = []; - foreach ($data->getOsFeatures() as $value) { - $values[] = $value; - } - $dataArray['os.features'] = $values; - } - if ($data->isInitialized('variant') && null !== $data->getVariant()) { - $dataArray['variant'] = $data->getVariant(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\OCIPlatform::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ObjectVersionNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ObjectVersionNormalizer.php deleted file mode 100644 index 37b40c010..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ObjectVersionNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setIndex($data['Index']); - unset($data['Index']); - } elseif (\array_key_exists('Index', $data) && null === $data['Index']) { - $object->setIndex(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('index') && null !== $data->getIndex()) { - $dataArray['Index'] = $data->getIndex(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ObjectVersion::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PeerNodeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PeerNodeNormalizer.php deleted file mode 100644 index 6862f8e46..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PeerNodeNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setNodeID($data['NodeID']); - unset($data['NodeID']); - } elseif (\array_key_exists('NodeID', $data) && null === $data['NodeID']) { - $object->setNodeID(null); - } - if (\array_key_exists('Addr', $data) && null !== $data['Addr']) { - $object->setAddr($data['Addr']); - unset($data['Addr']); - } elseif (\array_key_exists('Addr', $data) && null === $data['Addr']) { - $object->setAddr(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('nodeID') && null !== $data->getNodeID()) { - $dataArray['NodeID'] = $data->getNodeID(); - } - if ($data->isInitialized('addr') && null !== $data->getAddr()) { - $dataArray['Addr'] = $data->getAddr(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PeerNode::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PlatformNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PlatformNormalizer.php deleted file mode 100644 index 104dd090e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PlatformNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setArchitecture($data['Architecture']); - unset($data['Architecture']); - } elseif (\array_key_exists('Architecture', $data) && null === $data['Architecture']) { - $object->setArchitecture(null); - } - if (\array_key_exists('OS', $data) && null !== $data['OS']) { - $object->setOS($data['OS']); - unset($data['OS']); - } elseif (\array_key_exists('OS', $data) && null === $data['OS']) { - $object->setOS(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('architecture') && null !== $data->getArchitecture()) { - $dataArray['Architecture'] = $data->getArchitecture(); - } - if ($data->isInitialized('oS') && null !== $data->getOS()) { - $dataArray['OS'] = $data->getOS(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Platform::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigArgsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigArgsNormalizer.php deleted file mode 100644 index f2856cbf9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigArgsNormalizer.php +++ /dev/null @@ -1,115 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Description', $data) && null !== $data['Description']) { - $object->setDescription($data['Description']); - unset($data['Description']); - } elseif (\array_key_exists('Description', $data) && null === $data['Description']) { - $object->setDescription(null); - } - if (\array_key_exists('Settable', $data) && null !== $data['Settable']) { - $values = []; - foreach ($data['Settable'] as $value) { - $values[] = $value; - } - $object->setSettable($values); - unset($data['Settable']); - } elseif (\array_key_exists('Settable', $data) && null === $data['Settable']) { - $object->setSettable(null); - } - if (\array_key_exists('Value', $data) && null !== $data['Value']) { - $values_1 = []; - foreach ($data['Value'] as $value_1) { - $values_1[] = $value_1; - } - $object->setValue($values_1); - unset($data['Value']); - } elseif (\array_key_exists('Value', $data) && null === $data['Value']) { - $object->setValue(null); - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - $dataArray['Description'] = $data->getDescription(); - $values = []; - foreach ($data->getSettable() as $value) { - $values[] = $value; - } - $dataArray['Settable'] = $values; - $values_1 = []; - foreach ($data->getValue() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Value'] = $values_1; - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginConfigArgs::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigInterfaceNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigInterfaceNormalizer.php deleted file mode 100644 index 5905eb34d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigInterfaceNormalizer.php +++ /dev/null @@ -1,102 +0,0 @@ -denormalizer->denormalize($value, \Docker\API\Model\PluginInterfaceType::class, 'json', $context); - } - $object->setTypes($values); - unset($data['Types']); - } elseif (\array_key_exists('Types', $data) && null === $data['Types']) { - $object->setTypes(null); - } - if (\array_key_exists('Socket', $data) && null !== $data['Socket']) { - $object->setSocket($data['Socket']); - unset($data['Socket']); - } elseif (\array_key_exists('Socket', $data) && null === $data['Socket']) { - $object->setSocket(null); - } - if (\array_key_exists('ProtocolScheme', $data) && null !== $data['ProtocolScheme']) { - $object->setProtocolScheme($data['ProtocolScheme']); - unset($data['ProtocolScheme']); - } elseif (\array_key_exists('ProtocolScheme', $data) && null === $data['ProtocolScheme']) { - $object->setProtocolScheme(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $values = []; - foreach ($data->getTypes() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Types'] = $values; - $dataArray['Socket'] = $data->getSocket(); - if ($data->isInitialized('protocolScheme') && null !== $data->getProtocolScheme()) { - $dataArray['ProtocolScheme'] = $data->getProtocolScheme(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginConfigInterface::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigLinuxNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigLinuxNormalizer.php deleted file mode 100644 index a15258424..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigLinuxNormalizer.php +++ /dev/null @@ -1,111 +0,0 @@ -setCapabilities($values); - unset($data['Capabilities']); - } elseif (\array_key_exists('Capabilities', $data) && null === $data['Capabilities']) { - $object->setCapabilities(null); - } - if (\array_key_exists('AllowAllDevices', $data) && null !== $data['AllowAllDevices']) { - $object->setAllowAllDevices($data['AllowAllDevices']); - unset($data['AllowAllDevices']); - } elseif (\array_key_exists('AllowAllDevices', $data) && null === $data['AllowAllDevices']) { - $object->setAllowAllDevices(null); - } - if (\array_key_exists('Devices', $data) && null !== $data['Devices']) { - $values_1 = []; - foreach ($data['Devices'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\PluginDevice::class, 'json', $context); - } - $object->setDevices($values_1); - unset($data['Devices']); - } elseif (\array_key_exists('Devices', $data) && null === $data['Devices']) { - $object->setDevices(null); - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $values = []; - foreach ($data->getCapabilities() as $value) { - $values[] = $value; - } - $dataArray['Capabilities'] = $values; - $dataArray['AllowAllDevices'] = $data->getAllowAllDevices(); - $values_1 = []; - foreach ($data->getDevices() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Devices'] = $values_1; - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginConfigLinux::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigNetworkNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigNetworkNormalizer.php deleted file mode 100644 index fb12ba4ea..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigNetworkNormalizer.php +++ /dev/null @@ -1,78 +0,0 @@ -setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Type'] = $data->getType(); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginConfigNetwork::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigNormalizer.php deleted file mode 100644 index d858f516e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigNormalizer.php +++ /dev/null @@ -1,219 +0,0 @@ -setDockerVersion($data['DockerVersion']); - unset($data['DockerVersion']); - } elseif (\array_key_exists('DockerVersion', $data) && null === $data['DockerVersion']) { - $object->setDockerVersion(null); - } - if (\array_key_exists('Description', $data) && null !== $data['Description']) { - $object->setDescription($data['Description']); - unset($data['Description']); - } elseif (\array_key_exists('Description', $data) && null === $data['Description']) { - $object->setDescription(null); - } - if (\array_key_exists('Documentation', $data) && null !== $data['Documentation']) { - $object->setDocumentation($data['Documentation']); - unset($data['Documentation']); - } elseif (\array_key_exists('Documentation', $data) && null === $data['Documentation']) { - $object->setDocumentation(null); - } - if (\array_key_exists('Interface', $data) && null !== $data['Interface']) { - $object->setInterface($this->denormalizer->denormalize($data['Interface'], \Docker\API\Model\PluginConfigInterface::class, 'json', $context)); - unset($data['Interface']); - } elseif (\array_key_exists('Interface', $data) && null === $data['Interface']) { - $object->setInterface(null); - } - if (\array_key_exists('Entrypoint', $data) && null !== $data['Entrypoint']) { - $values = []; - foreach ($data['Entrypoint'] as $value) { - $values[] = $value; - } - $object->setEntrypoint($values); - unset($data['Entrypoint']); - } elseif (\array_key_exists('Entrypoint', $data) && null === $data['Entrypoint']) { - $object->setEntrypoint(null); - } - if (\array_key_exists('WorkDir', $data) && null !== $data['WorkDir']) { - $object->setWorkDir($data['WorkDir']); - unset($data['WorkDir']); - } elseif (\array_key_exists('WorkDir', $data) && null === $data['WorkDir']) { - $object->setWorkDir(null); - } - if (\array_key_exists('User', $data) && null !== $data['User']) { - $object->setUser($this->denormalizer->denormalize($data['User'], \Docker\API\Model\PluginConfigUser::class, 'json', $context)); - unset($data['User']); - } elseif (\array_key_exists('User', $data) && null === $data['User']) { - $object->setUser(null); - } - if (\array_key_exists('Network', $data) && null !== $data['Network']) { - $object->setNetwork($this->denormalizer->denormalize($data['Network'], \Docker\API\Model\PluginConfigNetwork::class, 'json', $context)); - unset($data['Network']); - } elseif (\array_key_exists('Network', $data) && null === $data['Network']) { - $object->setNetwork(null); - } - if (\array_key_exists('Linux', $data) && null !== $data['Linux']) { - $object->setLinux($this->denormalizer->denormalize($data['Linux'], \Docker\API\Model\PluginConfigLinux::class, 'json', $context)); - unset($data['Linux']); - } elseif (\array_key_exists('Linux', $data) && null === $data['Linux']) { - $object->setLinux(null); - } - if (\array_key_exists('PropagatedMount', $data) && null !== $data['PropagatedMount']) { - $object->setPropagatedMount($data['PropagatedMount']); - unset($data['PropagatedMount']); - } elseif (\array_key_exists('PropagatedMount', $data) && null === $data['PropagatedMount']) { - $object->setPropagatedMount(null); - } - if (\array_key_exists('IpcHost', $data) && null !== $data['IpcHost']) { - $object->setIpcHost($data['IpcHost']); - unset($data['IpcHost']); - } elseif (\array_key_exists('IpcHost', $data) && null === $data['IpcHost']) { - $object->setIpcHost(null); - } - if (\array_key_exists('PidHost', $data) && null !== $data['PidHost']) { - $object->setPidHost($data['PidHost']); - unset($data['PidHost']); - } elseif (\array_key_exists('PidHost', $data) && null === $data['PidHost']) { - $object->setPidHost(null); - } - if (\array_key_exists('Mounts', $data) && null !== $data['Mounts']) { - $values_1 = []; - foreach ($data['Mounts'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\PluginMount::class, 'json', $context); - } - $object->setMounts($values_1); - unset($data['Mounts']); - } elseif (\array_key_exists('Mounts', $data) && null === $data['Mounts']) { - $object->setMounts(null); - } - if (\array_key_exists('Env', $data) && null !== $data['Env']) { - $values_2 = []; - foreach ($data['Env'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\PluginEnv::class, 'json', $context); - } - $object->setEnv($values_2); - unset($data['Env']); - } elseif (\array_key_exists('Env', $data) && null === $data['Env']) { - $object->setEnv(null); - } - if (\array_key_exists('Args', $data) && null !== $data['Args']) { - $object->setArgs($this->denormalizer->denormalize($data['Args'], \Docker\API\Model\PluginConfigArgs::class, 'json', $context)); - unset($data['Args']); - } elseif (\array_key_exists('Args', $data) && null === $data['Args']) { - $object->setArgs(null); - } - if (\array_key_exists('rootfs', $data) && null !== $data['rootfs']) { - $object->setRootfs($this->denormalizer->denormalize($data['rootfs'], \Docker\API\Model\PluginConfigRootfs::class, 'json', $context)); - unset($data['rootfs']); - } elseif (\array_key_exists('rootfs', $data) && null === $data['rootfs']) { - $object->setRootfs(null); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('dockerVersion') && null !== $data->getDockerVersion()) { - $dataArray['DockerVersion'] = $data->getDockerVersion(); - } - $dataArray['Description'] = $data->getDescription(); - $dataArray['Documentation'] = $data->getDocumentation(); - $dataArray['Interface'] = $this->normalizer->normalize($data->getInterface(), 'json', $context); - $values = []; - foreach ($data->getEntrypoint() as $value) { - $values[] = $value; - } - $dataArray['Entrypoint'] = $values; - $dataArray['WorkDir'] = $data->getWorkDir(); - if ($data->isInitialized('user') && null !== $data->getUser()) { - $dataArray['User'] = $this->normalizer->normalize($data->getUser(), 'json', $context); - } - $dataArray['Network'] = $this->normalizer->normalize($data->getNetwork(), 'json', $context); - $dataArray['Linux'] = $this->normalizer->normalize($data->getLinux(), 'json', $context); - $dataArray['PropagatedMount'] = $data->getPropagatedMount(); - $dataArray['IpcHost'] = $data->getIpcHost(); - $dataArray['PidHost'] = $data->getPidHost(); - $values_1 = []; - foreach ($data->getMounts() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Mounts'] = $values_1; - $values_2 = []; - foreach ($data->getEnv() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['Env'] = $values_2; - $dataArray['Args'] = $this->normalizer->normalize($data->getArgs(), 'json', $context); - if ($data->isInitialized('rootfs') && null !== $data->getRootfs()) { - $dataArray['rootfs'] = $this->normalizer->normalize($data->getRootfs(), 'json', $context); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigRootfsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigRootfsNormalizer.php deleted file mode 100644 index ad9c6dfb0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigRootfsNormalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setType($data['type']); - unset($data['type']); - } elseif (\array_key_exists('type', $data) && null === $data['type']) { - $object->setType(null); - } - if (\array_key_exists('diff_ids', $data) && null !== $data['diff_ids']) { - $values = []; - foreach ($data['diff_ids'] as $value) { - $values[] = $value; - } - $object->setDiffIds($values); - unset($data['diff_ids']); - } elseif (\array_key_exists('diff_ids', $data) && null === $data['diff_ids']) { - $object->setDiffIds(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('type') && null !== $data->getType()) { - $dataArray['type'] = $data->getType(); - } - if ($data->isInitialized('diffIds') && null !== $data->getDiffIds()) { - $values = []; - foreach ($data->getDiffIds() as $value) { - $values[] = $value; - } - $dataArray['diff_ids'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginConfigRootfs::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigUserNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigUserNormalizer.php deleted file mode 100644 index 60d26eceb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginConfigUserNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setUID($data['UID']); - unset($data['UID']); - } elseif (\array_key_exists('UID', $data) && null === $data['UID']) { - $object->setUID(null); - } - if (\array_key_exists('GID', $data) && null !== $data['GID']) { - $object->setGID($data['GID']); - unset($data['GID']); - } elseif (\array_key_exists('GID', $data) && null === $data['GID']) { - $object->setGID(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('uID') && null !== $data->getUID()) { - $dataArray['UID'] = $data->getUID(); - } - if ($data->isInitialized('gID') && null !== $data->getGID()) { - $dataArray['GID'] = $data->getGID(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginConfigUser::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginDeviceNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginDeviceNormalizer.php deleted file mode 100644 index abb7fd491..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginDeviceNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Description', $data) && null !== $data['Description']) { - $object->setDescription($data['Description']); - unset($data['Description']); - } elseif (\array_key_exists('Description', $data) && null === $data['Description']) { - $object->setDescription(null); - } - if (\array_key_exists('Settable', $data) && null !== $data['Settable']) { - $values = []; - foreach ($data['Settable'] as $value) { - $values[] = $value; - } - $object->setSettable($values); - unset($data['Settable']); - } elseif (\array_key_exists('Settable', $data) && null === $data['Settable']) { - $object->setSettable(null); - } - if (\array_key_exists('Path', $data) && null !== $data['Path']) { - $object->setPath($data['Path']); - unset($data['Path']); - } elseif (\array_key_exists('Path', $data) && null === $data['Path']) { - $object->setPath(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - $dataArray['Description'] = $data->getDescription(); - $values = []; - foreach ($data->getSettable() as $value) { - $values[] = $value; - } - $dataArray['Settable'] = $values; - $dataArray['Path'] = $data->getPath(); - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginDevice::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginEnvNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginEnvNormalizer.php deleted file mode 100644 index 9a7aa1b69..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginEnvNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Description', $data) && null !== $data['Description']) { - $object->setDescription($data['Description']); - unset($data['Description']); - } elseif (\array_key_exists('Description', $data) && null === $data['Description']) { - $object->setDescription(null); - } - if (\array_key_exists('Settable', $data) && null !== $data['Settable']) { - $values = []; - foreach ($data['Settable'] as $value) { - $values[] = $value; - } - $object->setSettable($values); - unset($data['Settable']); - } elseif (\array_key_exists('Settable', $data) && null === $data['Settable']) { - $object->setSettable(null); - } - if (\array_key_exists('Value', $data) && null !== $data['Value']) { - $object->setValue($data['Value']); - unset($data['Value']); - } elseif (\array_key_exists('Value', $data) && null === $data['Value']) { - $object->setValue(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - $dataArray['Description'] = $data->getDescription(); - $values = []; - foreach ($data->getSettable() as $value) { - $values[] = $value; - } - $dataArray['Settable'] = $values; - $dataArray['Value'] = $data->getValue(); - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginEnv::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginInterfaceTypeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginInterfaceTypeNormalizer.php deleted file mode 100644 index f22e0eeb6..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginInterfaceTypeNormalizer.php +++ /dev/null @@ -1,92 +0,0 @@ -setPrefix($data['Prefix']); - unset($data['Prefix']); - } elseif (\array_key_exists('Prefix', $data) && null === $data['Prefix']) { - $object->setPrefix(null); - } - if (\array_key_exists('Capability', $data) && null !== $data['Capability']) { - $object->setCapability($data['Capability']); - unset($data['Capability']); - } elseif (\array_key_exists('Capability', $data) && null === $data['Capability']) { - $object->setCapability(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($data['Version']); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Prefix'] = $data->getPrefix(); - $dataArray['Capability'] = $data->getCapability(); - $dataArray['Version'] = $data->getVersion(); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginInterfaceType::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginMountNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginMountNormalizer.php deleted file mode 100644 index 5f8246e13..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginMountNormalizer.php +++ /dev/null @@ -1,136 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Description', $data) && null !== $data['Description']) { - $object->setDescription($data['Description']); - unset($data['Description']); - } elseif (\array_key_exists('Description', $data) && null === $data['Description']) { - $object->setDescription(null); - } - if (\array_key_exists('Settable', $data) && null !== $data['Settable']) { - $values = []; - foreach ($data['Settable'] as $value) { - $values[] = $value; - } - $object->setSettable($values); - unset($data['Settable']); - } elseif (\array_key_exists('Settable', $data) && null === $data['Settable']) { - $object->setSettable(null); - } - if (\array_key_exists('Source', $data) && null !== $data['Source']) { - $object->setSource($data['Source']); - unset($data['Source']); - } elseif (\array_key_exists('Source', $data) && null === $data['Source']) { - $object->setSource(null); - } - if (\array_key_exists('Destination', $data) && null !== $data['Destination']) { - $object->setDestination($data['Destination']); - unset($data['Destination']); - } elseif (\array_key_exists('Destination', $data) && null === $data['Destination']) { - $object->setDestination(null); - } - if (\array_key_exists('Type', $data) && null !== $data['Type']) { - $object->setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values_1 = []; - foreach ($data['Options'] as $value_1) { - $values_1[] = $value_1; - } - $object->setOptions($values_1); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - $dataArray['Description'] = $data->getDescription(); - $values = []; - foreach ($data->getSettable() as $value) { - $values[] = $value; - } - $dataArray['Settable'] = $values; - $dataArray['Source'] = $data->getSource(); - $dataArray['Destination'] = $data->getDestination(); - $dataArray['Type'] = $data->getType(); - $values_1 = []; - foreach ($data->getOptions() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Options'] = $values_1; - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginMount::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginNormalizer.php deleted file mode 100644 index ce410dcce..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginNormalizer.php +++ /dev/null @@ -1,120 +0,0 @@ -setId($data['Id']); - unset($data['Id']); - } elseif (\array_key_exists('Id', $data) && null === $data['Id']) { - $object->setId(null); - } - if (\array_key_exists('Name', $data) && null !== $data['Name']) { - $object->setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Enabled', $data) && null !== $data['Enabled']) { - $object->setEnabled($data['Enabled']); - unset($data['Enabled']); - } elseif (\array_key_exists('Enabled', $data) && null === $data['Enabled']) { - $object->setEnabled(null); - } - if (\array_key_exists('Settings', $data) && null !== $data['Settings']) { - $object->setSettings($this->denormalizer->denormalize($data['Settings'], \Docker\API\Model\PluginSettings::class, 'json', $context)); - unset($data['Settings']); - } elseif (\array_key_exists('Settings', $data) && null === $data['Settings']) { - $object->setSettings(null); - } - if (\array_key_exists('PluginReference', $data) && null !== $data['PluginReference']) { - $object->setPluginReference($data['PluginReference']); - unset($data['PluginReference']); - } elseif (\array_key_exists('PluginReference', $data) && null === $data['PluginReference']) { - $object->setPluginReference(null); - } - if (\array_key_exists('Config', $data) && null !== $data['Config']) { - $object->setConfig($this->denormalizer->denormalize($data['Config'], \Docker\API\Model\PluginConfig::class, 'json', $context)); - unset($data['Config']); - } elseif (\array_key_exists('Config', $data) && null === $data['Config']) { - $object->setConfig(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('id') && null !== $data->getId()) { - $dataArray['Id'] = $data->getId(); - } - $dataArray['Name'] = $data->getName(); - $dataArray['Enabled'] = $data->getEnabled(); - $dataArray['Settings'] = $this->normalizer->normalize($data->getSettings(), 'json', $context); - if ($data->isInitialized('pluginReference') && null !== $data->getPluginReference()) { - $dataArray['PluginReference'] = $data->getPluginReference(); - } - $dataArray['Config'] = $this->normalizer->normalize($data->getConfig(), 'json', $context); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Plugin::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginPrivilegeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginPrivilegeNormalizer.php deleted file mode 100644 index 8fb054412..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginPrivilegeNormalizer.php +++ /dev/null @@ -1,106 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Description', $data) && null !== $data['Description']) { - $object->setDescription($data['Description']); - unset($data['Description']); - } elseif (\array_key_exists('Description', $data) && null === $data['Description']) { - $object->setDescription(null); - } - if (\array_key_exists('Value', $data) && null !== $data['Value']) { - $values = []; - foreach ($data['Value'] as $value) { - $values[] = $value; - } - $object->setValue($values); - unset($data['Value']); - } elseif (\array_key_exists('Value', $data) && null === $data['Value']) { - $object->setValue(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('description') && null !== $data->getDescription()) { - $dataArray['Description'] = $data->getDescription(); - } - if ($data->isInitialized('value') && null !== $data->getValue()) { - $values = []; - foreach ($data->getValue() as $value) { - $values[] = $value; - } - $dataArray['Value'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginPrivilege::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginSettingsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginSettingsNormalizer.php deleted file mode 100644 index 31a60a517..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginSettingsNormalizer.php +++ /dev/null @@ -1,131 +0,0 @@ -denormalizer->denormalize($value, \Docker\API\Model\PluginMount::class, 'json', $context); - } - $object->setMounts($values); - unset($data['Mounts']); - } elseif (\array_key_exists('Mounts', $data) && null === $data['Mounts']) { - $object->setMounts(null); - } - if (\array_key_exists('Env', $data) && null !== $data['Env']) { - $values_1 = []; - foreach ($data['Env'] as $value_1) { - $values_1[] = $value_1; - } - $object->setEnv($values_1); - unset($data['Env']); - } elseif (\array_key_exists('Env', $data) && null === $data['Env']) { - $object->setEnv(null); - } - if (\array_key_exists('Args', $data) && null !== $data['Args']) { - $values_2 = []; - foreach ($data['Args'] as $value_2) { - $values_2[] = $value_2; - } - $object->setArgs($values_2); - unset($data['Args']); - } elseif (\array_key_exists('Args', $data) && null === $data['Args']) { - $object->setArgs(null); - } - if (\array_key_exists('Devices', $data) && null !== $data['Devices']) { - $values_3 = []; - foreach ($data['Devices'] as $value_3) { - $values_3[] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\PluginDevice::class, 'json', $context); - } - $object->setDevices($values_3); - unset($data['Devices']); - } elseif (\array_key_exists('Devices', $data) && null === $data['Devices']) { - $object->setDevices(null); - } - foreach ($data as $key => $value_4) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_4; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $values = []; - foreach ($data->getMounts() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Mounts'] = $values; - $values_1 = []; - foreach ($data->getEnv() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Env'] = $values_1; - $values_2 = []; - foreach ($data->getArgs() as $value_2) { - $values_2[] = $value_2; - } - $dataArray['Args'] = $values_2; - $values_3 = []; - foreach ($data->getDevices() as $value_3) { - $values_3[] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['Devices'] = $values_3; - foreach ($data as $key => $value_4) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_4; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginSettings::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginsInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginsInfoNormalizer.php deleted file mode 100644 index 1e70509de..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PluginsInfoNormalizer.php +++ /dev/null @@ -1,139 +0,0 @@ -setVolume($values); - unset($data['Volume']); - } elseif (\array_key_exists('Volume', $data) && null === $data['Volume']) { - $object->setVolume(null); - } - if (\array_key_exists('Network', $data) && null !== $data['Network']) { - $values_1 = []; - foreach ($data['Network'] as $value_1) { - $values_1[] = $value_1; - } - $object->setNetwork($values_1); - unset($data['Network']); - } elseif (\array_key_exists('Network', $data) && null === $data['Network']) { - $object->setNetwork(null); - } - if (\array_key_exists('Authorization', $data) && null !== $data['Authorization']) { - $values_2 = []; - foreach ($data['Authorization'] as $value_2) { - $values_2[] = $value_2; - } - $object->setAuthorization($values_2); - unset($data['Authorization']); - } elseif (\array_key_exists('Authorization', $data) && null === $data['Authorization']) { - $object->setAuthorization(null); - } - if (\array_key_exists('Log', $data) && null !== $data['Log']) { - $values_3 = []; - foreach ($data['Log'] as $value_3) { - $values_3[] = $value_3; - } - $object->setLog($values_3); - unset($data['Log']); - } elseif (\array_key_exists('Log', $data) && null === $data['Log']) { - $object->setLog(null); - } - foreach ($data as $key => $value_4) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_4; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('volume') && null !== $data->getVolume()) { - $values = []; - foreach ($data->getVolume() as $value) { - $values[] = $value; - } - $dataArray['Volume'] = $values; - } - if ($data->isInitialized('network') && null !== $data->getNetwork()) { - $values_1 = []; - foreach ($data->getNetwork() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Network'] = $values_1; - } - if ($data->isInitialized('authorization') && null !== $data->getAuthorization()) { - $values_2 = []; - foreach ($data->getAuthorization() as $value_2) { - $values_2[] = $value_2; - } - $dataArray['Authorization'] = $values_2; - } - if ($data->isInitialized('log') && null !== $data->getLog()) { - $values_3 = []; - foreach ($data->getLog() as $value_3) { - $values_3[] = $value_3; - } - $dataArray['Log'] = $values_3; - } - foreach ($data as $key => $value_4) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_4; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PluginsInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortBindingNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortBindingNormalizer.php deleted file mode 100644 index 6ae9291d3..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortBindingNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setHostIp($data['HostIp']); - unset($data['HostIp']); - } elseif (\array_key_exists('HostIp', $data) && null === $data['HostIp']) { - $object->setHostIp(null); - } - if (\array_key_exists('HostPort', $data) && null !== $data['HostPort']) { - $object->setHostPort($data['HostPort']); - unset($data['HostPort']); - } elseif (\array_key_exists('HostPort', $data) && null === $data['HostPort']) { - $object->setHostPort(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('hostIp') && null !== $data->getHostIp()) { - $dataArray['HostIp'] = $data->getHostIp(); - } - if ($data->isInitialized('hostPort') && null !== $data->getHostPort()) { - $dataArray['HostPort'] = $data->getHostPort(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PortBinding::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortNormalizer.php deleted file mode 100644 index d2a15e6cb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortNormalizer.php +++ /dev/null @@ -1,103 +0,0 @@ -setIP($data['IP']); - unset($data['IP']); - } elseif (\array_key_exists('IP', $data) && null === $data['IP']) { - $object->setIP(null); - } - if (\array_key_exists('PrivatePort', $data) && null !== $data['PrivatePort']) { - $object->setPrivatePort($data['PrivatePort']); - unset($data['PrivatePort']); - } elseif (\array_key_exists('PrivatePort', $data) && null === $data['PrivatePort']) { - $object->setPrivatePort(null); - } - if (\array_key_exists('PublicPort', $data) && null !== $data['PublicPort']) { - $object->setPublicPort($data['PublicPort']); - unset($data['PublicPort']); - } elseif (\array_key_exists('PublicPort', $data) && null === $data['PublicPort']) { - $object->setPublicPort(null); - } - if (\array_key_exists('Type', $data) && null !== $data['Type']) { - $object->setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iP') && null !== $data->getIP()) { - $dataArray['IP'] = $data->getIP(); - } - $dataArray['PrivatePort'] = $data->getPrivatePort(); - if ($data->isInitialized('publicPort') && null !== $data->getPublicPort()) { - $dataArray['PublicPort'] = $data->getPublicPort(); - } - $dataArray['Type'] = $data->getType(); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Port::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortStatusNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortStatusNormalizer.php deleted file mode 100644 index 6a59c4cd9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PortStatusNormalizer.php +++ /dev/null @@ -1,88 +0,0 @@ -denormalizer->denormalize($value, \Docker\API\Model\EndpointPortConfig::class, 'json', $context); - } - $object->setPorts($values); - unset($data['Ports']); - } elseif (\array_key_exists('Ports', $data) && null === $data['Ports']) { - $object->setPorts(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('ports') && null !== $data->getPorts()) { - $values = []; - foreach ($data->getPorts() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Ports'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PortStatus::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ProcessConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ProcessConfigNormalizer.php deleted file mode 100644 index caac37ddd..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ProcessConfigNormalizer.php +++ /dev/null @@ -1,130 +0,0 @@ -setPrivileged($data['privileged']); - unset($data['privileged']); - } elseif (\array_key_exists('privileged', $data) && null === $data['privileged']) { - $object->setPrivileged(null); - } - if (\array_key_exists('user', $data) && null !== $data['user']) { - $object->setUser($data['user']); - unset($data['user']); - } elseif (\array_key_exists('user', $data) && null === $data['user']) { - $object->setUser(null); - } - if (\array_key_exists('tty', $data) && null !== $data['tty']) { - $object->setTty($data['tty']); - unset($data['tty']); - } elseif (\array_key_exists('tty', $data) && null === $data['tty']) { - $object->setTty(null); - } - if (\array_key_exists('entrypoint', $data) && null !== $data['entrypoint']) { - $object->setEntrypoint($data['entrypoint']); - unset($data['entrypoint']); - } elseif (\array_key_exists('entrypoint', $data) && null === $data['entrypoint']) { - $object->setEntrypoint(null); - } - if (\array_key_exists('arguments', $data) && null !== $data['arguments']) { - $values = []; - foreach ($data['arguments'] as $value) { - $values[] = $value; - } - $object->setArguments($values); - unset($data['arguments']); - } elseif (\array_key_exists('arguments', $data) && null === $data['arguments']) { - $object->setArguments(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('privileged') && null !== $data->getPrivileged()) { - $dataArray['privileged'] = $data->getPrivileged(); - } - if ($data->isInitialized('user') && null !== $data->getUser()) { - $dataArray['user'] = $data->getUser(); - } - if ($data->isInitialized('tty') && null !== $data->getTty()) { - $dataArray['tty'] = $data->getTty(); - } - if ($data->isInitialized('entrypoint') && null !== $data->getEntrypoint()) { - $dataArray['entrypoint'] = $data->getEntrypoint(); - } - if ($data->isInitialized('arguments') && null !== $data->getArguments()) { - $values = []; - foreach ($data->getArguments() as $value) { - $values[] = $value; - } - $dataArray['arguments'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ProcessConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ProgressDetailNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ProgressDetailNormalizer.php deleted file mode 100644 index 65f378fcb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ProgressDetailNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setCurrent($data['current']); - unset($data['current']); - } elseif (\array_key_exists('current', $data) && null === $data['current']) { - $object->setCurrent(null); - } - if (\array_key_exists('total', $data) && null !== $data['total']) { - $object->setTotal($data['total']); - unset($data['total']); - } elseif (\array_key_exists('total', $data) && null === $data['total']) { - $object->setTotal(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('current') && null !== $data->getCurrent()) { - $dataArray['current'] = $data->getCurrent(); - } - if ($data->isInitialized('total') && null !== $data->getTotal()) { - $dataArray['total'] = $data->getTotal(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ProgressDetail::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PushImageInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/PushImageInfoNormalizer.php deleted file mode 100644 index 94cb1491f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/PushImageInfoNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setError($data['error']); - unset($data['error']); - } elseif (\array_key_exists('error', $data) && null === $data['error']) { - $object->setError(null); - } - if (\array_key_exists('status', $data) && null !== $data['status']) { - $object->setStatus($data['status']); - unset($data['status']); - } elseif (\array_key_exists('status', $data) && null === $data['status']) { - $object->setStatus(null); - } - if (\array_key_exists('progress', $data) && null !== $data['progress']) { - $object->setProgress($data['progress']); - unset($data['progress']); - } elseif (\array_key_exists('progress', $data) && null === $data['progress']) { - $object->setProgress(null); - } - if (\array_key_exists('progressDetail', $data) && null !== $data['progressDetail']) { - $object->setProgressDetail($this->denormalizer->denormalize($data['progressDetail'], \Docker\API\Model\ProgressDetail::class, 'json', $context)); - unset($data['progressDetail']); - } elseif (\array_key_exists('progressDetail', $data) && null === $data['progressDetail']) { - $object->setProgressDetail(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('error') && null !== $data->getError()) { - $dataArray['error'] = $data->getError(); - } - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $dataArray['status'] = $data->getStatus(); - } - if ($data->isInitialized('progress') && null !== $data->getProgress()) { - $dataArray['progress'] = $data->getProgress(); - } - if ($data->isInitialized('progressDetail') && null !== $data->getProgressDetail()) { - $dataArray['progressDetail'] = $this->normalizer->normalize($data->getProgressDetail(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\PushImageInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/RegistryServiceConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/RegistryServiceConfigNormalizer.php deleted file mode 100644 index d275b03e4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/RegistryServiceConfigNormalizer.php +++ /dev/null @@ -1,156 +0,0 @@ -setAllowNondistributableArtifactsCIDRs($values); - unset($data['AllowNondistributableArtifactsCIDRs']); - } elseif (\array_key_exists('AllowNondistributableArtifactsCIDRs', $data) && null === $data['AllowNondistributableArtifactsCIDRs']) { - $object->setAllowNondistributableArtifactsCIDRs(null); - } - if (\array_key_exists('AllowNondistributableArtifactsHostnames', $data) && null !== $data['AllowNondistributableArtifactsHostnames']) { - $values_1 = []; - foreach ($data['AllowNondistributableArtifactsHostnames'] as $value_1) { - $values_1[] = $value_1; - } - $object->setAllowNondistributableArtifactsHostnames($values_1); - unset($data['AllowNondistributableArtifactsHostnames']); - } elseif (\array_key_exists('AllowNondistributableArtifactsHostnames', $data) && null === $data['AllowNondistributableArtifactsHostnames']) { - $object->setAllowNondistributableArtifactsHostnames(null); - } - if (\array_key_exists('InsecureRegistryCIDRs', $data) && null !== $data['InsecureRegistryCIDRs']) { - $values_2 = []; - foreach ($data['InsecureRegistryCIDRs'] as $value_2) { - $values_2[] = $value_2; - } - $object->setInsecureRegistryCIDRs($values_2); - unset($data['InsecureRegistryCIDRs']); - } elseif (\array_key_exists('InsecureRegistryCIDRs', $data) && null === $data['InsecureRegistryCIDRs']) { - $object->setInsecureRegistryCIDRs(null); - } - if (\array_key_exists('IndexConfigs', $data) && null !== $data['IndexConfigs']) { - $values_3 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['IndexConfigs'] as $key => $value_3) { - $values_3[$key] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\IndexInfo::class, 'json', $context); - } - $object->setIndexConfigs($values_3); - unset($data['IndexConfigs']); - } elseif (\array_key_exists('IndexConfigs', $data) && null === $data['IndexConfigs']) { - $object->setIndexConfigs(null); - } - if (\array_key_exists('Mirrors', $data) && null !== $data['Mirrors']) { - $values_4 = []; - foreach ($data['Mirrors'] as $value_4) { - $values_4[] = $value_4; - } - $object->setMirrors($values_4); - unset($data['Mirrors']); - } elseif (\array_key_exists('Mirrors', $data) && null === $data['Mirrors']) { - $object->setMirrors(null); - } - foreach ($data as $key_1 => $value_5) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_5; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('allowNondistributableArtifactsCIDRs') && null !== $data->getAllowNondistributableArtifactsCIDRs()) { - $values = []; - foreach ($data->getAllowNondistributableArtifactsCIDRs() as $value) { - $values[] = $value; - } - $dataArray['AllowNondistributableArtifactsCIDRs'] = $values; - } - if ($data->isInitialized('allowNondistributableArtifactsHostnames') && null !== $data->getAllowNondistributableArtifactsHostnames()) { - $values_1 = []; - foreach ($data->getAllowNondistributableArtifactsHostnames() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['AllowNondistributableArtifactsHostnames'] = $values_1; - } - if ($data->isInitialized('insecureRegistryCIDRs') && null !== $data->getInsecureRegistryCIDRs()) { - $values_2 = []; - foreach ($data->getInsecureRegistryCIDRs() as $value_2) { - $values_2[] = $value_2; - } - $dataArray['InsecureRegistryCIDRs'] = $values_2; - } - if ($data->isInitialized('indexConfigs') && null !== $data->getIndexConfigs()) { - $values_3 = []; - foreach ($data->getIndexConfigs() as $key => $value_3) { - $values_3[$key] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['IndexConfigs'] = $values_3; - } - if ($data->isInitialized('mirrors') && null !== $data->getMirrors()) { - $values_4 = []; - foreach ($data->getMirrors() as $value_4) { - $values_4[] = $value_4; - } - $dataArray['Mirrors'] = $values_4; - } - foreach ($data as $key_1 => $value_5) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_5; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\RegistryServiceConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourceObjectNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourceObjectNormalizer.php deleted file mode 100644 index a39ec8eeb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourceObjectNormalizer.php +++ /dev/null @@ -1,106 +0,0 @@ -setNanoCPUs($data['NanoCPUs']); - unset($data['NanoCPUs']); - } elseif (\array_key_exists('NanoCPUs', $data) && null === $data['NanoCPUs']) { - $object->setNanoCPUs(null); - } - if (\array_key_exists('MemoryBytes', $data) && null !== $data['MemoryBytes']) { - $object->setMemoryBytes($data['MemoryBytes']); - unset($data['MemoryBytes']); - } elseif (\array_key_exists('MemoryBytes', $data) && null === $data['MemoryBytes']) { - $object->setMemoryBytes(null); - } - if (\array_key_exists('GenericResources', $data) && null !== $data['GenericResources']) { - $values = []; - foreach ($data['GenericResources'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\GenericResourcesItem::class, 'json', $context); - } - $object->setGenericResources($values); - unset($data['GenericResources']); - } elseif (\array_key_exists('GenericResources', $data) && null === $data['GenericResources']) { - $object->setGenericResources(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('nanoCPUs') && null !== $data->getNanoCPUs()) { - $dataArray['NanoCPUs'] = $data->getNanoCPUs(); - } - if ($data->isInitialized('memoryBytes') && null !== $data->getMemoryBytes()) { - $dataArray['MemoryBytes'] = $data->getMemoryBytes(); - } - if ($data->isInitialized('genericResources') && null !== $data->getGenericResources()) { - $values = []; - foreach ($data->getGenericResources() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['GenericResources'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ResourceObject::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesBlkioWeightDeviceItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesBlkioWeightDeviceItemNormalizer.php deleted file mode 100644 index 837f83bcb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesBlkioWeightDeviceItemNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setPath($data['Path']); - unset($data['Path']); - } elseif (\array_key_exists('Path', $data) && null === $data['Path']) { - $object->setPath(null); - } - if (\array_key_exists('Weight', $data) && null !== $data['Weight']) { - $object->setWeight($data['Weight']); - unset($data['Weight']); - } elseif (\array_key_exists('Weight', $data) && null === $data['Weight']) { - $object->setWeight(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('path') && null !== $data->getPath()) { - $dataArray['Path'] = $data->getPath(); - } - if ($data->isInitialized('weight') && null !== $data->getWeight()) { - $dataArray['Weight'] = $data->getWeight(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ResourcesBlkioWeightDeviceItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesNormalizer.php deleted file mode 100644 index 6f46c84e0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesNormalizer.php +++ /dev/null @@ -1,428 +0,0 @@ -setCpuShares($data['CpuShares']); - unset($data['CpuShares']); - } elseif (\array_key_exists('CpuShares', $data) && null === $data['CpuShares']) { - $object->setCpuShares(null); - } - if (\array_key_exists('Memory', $data) && null !== $data['Memory']) { - $object->setMemory($data['Memory']); - unset($data['Memory']); - } elseif (\array_key_exists('Memory', $data) && null === $data['Memory']) { - $object->setMemory(null); - } - if (\array_key_exists('CgroupParent', $data) && null !== $data['CgroupParent']) { - $object->setCgroupParent($data['CgroupParent']); - unset($data['CgroupParent']); - } elseif (\array_key_exists('CgroupParent', $data) && null === $data['CgroupParent']) { - $object->setCgroupParent(null); - } - if (\array_key_exists('BlkioWeight', $data) && null !== $data['BlkioWeight']) { - $object->setBlkioWeight($data['BlkioWeight']); - unset($data['BlkioWeight']); - } elseif (\array_key_exists('BlkioWeight', $data) && null === $data['BlkioWeight']) { - $object->setBlkioWeight(null); - } - if (\array_key_exists('BlkioWeightDevice', $data) && null !== $data['BlkioWeightDevice']) { - $values = []; - foreach ($data['BlkioWeightDevice'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\ResourcesBlkioWeightDeviceItem::class, 'json', $context); - } - $object->setBlkioWeightDevice($values); - unset($data['BlkioWeightDevice']); - } elseif (\array_key_exists('BlkioWeightDevice', $data) && null === $data['BlkioWeightDevice']) { - $object->setBlkioWeightDevice(null); - } - if (\array_key_exists('BlkioDeviceReadBps', $data) && null !== $data['BlkioDeviceReadBps']) { - $values_1 = []; - foreach ($data['BlkioDeviceReadBps'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceReadBps($values_1); - unset($data['BlkioDeviceReadBps']); - } elseif (\array_key_exists('BlkioDeviceReadBps', $data) && null === $data['BlkioDeviceReadBps']) { - $object->setBlkioDeviceReadBps(null); - } - if (\array_key_exists('BlkioDeviceWriteBps', $data) && null !== $data['BlkioDeviceWriteBps']) { - $values_2 = []; - foreach ($data['BlkioDeviceWriteBps'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceWriteBps($values_2); - unset($data['BlkioDeviceWriteBps']); - } elseif (\array_key_exists('BlkioDeviceWriteBps', $data) && null === $data['BlkioDeviceWriteBps']) { - $object->setBlkioDeviceWriteBps(null); - } - if (\array_key_exists('BlkioDeviceReadIOps', $data) && null !== $data['BlkioDeviceReadIOps']) { - $values_3 = []; - foreach ($data['BlkioDeviceReadIOps'] as $value_3) { - $values_3[] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceReadIOps($values_3); - unset($data['BlkioDeviceReadIOps']); - } elseif (\array_key_exists('BlkioDeviceReadIOps', $data) && null === $data['BlkioDeviceReadIOps']) { - $object->setBlkioDeviceReadIOps(null); - } - if (\array_key_exists('BlkioDeviceWriteIOps', $data) && null !== $data['BlkioDeviceWriteIOps']) { - $values_4 = []; - foreach ($data['BlkioDeviceWriteIOps'] as $value_4) { - $values_4[] = $this->denormalizer->denormalize($value_4, \Docker\API\Model\ThrottleDevice::class, 'json', $context); - } - $object->setBlkioDeviceWriteIOps($values_4); - unset($data['BlkioDeviceWriteIOps']); - } elseif (\array_key_exists('BlkioDeviceWriteIOps', $data) && null === $data['BlkioDeviceWriteIOps']) { - $object->setBlkioDeviceWriteIOps(null); - } - if (\array_key_exists('CpuPeriod', $data) && null !== $data['CpuPeriod']) { - $object->setCpuPeriod($data['CpuPeriod']); - unset($data['CpuPeriod']); - } elseif (\array_key_exists('CpuPeriod', $data) && null === $data['CpuPeriod']) { - $object->setCpuPeriod(null); - } - if (\array_key_exists('CpuQuota', $data) && null !== $data['CpuQuota']) { - $object->setCpuQuota($data['CpuQuota']); - unset($data['CpuQuota']); - } elseif (\array_key_exists('CpuQuota', $data) && null === $data['CpuQuota']) { - $object->setCpuQuota(null); - } - if (\array_key_exists('CpuRealtimePeriod', $data) && null !== $data['CpuRealtimePeriod']) { - $object->setCpuRealtimePeriod($data['CpuRealtimePeriod']); - unset($data['CpuRealtimePeriod']); - } elseif (\array_key_exists('CpuRealtimePeriod', $data) && null === $data['CpuRealtimePeriod']) { - $object->setCpuRealtimePeriod(null); - } - if (\array_key_exists('CpuRealtimeRuntime', $data) && null !== $data['CpuRealtimeRuntime']) { - $object->setCpuRealtimeRuntime($data['CpuRealtimeRuntime']); - unset($data['CpuRealtimeRuntime']); - } elseif (\array_key_exists('CpuRealtimeRuntime', $data) && null === $data['CpuRealtimeRuntime']) { - $object->setCpuRealtimeRuntime(null); - } - if (\array_key_exists('CpusetCpus', $data) && null !== $data['CpusetCpus']) { - $object->setCpusetCpus($data['CpusetCpus']); - unset($data['CpusetCpus']); - } elseif (\array_key_exists('CpusetCpus', $data) && null === $data['CpusetCpus']) { - $object->setCpusetCpus(null); - } - if (\array_key_exists('CpusetMems', $data) && null !== $data['CpusetMems']) { - $object->setCpusetMems($data['CpusetMems']); - unset($data['CpusetMems']); - } elseif (\array_key_exists('CpusetMems', $data) && null === $data['CpusetMems']) { - $object->setCpusetMems(null); - } - if (\array_key_exists('Devices', $data) && null !== $data['Devices']) { - $values_5 = []; - foreach ($data['Devices'] as $value_5) { - $values_5[] = $this->denormalizer->denormalize($value_5, \Docker\API\Model\DeviceMapping::class, 'json', $context); - } - $object->setDevices($values_5); - unset($data['Devices']); - } elseif (\array_key_exists('Devices', $data) && null === $data['Devices']) { - $object->setDevices(null); - } - if (\array_key_exists('DeviceCgroupRules', $data) && null !== $data['DeviceCgroupRules']) { - $values_6 = []; - foreach ($data['DeviceCgroupRules'] as $value_6) { - $values_6[] = $value_6; - } - $object->setDeviceCgroupRules($values_6); - unset($data['DeviceCgroupRules']); - } elseif (\array_key_exists('DeviceCgroupRules', $data) && null === $data['DeviceCgroupRules']) { - $object->setDeviceCgroupRules(null); - } - if (\array_key_exists('DeviceRequests', $data) && null !== $data['DeviceRequests']) { - $values_7 = []; - foreach ($data['DeviceRequests'] as $value_7) { - $values_7[] = $this->denormalizer->denormalize($value_7, \Docker\API\Model\DeviceRequest::class, 'json', $context); - } - $object->setDeviceRequests($values_7); - unset($data['DeviceRequests']); - } elseif (\array_key_exists('DeviceRequests', $data) && null === $data['DeviceRequests']) { - $object->setDeviceRequests(null); - } - if (\array_key_exists('KernelMemoryTCP', $data) && null !== $data['KernelMemoryTCP']) { - $object->setKernelMemoryTCP($data['KernelMemoryTCP']); - unset($data['KernelMemoryTCP']); - } elseif (\array_key_exists('KernelMemoryTCP', $data) && null === $data['KernelMemoryTCP']) { - $object->setKernelMemoryTCP(null); - } - if (\array_key_exists('MemoryReservation', $data) && null !== $data['MemoryReservation']) { - $object->setMemoryReservation($data['MemoryReservation']); - unset($data['MemoryReservation']); - } elseif (\array_key_exists('MemoryReservation', $data) && null === $data['MemoryReservation']) { - $object->setMemoryReservation(null); - } - if (\array_key_exists('MemorySwap', $data) && null !== $data['MemorySwap']) { - $object->setMemorySwap($data['MemorySwap']); - unset($data['MemorySwap']); - } elseif (\array_key_exists('MemorySwap', $data) && null === $data['MemorySwap']) { - $object->setMemorySwap(null); - } - if (\array_key_exists('MemorySwappiness', $data) && null !== $data['MemorySwappiness']) { - $object->setMemorySwappiness($data['MemorySwappiness']); - unset($data['MemorySwappiness']); - } elseif (\array_key_exists('MemorySwappiness', $data) && null === $data['MemorySwappiness']) { - $object->setMemorySwappiness(null); - } - if (\array_key_exists('NanoCpus', $data) && null !== $data['NanoCpus']) { - $object->setNanoCpus($data['NanoCpus']); - unset($data['NanoCpus']); - } elseif (\array_key_exists('NanoCpus', $data) && null === $data['NanoCpus']) { - $object->setNanoCpus(null); - } - if (\array_key_exists('OomKillDisable', $data) && null !== $data['OomKillDisable']) { - $object->setOomKillDisable($data['OomKillDisable']); - unset($data['OomKillDisable']); - } elseif (\array_key_exists('OomKillDisable', $data) && null === $data['OomKillDisable']) { - $object->setOomKillDisable(null); - } - if (\array_key_exists('Init', $data) && null !== $data['Init']) { - $object->setInit($data['Init']); - unset($data['Init']); - } elseif (\array_key_exists('Init', $data) && null === $data['Init']) { - $object->setInit(null); - } - if (\array_key_exists('PidsLimit', $data) && null !== $data['PidsLimit']) { - $object->setPidsLimit($data['PidsLimit']); - unset($data['PidsLimit']); - } elseif (\array_key_exists('PidsLimit', $data) && null === $data['PidsLimit']) { - $object->setPidsLimit(null); - } - if (\array_key_exists('Ulimits', $data) && null !== $data['Ulimits']) { - $values_8 = []; - foreach ($data['Ulimits'] as $value_8) { - $values_8[] = $this->denormalizer->denormalize($value_8, \Docker\API\Model\ResourcesUlimitsItem::class, 'json', $context); - } - $object->setUlimits($values_8); - unset($data['Ulimits']); - } elseif (\array_key_exists('Ulimits', $data) && null === $data['Ulimits']) { - $object->setUlimits(null); - } - if (\array_key_exists('CpuCount', $data) && null !== $data['CpuCount']) { - $object->setCpuCount($data['CpuCount']); - unset($data['CpuCount']); - } elseif (\array_key_exists('CpuCount', $data) && null === $data['CpuCount']) { - $object->setCpuCount(null); - } - if (\array_key_exists('CpuPercent', $data) && null !== $data['CpuPercent']) { - $object->setCpuPercent($data['CpuPercent']); - unset($data['CpuPercent']); - } elseif (\array_key_exists('CpuPercent', $data) && null === $data['CpuPercent']) { - $object->setCpuPercent(null); - } - if (\array_key_exists('IOMaximumIOps', $data) && null !== $data['IOMaximumIOps']) { - $object->setIOMaximumIOps($data['IOMaximumIOps']); - unset($data['IOMaximumIOps']); - } elseif (\array_key_exists('IOMaximumIOps', $data) && null === $data['IOMaximumIOps']) { - $object->setIOMaximumIOps(null); - } - if (\array_key_exists('IOMaximumBandwidth', $data) && null !== $data['IOMaximumBandwidth']) { - $object->setIOMaximumBandwidth($data['IOMaximumBandwidth']); - unset($data['IOMaximumBandwidth']); - } elseif (\array_key_exists('IOMaximumBandwidth', $data) && null === $data['IOMaximumBandwidth']) { - $object->setIOMaximumBandwidth(null); - } - foreach ($data as $key => $value_9) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_9; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('cpuShares') && null !== $data->getCpuShares()) { - $dataArray['CpuShares'] = $data->getCpuShares(); - } - if ($data->isInitialized('memory') && null !== $data->getMemory()) { - $dataArray['Memory'] = $data->getMemory(); - } - if ($data->isInitialized('cgroupParent') && null !== $data->getCgroupParent()) { - $dataArray['CgroupParent'] = $data->getCgroupParent(); - } - if ($data->isInitialized('blkioWeight') && null !== $data->getBlkioWeight()) { - $dataArray['BlkioWeight'] = $data->getBlkioWeight(); - } - if ($data->isInitialized('blkioWeightDevice') && null !== $data->getBlkioWeightDevice()) { - $values = []; - foreach ($data->getBlkioWeightDevice() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['BlkioWeightDevice'] = $values; - } - if ($data->isInitialized('blkioDeviceReadBps') && null !== $data->getBlkioDeviceReadBps()) { - $values_1 = []; - foreach ($data->getBlkioDeviceReadBps() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['BlkioDeviceReadBps'] = $values_1; - } - if ($data->isInitialized('blkioDeviceWriteBps') && null !== $data->getBlkioDeviceWriteBps()) { - $values_2 = []; - foreach ($data->getBlkioDeviceWriteBps() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['BlkioDeviceWriteBps'] = $values_2; - } - if ($data->isInitialized('blkioDeviceReadIOps') && null !== $data->getBlkioDeviceReadIOps()) { - $values_3 = []; - foreach ($data->getBlkioDeviceReadIOps() as $value_3) { - $values_3[] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['BlkioDeviceReadIOps'] = $values_3; - } - if ($data->isInitialized('blkioDeviceWriteIOps') && null !== $data->getBlkioDeviceWriteIOps()) { - $values_4 = []; - foreach ($data->getBlkioDeviceWriteIOps() as $value_4) { - $values_4[] = $this->normalizer->normalize($value_4, 'json', $context); - } - $dataArray['BlkioDeviceWriteIOps'] = $values_4; - } - if ($data->isInitialized('cpuPeriod') && null !== $data->getCpuPeriod()) { - $dataArray['CpuPeriod'] = $data->getCpuPeriod(); - } - if ($data->isInitialized('cpuQuota') && null !== $data->getCpuQuota()) { - $dataArray['CpuQuota'] = $data->getCpuQuota(); - } - if ($data->isInitialized('cpuRealtimePeriod') && null !== $data->getCpuRealtimePeriod()) { - $dataArray['CpuRealtimePeriod'] = $data->getCpuRealtimePeriod(); - } - if ($data->isInitialized('cpuRealtimeRuntime') && null !== $data->getCpuRealtimeRuntime()) { - $dataArray['CpuRealtimeRuntime'] = $data->getCpuRealtimeRuntime(); - } - if ($data->isInitialized('cpusetCpus') && null !== $data->getCpusetCpus()) { - $dataArray['CpusetCpus'] = $data->getCpusetCpus(); - } - if ($data->isInitialized('cpusetMems') && null !== $data->getCpusetMems()) { - $dataArray['CpusetMems'] = $data->getCpusetMems(); - } - if ($data->isInitialized('devices') && null !== $data->getDevices()) { - $values_5 = []; - foreach ($data->getDevices() as $value_5) { - $values_5[] = $this->normalizer->normalize($value_5, 'json', $context); - } - $dataArray['Devices'] = $values_5; - } - if ($data->isInitialized('deviceCgroupRules') && null !== $data->getDeviceCgroupRules()) { - $values_6 = []; - foreach ($data->getDeviceCgroupRules() as $value_6) { - $values_6[] = $value_6; - } - $dataArray['DeviceCgroupRules'] = $values_6; - } - if ($data->isInitialized('deviceRequests') && null !== $data->getDeviceRequests()) { - $values_7 = []; - foreach ($data->getDeviceRequests() as $value_7) { - $values_7[] = $this->normalizer->normalize($value_7, 'json', $context); - } - $dataArray['DeviceRequests'] = $values_7; - } - if ($data->isInitialized('kernelMemoryTCP') && null !== $data->getKernelMemoryTCP()) { - $dataArray['KernelMemoryTCP'] = $data->getKernelMemoryTCP(); - } - if ($data->isInitialized('memoryReservation') && null !== $data->getMemoryReservation()) { - $dataArray['MemoryReservation'] = $data->getMemoryReservation(); - } - if ($data->isInitialized('memorySwap') && null !== $data->getMemorySwap()) { - $dataArray['MemorySwap'] = $data->getMemorySwap(); - } - if ($data->isInitialized('memorySwappiness') && null !== $data->getMemorySwappiness()) { - $dataArray['MemorySwappiness'] = $data->getMemorySwappiness(); - } - if ($data->isInitialized('nanoCpus') && null !== $data->getNanoCpus()) { - $dataArray['NanoCpus'] = $data->getNanoCpus(); - } - if ($data->isInitialized('oomKillDisable') && null !== $data->getOomKillDisable()) { - $dataArray['OomKillDisable'] = $data->getOomKillDisable(); - } - if ($data->isInitialized('init') && null !== $data->getInit()) { - $dataArray['Init'] = $data->getInit(); - } - if ($data->isInitialized('pidsLimit') && null !== $data->getPidsLimit()) { - $dataArray['PidsLimit'] = $data->getPidsLimit(); - } - if ($data->isInitialized('ulimits') && null !== $data->getUlimits()) { - $values_8 = []; - foreach ($data->getUlimits() as $value_8) { - $values_8[] = $this->normalizer->normalize($value_8, 'json', $context); - } - $dataArray['Ulimits'] = $values_8; - } - if ($data->isInitialized('cpuCount') && null !== $data->getCpuCount()) { - $dataArray['CpuCount'] = $data->getCpuCount(); - } - if ($data->isInitialized('cpuPercent') && null !== $data->getCpuPercent()) { - $dataArray['CpuPercent'] = $data->getCpuPercent(); - } - if ($data->isInitialized('iOMaximumIOps') && null !== $data->getIOMaximumIOps()) { - $dataArray['IOMaximumIOps'] = $data->getIOMaximumIOps(); - } - if ($data->isInitialized('iOMaximumBandwidth') && null !== $data->getIOMaximumBandwidth()) { - $dataArray['IOMaximumBandwidth'] = $data->getIOMaximumBandwidth(); - } - foreach ($data as $key => $value_9) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_9; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Resources::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesUlimitsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesUlimitsItemNormalizer.php deleted file mode 100644 index 643048f6f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ResourcesUlimitsItemNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Soft', $data) && null !== $data['Soft']) { - $object->setSoft($data['Soft']); - unset($data['Soft']); - } elseif (\array_key_exists('Soft', $data) && null === $data['Soft']) { - $object->setSoft(null); - } - if (\array_key_exists('Hard', $data) && null !== $data['Hard']) { - $object->setHard($data['Hard']); - unset($data['Hard']); - } elseif (\array_key_exists('Hard', $data) && null === $data['Hard']) { - $object->setHard(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('soft') && null !== $data->getSoft()) { - $dataArray['Soft'] = $data->getSoft(); - } - if ($data->isInitialized('hard') && null !== $data->getHard()) { - $dataArray['Hard'] = $data->getHard(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ResourcesUlimitsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/RestartPolicyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/RestartPolicyNormalizer.php deleted file mode 100644 index cda110246..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/RestartPolicyNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('MaximumRetryCount', $data) && null !== $data['MaximumRetryCount']) { - $object->setMaximumRetryCount($data['MaximumRetryCount']); - unset($data['MaximumRetryCount']); - } elseif (\array_key_exists('MaximumRetryCount', $data) && null === $data['MaximumRetryCount']) { - $object->setMaximumRetryCount(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('maximumRetryCount') && null !== $data->getMaximumRetryCount()) { - $dataArray['MaximumRetryCount'] = $data->getMaximumRetryCount(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\RestartPolicy::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/RuntimeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/RuntimeNormalizer.php deleted file mode 100644 index b24531aae..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/RuntimeNormalizer.php +++ /dev/null @@ -1,114 +0,0 @@ -setPath($data['path']); - unset($data['path']); - } elseif (\array_key_exists('path', $data) && null === $data['path']) { - $object->setPath(null); - } - if (\array_key_exists('runtimeArgs', $data) && null !== $data['runtimeArgs']) { - $values = []; - foreach ($data['runtimeArgs'] as $value) { - $values[] = $value; - } - $object->setRuntimeArgs($values); - unset($data['runtimeArgs']); - } elseif (\array_key_exists('runtimeArgs', $data) && null === $data['runtimeArgs']) { - $object->setRuntimeArgs(null); - } - if (\array_key_exists('status', $data) && null !== $data['status']) { - $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['status'] as $key => $value_1) { - $values_1[$key] = $value_1; - } - $object->setStatus($values_1); - unset($data['status']); - } elseif (\array_key_exists('status', $data) && null === $data['status']) { - $object->setStatus(null); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('path') && null !== $data->getPath()) { - $dataArray['path'] = $data->getPath(); - } - if ($data->isInitialized('runtimeArgs') && null !== $data->getRuntimeArgs()) { - $values = []; - foreach ($data->getRuntimeArgs() as $value) { - $values[] = $value; - } - $dataArray['runtimeArgs'] = $values; - } - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $values_1 = []; - foreach ($data->getStatus() as $key => $value_1) { - $values_1[$key] = $value_1; - } - $dataArray['status'] = $values_1; - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Runtime::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretNormalizer.php deleted file mode 100644 index 71c95fe04..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretNormalizer.php +++ /dev/null @@ -1,116 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($this->denormalizer->denormalize($data['Version'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('UpdatedAt', $data) && null !== $data['UpdatedAt']) { - $object->setUpdatedAt($data['UpdatedAt']); - unset($data['UpdatedAt']); - } elseif (\array_key_exists('UpdatedAt', $data) && null === $data['UpdatedAt']) { - $object->setUpdatedAt(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\SecretSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $this->normalizer->normalize($data->getVersion(), 'json', $context); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('updatedAt') && null !== $data->getUpdatedAt()) { - $dataArray['UpdatedAt'] = $data->getUpdatedAt(); - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Secret::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretSpecNormalizer.php deleted file mode 100644 index 24364e6de..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretSpecNormalizer.php +++ /dev/null @@ -1,124 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Data', $data) && null !== $data['Data']) { - $object->setData($data['Data']); - unset($data['Data']); - } elseif (\array_key_exists('Data', $data) && null === $data['Data']) { - $object->setData(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($this->denormalizer->denormalize($data['Driver'], \Docker\API\Model\Driver::class, 'json', $context)); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('Templating', $data) && null !== $data['Templating']) { - $object->setTemplating($this->denormalizer->denormalize($data['Templating'], \Docker\API\Model\Driver::class, 'json', $context)); - unset($data['Templating']); - } elseif (\array_key_exists('Templating', $data) && null === $data['Templating']) { - $object->setTemplating(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('data') && null !== $data->getData()) { - $dataArray['Data'] = $data->getData(); - } - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $this->normalizer->normalize($data->getDriver(), 'json', $context); - } - if ($data->isInitialized('templating') && null !== $data->getTemplating()) { - $dataArray['Templating'] = $this->normalizer->normalize($data->getTemplating(), 'json', $context); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SecretSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretsCreatePostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretsCreatePostBodyNormalizer.php deleted file mode 100644 index f29ab9a80..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SecretsCreatePostBodyNormalizer.php +++ /dev/null @@ -1,124 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Data', $data) && null !== $data['Data']) { - $object->setData($data['Data']); - unset($data['Data']); - } elseif (\array_key_exists('Data', $data) && null === $data['Data']) { - $object->setData(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($this->denormalizer->denormalize($data['Driver'], \Docker\API\Model\Driver::class, 'json', $context)); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('Templating', $data) && null !== $data['Templating']) { - $object->setTemplating($this->denormalizer->denormalize($data['Templating'], \Docker\API\Model\Driver::class, 'json', $context)); - unset($data['Templating']); - } elseif (\array_key_exists('Templating', $data) && null === $data['Templating']) { - $object->setTemplating(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('data') && null !== $data->getData()) { - $dataArray['Data'] = $data->getData(); - } - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $this->normalizer->normalize($data->getDriver(), 'json', $context); - } - if ($data->isInitialized('templating') && null !== $data->getTemplating()) { - $dataArray['Templating'] = $this->normalizer->normalize($data->getTemplating(), 'json', $context); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SecretsCreatePostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceCreateResponseNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceCreateResponseNormalizer.php deleted file mode 100644 index 800ac13e9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceCreateResponseNormalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Warnings', $data) && null !== $data['Warnings']) { - $values = []; - foreach ($data['Warnings'] as $value) { - $values[] = $value; - } - $object->setWarnings($values); - unset($data['Warnings']); - } elseif (\array_key_exists('Warnings', $data) && null === $data['Warnings']) { - $object->setWarnings(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('warnings') && null !== $data->getWarnings()) { - $values = []; - foreach ($data->getWarnings() as $value) { - $values[] = $value; - } - $dataArray['Warnings'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceCreateResponse::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceEndpointNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceEndpointNormalizer.php deleted file mode 100644 index 73df8b97a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceEndpointNormalizer.php +++ /dev/null @@ -1,114 +0,0 @@ -setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\EndpointSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - if (\array_key_exists('Ports', $data) && null !== $data['Ports']) { - $values = []; - foreach ($data['Ports'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\EndpointPortConfig::class, 'json', $context); - } - $object->setPorts($values); - unset($data['Ports']); - } elseif (\array_key_exists('Ports', $data) && null === $data['Ports']) { - $object->setPorts(null); - } - if (\array_key_exists('VirtualIPs', $data) && null !== $data['VirtualIPs']) { - $values_1 = []; - foreach ($data['VirtualIPs'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\ServiceEndpointVirtualIPsItem::class, 'json', $context); - } - $object->setVirtualIPs($values_1); - unset($data['VirtualIPs']); - } elseif (\array_key_exists('VirtualIPs', $data) && null === $data['VirtualIPs']) { - $object->setVirtualIPs(null); - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - if ($data->isInitialized('ports') && null !== $data->getPorts()) { - $values = []; - foreach ($data->getPorts() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Ports'] = $values; - } - if ($data->isInitialized('virtualIPs') && null !== $data->getVirtualIPs()) { - $values_1 = []; - foreach ($data->getVirtualIPs() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['VirtualIPs'] = $values_1; - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceEndpoint::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceEndpointVirtualIPsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceEndpointVirtualIPsItemNormalizer.php deleted file mode 100644 index d6815bbb1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceEndpointVirtualIPsItemNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setNetworkID($data['NetworkID']); - unset($data['NetworkID']); - } elseif (\array_key_exists('NetworkID', $data) && null === $data['NetworkID']) { - $object->setNetworkID(null); - } - if (\array_key_exists('Addr', $data) && null !== $data['Addr']) { - $object->setAddr($data['Addr']); - unset($data['Addr']); - } elseif (\array_key_exists('Addr', $data) && null === $data['Addr']) { - $object->setAddr(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('networkID') && null !== $data->getNetworkID()) { - $dataArray['NetworkID'] = $data->getNetworkID(); - } - if ($data->isInitialized('addr') && null !== $data->getAddr()) { - $dataArray['Addr'] = $data->getAddr(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceEndpointVirtualIPsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceJobStatusNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceJobStatusNormalizer.php deleted file mode 100644 index 41376853c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceJobStatusNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setJobIteration($this->denormalizer->denormalize($data['JobIteration'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['JobIteration']); - } elseif (\array_key_exists('JobIteration', $data) && null === $data['JobIteration']) { - $object->setJobIteration(null); - } - if (\array_key_exists('LastExecution', $data) && null !== $data['LastExecution']) { - $object->setLastExecution($data['LastExecution']); - unset($data['LastExecution']); - } elseif (\array_key_exists('LastExecution', $data) && null === $data['LastExecution']) { - $object->setLastExecution(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('jobIteration') && null !== $data->getJobIteration()) { - $dataArray['JobIteration'] = $this->normalizer->normalize($data->getJobIteration(), 'json', $context); - } - if ($data->isInitialized('lastExecution') && null !== $data->getLastExecution()) { - $dataArray['LastExecution'] = $data->getLastExecution(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceJobStatus::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceNormalizer.php deleted file mode 100644 index 460f1a86b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceNormalizer.php +++ /dev/null @@ -1,152 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($this->denormalizer->denormalize($data['Version'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('UpdatedAt', $data) && null !== $data['UpdatedAt']) { - $object->setUpdatedAt($data['UpdatedAt']); - unset($data['UpdatedAt']); - } elseif (\array_key_exists('UpdatedAt', $data) && null === $data['UpdatedAt']) { - $object->setUpdatedAt(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\ServiceSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - if (\array_key_exists('Endpoint', $data) && null !== $data['Endpoint']) { - $object->setEndpoint($this->denormalizer->denormalize($data['Endpoint'], \Docker\API\Model\ServiceEndpoint::class, 'json', $context)); - unset($data['Endpoint']); - } elseif (\array_key_exists('Endpoint', $data) && null === $data['Endpoint']) { - $object->setEndpoint(null); - } - if (\array_key_exists('UpdateStatus', $data) && null !== $data['UpdateStatus']) { - $object->setUpdateStatus($this->denormalizer->denormalize($data['UpdateStatus'], \Docker\API\Model\ServiceUpdateStatus::class, 'json', $context)); - unset($data['UpdateStatus']); - } elseif (\array_key_exists('UpdateStatus', $data) && null === $data['UpdateStatus']) { - $object->setUpdateStatus(null); - } - if (\array_key_exists('ServiceStatus', $data) && null !== $data['ServiceStatus']) { - $object->setServiceStatus($this->denormalizer->denormalize($data['ServiceStatus'], \Docker\API\Model\ServiceServiceStatus::class, 'json', $context)); - unset($data['ServiceStatus']); - } elseif (\array_key_exists('ServiceStatus', $data) && null === $data['ServiceStatus']) { - $object->setServiceStatus(null); - } - if (\array_key_exists('JobStatus', $data) && null !== $data['JobStatus']) { - $object->setJobStatus($this->denormalizer->denormalize($data['JobStatus'], \Docker\API\Model\ServiceJobStatus::class, 'json', $context)); - unset($data['JobStatus']); - } elseif (\array_key_exists('JobStatus', $data) && null === $data['JobStatus']) { - $object->setJobStatus(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $this->normalizer->normalize($data->getVersion(), 'json', $context); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('updatedAt') && null !== $data->getUpdatedAt()) { - $dataArray['UpdatedAt'] = $data->getUpdatedAt(); - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - if ($data->isInitialized('endpoint') && null !== $data->getEndpoint()) { - $dataArray['Endpoint'] = $this->normalizer->normalize($data->getEndpoint(), 'json', $context); - } - if ($data->isInitialized('updateStatus') && null !== $data->getUpdateStatus()) { - $dataArray['UpdateStatus'] = $this->normalizer->normalize($data->getUpdateStatus(), 'json', $context); - } - if ($data->isInitialized('serviceStatus') && null !== $data->getServiceStatus()) { - $dataArray['ServiceStatus'] = $this->normalizer->normalize($data->getServiceStatus(), 'json', $context); - } - if ($data->isInitialized('jobStatus') && null !== $data->getJobStatus()) { - $dataArray['JobStatus'] = $this->normalizer->normalize($data->getJobStatus(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Service::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceServiceStatusNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceServiceStatusNormalizer.php deleted file mode 100644 index e1a96bd7a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceServiceStatusNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setRunningTasks($data['RunningTasks']); - unset($data['RunningTasks']); - } elseif (\array_key_exists('RunningTasks', $data) && null === $data['RunningTasks']) { - $object->setRunningTasks(null); - } - if (\array_key_exists('DesiredTasks', $data) && null !== $data['DesiredTasks']) { - $object->setDesiredTasks($data['DesiredTasks']); - unset($data['DesiredTasks']); - } elseif (\array_key_exists('DesiredTasks', $data) && null === $data['DesiredTasks']) { - $object->setDesiredTasks(null); - } - if (\array_key_exists('CompletedTasks', $data) && null !== $data['CompletedTasks']) { - $object->setCompletedTasks($data['CompletedTasks']); - unset($data['CompletedTasks']); - } elseif (\array_key_exists('CompletedTasks', $data) && null === $data['CompletedTasks']) { - $object->setCompletedTasks(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('runningTasks') && null !== $data->getRunningTasks()) { - $dataArray['RunningTasks'] = $data->getRunningTasks(); - } - if ($data->isInitialized('desiredTasks') && null !== $data->getDesiredTasks()) { - $dataArray['DesiredTasks'] = $data->getDesiredTasks(); - } - if ($data->isInitialized('completedTasks') && null !== $data->getCompletedTasks()) { - $dataArray['CompletedTasks'] = $data->getCompletedTasks(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceServiceStatus::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeGlobalJobNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeGlobalJobNormalizer.php deleted file mode 100644 index d9cdc1be8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeGlobalJobNormalizer.php +++ /dev/null @@ -1,71 +0,0 @@ - $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceSpecModeGlobalJob::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeGlobalNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeGlobalNormalizer.php deleted file mode 100644 index b09462710..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeGlobalNormalizer.php +++ /dev/null @@ -1,71 +0,0 @@ - $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceSpecModeGlobal::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeNormalizer.php deleted file mode 100644 index 357ab5d63..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setReplicated($this->denormalizer->denormalize($data['Replicated'], \Docker\API\Model\ServiceSpecModeReplicated::class, 'json', $context)); - unset($data['Replicated']); - } elseif (\array_key_exists('Replicated', $data) && null === $data['Replicated']) { - $object->setReplicated(null); - } - if (\array_key_exists('Global', $data) && null !== $data['Global']) { - $object->setGlobal($this->denormalizer->denormalize($data['Global'], \Docker\API\Model\ServiceSpecModeGlobal::class, 'json', $context)); - unset($data['Global']); - } elseif (\array_key_exists('Global', $data) && null === $data['Global']) { - $object->setGlobal(null); - } - if (\array_key_exists('ReplicatedJob', $data) && null !== $data['ReplicatedJob']) { - $object->setReplicatedJob($this->denormalizer->denormalize($data['ReplicatedJob'], \Docker\API\Model\ServiceSpecModeReplicatedJob::class, 'json', $context)); - unset($data['ReplicatedJob']); - } elseif (\array_key_exists('ReplicatedJob', $data) && null === $data['ReplicatedJob']) { - $object->setReplicatedJob(null); - } - if (\array_key_exists('GlobalJob', $data) && null !== $data['GlobalJob']) { - $object->setGlobalJob($this->denormalizer->denormalize($data['GlobalJob'], \Docker\API\Model\ServiceSpecModeGlobalJob::class, 'json', $context)); - unset($data['GlobalJob']); - } elseif (\array_key_exists('GlobalJob', $data) && null === $data['GlobalJob']) { - $object->setGlobalJob(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('replicated') && null !== $data->getReplicated()) { - $dataArray['Replicated'] = $this->normalizer->normalize($data->getReplicated(), 'json', $context); - } - if ($data->isInitialized('global') && null !== $data->getGlobal()) { - $dataArray['Global'] = $this->normalizer->normalize($data->getGlobal(), 'json', $context); - } - if ($data->isInitialized('replicatedJob') && null !== $data->getReplicatedJob()) { - $dataArray['ReplicatedJob'] = $this->normalizer->normalize($data->getReplicatedJob(), 'json', $context); - } - if ($data->isInitialized('globalJob') && null !== $data->getGlobalJob()) { - $dataArray['GlobalJob'] = $this->normalizer->normalize($data->getGlobalJob(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceSpecMode::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeReplicatedJobNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeReplicatedJobNormalizer.php deleted file mode 100644 index b1bc41fcb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeReplicatedJobNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setMaxConcurrent($data['MaxConcurrent']); - unset($data['MaxConcurrent']); - } elseif (\array_key_exists('MaxConcurrent', $data) && null === $data['MaxConcurrent']) { - $object->setMaxConcurrent(null); - } - if (\array_key_exists('TotalCompletions', $data) && null !== $data['TotalCompletions']) { - $object->setTotalCompletions($data['TotalCompletions']); - unset($data['TotalCompletions']); - } elseif (\array_key_exists('TotalCompletions', $data) && null === $data['TotalCompletions']) { - $object->setTotalCompletions(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('maxConcurrent') && null !== $data->getMaxConcurrent()) { - $dataArray['MaxConcurrent'] = $data->getMaxConcurrent(); - } - if ($data->isInitialized('totalCompletions') && null !== $data->getTotalCompletions()) { - $dataArray['TotalCompletions'] = $data->getTotalCompletions(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceSpecModeReplicatedJob::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeReplicatedNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeReplicatedNormalizer.php deleted file mode 100644 index cec449a85..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecModeReplicatedNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setReplicas($data['Replicas']); - unset($data['Replicas']); - } elseif (\array_key_exists('Replicas', $data) && null === $data['Replicas']) { - $object->setReplicas(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('replicas') && null !== $data->getReplicas()) { - $dataArray['Replicas'] = $data->getReplicas(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceSpecModeReplicated::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecNormalizer.php deleted file mode 100644 index 4c220804f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecNormalizer.php +++ /dev/null @@ -1,159 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('TaskTemplate', $data) && null !== $data['TaskTemplate']) { - $object->setTaskTemplate($this->denormalizer->denormalize($data['TaskTemplate'], \Docker\API\Model\TaskSpec::class, 'json', $context)); - unset($data['TaskTemplate']); - } elseif (\array_key_exists('TaskTemplate', $data) && null === $data['TaskTemplate']) { - $object->setTaskTemplate(null); - } - if (\array_key_exists('Mode', $data) && null !== $data['Mode']) { - $object->setMode($this->denormalizer->denormalize($data['Mode'], \Docker\API\Model\ServiceSpecMode::class, 'json', $context)); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - if (\array_key_exists('UpdateConfig', $data) && null !== $data['UpdateConfig']) { - $object->setUpdateConfig($this->denormalizer->denormalize($data['UpdateConfig'], \Docker\API\Model\ServiceSpecUpdateConfig::class, 'json', $context)); - unset($data['UpdateConfig']); - } elseif (\array_key_exists('UpdateConfig', $data) && null === $data['UpdateConfig']) { - $object->setUpdateConfig(null); - } - if (\array_key_exists('RollbackConfig', $data) && null !== $data['RollbackConfig']) { - $object->setRollbackConfig($this->denormalizer->denormalize($data['RollbackConfig'], \Docker\API\Model\ServiceSpecRollbackConfig::class, 'json', $context)); - unset($data['RollbackConfig']); - } elseif (\array_key_exists('RollbackConfig', $data) && null === $data['RollbackConfig']) { - $object->setRollbackConfig(null); - } - if (\array_key_exists('Networks', $data) && null !== $data['Networks']) { - $values_1 = []; - foreach ($data['Networks'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\NetworkAttachmentConfig::class, 'json', $context); - } - $object->setNetworks($values_1); - unset($data['Networks']); - } elseif (\array_key_exists('Networks', $data) && null === $data['Networks']) { - $object->setNetworks(null); - } - if (\array_key_exists('EndpointSpec', $data) && null !== $data['EndpointSpec']) { - $object->setEndpointSpec($this->denormalizer->denormalize($data['EndpointSpec'], \Docker\API\Model\EndpointSpec::class, 'json', $context)); - unset($data['EndpointSpec']); - } elseif (\array_key_exists('EndpointSpec', $data) && null === $data['EndpointSpec']) { - $object->setEndpointSpec(null); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('taskTemplate') && null !== $data->getTaskTemplate()) { - $dataArray['TaskTemplate'] = $this->normalizer->normalize($data->getTaskTemplate(), 'json', $context); - } - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $this->normalizer->normalize($data->getMode(), 'json', $context); - } - if ($data->isInitialized('updateConfig') && null !== $data->getUpdateConfig()) { - $dataArray['UpdateConfig'] = $this->normalizer->normalize($data->getUpdateConfig(), 'json', $context); - } - if ($data->isInitialized('rollbackConfig') && null !== $data->getRollbackConfig()) { - $dataArray['RollbackConfig'] = $this->normalizer->normalize($data->getRollbackConfig(), 'json', $context); - } - if ($data->isInitialized('networks') && null !== $data->getNetworks()) { - $values_1 = []; - foreach ($data->getNetworks() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Networks'] = $values_1; - } - if ($data->isInitialized('endpointSpec') && null !== $data->getEndpointSpec()) { - $dataArray['EndpointSpec'] = $this->normalizer->normalize($data->getEndpointSpec(), 'json', $context); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecRollbackConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecRollbackConfigNormalizer.php deleted file mode 100644 index 3d6667662..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecRollbackConfigNormalizer.php +++ /dev/null @@ -1,128 +0,0 @@ -setParallelism($data['Parallelism']); - unset($data['Parallelism']); - } elseif (\array_key_exists('Parallelism', $data) && null === $data['Parallelism']) { - $object->setParallelism(null); - } - if (\array_key_exists('Delay', $data) && null !== $data['Delay']) { - $object->setDelay($data['Delay']); - unset($data['Delay']); - } elseif (\array_key_exists('Delay', $data) && null === $data['Delay']) { - $object->setDelay(null); - } - if (\array_key_exists('FailureAction', $data) && null !== $data['FailureAction']) { - $object->setFailureAction($data['FailureAction']); - unset($data['FailureAction']); - } elseif (\array_key_exists('FailureAction', $data) && null === $data['FailureAction']) { - $object->setFailureAction(null); - } - if (\array_key_exists('Monitor', $data) && null !== $data['Monitor']) { - $object->setMonitor($data['Monitor']); - unset($data['Monitor']); - } elseif (\array_key_exists('Monitor', $data) && null === $data['Monitor']) { - $object->setMonitor(null); - } - if (\array_key_exists('MaxFailureRatio', $data) && null !== $data['MaxFailureRatio']) { - $object->setMaxFailureRatio($data['MaxFailureRatio']); - unset($data['MaxFailureRatio']); - } elseif (\array_key_exists('MaxFailureRatio', $data) && null === $data['MaxFailureRatio']) { - $object->setMaxFailureRatio(null); - } - if (\array_key_exists('Order', $data) && null !== $data['Order']) { - $object->setOrder($data['Order']); - unset($data['Order']); - } elseif (\array_key_exists('Order', $data) && null === $data['Order']) { - $object->setOrder(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('parallelism') && null !== $data->getParallelism()) { - $dataArray['Parallelism'] = $data->getParallelism(); - } - if ($data->isInitialized('delay') && null !== $data->getDelay()) { - $dataArray['Delay'] = $data->getDelay(); - } - if ($data->isInitialized('failureAction') && null !== $data->getFailureAction()) { - $dataArray['FailureAction'] = $data->getFailureAction(); - } - if ($data->isInitialized('monitor') && null !== $data->getMonitor()) { - $dataArray['Monitor'] = $data->getMonitor(); - } - if ($data->isInitialized('maxFailureRatio') && null !== $data->getMaxFailureRatio()) { - $dataArray['MaxFailureRatio'] = $data->getMaxFailureRatio(); - } - if ($data->isInitialized('order') && null !== $data->getOrder()) { - $dataArray['Order'] = $data->getOrder(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceSpecRollbackConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecUpdateConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecUpdateConfigNormalizer.php deleted file mode 100644 index 58dc83381..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceSpecUpdateConfigNormalizer.php +++ /dev/null @@ -1,128 +0,0 @@ -setParallelism($data['Parallelism']); - unset($data['Parallelism']); - } elseif (\array_key_exists('Parallelism', $data) && null === $data['Parallelism']) { - $object->setParallelism(null); - } - if (\array_key_exists('Delay', $data) && null !== $data['Delay']) { - $object->setDelay($data['Delay']); - unset($data['Delay']); - } elseif (\array_key_exists('Delay', $data) && null === $data['Delay']) { - $object->setDelay(null); - } - if (\array_key_exists('FailureAction', $data) && null !== $data['FailureAction']) { - $object->setFailureAction($data['FailureAction']); - unset($data['FailureAction']); - } elseif (\array_key_exists('FailureAction', $data) && null === $data['FailureAction']) { - $object->setFailureAction(null); - } - if (\array_key_exists('Monitor', $data) && null !== $data['Monitor']) { - $object->setMonitor($data['Monitor']); - unset($data['Monitor']); - } elseif (\array_key_exists('Monitor', $data) && null === $data['Monitor']) { - $object->setMonitor(null); - } - if (\array_key_exists('MaxFailureRatio', $data) && null !== $data['MaxFailureRatio']) { - $object->setMaxFailureRatio($data['MaxFailureRatio']); - unset($data['MaxFailureRatio']); - } elseif (\array_key_exists('MaxFailureRatio', $data) && null === $data['MaxFailureRatio']) { - $object->setMaxFailureRatio(null); - } - if (\array_key_exists('Order', $data) && null !== $data['Order']) { - $object->setOrder($data['Order']); - unset($data['Order']); - } elseif (\array_key_exists('Order', $data) && null === $data['Order']) { - $object->setOrder(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('parallelism') && null !== $data->getParallelism()) { - $dataArray['Parallelism'] = $data->getParallelism(); - } - if ($data->isInitialized('delay') && null !== $data->getDelay()) { - $dataArray['Delay'] = $data->getDelay(); - } - if ($data->isInitialized('failureAction') && null !== $data->getFailureAction()) { - $dataArray['FailureAction'] = $data->getFailureAction(); - } - if ($data->isInitialized('monitor') && null !== $data->getMonitor()) { - $dataArray['Monitor'] = $data->getMonitor(); - } - if ($data->isInitialized('maxFailureRatio') && null !== $data->getMaxFailureRatio()) { - $dataArray['MaxFailureRatio'] = $data->getMaxFailureRatio(); - } - if ($data->isInitialized('order') && null !== $data->getOrder()) { - $dataArray['Order'] = $data->getOrder(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceSpecUpdateConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceUpdateResponseNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceUpdateResponseNormalizer.php deleted file mode 100644 index 878ee6b0c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceUpdateResponseNormalizer.php +++ /dev/null @@ -1,88 +0,0 @@ -setWarnings($values); - unset($data['Warnings']); - } elseif (\array_key_exists('Warnings', $data) && null === $data['Warnings']) { - $object->setWarnings(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('warnings') && null !== $data->getWarnings()) { - $values = []; - foreach ($data->getWarnings() as $value) { - $values[] = $value; - } - $dataArray['Warnings'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceUpdateResponse::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceUpdateStatusNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceUpdateStatusNormalizer.php deleted file mode 100644 index 4750d413f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServiceUpdateStatusNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setState($data['State']); - unset($data['State']); - } elseif (\array_key_exists('State', $data) && null === $data['State']) { - $object->setState(null); - } - if (\array_key_exists('StartedAt', $data) && null !== $data['StartedAt']) { - $object->setStartedAt($data['StartedAt']); - unset($data['StartedAt']); - } elseif (\array_key_exists('StartedAt', $data) && null === $data['StartedAt']) { - $object->setStartedAt(null); - } - if (\array_key_exists('CompletedAt', $data) && null !== $data['CompletedAt']) { - $object->setCompletedAt($data['CompletedAt']); - unset($data['CompletedAt']); - } elseif (\array_key_exists('CompletedAt', $data) && null === $data['CompletedAt']) { - $object->setCompletedAt(null); - } - if (\array_key_exists('Message', $data) && null !== $data['Message']) { - $object->setMessage($data['Message']); - unset($data['Message']); - } elseif (\array_key_exists('Message', $data) && null === $data['Message']) { - $object->setMessage(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('state') && null !== $data->getState()) { - $dataArray['State'] = $data->getState(); - } - if ($data->isInitialized('startedAt') && null !== $data->getStartedAt()) { - $dataArray['StartedAt'] = $data->getStartedAt(); - } - if ($data->isInitialized('completedAt') && null !== $data->getCompletedAt()) { - $dataArray['CompletedAt'] = $data->getCompletedAt(); - } - if ($data->isInitialized('message') && null !== $data->getMessage()) { - $dataArray['Message'] = $data->getMessage(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServiceUpdateStatus::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServicesCreatePostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServicesCreatePostBodyNormalizer.php deleted file mode 100644 index fa98cb6f0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServicesCreatePostBodyNormalizer.php +++ /dev/null @@ -1,159 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('TaskTemplate', $data) && null !== $data['TaskTemplate']) { - $object->setTaskTemplate($this->denormalizer->denormalize($data['TaskTemplate'], \Docker\API\Model\TaskSpec::class, 'json', $context)); - unset($data['TaskTemplate']); - } elseif (\array_key_exists('TaskTemplate', $data) && null === $data['TaskTemplate']) { - $object->setTaskTemplate(null); - } - if (\array_key_exists('Mode', $data) && null !== $data['Mode']) { - $object->setMode($this->denormalizer->denormalize($data['Mode'], \Docker\API\Model\ServiceSpecMode::class, 'json', $context)); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - if (\array_key_exists('UpdateConfig', $data) && null !== $data['UpdateConfig']) { - $object->setUpdateConfig($this->denormalizer->denormalize($data['UpdateConfig'], \Docker\API\Model\ServiceSpecUpdateConfig::class, 'json', $context)); - unset($data['UpdateConfig']); - } elseif (\array_key_exists('UpdateConfig', $data) && null === $data['UpdateConfig']) { - $object->setUpdateConfig(null); - } - if (\array_key_exists('RollbackConfig', $data) && null !== $data['RollbackConfig']) { - $object->setRollbackConfig($this->denormalizer->denormalize($data['RollbackConfig'], \Docker\API\Model\ServiceSpecRollbackConfig::class, 'json', $context)); - unset($data['RollbackConfig']); - } elseif (\array_key_exists('RollbackConfig', $data) && null === $data['RollbackConfig']) { - $object->setRollbackConfig(null); - } - if (\array_key_exists('Networks', $data) && null !== $data['Networks']) { - $values_1 = []; - foreach ($data['Networks'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\NetworkAttachmentConfig::class, 'json', $context); - } - $object->setNetworks($values_1); - unset($data['Networks']); - } elseif (\array_key_exists('Networks', $data) && null === $data['Networks']) { - $object->setNetworks(null); - } - if (\array_key_exists('EndpointSpec', $data) && null !== $data['EndpointSpec']) { - $object->setEndpointSpec($this->denormalizer->denormalize($data['EndpointSpec'], \Docker\API\Model\EndpointSpec::class, 'json', $context)); - unset($data['EndpointSpec']); - } elseif (\array_key_exists('EndpointSpec', $data) && null === $data['EndpointSpec']) { - $object->setEndpointSpec(null); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('taskTemplate') && null !== $data->getTaskTemplate()) { - $dataArray['TaskTemplate'] = $this->normalizer->normalize($data->getTaskTemplate(), 'json', $context); - } - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $this->normalizer->normalize($data->getMode(), 'json', $context); - } - if ($data->isInitialized('updateConfig') && null !== $data->getUpdateConfig()) { - $dataArray['UpdateConfig'] = $this->normalizer->normalize($data->getUpdateConfig(), 'json', $context); - } - if ($data->isInitialized('rollbackConfig') && null !== $data->getRollbackConfig()) { - $dataArray['RollbackConfig'] = $this->normalizer->normalize($data->getRollbackConfig(), 'json', $context); - } - if ($data->isInitialized('networks') && null !== $data->getNetworks()) { - $values_1 = []; - foreach ($data->getNetworks() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Networks'] = $values_1; - } - if ($data->isInitialized('endpointSpec') && null !== $data->getEndpointSpec()) { - $dataArray['EndpointSpec'] = $this->normalizer->normalize($data->getEndpointSpec(), 'json', $context); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServicesCreatePostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServicesIdUpdatePostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServicesIdUpdatePostBodyNormalizer.php deleted file mode 100644 index 46a677dd2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ServicesIdUpdatePostBodyNormalizer.php +++ /dev/null @@ -1,159 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('TaskTemplate', $data) && null !== $data['TaskTemplate']) { - $object->setTaskTemplate($this->denormalizer->denormalize($data['TaskTemplate'], \Docker\API\Model\TaskSpec::class, 'json', $context)); - unset($data['TaskTemplate']); - } elseif (\array_key_exists('TaskTemplate', $data) && null === $data['TaskTemplate']) { - $object->setTaskTemplate(null); - } - if (\array_key_exists('Mode', $data) && null !== $data['Mode']) { - $object->setMode($this->denormalizer->denormalize($data['Mode'], \Docker\API\Model\ServiceSpecMode::class, 'json', $context)); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - if (\array_key_exists('UpdateConfig', $data) && null !== $data['UpdateConfig']) { - $object->setUpdateConfig($this->denormalizer->denormalize($data['UpdateConfig'], \Docker\API\Model\ServiceSpecUpdateConfig::class, 'json', $context)); - unset($data['UpdateConfig']); - } elseif (\array_key_exists('UpdateConfig', $data) && null === $data['UpdateConfig']) { - $object->setUpdateConfig(null); - } - if (\array_key_exists('RollbackConfig', $data) && null !== $data['RollbackConfig']) { - $object->setRollbackConfig($this->denormalizer->denormalize($data['RollbackConfig'], \Docker\API\Model\ServiceSpecRollbackConfig::class, 'json', $context)); - unset($data['RollbackConfig']); - } elseif (\array_key_exists('RollbackConfig', $data) && null === $data['RollbackConfig']) { - $object->setRollbackConfig(null); - } - if (\array_key_exists('Networks', $data) && null !== $data['Networks']) { - $values_1 = []; - foreach ($data['Networks'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\NetworkAttachmentConfig::class, 'json', $context); - } - $object->setNetworks($values_1); - unset($data['Networks']); - } elseif (\array_key_exists('Networks', $data) && null === $data['Networks']) { - $object->setNetworks(null); - } - if (\array_key_exists('EndpointSpec', $data) && null !== $data['EndpointSpec']) { - $object->setEndpointSpec($this->denormalizer->denormalize($data['EndpointSpec'], \Docker\API\Model\EndpointSpec::class, 'json', $context)); - unset($data['EndpointSpec']); - } elseif (\array_key_exists('EndpointSpec', $data) && null === $data['EndpointSpec']) { - $object->setEndpointSpec(null); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('taskTemplate') && null !== $data->getTaskTemplate()) { - $dataArray['TaskTemplate'] = $this->normalizer->normalize($data->getTaskTemplate(), 'json', $context); - } - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $this->normalizer->normalize($data->getMode(), 'json', $context); - } - if ($data->isInitialized('updateConfig') && null !== $data->getUpdateConfig()) { - $dataArray['UpdateConfig'] = $this->normalizer->normalize($data->getUpdateConfig(), 'json', $context); - } - if ($data->isInitialized('rollbackConfig') && null !== $data->getRollbackConfig()) { - $dataArray['RollbackConfig'] = $this->normalizer->normalize($data->getRollbackConfig(), 'json', $context); - } - if ($data->isInitialized('networks') && null !== $data->getNetworks()) { - $values_1 = []; - foreach ($data->getNetworks() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Networks'] = $values_1; - } - if ($data->isInitialized('endpointSpec') && null !== $data->getEndpointSpec()) { - $dataArray['EndpointSpec'] = $this->normalizer->normalize($data->getEndpointSpec(), 'json', $context); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ServicesIdUpdatePostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmInfoNormalizer.php deleted file mode 100644 index b91bb2233..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmInfoNormalizer.php +++ /dev/null @@ -1,163 +0,0 @@ -setNodeID($data['NodeID']); - unset($data['NodeID']); - } elseif (\array_key_exists('NodeID', $data) && null === $data['NodeID']) { - $object->setNodeID(null); - } - if (\array_key_exists('NodeAddr', $data) && null !== $data['NodeAddr']) { - $object->setNodeAddr($data['NodeAddr']); - unset($data['NodeAddr']); - } elseif (\array_key_exists('NodeAddr', $data) && null === $data['NodeAddr']) { - $object->setNodeAddr(null); - } - if (\array_key_exists('LocalNodeState', $data) && null !== $data['LocalNodeState']) { - $object->setLocalNodeState($data['LocalNodeState']); - unset($data['LocalNodeState']); - } elseif (\array_key_exists('LocalNodeState', $data) && null === $data['LocalNodeState']) { - $object->setLocalNodeState(null); - } - if (\array_key_exists('ControlAvailable', $data) && null !== $data['ControlAvailable']) { - $object->setControlAvailable($data['ControlAvailable']); - unset($data['ControlAvailable']); - } elseif (\array_key_exists('ControlAvailable', $data) && null === $data['ControlAvailable']) { - $object->setControlAvailable(null); - } - if (\array_key_exists('Error', $data) && null !== $data['Error']) { - $object->setError($data['Error']); - unset($data['Error']); - } elseif (\array_key_exists('Error', $data) && null === $data['Error']) { - $object->setError(null); - } - if (\array_key_exists('RemoteManagers', $data) && null !== $data['RemoteManagers']) { - $values = []; - foreach ($data['RemoteManagers'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\PeerNode::class, 'json', $context); - } - $object->setRemoteManagers($values); - unset($data['RemoteManagers']); - } elseif (\array_key_exists('RemoteManagers', $data) && null === $data['RemoteManagers']) { - $object->setRemoteManagers(null); - } - if (\array_key_exists('Nodes', $data) && null !== $data['Nodes']) { - $object->setNodes($data['Nodes']); - unset($data['Nodes']); - } elseif (\array_key_exists('Nodes', $data) && null === $data['Nodes']) { - $object->setNodes(null); - } - if (\array_key_exists('Managers', $data) && null !== $data['Managers']) { - $object->setManagers($data['Managers']); - unset($data['Managers']); - } elseif (\array_key_exists('Managers', $data) && null === $data['Managers']) { - $object->setManagers(null); - } - if (\array_key_exists('Cluster', $data) && null !== $data['Cluster']) { - $object->setCluster($this->denormalizer->denormalize($data['Cluster'], \Docker\API\Model\ClusterInfo::class, 'json', $context)); - unset($data['Cluster']); - } elseif (\array_key_exists('Cluster', $data) && null === $data['Cluster']) { - $object->setCluster(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('nodeID') && null !== $data->getNodeID()) { - $dataArray['NodeID'] = $data->getNodeID(); - } - if ($data->isInitialized('nodeAddr') && null !== $data->getNodeAddr()) { - $dataArray['NodeAddr'] = $data->getNodeAddr(); - } - if ($data->isInitialized('localNodeState') && null !== $data->getLocalNodeState()) { - $dataArray['LocalNodeState'] = $data->getLocalNodeState(); - } - if ($data->isInitialized('controlAvailable') && null !== $data->getControlAvailable()) { - $dataArray['ControlAvailable'] = $data->getControlAvailable(); - } - if ($data->isInitialized('error') && null !== $data->getError()) { - $dataArray['Error'] = $data->getError(); - } - if ($data->isInitialized('remoteManagers') && null !== $data->getRemoteManagers()) { - $values = []; - foreach ($data->getRemoteManagers() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['RemoteManagers'] = $values; - } - if ($data->isInitialized('nodes') && null !== $data->getNodes()) { - $dataArray['Nodes'] = $data->getNodes(); - } - if ($data->isInitialized('managers') && null !== $data->getManagers()) { - $dataArray['Managers'] = $data->getManagers(); - } - if ($data->isInitialized('cluster') && null !== $data->getCluster()) { - $dataArray['Cluster'] = $this->normalizer->normalize($data->getCluster(), 'json', $context); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmInitPostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmInitPostBodyNormalizer.php deleted file mode 100644 index e98b5b725..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmInitPostBodyNormalizer.php +++ /dev/null @@ -1,154 +0,0 @@ -setListenAddr($data['ListenAddr']); - unset($data['ListenAddr']); - } elseif (\array_key_exists('ListenAddr', $data) && null === $data['ListenAddr']) { - $object->setListenAddr(null); - } - if (\array_key_exists('AdvertiseAddr', $data) && null !== $data['AdvertiseAddr']) { - $object->setAdvertiseAddr($data['AdvertiseAddr']); - unset($data['AdvertiseAddr']); - } elseif (\array_key_exists('AdvertiseAddr', $data) && null === $data['AdvertiseAddr']) { - $object->setAdvertiseAddr(null); - } - if (\array_key_exists('DataPathAddr', $data) && null !== $data['DataPathAddr']) { - $object->setDataPathAddr($data['DataPathAddr']); - unset($data['DataPathAddr']); - } elseif (\array_key_exists('DataPathAddr', $data) && null === $data['DataPathAddr']) { - $object->setDataPathAddr(null); - } - if (\array_key_exists('DataPathPort', $data) && null !== $data['DataPathPort']) { - $object->setDataPathPort($data['DataPathPort']); - unset($data['DataPathPort']); - } elseif (\array_key_exists('DataPathPort', $data) && null === $data['DataPathPort']) { - $object->setDataPathPort(null); - } - if (\array_key_exists('DefaultAddrPool', $data) && null !== $data['DefaultAddrPool']) { - $values = []; - foreach ($data['DefaultAddrPool'] as $value) { - $values[] = $value; - } - $object->setDefaultAddrPool($values); - unset($data['DefaultAddrPool']); - } elseif (\array_key_exists('DefaultAddrPool', $data) && null === $data['DefaultAddrPool']) { - $object->setDefaultAddrPool(null); - } - if (\array_key_exists('ForceNewCluster', $data) && null !== $data['ForceNewCluster']) { - $object->setForceNewCluster($data['ForceNewCluster']); - unset($data['ForceNewCluster']); - } elseif (\array_key_exists('ForceNewCluster', $data) && null === $data['ForceNewCluster']) { - $object->setForceNewCluster(null); - } - if (\array_key_exists('SubnetSize', $data) && null !== $data['SubnetSize']) { - $object->setSubnetSize($data['SubnetSize']); - unset($data['SubnetSize']); - } elseif (\array_key_exists('SubnetSize', $data) && null === $data['SubnetSize']) { - $object->setSubnetSize(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\SwarmSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('listenAddr') && null !== $data->getListenAddr()) { - $dataArray['ListenAddr'] = $data->getListenAddr(); - } - if ($data->isInitialized('advertiseAddr') && null !== $data->getAdvertiseAddr()) { - $dataArray['AdvertiseAddr'] = $data->getAdvertiseAddr(); - } - if ($data->isInitialized('dataPathAddr') && null !== $data->getDataPathAddr()) { - $dataArray['DataPathAddr'] = $data->getDataPathAddr(); - } - if ($data->isInitialized('dataPathPort') && null !== $data->getDataPathPort()) { - $dataArray['DataPathPort'] = $data->getDataPathPort(); - } - if ($data->isInitialized('defaultAddrPool') && null !== $data->getDefaultAddrPool()) { - $values = []; - foreach ($data->getDefaultAddrPool() as $value) { - $values[] = $value; - } - $dataArray['DefaultAddrPool'] = $values; - } - if ($data->isInitialized('forceNewCluster') && null !== $data->getForceNewCluster()) { - $dataArray['ForceNewCluster'] = $data->getForceNewCluster(); - } - if ($data->isInitialized('subnetSize') && null !== $data->getSubnetSize()) { - $dataArray['SubnetSize'] = $data->getSubnetSize(); - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmInitPostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmJoinPostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmJoinPostBodyNormalizer.php deleted file mode 100644 index f41f5b082..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmJoinPostBodyNormalizer.php +++ /dev/null @@ -1,124 +0,0 @@ -setListenAddr($data['ListenAddr']); - unset($data['ListenAddr']); - } elseif (\array_key_exists('ListenAddr', $data) && null === $data['ListenAddr']) { - $object->setListenAddr(null); - } - if (\array_key_exists('AdvertiseAddr', $data) && null !== $data['AdvertiseAddr']) { - $object->setAdvertiseAddr($data['AdvertiseAddr']); - unset($data['AdvertiseAddr']); - } elseif (\array_key_exists('AdvertiseAddr', $data) && null === $data['AdvertiseAddr']) { - $object->setAdvertiseAddr(null); - } - if (\array_key_exists('DataPathAddr', $data) && null !== $data['DataPathAddr']) { - $object->setDataPathAddr($data['DataPathAddr']); - unset($data['DataPathAddr']); - } elseif (\array_key_exists('DataPathAddr', $data) && null === $data['DataPathAddr']) { - $object->setDataPathAddr(null); - } - if (\array_key_exists('RemoteAddrs', $data) && null !== $data['RemoteAddrs']) { - $values = []; - foreach ($data['RemoteAddrs'] as $value) { - $values[] = $value; - } - $object->setRemoteAddrs($values); - unset($data['RemoteAddrs']); - } elseif (\array_key_exists('RemoteAddrs', $data) && null === $data['RemoteAddrs']) { - $object->setRemoteAddrs(null); - } - if (\array_key_exists('JoinToken', $data) && null !== $data['JoinToken']) { - $object->setJoinToken($data['JoinToken']); - unset($data['JoinToken']); - } elseif (\array_key_exists('JoinToken', $data) && null === $data['JoinToken']) { - $object->setJoinToken(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('listenAddr') && null !== $data->getListenAddr()) { - $dataArray['ListenAddr'] = $data->getListenAddr(); - } - if ($data->isInitialized('advertiseAddr') && null !== $data->getAdvertiseAddr()) { - $dataArray['AdvertiseAddr'] = $data->getAdvertiseAddr(); - } - if ($data->isInitialized('dataPathAddr') && null !== $data->getDataPathAddr()) { - $dataArray['DataPathAddr'] = $data->getDataPathAddr(); - } - if ($data->isInitialized('remoteAddrs') && null !== $data->getRemoteAddrs()) { - $values = []; - foreach ($data->getRemoteAddrs() as $value) { - $values[] = $value; - } - $dataArray['RemoteAddrs'] = $values; - } - if ($data->isInitialized('joinToken') && null !== $data->getJoinToken()) { - $dataArray['JoinToken'] = $data->getJoinToken(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmJoinPostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmNormalizer.php deleted file mode 100644 index 1c4f71d46..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmNormalizer.php +++ /dev/null @@ -1,181 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($this->denormalizer->denormalize($data['Version'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('UpdatedAt', $data) && null !== $data['UpdatedAt']) { - $object->setUpdatedAt($data['UpdatedAt']); - unset($data['UpdatedAt']); - } elseif (\array_key_exists('UpdatedAt', $data) && null === $data['UpdatedAt']) { - $object->setUpdatedAt(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\SwarmSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - if (\array_key_exists('TLSInfo', $data) && null !== $data['TLSInfo']) { - $object->setTLSInfo($this->denormalizer->denormalize($data['TLSInfo'], \Docker\API\Model\TLSInfo::class, 'json', $context)); - unset($data['TLSInfo']); - } elseif (\array_key_exists('TLSInfo', $data) && null === $data['TLSInfo']) { - $object->setTLSInfo(null); - } - if (\array_key_exists('RootRotationInProgress', $data) && null !== $data['RootRotationInProgress']) { - $object->setRootRotationInProgress($data['RootRotationInProgress']); - unset($data['RootRotationInProgress']); - } elseif (\array_key_exists('RootRotationInProgress', $data) && null === $data['RootRotationInProgress']) { - $object->setRootRotationInProgress(null); - } - if (\array_key_exists('DataPathPort', $data) && null !== $data['DataPathPort']) { - $object->setDataPathPort($data['DataPathPort']); - unset($data['DataPathPort']); - } elseif (\array_key_exists('DataPathPort', $data) && null === $data['DataPathPort']) { - $object->setDataPathPort(null); - } - if (\array_key_exists('DefaultAddrPool', $data) && null !== $data['DefaultAddrPool']) { - $values = []; - foreach ($data['DefaultAddrPool'] as $value) { - $values[] = $value; - } - $object->setDefaultAddrPool($values); - unset($data['DefaultAddrPool']); - } elseif (\array_key_exists('DefaultAddrPool', $data) && null === $data['DefaultAddrPool']) { - $object->setDefaultAddrPool(null); - } - if (\array_key_exists('SubnetSize', $data) && null !== $data['SubnetSize']) { - $object->setSubnetSize($data['SubnetSize']); - unset($data['SubnetSize']); - } elseif (\array_key_exists('SubnetSize', $data) && null === $data['SubnetSize']) { - $object->setSubnetSize(null); - } - if (\array_key_exists('JoinTokens', $data) && null !== $data['JoinTokens']) { - $object->setJoinTokens($this->denormalizer->denormalize($data['JoinTokens'], \Docker\API\Model\JoinTokens::class, 'json', $context)); - unset($data['JoinTokens']); - } elseif (\array_key_exists('JoinTokens', $data) && null === $data['JoinTokens']) { - $object->setJoinTokens(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $this->normalizer->normalize($data->getVersion(), 'json', $context); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('updatedAt') && null !== $data->getUpdatedAt()) { - $dataArray['UpdatedAt'] = $data->getUpdatedAt(); - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - if ($data->isInitialized('tLSInfo') && null !== $data->getTLSInfo()) { - $dataArray['TLSInfo'] = $this->normalizer->normalize($data->getTLSInfo(), 'json', $context); - } - if ($data->isInitialized('rootRotationInProgress') && null !== $data->getRootRotationInProgress()) { - $dataArray['RootRotationInProgress'] = $data->getRootRotationInProgress(); - } - if ($data->isInitialized('dataPathPort') && null !== $data->getDataPathPort()) { - $dataArray['DataPathPort'] = $data->getDataPathPort(); - } - if ($data->isInitialized('defaultAddrPool') && null !== $data->getDefaultAddrPool()) { - $values = []; - foreach ($data->getDefaultAddrPool() as $value) { - $values[] = $value; - } - $dataArray['DefaultAddrPool'] = $values; - } - if ($data->isInitialized('subnetSize') && null !== $data->getSubnetSize()) { - $dataArray['SubnetSize'] = $data->getSubnetSize(); - } - if ($data->isInitialized('joinTokens') && null !== $data->getJoinTokens()) { - $dataArray['JoinTokens'] = $this->normalizer->normalize($data->getJoinTokens(), 'json', $context); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Swarm::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecCAConfigExternalCAsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecCAConfigExternalCAsItemNormalizer.php deleted file mode 100644 index 16962faaa..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecCAConfigExternalCAsItemNormalizer.php +++ /dev/null @@ -1,115 +0,0 @@ -setProtocol($data['Protocol']); - unset($data['Protocol']); - } elseif (\array_key_exists('Protocol', $data) && null === $data['Protocol']) { - $object->setProtocol(null); - } - if (\array_key_exists('URL', $data) && null !== $data['URL']) { - $object->setURL($data['URL']); - unset($data['URL']); - } elseif (\array_key_exists('URL', $data) && null === $data['URL']) { - $object->setURL(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key => $value) { - $values[$key] = $value; - } - $object->setOptions($values); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - if (\array_key_exists('CACert', $data) && null !== $data['CACert']) { - $object->setCACert($data['CACert']); - unset($data['CACert']); - } elseif (\array_key_exists('CACert', $data) && null === $data['CACert']) { - $object->setCACert(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('protocol') && null !== $data->getProtocol()) { - $dataArray['Protocol'] = $data->getProtocol(); - } - if ($data->isInitialized('uRL') && null !== $data->getURL()) { - $dataArray['URL'] = $data->getURL(); - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values = []; - foreach ($data->getOptions() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Options'] = $values; - } - if ($data->isInitialized('cACert') && null !== $data->getCACert()) { - $dataArray['CACert'] = $data->getCACert(); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpecCAConfigExternalCAsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecCAConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecCAConfigNormalizer.php deleted file mode 100644 index 6e3d1c61b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecCAConfigNormalizer.php +++ /dev/null @@ -1,124 +0,0 @@ -setNodeCertExpiry($data['NodeCertExpiry']); - unset($data['NodeCertExpiry']); - } elseif (\array_key_exists('NodeCertExpiry', $data) && null === $data['NodeCertExpiry']) { - $object->setNodeCertExpiry(null); - } - if (\array_key_exists('ExternalCAs', $data) && null !== $data['ExternalCAs']) { - $values = []; - foreach ($data['ExternalCAs'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\SwarmSpecCAConfigExternalCAsItem::class, 'json', $context); - } - $object->setExternalCAs($values); - unset($data['ExternalCAs']); - } elseif (\array_key_exists('ExternalCAs', $data) && null === $data['ExternalCAs']) { - $object->setExternalCAs(null); - } - if (\array_key_exists('SigningCACert', $data) && null !== $data['SigningCACert']) { - $object->setSigningCACert($data['SigningCACert']); - unset($data['SigningCACert']); - } elseif (\array_key_exists('SigningCACert', $data) && null === $data['SigningCACert']) { - $object->setSigningCACert(null); - } - if (\array_key_exists('SigningCAKey', $data) && null !== $data['SigningCAKey']) { - $object->setSigningCAKey($data['SigningCAKey']); - unset($data['SigningCAKey']); - } elseif (\array_key_exists('SigningCAKey', $data) && null === $data['SigningCAKey']) { - $object->setSigningCAKey(null); - } - if (\array_key_exists('ForceRotate', $data) && null !== $data['ForceRotate']) { - $object->setForceRotate($data['ForceRotate']); - unset($data['ForceRotate']); - } elseif (\array_key_exists('ForceRotate', $data) && null === $data['ForceRotate']) { - $object->setForceRotate(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('nodeCertExpiry') && null !== $data->getNodeCertExpiry()) { - $dataArray['NodeCertExpiry'] = $data->getNodeCertExpiry(); - } - if ($data->isInitialized('externalCAs') && null !== $data->getExternalCAs()) { - $values = []; - foreach ($data->getExternalCAs() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['ExternalCAs'] = $values; - } - if ($data->isInitialized('signingCACert') && null !== $data->getSigningCACert()) { - $dataArray['SigningCACert'] = $data->getSigningCACert(); - } - if ($data->isInitialized('signingCAKey') && null !== $data->getSigningCAKey()) { - $dataArray['SigningCAKey'] = $data->getSigningCAKey(); - } - if ($data->isInitialized('forceRotate') && null !== $data->getForceRotate()) { - $dataArray['ForceRotate'] = $data->getForceRotate(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpecCAConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecDispatcherNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecDispatcherNormalizer.php deleted file mode 100644 index 4f86d3712..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecDispatcherNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setHeartbeatPeriod($data['HeartbeatPeriod']); - unset($data['HeartbeatPeriod']); - } elseif (\array_key_exists('HeartbeatPeriod', $data) && null === $data['HeartbeatPeriod']) { - $object->setHeartbeatPeriod(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('heartbeatPeriod') && null !== $data->getHeartbeatPeriod()) { - $dataArray['HeartbeatPeriod'] = $data->getHeartbeatPeriod(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpecDispatcher::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecEncryptionConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecEncryptionConfigNormalizer.php deleted file mode 100644 index fa328d351..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecEncryptionConfigNormalizer.php +++ /dev/null @@ -1,83 +0,0 @@ -setAutoLockManagers($data['AutoLockManagers']); - unset($data['AutoLockManagers']); - } elseif (\array_key_exists('AutoLockManagers', $data) && null === $data['AutoLockManagers']) { - $object->setAutoLockManagers(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('autoLockManagers') && null !== $data->getAutoLockManagers()) { - $dataArray['AutoLockManagers'] = $data->getAutoLockManagers(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpecEncryptionConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecNormalizer.php deleted file mode 100644 index ed2fa9734..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecNormalizer.php +++ /dev/null @@ -1,151 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Orchestration', $data) && null !== $data['Orchestration']) { - $object->setOrchestration($this->denormalizer->denormalize($data['Orchestration'], \Docker\API\Model\SwarmSpecOrchestration::class, 'json', $context)); - unset($data['Orchestration']); - } elseif (\array_key_exists('Orchestration', $data) && null === $data['Orchestration']) { - $object->setOrchestration(null); - } - if (\array_key_exists('Raft', $data) && null !== $data['Raft']) { - $object->setRaft($this->denormalizer->denormalize($data['Raft'], \Docker\API\Model\SwarmSpecRaft::class, 'json', $context)); - unset($data['Raft']); - } elseif (\array_key_exists('Raft', $data) && null === $data['Raft']) { - $object->setRaft(null); - } - if (\array_key_exists('Dispatcher', $data) && null !== $data['Dispatcher']) { - $object->setDispatcher($this->denormalizer->denormalize($data['Dispatcher'], \Docker\API\Model\SwarmSpecDispatcher::class, 'json', $context)); - unset($data['Dispatcher']); - } elseif (\array_key_exists('Dispatcher', $data) && null === $data['Dispatcher']) { - $object->setDispatcher(null); - } - if (\array_key_exists('CAConfig', $data) && null !== $data['CAConfig']) { - $object->setCAConfig($this->denormalizer->denormalize($data['CAConfig'], \Docker\API\Model\SwarmSpecCAConfig::class, 'json', $context)); - unset($data['CAConfig']); - } elseif (\array_key_exists('CAConfig', $data) && null === $data['CAConfig']) { - $object->setCAConfig(null); - } - if (\array_key_exists('EncryptionConfig', $data) && null !== $data['EncryptionConfig']) { - $object->setEncryptionConfig($this->denormalizer->denormalize($data['EncryptionConfig'], \Docker\API\Model\SwarmSpecEncryptionConfig::class, 'json', $context)); - unset($data['EncryptionConfig']); - } elseif (\array_key_exists('EncryptionConfig', $data) && null === $data['EncryptionConfig']) { - $object->setEncryptionConfig(null); - } - if (\array_key_exists('TaskDefaults', $data) && null !== $data['TaskDefaults']) { - $object->setTaskDefaults($this->denormalizer->denormalize($data['TaskDefaults'], \Docker\API\Model\SwarmSpecTaskDefaults::class, 'json', $context)); - unset($data['TaskDefaults']); - } elseif (\array_key_exists('TaskDefaults', $data) && null === $data['TaskDefaults']) { - $object->setTaskDefaults(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('orchestration') && null !== $data->getOrchestration()) { - $dataArray['Orchestration'] = $this->normalizer->normalize($data->getOrchestration(), 'json', $context); - } - if ($data->isInitialized('raft') && null !== $data->getRaft()) { - $dataArray['Raft'] = $this->normalizer->normalize($data->getRaft(), 'json', $context); - } - if ($data->isInitialized('dispatcher') && null !== $data->getDispatcher()) { - $dataArray['Dispatcher'] = $this->normalizer->normalize($data->getDispatcher(), 'json', $context); - } - if ($data->isInitialized('cAConfig') && null !== $data->getCAConfig()) { - $dataArray['CAConfig'] = $this->normalizer->normalize($data->getCAConfig(), 'json', $context); - } - if ($data->isInitialized('encryptionConfig') && null !== $data->getEncryptionConfig()) { - $dataArray['EncryptionConfig'] = $this->normalizer->normalize($data->getEncryptionConfig(), 'json', $context); - } - if ($data->isInitialized('taskDefaults') && null !== $data->getTaskDefaults()) { - $dataArray['TaskDefaults'] = $this->normalizer->normalize($data->getTaskDefaults(), 'json', $context); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecOrchestrationNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecOrchestrationNormalizer.php deleted file mode 100644 index b5ed9a556..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecOrchestrationNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setTaskHistoryRetentionLimit($data['TaskHistoryRetentionLimit']); - unset($data['TaskHistoryRetentionLimit']); - } elseif (\array_key_exists('TaskHistoryRetentionLimit', $data) && null === $data['TaskHistoryRetentionLimit']) { - $object->setTaskHistoryRetentionLimit(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('taskHistoryRetentionLimit') && null !== $data->getTaskHistoryRetentionLimit()) { - $dataArray['TaskHistoryRetentionLimit'] = $data->getTaskHistoryRetentionLimit(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpecOrchestration::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecRaftNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecRaftNormalizer.php deleted file mode 100644 index 1767569e5..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecRaftNormalizer.php +++ /dev/null @@ -1,116 +0,0 @@ -setSnapshotInterval($data['SnapshotInterval']); - unset($data['SnapshotInterval']); - } elseif (\array_key_exists('SnapshotInterval', $data) && null === $data['SnapshotInterval']) { - $object->setSnapshotInterval(null); - } - if (\array_key_exists('KeepOldSnapshots', $data) && null !== $data['KeepOldSnapshots']) { - $object->setKeepOldSnapshots($data['KeepOldSnapshots']); - unset($data['KeepOldSnapshots']); - } elseif (\array_key_exists('KeepOldSnapshots', $data) && null === $data['KeepOldSnapshots']) { - $object->setKeepOldSnapshots(null); - } - if (\array_key_exists('LogEntriesForSlowFollowers', $data) && null !== $data['LogEntriesForSlowFollowers']) { - $object->setLogEntriesForSlowFollowers($data['LogEntriesForSlowFollowers']); - unset($data['LogEntriesForSlowFollowers']); - } elseif (\array_key_exists('LogEntriesForSlowFollowers', $data) && null === $data['LogEntriesForSlowFollowers']) { - $object->setLogEntriesForSlowFollowers(null); - } - if (\array_key_exists('ElectionTick', $data) && null !== $data['ElectionTick']) { - $object->setElectionTick($data['ElectionTick']); - unset($data['ElectionTick']); - } elseif (\array_key_exists('ElectionTick', $data) && null === $data['ElectionTick']) { - $object->setElectionTick(null); - } - if (\array_key_exists('HeartbeatTick', $data) && null !== $data['HeartbeatTick']) { - $object->setHeartbeatTick($data['HeartbeatTick']); - unset($data['HeartbeatTick']); - } elseif (\array_key_exists('HeartbeatTick', $data) && null === $data['HeartbeatTick']) { - $object->setHeartbeatTick(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('snapshotInterval') && null !== $data->getSnapshotInterval()) { - $dataArray['SnapshotInterval'] = $data->getSnapshotInterval(); - } - if ($data->isInitialized('keepOldSnapshots') && null !== $data->getKeepOldSnapshots()) { - $dataArray['KeepOldSnapshots'] = $data->getKeepOldSnapshots(); - } - if ($data->isInitialized('logEntriesForSlowFollowers') && null !== $data->getLogEntriesForSlowFollowers()) { - $dataArray['LogEntriesForSlowFollowers'] = $data->getLogEntriesForSlowFollowers(); - } - if ($data->isInitialized('electionTick') && null !== $data->getElectionTick()) { - $dataArray['ElectionTick'] = $data->getElectionTick(); - } - if ($data->isInitialized('heartbeatTick') && null !== $data->getHeartbeatTick()) { - $dataArray['HeartbeatTick'] = $data->getHeartbeatTick(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpecRaft::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecTaskDefaultsLogDriverNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecTaskDefaultsLogDriverNormalizer.php deleted file mode 100644 index b14d6df34..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecTaskDefaultsLogDriverNormalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key => $value) { - $values[$key] = $value; - } - $object->setOptions($values); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values = []; - foreach ($data->getOptions() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Options'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpecTaskDefaultsLogDriver::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecTaskDefaultsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecTaskDefaultsNormalizer.php deleted file mode 100644 index 248c85c79..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmSpecTaskDefaultsNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setLogDriver($this->denormalizer->denormalize($data['LogDriver'], \Docker\API\Model\SwarmSpecTaskDefaultsLogDriver::class, 'json', $context)); - unset($data['LogDriver']); - } elseif (\array_key_exists('LogDriver', $data) && null === $data['LogDriver']) { - $object->setLogDriver(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('logDriver') && null !== $data->getLogDriver()) { - $dataArray['LogDriver'] = $this->normalizer->normalize($data->getLogDriver(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmSpecTaskDefaults::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockPostBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockPostBodyNormalizer.php deleted file mode 100644 index 2b5eb2ad0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockPostBodyNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setUnlockKey($data['UnlockKey']); - unset($data['UnlockKey']); - } elseif (\array_key_exists('UnlockKey', $data) && null === $data['UnlockKey']) { - $object->setUnlockKey(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('unlockKey') && null !== $data->getUnlockKey()) { - $dataArray['UnlockKey'] = $data->getUnlockKey(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmUnlockPostBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockkeyGetJsonResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockkeyGetJsonResponse200Normalizer.php deleted file mode 100644 index fad9f2c8a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockkeyGetJsonResponse200Normalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setUnlockKey($data['UnlockKey']); - unset($data['UnlockKey']); - } elseif (\array_key_exists('UnlockKey', $data) && null === $data['UnlockKey']) { - $object->setUnlockKey(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('unlockKey') && null !== $data->getUnlockKey()) { - $dataArray['UnlockKey'] = $data->getUnlockKey(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmUnlockkeyGetJsonResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockkeyGetTextplainResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockkeyGetTextplainResponse200Normalizer.php deleted file mode 100644 index 6b2efb510..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SwarmUnlockkeyGetTextplainResponse200Normalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setUnlockKey($data['UnlockKey']); - unset($data['UnlockKey']); - } elseif (\array_key_exists('UnlockKey', $data) && null === $data['UnlockKey']) { - $object->setUnlockKey(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('unlockKey') && null !== $data->getUnlockKey()) { - $dataArray['UnlockKey'] = $data->getUnlockKey(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SwarmUnlockkeyGetTextplainResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemDfGetJsonResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemDfGetJsonResponse200Normalizer.php deleted file mode 100644 index 2830ac41d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemDfGetJsonResponse200Normalizer.php +++ /dev/null @@ -1,148 +0,0 @@ -setLayersSize($data['LayersSize']); - unset($data['LayersSize']); - } elseif (\array_key_exists('LayersSize', $data) && null === $data['LayersSize']) { - $object->setLayersSize(null); - } - if (\array_key_exists('Images', $data) && null !== $data['Images']) { - $values = []; - foreach ($data['Images'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\ImageSummary::class, 'json', $context); - } - $object->setImages($values); - unset($data['Images']); - } elseif (\array_key_exists('Images', $data) && null === $data['Images']) { - $object->setImages(null); - } - if (\array_key_exists('Containers', $data) && null !== $data['Containers']) { - $values_1 = []; - foreach ($data['Containers'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\ContainerSummary::class, 'json', $context); - } - $object->setContainers($values_1); - unset($data['Containers']); - } elseif (\array_key_exists('Containers', $data) && null === $data['Containers']) { - $object->setContainers(null); - } - if (\array_key_exists('Volumes', $data) && null !== $data['Volumes']) { - $values_2 = []; - foreach ($data['Volumes'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\Volume::class, 'json', $context); - } - $object->setVolumes($values_2); - unset($data['Volumes']); - } elseif (\array_key_exists('Volumes', $data) && null === $data['Volumes']) { - $object->setVolumes(null); - } - if (\array_key_exists('BuildCache', $data) && null !== $data['BuildCache']) { - $values_3 = []; - foreach ($data['BuildCache'] as $value_3) { - $values_3[] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\BuildCache::class, 'json', $context); - } - $object->setBuildCache($values_3); - unset($data['BuildCache']); - } elseif (\array_key_exists('BuildCache', $data) && null === $data['BuildCache']) { - $object->setBuildCache(null); - } - foreach ($data as $key => $value_4) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_4; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('layersSize') && null !== $data->getLayersSize()) { - $dataArray['LayersSize'] = $data->getLayersSize(); - } - if ($data->isInitialized('images') && null !== $data->getImages()) { - $values = []; - foreach ($data->getImages() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Images'] = $values; - } - if ($data->isInitialized('containers') && null !== $data->getContainers()) { - $values_1 = []; - foreach ($data->getContainers() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Containers'] = $values_1; - } - if ($data->isInitialized('volumes') && null !== $data->getVolumes()) { - $values_2 = []; - foreach ($data->getVolumes() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['Volumes'] = $values_2; - } - if ($data->isInitialized('buildCache') && null !== $data->getBuildCache()) { - $values_3 = []; - foreach ($data->getBuildCache() as $value_3) { - $values_3[] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['BuildCache'] = $values_3; - } - foreach ($data as $key => $value_4) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_4; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SystemDfGetJsonResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemDfGetTextplainResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemDfGetTextplainResponse200Normalizer.php deleted file mode 100644 index 2de133951..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemDfGetTextplainResponse200Normalizer.php +++ /dev/null @@ -1,148 +0,0 @@ -setLayersSize($data['LayersSize']); - unset($data['LayersSize']); - } elseif (\array_key_exists('LayersSize', $data) && null === $data['LayersSize']) { - $object->setLayersSize(null); - } - if (\array_key_exists('Images', $data) && null !== $data['Images']) { - $values = []; - foreach ($data['Images'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\ImageSummary::class, 'json', $context); - } - $object->setImages($values); - unset($data['Images']); - } elseif (\array_key_exists('Images', $data) && null === $data['Images']) { - $object->setImages(null); - } - if (\array_key_exists('Containers', $data) && null !== $data['Containers']) { - $values_1 = []; - foreach ($data['Containers'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\ContainerSummary::class, 'json', $context); - } - $object->setContainers($values_1); - unset($data['Containers']); - } elseif (\array_key_exists('Containers', $data) && null === $data['Containers']) { - $object->setContainers(null); - } - if (\array_key_exists('Volumes', $data) && null !== $data['Volumes']) { - $values_2 = []; - foreach ($data['Volumes'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\Volume::class, 'json', $context); - } - $object->setVolumes($values_2); - unset($data['Volumes']); - } elseif (\array_key_exists('Volumes', $data) && null === $data['Volumes']) { - $object->setVolumes(null); - } - if (\array_key_exists('BuildCache', $data) && null !== $data['BuildCache']) { - $values_3 = []; - foreach ($data['BuildCache'] as $value_3) { - $values_3[] = $this->denormalizer->denormalize($value_3, \Docker\API\Model\BuildCache::class, 'json', $context); - } - $object->setBuildCache($values_3); - unset($data['BuildCache']); - } elseif (\array_key_exists('BuildCache', $data) && null === $data['BuildCache']) { - $object->setBuildCache(null); - } - foreach ($data as $key => $value_4) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_4; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('layersSize') && null !== $data->getLayersSize()) { - $dataArray['LayersSize'] = $data->getLayersSize(); - } - if ($data->isInitialized('images') && null !== $data->getImages()) { - $values = []; - foreach ($data->getImages() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Images'] = $values; - } - if ($data->isInitialized('containers') && null !== $data->getContainers()) { - $values_1 = []; - foreach ($data->getContainers() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Containers'] = $values_1; - } - if ($data->isInitialized('volumes') && null !== $data->getVolumes()) { - $values_2 = []; - foreach ($data->getVolumes() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['Volumes'] = $values_2; - } - if ($data->isInitialized('buildCache') && null !== $data->getBuildCache()) { - $values_3 = []; - foreach ($data->getBuildCache() as $value_3) { - $values_3[] = $this->normalizer->normalize($value_3, 'json', $context); - } - $dataArray['BuildCache'] = $values_3; - } - foreach ($data as $key => $value_4) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_4; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SystemDfGetTextplainResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemInfoDefaultAddressPoolsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemInfoDefaultAddressPoolsItemNormalizer.php deleted file mode 100644 index becee7763..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemInfoDefaultAddressPoolsItemNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setBase($data['Base']); - unset($data['Base']); - } elseif (\array_key_exists('Base', $data) && null === $data['Base']) { - $object->setBase(null); - } - if (\array_key_exists('Size', $data) && null !== $data['Size']) { - $object->setSize($data['Size']); - unset($data['Size']); - } elseif (\array_key_exists('Size', $data) && null === $data['Size']) { - $object->setSize(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('base') && null !== $data->getBase()) { - $dataArray['Base'] = $data->getBase(); - } - if ($data->isInitialized('size') && null !== $data->getSize()) { - $dataArray['Size'] = $data->getSize(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SystemInfoDefaultAddressPoolsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemInfoNormalizer.php deleted file mode 100644 index b863d86c0..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemInfoNormalizer.php +++ /dev/null @@ -1,737 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Containers', $data) && null !== $data['Containers']) { - $object->setContainers($data['Containers']); - unset($data['Containers']); - } elseif (\array_key_exists('Containers', $data) && null === $data['Containers']) { - $object->setContainers(null); - } - if (\array_key_exists('ContainersRunning', $data) && null !== $data['ContainersRunning']) { - $object->setContainersRunning($data['ContainersRunning']); - unset($data['ContainersRunning']); - } elseif (\array_key_exists('ContainersRunning', $data) && null === $data['ContainersRunning']) { - $object->setContainersRunning(null); - } - if (\array_key_exists('ContainersPaused', $data) && null !== $data['ContainersPaused']) { - $object->setContainersPaused($data['ContainersPaused']); - unset($data['ContainersPaused']); - } elseif (\array_key_exists('ContainersPaused', $data) && null === $data['ContainersPaused']) { - $object->setContainersPaused(null); - } - if (\array_key_exists('ContainersStopped', $data) && null !== $data['ContainersStopped']) { - $object->setContainersStopped($data['ContainersStopped']); - unset($data['ContainersStopped']); - } elseif (\array_key_exists('ContainersStopped', $data) && null === $data['ContainersStopped']) { - $object->setContainersStopped(null); - } - if (\array_key_exists('Images', $data) && null !== $data['Images']) { - $object->setImages($data['Images']); - unset($data['Images']); - } elseif (\array_key_exists('Images', $data) && null === $data['Images']) { - $object->setImages(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('DriverStatus', $data) && null !== $data['DriverStatus']) { - $values = []; - foreach ($data['DriverStatus'] as $value) { - $values_1 = []; - foreach ($value as $value_1) { - $values_1[] = $value_1; - } - $values[] = $values_1; - } - $object->setDriverStatus($values); - unset($data['DriverStatus']); - } elseif (\array_key_exists('DriverStatus', $data) && null === $data['DriverStatus']) { - $object->setDriverStatus(null); - } - if (\array_key_exists('DockerRootDir', $data) && null !== $data['DockerRootDir']) { - $object->setDockerRootDir($data['DockerRootDir']); - unset($data['DockerRootDir']); - } elseif (\array_key_exists('DockerRootDir', $data) && null === $data['DockerRootDir']) { - $object->setDockerRootDir(null); - } - if (\array_key_exists('Plugins', $data) && null !== $data['Plugins']) { - $object->setPlugins($this->denormalizer->denormalize($data['Plugins'], \Docker\API\Model\PluginsInfo::class, 'json', $context)); - unset($data['Plugins']); - } elseif (\array_key_exists('Plugins', $data) && null === $data['Plugins']) { - $object->setPlugins(null); - } - if (\array_key_exists('MemoryLimit', $data) && null !== $data['MemoryLimit']) { - $object->setMemoryLimit($data['MemoryLimit']); - unset($data['MemoryLimit']); - } elseif (\array_key_exists('MemoryLimit', $data) && null === $data['MemoryLimit']) { - $object->setMemoryLimit(null); - } - if (\array_key_exists('SwapLimit', $data) && null !== $data['SwapLimit']) { - $object->setSwapLimit($data['SwapLimit']); - unset($data['SwapLimit']); - } elseif (\array_key_exists('SwapLimit', $data) && null === $data['SwapLimit']) { - $object->setSwapLimit(null); - } - if (\array_key_exists('KernelMemoryTCP', $data) && null !== $data['KernelMemoryTCP']) { - $object->setKernelMemoryTCP($data['KernelMemoryTCP']); - unset($data['KernelMemoryTCP']); - } elseif (\array_key_exists('KernelMemoryTCP', $data) && null === $data['KernelMemoryTCP']) { - $object->setKernelMemoryTCP(null); - } - if (\array_key_exists('CpuCfsPeriod', $data) && null !== $data['CpuCfsPeriod']) { - $object->setCpuCfsPeriod($data['CpuCfsPeriod']); - unset($data['CpuCfsPeriod']); - } elseif (\array_key_exists('CpuCfsPeriod', $data) && null === $data['CpuCfsPeriod']) { - $object->setCpuCfsPeriod(null); - } - if (\array_key_exists('CpuCfsQuota', $data) && null !== $data['CpuCfsQuota']) { - $object->setCpuCfsQuota($data['CpuCfsQuota']); - unset($data['CpuCfsQuota']); - } elseif (\array_key_exists('CpuCfsQuota', $data) && null === $data['CpuCfsQuota']) { - $object->setCpuCfsQuota(null); - } - if (\array_key_exists('CPUShares', $data) && null !== $data['CPUShares']) { - $object->setCPUShares($data['CPUShares']); - unset($data['CPUShares']); - } elseif (\array_key_exists('CPUShares', $data) && null === $data['CPUShares']) { - $object->setCPUShares(null); - } - if (\array_key_exists('CPUSet', $data) && null !== $data['CPUSet']) { - $object->setCPUSet($data['CPUSet']); - unset($data['CPUSet']); - } elseif (\array_key_exists('CPUSet', $data) && null === $data['CPUSet']) { - $object->setCPUSet(null); - } - if (\array_key_exists('PidsLimit', $data) && null !== $data['PidsLimit']) { - $object->setPidsLimit($data['PidsLimit']); - unset($data['PidsLimit']); - } elseif (\array_key_exists('PidsLimit', $data) && null === $data['PidsLimit']) { - $object->setPidsLimit(null); - } - if (\array_key_exists('OomKillDisable', $data) && null !== $data['OomKillDisable']) { - $object->setOomKillDisable($data['OomKillDisable']); - unset($data['OomKillDisable']); - } elseif (\array_key_exists('OomKillDisable', $data) && null === $data['OomKillDisable']) { - $object->setOomKillDisable(null); - } - if (\array_key_exists('IPv4Forwarding', $data) && null !== $data['IPv4Forwarding']) { - $object->setIPv4Forwarding($data['IPv4Forwarding']); - unset($data['IPv4Forwarding']); - } elseif (\array_key_exists('IPv4Forwarding', $data) && null === $data['IPv4Forwarding']) { - $object->setIPv4Forwarding(null); - } - if (\array_key_exists('BridgeNfIptables', $data) && null !== $data['BridgeNfIptables']) { - $object->setBridgeNfIptables($data['BridgeNfIptables']); - unset($data['BridgeNfIptables']); - } elseif (\array_key_exists('BridgeNfIptables', $data) && null === $data['BridgeNfIptables']) { - $object->setBridgeNfIptables(null); - } - if (\array_key_exists('BridgeNfIp6tables', $data) && null !== $data['BridgeNfIp6tables']) { - $object->setBridgeNfIp6tables($data['BridgeNfIp6tables']); - unset($data['BridgeNfIp6tables']); - } elseif (\array_key_exists('BridgeNfIp6tables', $data) && null === $data['BridgeNfIp6tables']) { - $object->setBridgeNfIp6tables(null); - } - if (\array_key_exists('Debug', $data) && null !== $data['Debug']) { - $object->setDebug($data['Debug']); - unset($data['Debug']); - } elseif (\array_key_exists('Debug', $data) && null === $data['Debug']) { - $object->setDebug(null); - } - if (\array_key_exists('NFd', $data) && null !== $data['NFd']) { - $object->setNFd($data['NFd']); - unset($data['NFd']); - } elseif (\array_key_exists('NFd', $data) && null === $data['NFd']) { - $object->setNFd(null); - } - if (\array_key_exists('NGoroutines', $data) && null !== $data['NGoroutines']) { - $object->setNGoroutines($data['NGoroutines']); - unset($data['NGoroutines']); - } elseif (\array_key_exists('NGoroutines', $data) && null === $data['NGoroutines']) { - $object->setNGoroutines(null); - } - if (\array_key_exists('SystemTime', $data) && null !== $data['SystemTime']) { - $object->setSystemTime($data['SystemTime']); - unset($data['SystemTime']); - } elseif (\array_key_exists('SystemTime', $data) && null === $data['SystemTime']) { - $object->setSystemTime(null); - } - if (\array_key_exists('LoggingDriver', $data) && null !== $data['LoggingDriver']) { - $object->setLoggingDriver($data['LoggingDriver']); - unset($data['LoggingDriver']); - } elseif (\array_key_exists('LoggingDriver', $data) && null === $data['LoggingDriver']) { - $object->setLoggingDriver(null); - } - if (\array_key_exists('CgroupDriver', $data) && null !== $data['CgroupDriver']) { - $object->setCgroupDriver($data['CgroupDriver']); - unset($data['CgroupDriver']); - } elseif (\array_key_exists('CgroupDriver', $data) && null === $data['CgroupDriver']) { - $object->setCgroupDriver(null); - } - if (\array_key_exists('CgroupVersion', $data) && null !== $data['CgroupVersion']) { - $object->setCgroupVersion($data['CgroupVersion']); - unset($data['CgroupVersion']); - } elseif (\array_key_exists('CgroupVersion', $data) && null === $data['CgroupVersion']) { - $object->setCgroupVersion(null); - } - if (\array_key_exists('NEventsListener', $data) && null !== $data['NEventsListener']) { - $object->setNEventsListener($data['NEventsListener']); - unset($data['NEventsListener']); - } elseif (\array_key_exists('NEventsListener', $data) && null === $data['NEventsListener']) { - $object->setNEventsListener(null); - } - if (\array_key_exists('KernelVersion', $data) && null !== $data['KernelVersion']) { - $object->setKernelVersion($data['KernelVersion']); - unset($data['KernelVersion']); - } elseif (\array_key_exists('KernelVersion', $data) && null === $data['KernelVersion']) { - $object->setKernelVersion(null); - } - if (\array_key_exists('OperatingSystem', $data) && null !== $data['OperatingSystem']) { - $object->setOperatingSystem($data['OperatingSystem']); - unset($data['OperatingSystem']); - } elseif (\array_key_exists('OperatingSystem', $data) && null === $data['OperatingSystem']) { - $object->setOperatingSystem(null); - } - if (\array_key_exists('OSVersion', $data) && null !== $data['OSVersion']) { - $object->setOSVersion($data['OSVersion']); - unset($data['OSVersion']); - } elseif (\array_key_exists('OSVersion', $data) && null === $data['OSVersion']) { - $object->setOSVersion(null); - } - if (\array_key_exists('OSType', $data) && null !== $data['OSType']) { - $object->setOSType($data['OSType']); - unset($data['OSType']); - } elseif (\array_key_exists('OSType', $data) && null === $data['OSType']) { - $object->setOSType(null); - } - if (\array_key_exists('Architecture', $data) && null !== $data['Architecture']) { - $object->setArchitecture($data['Architecture']); - unset($data['Architecture']); - } elseif (\array_key_exists('Architecture', $data) && null === $data['Architecture']) { - $object->setArchitecture(null); - } - if (\array_key_exists('NCPU', $data) && null !== $data['NCPU']) { - $object->setNCPU($data['NCPU']); - unset($data['NCPU']); - } elseif (\array_key_exists('NCPU', $data) && null === $data['NCPU']) { - $object->setNCPU(null); - } - if (\array_key_exists('MemTotal', $data) && null !== $data['MemTotal']) { - $object->setMemTotal($data['MemTotal']); - unset($data['MemTotal']); - } elseif (\array_key_exists('MemTotal', $data) && null === $data['MemTotal']) { - $object->setMemTotal(null); - } - if (\array_key_exists('IndexServerAddress', $data) && null !== $data['IndexServerAddress']) { - $object->setIndexServerAddress($data['IndexServerAddress']); - unset($data['IndexServerAddress']); - } elseif (\array_key_exists('IndexServerAddress', $data) && null === $data['IndexServerAddress']) { - $object->setIndexServerAddress(null); - } - if (\array_key_exists('RegistryConfig', $data) && null !== $data['RegistryConfig']) { - $object->setRegistryConfig($this->denormalizer->denormalize($data['RegistryConfig'], \Docker\API\Model\RegistryServiceConfig::class, 'json', $context)); - unset($data['RegistryConfig']); - } elseif (\array_key_exists('RegistryConfig', $data) && null === $data['RegistryConfig']) { - $object->setRegistryConfig(null); - } - if (\array_key_exists('GenericResources', $data) && null !== $data['GenericResources']) { - $values_2 = []; - foreach ($data['GenericResources'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\GenericResourcesItem::class, 'json', $context); - } - $object->setGenericResources($values_2); - unset($data['GenericResources']); - } elseif (\array_key_exists('GenericResources', $data) && null === $data['GenericResources']) { - $object->setGenericResources(null); - } - if (\array_key_exists('HttpProxy', $data) && null !== $data['HttpProxy']) { - $object->setHttpProxy($data['HttpProxy']); - unset($data['HttpProxy']); - } elseif (\array_key_exists('HttpProxy', $data) && null === $data['HttpProxy']) { - $object->setHttpProxy(null); - } - if (\array_key_exists('HttpsProxy', $data) && null !== $data['HttpsProxy']) { - $object->setHttpsProxy($data['HttpsProxy']); - unset($data['HttpsProxy']); - } elseif (\array_key_exists('HttpsProxy', $data) && null === $data['HttpsProxy']) { - $object->setHttpsProxy(null); - } - if (\array_key_exists('NoProxy', $data) && null !== $data['NoProxy']) { - $object->setNoProxy($data['NoProxy']); - unset($data['NoProxy']); - } elseif (\array_key_exists('NoProxy', $data) && null === $data['NoProxy']) { - $object->setNoProxy(null); - } - if (\array_key_exists('Name', $data) && null !== $data['Name']) { - $object->setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_3 = []; - foreach ($data['Labels'] as $value_3) { - $values_3[] = $value_3; - } - $object->setLabels($values_3); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('ExperimentalBuild', $data) && null !== $data['ExperimentalBuild']) { - $object->setExperimentalBuild($data['ExperimentalBuild']); - unset($data['ExperimentalBuild']); - } elseif (\array_key_exists('ExperimentalBuild', $data) && null === $data['ExperimentalBuild']) { - $object->setExperimentalBuild(null); - } - if (\array_key_exists('ServerVersion', $data) && null !== $data['ServerVersion']) { - $object->setServerVersion($data['ServerVersion']); - unset($data['ServerVersion']); - } elseif (\array_key_exists('ServerVersion', $data) && null === $data['ServerVersion']) { - $object->setServerVersion(null); - } - if (\array_key_exists('Runtimes', $data) && null !== $data['Runtimes']) { - $values_4 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Runtimes'] as $key => $value_4) { - $values_4[$key] = $this->denormalizer->denormalize($value_4, \Docker\API\Model\Runtime::class, 'json', $context); - } - $object->setRuntimes($values_4); - unset($data['Runtimes']); - } elseif (\array_key_exists('Runtimes', $data) && null === $data['Runtimes']) { - $object->setRuntimes(null); - } - if (\array_key_exists('DefaultRuntime', $data) && null !== $data['DefaultRuntime']) { - $object->setDefaultRuntime($data['DefaultRuntime']); - unset($data['DefaultRuntime']); - } elseif (\array_key_exists('DefaultRuntime', $data) && null === $data['DefaultRuntime']) { - $object->setDefaultRuntime(null); - } - if (\array_key_exists('Swarm', $data) && null !== $data['Swarm']) { - $object->setSwarm($this->denormalizer->denormalize($data['Swarm'], \Docker\API\Model\SwarmInfo::class, 'json', $context)); - unset($data['Swarm']); - } elseif (\array_key_exists('Swarm', $data) && null === $data['Swarm']) { - $object->setSwarm(null); - } - if (\array_key_exists('LiveRestoreEnabled', $data) && null !== $data['LiveRestoreEnabled']) { - $object->setLiveRestoreEnabled($data['LiveRestoreEnabled']); - unset($data['LiveRestoreEnabled']); - } elseif (\array_key_exists('LiveRestoreEnabled', $data) && null === $data['LiveRestoreEnabled']) { - $object->setLiveRestoreEnabled(null); - } - if (\array_key_exists('Isolation', $data) && null !== $data['Isolation']) { - $object->setIsolation($data['Isolation']); - unset($data['Isolation']); - } elseif (\array_key_exists('Isolation', $data) && null === $data['Isolation']) { - $object->setIsolation(null); - } - if (\array_key_exists('InitBinary', $data) && null !== $data['InitBinary']) { - $object->setInitBinary($data['InitBinary']); - unset($data['InitBinary']); - } elseif (\array_key_exists('InitBinary', $data) && null === $data['InitBinary']) { - $object->setInitBinary(null); - } - if (\array_key_exists('ContainerdCommit', $data) && null !== $data['ContainerdCommit']) { - $object->setContainerdCommit($this->denormalizer->denormalize($data['ContainerdCommit'], \Docker\API\Model\Commit::class, 'json', $context)); - unset($data['ContainerdCommit']); - } elseif (\array_key_exists('ContainerdCommit', $data) && null === $data['ContainerdCommit']) { - $object->setContainerdCommit(null); - } - if (\array_key_exists('RuncCommit', $data) && null !== $data['RuncCommit']) { - $object->setRuncCommit($this->denormalizer->denormalize($data['RuncCommit'], \Docker\API\Model\Commit::class, 'json', $context)); - unset($data['RuncCommit']); - } elseif (\array_key_exists('RuncCommit', $data) && null === $data['RuncCommit']) { - $object->setRuncCommit(null); - } - if (\array_key_exists('InitCommit', $data) && null !== $data['InitCommit']) { - $object->setInitCommit($this->denormalizer->denormalize($data['InitCommit'], \Docker\API\Model\Commit::class, 'json', $context)); - unset($data['InitCommit']); - } elseif (\array_key_exists('InitCommit', $data) && null === $data['InitCommit']) { - $object->setInitCommit(null); - } - if (\array_key_exists('SecurityOptions', $data) && null !== $data['SecurityOptions']) { - $values_5 = []; - foreach ($data['SecurityOptions'] as $value_5) { - $values_5[] = $value_5; - } - $object->setSecurityOptions($values_5); - unset($data['SecurityOptions']); - } elseif (\array_key_exists('SecurityOptions', $data) && null === $data['SecurityOptions']) { - $object->setSecurityOptions(null); - } - if (\array_key_exists('ProductLicense', $data) && null !== $data['ProductLicense']) { - $object->setProductLicense($data['ProductLicense']); - unset($data['ProductLicense']); - } elseif (\array_key_exists('ProductLicense', $data) && null === $data['ProductLicense']) { - $object->setProductLicense(null); - } - if (\array_key_exists('DefaultAddressPools', $data) && null !== $data['DefaultAddressPools']) { - $values_6 = []; - foreach ($data['DefaultAddressPools'] as $value_6) { - $values_6[] = $this->denormalizer->denormalize($value_6, \Docker\API\Model\SystemInfoDefaultAddressPoolsItem::class, 'json', $context); - } - $object->setDefaultAddressPools($values_6); - unset($data['DefaultAddressPools']); - } elseif (\array_key_exists('DefaultAddressPools', $data) && null === $data['DefaultAddressPools']) { - $object->setDefaultAddressPools(null); - } - if (\array_key_exists('Warnings', $data) && null !== $data['Warnings']) { - $values_7 = []; - foreach ($data['Warnings'] as $value_7) { - $values_7[] = $value_7; - } - $object->setWarnings($values_7); - unset($data['Warnings']); - } elseif (\array_key_exists('Warnings', $data) && null === $data['Warnings']) { - $object->setWarnings(null); - } - if (\array_key_exists('CDISpecDirs', $data) && null !== $data['CDISpecDirs']) { - $values_8 = []; - foreach ($data['CDISpecDirs'] as $value_8) { - $values_8[] = $value_8; - } - $object->setCDISpecDirs($values_8); - unset($data['CDISpecDirs']); - } elseif (\array_key_exists('CDISpecDirs', $data) && null === $data['CDISpecDirs']) { - $object->setCDISpecDirs(null); - } - foreach ($data as $key_1 => $value_9) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_9; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('containers') && null !== $data->getContainers()) { - $dataArray['Containers'] = $data->getContainers(); - } - if ($data->isInitialized('containersRunning') && null !== $data->getContainersRunning()) { - $dataArray['ContainersRunning'] = $data->getContainersRunning(); - } - if ($data->isInitialized('containersPaused') && null !== $data->getContainersPaused()) { - $dataArray['ContainersPaused'] = $data->getContainersPaused(); - } - if ($data->isInitialized('containersStopped') && null !== $data->getContainersStopped()) { - $dataArray['ContainersStopped'] = $data->getContainersStopped(); - } - if ($data->isInitialized('images') && null !== $data->getImages()) { - $dataArray['Images'] = $data->getImages(); - } - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $data->getDriver(); - } - if ($data->isInitialized('driverStatus') && null !== $data->getDriverStatus()) { - $values = []; - foreach ($data->getDriverStatus() as $value) { - $values_1 = []; - foreach ($value as $value_1) { - $values_1[] = $value_1; - } - $values[] = $values_1; - } - $dataArray['DriverStatus'] = $values; - } - if ($data->isInitialized('dockerRootDir') && null !== $data->getDockerRootDir()) { - $dataArray['DockerRootDir'] = $data->getDockerRootDir(); - } - if ($data->isInitialized('plugins') && null !== $data->getPlugins()) { - $dataArray['Plugins'] = $this->normalizer->normalize($data->getPlugins(), 'json', $context); - } - if ($data->isInitialized('memoryLimit') && null !== $data->getMemoryLimit()) { - $dataArray['MemoryLimit'] = $data->getMemoryLimit(); - } - if ($data->isInitialized('swapLimit') && null !== $data->getSwapLimit()) { - $dataArray['SwapLimit'] = $data->getSwapLimit(); - } - if ($data->isInitialized('kernelMemoryTCP') && null !== $data->getKernelMemoryTCP()) { - $dataArray['KernelMemoryTCP'] = $data->getKernelMemoryTCP(); - } - if ($data->isInitialized('cpuCfsPeriod') && null !== $data->getCpuCfsPeriod()) { - $dataArray['CpuCfsPeriod'] = $data->getCpuCfsPeriod(); - } - if ($data->isInitialized('cpuCfsQuota') && null !== $data->getCpuCfsQuota()) { - $dataArray['CpuCfsQuota'] = $data->getCpuCfsQuota(); - } - if ($data->isInitialized('cPUShares') && null !== $data->getCPUShares()) { - $dataArray['CPUShares'] = $data->getCPUShares(); - } - if ($data->isInitialized('cPUSet') && null !== $data->getCPUSet()) { - $dataArray['CPUSet'] = $data->getCPUSet(); - } - if ($data->isInitialized('pidsLimit') && null !== $data->getPidsLimit()) { - $dataArray['PidsLimit'] = $data->getPidsLimit(); - } - if ($data->isInitialized('oomKillDisable') && null !== $data->getOomKillDisable()) { - $dataArray['OomKillDisable'] = $data->getOomKillDisable(); - } - if ($data->isInitialized('iPv4Forwarding') && null !== $data->getIPv4Forwarding()) { - $dataArray['IPv4Forwarding'] = $data->getIPv4Forwarding(); - } - if ($data->isInitialized('bridgeNfIptables') && null !== $data->getBridgeNfIptables()) { - $dataArray['BridgeNfIptables'] = $data->getBridgeNfIptables(); - } - if ($data->isInitialized('bridgeNfIp6tables') && null !== $data->getBridgeNfIp6tables()) { - $dataArray['BridgeNfIp6tables'] = $data->getBridgeNfIp6tables(); - } - if ($data->isInitialized('debug') && null !== $data->getDebug()) { - $dataArray['Debug'] = $data->getDebug(); - } - if ($data->isInitialized('nFd') && null !== $data->getNFd()) { - $dataArray['NFd'] = $data->getNFd(); - } - if ($data->isInitialized('nGoroutines') && null !== $data->getNGoroutines()) { - $dataArray['NGoroutines'] = $data->getNGoroutines(); - } - if ($data->isInitialized('systemTime') && null !== $data->getSystemTime()) { - $dataArray['SystemTime'] = $data->getSystemTime(); - } - if ($data->isInitialized('loggingDriver') && null !== $data->getLoggingDriver()) { - $dataArray['LoggingDriver'] = $data->getLoggingDriver(); - } - if ($data->isInitialized('cgroupDriver') && null !== $data->getCgroupDriver()) { - $dataArray['CgroupDriver'] = $data->getCgroupDriver(); - } - if ($data->isInitialized('cgroupVersion') && null !== $data->getCgroupVersion()) { - $dataArray['CgroupVersion'] = $data->getCgroupVersion(); - } - if ($data->isInitialized('nEventsListener') && null !== $data->getNEventsListener()) { - $dataArray['NEventsListener'] = $data->getNEventsListener(); - } - if ($data->isInitialized('kernelVersion') && null !== $data->getKernelVersion()) { - $dataArray['KernelVersion'] = $data->getKernelVersion(); - } - if ($data->isInitialized('operatingSystem') && null !== $data->getOperatingSystem()) { - $dataArray['OperatingSystem'] = $data->getOperatingSystem(); - } - if ($data->isInitialized('oSVersion') && null !== $data->getOSVersion()) { - $dataArray['OSVersion'] = $data->getOSVersion(); - } - if ($data->isInitialized('oSType') && null !== $data->getOSType()) { - $dataArray['OSType'] = $data->getOSType(); - } - if ($data->isInitialized('architecture') && null !== $data->getArchitecture()) { - $dataArray['Architecture'] = $data->getArchitecture(); - } - if ($data->isInitialized('nCPU') && null !== $data->getNCPU()) { - $dataArray['NCPU'] = $data->getNCPU(); - } - if ($data->isInitialized('memTotal') && null !== $data->getMemTotal()) { - $dataArray['MemTotal'] = $data->getMemTotal(); - } - if ($data->isInitialized('indexServerAddress') && null !== $data->getIndexServerAddress()) { - $dataArray['IndexServerAddress'] = $data->getIndexServerAddress(); - } - if ($data->isInitialized('registryConfig') && null !== $data->getRegistryConfig()) { - $dataArray['RegistryConfig'] = $this->normalizer->normalize($data->getRegistryConfig(), 'json', $context); - } - if ($data->isInitialized('genericResources') && null !== $data->getGenericResources()) { - $values_2 = []; - foreach ($data->getGenericResources() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['GenericResources'] = $values_2; - } - if ($data->isInitialized('httpProxy') && null !== $data->getHttpProxy()) { - $dataArray['HttpProxy'] = $data->getHttpProxy(); - } - if ($data->isInitialized('httpsProxy') && null !== $data->getHttpsProxy()) { - $dataArray['HttpsProxy'] = $data->getHttpsProxy(); - } - if ($data->isInitialized('noProxy') && null !== $data->getNoProxy()) { - $dataArray['NoProxy'] = $data->getNoProxy(); - } - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values_3 = []; - foreach ($data->getLabels() as $value_3) { - $values_3[] = $value_3; - } - $dataArray['Labels'] = $values_3; - } - if ($data->isInitialized('experimentalBuild') && null !== $data->getExperimentalBuild()) { - $dataArray['ExperimentalBuild'] = $data->getExperimentalBuild(); - } - if ($data->isInitialized('serverVersion') && null !== $data->getServerVersion()) { - $dataArray['ServerVersion'] = $data->getServerVersion(); - } - if ($data->isInitialized('runtimes') && null !== $data->getRuntimes()) { - $values_4 = []; - foreach ($data->getRuntimes() as $key => $value_4) { - $values_4[$key] = $this->normalizer->normalize($value_4, 'json', $context); - } - $dataArray['Runtimes'] = $values_4; - } - if ($data->isInitialized('defaultRuntime') && null !== $data->getDefaultRuntime()) { - $dataArray['DefaultRuntime'] = $data->getDefaultRuntime(); - } - if ($data->isInitialized('swarm') && null !== $data->getSwarm()) { - $dataArray['Swarm'] = $this->normalizer->normalize($data->getSwarm(), 'json', $context); - } - if ($data->isInitialized('liveRestoreEnabled') && null !== $data->getLiveRestoreEnabled()) { - $dataArray['LiveRestoreEnabled'] = $data->getLiveRestoreEnabled(); - } - if ($data->isInitialized('isolation') && null !== $data->getIsolation()) { - $dataArray['Isolation'] = $data->getIsolation(); - } - if ($data->isInitialized('initBinary') && null !== $data->getInitBinary()) { - $dataArray['InitBinary'] = $data->getInitBinary(); - } - if ($data->isInitialized('containerdCommit') && null !== $data->getContainerdCommit()) { - $dataArray['ContainerdCommit'] = $this->normalizer->normalize($data->getContainerdCommit(), 'json', $context); - } - if ($data->isInitialized('runcCommit') && null !== $data->getRuncCommit()) { - $dataArray['RuncCommit'] = $this->normalizer->normalize($data->getRuncCommit(), 'json', $context); - } - if ($data->isInitialized('initCommit') && null !== $data->getInitCommit()) { - $dataArray['InitCommit'] = $this->normalizer->normalize($data->getInitCommit(), 'json', $context); - } - if ($data->isInitialized('securityOptions') && null !== $data->getSecurityOptions()) { - $values_5 = []; - foreach ($data->getSecurityOptions() as $value_5) { - $values_5[] = $value_5; - } - $dataArray['SecurityOptions'] = $values_5; - } - if ($data->isInitialized('productLicense') && null !== $data->getProductLicense()) { - $dataArray['ProductLicense'] = $data->getProductLicense(); - } - if ($data->isInitialized('defaultAddressPools') && null !== $data->getDefaultAddressPools()) { - $values_6 = []; - foreach ($data->getDefaultAddressPools() as $value_6) { - $values_6[] = $this->normalizer->normalize($value_6, 'json', $context); - } - $dataArray['DefaultAddressPools'] = $values_6; - } - if ($data->isInitialized('warnings') && null !== $data->getWarnings()) { - $values_7 = []; - foreach ($data->getWarnings() as $value_7) { - $values_7[] = $value_7; - } - $dataArray['Warnings'] = $values_7; - } - if ($data->isInitialized('cDISpecDirs') && null !== $data->getCDISpecDirs()) { - $values_8 = []; - foreach ($data->getCDISpecDirs() as $value_8) { - $values_8[] = $value_8; - } - $dataArray['CDISpecDirs'] = $values_8; - } - foreach ($data as $key_1 => $value_9) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_9; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SystemInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionComponentsItemDetailsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionComponentsItemDetailsNormalizer.php deleted file mode 100644 index 98c1e4e90..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionComponentsItemDetailsNormalizer.php +++ /dev/null @@ -1,71 +0,0 @@ - $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SystemVersionComponentsItemDetails::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionComponentsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionComponentsItemNormalizer.php deleted file mode 100644 index b0c4c4328..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionComponentsItemNormalizer.php +++ /dev/null @@ -1,94 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($data['Version']); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('Details', $data) && null !== $data['Details']) { - $object->setDetails($this->denormalizer->denormalize($data['Details'], \Docker\API\Model\SystemVersionComponentsItemDetails::class, 'json', $context)); - unset($data['Details']); - } elseif (\array_key_exists('Details', $data) && null === $data['Details']) { - $object->setDetails(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - $dataArray['Version'] = $data->getVersion(); - if ($data->isInitialized('details') && null !== $data->getDetails()) { - $dataArray['Details'] = $this->normalizer->normalize($data->getDetails(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SystemVersionComponentsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionNormalizer.php deleted file mode 100644 index 1d203a269..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionNormalizer.php +++ /dev/null @@ -1,190 +0,0 @@ -setPlatform($this->denormalizer->denormalize($data['Platform'], \Docker\API\Model\SystemVersionPlatform::class, 'json', $context)); - unset($data['Platform']); - } elseif (\array_key_exists('Platform', $data) && null === $data['Platform']) { - $object->setPlatform(null); - } - if (\array_key_exists('Components', $data) && null !== $data['Components']) { - $values = []; - foreach ($data['Components'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\SystemVersionComponentsItem::class, 'json', $context); - } - $object->setComponents($values); - unset($data['Components']); - } elseif (\array_key_exists('Components', $data) && null === $data['Components']) { - $object->setComponents(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($data['Version']); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('ApiVersion', $data) && null !== $data['ApiVersion']) { - $object->setApiVersion($data['ApiVersion']); - unset($data['ApiVersion']); - } elseif (\array_key_exists('ApiVersion', $data) && null === $data['ApiVersion']) { - $object->setApiVersion(null); - } - if (\array_key_exists('MinAPIVersion', $data) && null !== $data['MinAPIVersion']) { - $object->setMinAPIVersion($data['MinAPIVersion']); - unset($data['MinAPIVersion']); - } elseif (\array_key_exists('MinAPIVersion', $data) && null === $data['MinAPIVersion']) { - $object->setMinAPIVersion(null); - } - if (\array_key_exists('GitCommit', $data) && null !== $data['GitCommit']) { - $object->setGitCommit($data['GitCommit']); - unset($data['GitCommit']); - } elseif (\array_key_exists('GitCommit', $data) && null === $data['GitCommit']) { - $object->setGitCommit(null); - } - if (\array_key_exists('GoVersion', $data) && null !== $data['GoVersion']) { - $object->setGoVersion($data['GoVersion']); - unset($data['GoVersion']); - } elseif (\array_key_exists('GoVersion', $data) && null === $data['GoVersion']) { - $object->setGoVersion(null); - } - if (\array_key_exists('Os', $data) && null !== $data['Os']) { - $object->setOs($data['Os']); - unset($data['Os']); - } elseif (\array_key_exists('Os', $data) && null === $data['Os']) { - $object->setOs(null); - } - if (\array_key_exists('Arch', $data) && null !== $data['Arch']) { - $object->setArch($data['Arch']); - unset($data['Arch']); - } elseif (\array_key_exists('Arch', $data) && null === $data['Arch']) { - $object->setArch(null); - } - if (\array_key_exists('KernelVersion', $data) && null !== $data['KernelVersion']) { - $object->setKernelVersion($data['KernelVersion']); - unset($data['KernelVersion']); - } elseif (\array_key_exists('KernelVersion', $data) && null === $data['KernelVersion']) { - $object->setKernelVersion(null); - } - if (\array_key_exists('Experimental', $data) && null !== $data['Experimental']) { - $object->setExperimental($data['Experimental']); - unset($data['Experimental']); - } elseif (\array_key_exists('Experimental', $data) && null === $data['Experimental']) { - $object->setExperimental(null); - } - if (\array_key_exists('BuildTime', $data) && null !== $data['BuildTime']) { - $object->setBuildTime($data['BuildTime']); - unset($data['BuildTime']); - } elseif (\array_key_exists('BuildTime', $data) && null === $data['BuildTime']) { - $object->setBuildTime(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('platform') && null !== $data->getPlatform()) { - $dataArray['Platform'] = $this->normalizer->normalize($data->getPlatform(), 'json', $context); - } - if ($data->isInitialized('components') && null !== $data->getComponents()) { - $values = []; - foreach ($data->getComponents() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Components'] = $values; - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $data->getVersion(); - } - if ($data->isInitialized('apiVersion') && null !== $data->getApiVersion()) { - $dataArray['ApiVersion'] = $data->getApiVersion(); - } - if ($data->isInitialized('minAPIVersion') && null !== $data->getMinAPIVersion()) { - $dataArray['MinAPIVersion'] = $data->getMinAPIVersion(); - } - if ($data->isInitialized('gitCommit') && null !== $data->getGitCommit()) { - $dataArray['GitCommit'] = $data->getGitCommit(); - } - if ($data->isInitialized('goVersion') && null !== $data->getGoVersion()) { - $dataArray['GoVersion'] = $data->getGoVersion(); - } - if ($data->isInitialized('os') && null !== $data->getOs()) { - $dataArray['Os'] = $data->getOs(); - } - if ($data->isInitialized('arch') && null !== $data->getArch()) { - $dataArray['Arch'] = $data->getArch(); - } - if ($data->isInitialized('kernelVersion') && null !== $data->getKernelVersion()) { - $dataArray['KernelVersion'] = $data->getKernelVersion(); - } - if ($data->isInitialized('experimental') && null !== $data->getExperimental()) { - $dataArray['Experimental'] = $data->getExperimental(); - } - if ($data->isInitialized('buildTime') && null !== $data->getBuildTime()) { - $dataArray['BuildTime'] = $data->getBuildTime(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SystemVersion::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionPlatformNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionPlatformNormalizer.php deleted file mode 100644 index bc9789c87..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/SystemVersionPlatformNormalizer.php +++ /dev/null @@ -1,78 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\SystemVersionPlatform::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TLSInfoNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TLSInfoNormalizer.php deleted file mode 100644 index 6824356a4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TLSInfoNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setTrustRoot($data['TrustRoot']); - unset($data['TrustRoot']); - } elseif (\array_key_exists('TrustRoot', $data) && null === $data['TrustRoot']) { - $object->setTrustRoot(null); - } - if (\array_key_exists('CertIssuerSubject', $data) && null !== $data['CertIssuerSubject']) { - $object->setCertIssuerSubject($data['CertIssuerSubject']); - unset($data['CertIssuerSubject']); - } elseif (\array_key_exists('CertIssuerSubject', $data) && null === $data['CertIssuerSubject']) { - $object->setCertIssuerSubject(null); - } - if (\array_key_exists('CertIssuerPublicKey', $data) && null !== $data['CertIssuerPublicKey']) { - $object->setCertIssuerPublicKey($data['CertIssuerPublicKey']); - unset($data['CertIssuerPublicKey']); - } elseif (\array_key_exists('CertIssuerPublicKey', $data) && null === $data['CertIssuerPublicKey']) { - $object->setCertIssuerPublicKey(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('trustRoot') && null !== $data->getTrustRoot()) { - $dataArray['TrustRoot'] = $data->getTrustRoot(); - } - if ($data->isInitialized('certIssuerSubject') && null !== $data->getCertIssuerSubject()) { - $dataArray['CertIssuerSubject'] = $data->getCertIssuerSubject(); - } - if ($data->isInitialized('certIssuerPublicKey') && null !== $data->getCertIssuerPublicKey()) { - $dataArray['CertIssuerPublicKey'] = $data->getCertIssuerPublicKey(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TLSInfo::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskNormalizer.php deleted file mode 100644 index c920f31e4..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskNormalizer.php +++ /dev/null @@ -1,213 +0,0 @@ -setID($data['ID']); - unset($data['ID']); - } elseif (\array_key_exists('ID', $data) && null === $data['ID']) { - $object->setID(null); - } - if (\array_key_exists('Version', $data) && null !== $data['Version']) { - $object->setVersion($this->denormalizer->denormalize($data['Version'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['Version']); - } elseif (\array_key_exists('Version', $data) && null === $data['Version']) { - $object->setVersion(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('UpdatedAt', $data) && null !== $data['UpdatedAt']) { - $object->setUpdatedAt($data['UpdatedAt']); - unset($data['UpdatedAt']); - } elseif (\array_key_exists('UpdatedAt', $data) && null === $data['UpdatedAt']) { - $object->setUpdatedAt(null); - } - if (\array_key_exists('Name', $data) && null !== $data['Name']) { - $object->setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Spec', $data) && null !== $data['Spec']) { - $object->setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\TaskSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - if (\array_key_exists('ServiceID', $data) && null !== $data['ServiceID']) { - $object->setServiceID($data['ServiceID']); - unset($data['ServiceID']); - } elseif (\array_key_exists('ServiceID', $data) && null === $data['ServiceID']) { - $object->setServiceID(null); - } - if (\array_key_exists('Slot', $data) && null !== $data['Slot']) { - $object->setSlot($data['Slot']); - unset($data['Slot']); - } elseif (\array_key_exists('Slot', $data) && null === $data['Slot']) { - $object->setSlot(null); - } - if (\array_key_exists('NodeID', $data) && null !== $data['NodeID']) { - $object->setNodeID($data['NodeID']); - unset($data['NodeID']); - } elseif (\array_key_exists('NodeID', $data) && null === $data['NodeID']) { - $object->setNodeID(null); - } - if (\array_key_exists('AssignedGenericResources', $data) && null !== $data['AssignedGenericResources']) { - $values_1 = []; - foreach ($data['AssignedGenericResources'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\GenericResourcesItem::class, 'json', $context); - } - $object->setAssignedGenericResources($values_1); - unset($data['AssignedGenericResources']); - } elseif (\array_key_exists('AssignedGenericResources', $data) && null === $data['AssignedGenericResources']) { - $object->setAssignedGenericResources(null); - } - if (\array_key_exists('Status', $data) && null !== $data['Status']) { - $object->setStatus($this->denormalizer->denormalize($data['Status'], \Docker\API\Model\TaskStatus::class, 'json', $context)); - unset($data['Status']); - } elseif (\array_key_exists('Status', $data) && null === $data['Status']) { - $object->setStatus(null); - } - if (\array_key_exists('DesiredState', $data) && null !== $data['DesiredState']) { - $object->setDesiredState($data['DesiredState']); - unset($data['DesiredState']); - } elseif (\array_key_exists('DesiredState', $data) && null === $data['DesiredState']) { - $object->setDesiredState(null); - } - if (\array_key_exists('JobIteration', $data) && null !== $data['JobIteration']) { - $object->setJobIteration($this->denormalizer->denormalize($data['JobIteration'], \Docker\API\Model\ObjectVersion::class, 'json', $context)); - unset($data['JobIteration']); - } elseif (\array_key_exists('JobIteration', $data) && null === $data['JobIteration']) { - $object->setJobIteration(null); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('iD') && null !== $data->getID()) { - $dataArray['ID'] = $data->getID(); - } - if ($data->isInitialized('version') && null !== $data->getVersion()) { - $dataArray['Version'] = $this->normalizer->normalize($data->getVersion(), 'json', $context); - } - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('updatedAt') && null !== $data->getUpdatedAt()) { - $dataArray['UpdatedAt'] = $data->getUpdatedAt(); - } - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - if ($data->isInitialized('serviceID') && null !== $data->getServiceID()) { - $dataArray['ServiceID'] = $data->getServiceID(); - } - if ($data->isInitialized('slot') && null !== $data->getSlot()) { - $dataArray['Slot'] = $data->getSlot(); - } - if ($data->isInitialized('nodeID') && null !== $data->getNodeID()) { - $dataArray['NodeID'] = $data->getNodeID(); - } - if ($data->isInitialized('assignedGenericResources') && null !== $data->getAssignedGenericResources()) { - $values_1 = []; - foreach ($data->getAssignedGenericResources() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['AssignedGenericResources'] = $values_1; - } - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $dataArray['Status'] = $this->normalizer->normalize($data->getStatus(), 'json', $context); - } - if ($data->isInitialized('desiredState') && null !== $data->getDesiredState()) { - $dataArray['DesiredState'] = $data->getDesiredState(); - } - if ($data->isInitialized('jobIteration') && null !== $data->getJobIteration()) { - $dataArray['JobIteration'] = $this->normalizer->normalize($data->getJobIteration(), 'json', $context); - } - foreach ($data as $key_1 => $value_2) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Task::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemFileNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemFileNormalizer.php deleted file mode 100644 index 2d8b4c3d1..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemFileNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('UID', $data) && null !== $data['UID']) { - $object->setUID($data['UID']); - unset($data['UID']); - } elseif (\array_key_exists('UID', $data) && null === $data['UID']) { - $object->setUID(null); - } - if (\array_key_exists('GID', $data) && null !== $data['GID']) { - $object->setGID($data['GID']); - unset($data['GID']); - } elseif (\array_key_exists('GID', $data) && null === $data['GID']) { - $object->setGID(null); - } - if (\array_key_exists('Mode', $data) && null !== $data['Mode']) { - $object->setMode($data['Mode']); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('uID') && null !== $data->getUID()) { - $dataArray['UID'] = $data->getUID(); - } - if ($data->isInitialized('gID') && null !== $data->getGID()) { - $dataArray['GID'] = $data->getGID(); - } - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $data->getMode(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecConfigsItemFile::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemNormalizer.php deleted file mode 100644 index 6813ae32d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setFile($this->denormalizer->denormalize($data['File'], \Docker\API\Model\TaskSpecContainerSpecConfigsItemFile::class, 'json', $context)); - unset($data['File']); - } elseif (\array_key_exists('File', $data) && null === $data['File']) { - $object->setFile(null); - } - if (\array_key_exists('Runtime', $data) && null !== $data['Runtime']) { - $object->setRuntime($this->denormalizer->denormalize($data['Runtime'], \Docker\API\Model\TaskSpecContainerSpecConfigsItemRuntime::class, 'json', $context)); - unset($data['Runtime']); - } elseif (\array_key_exists('Runtime', $data) && null === $data['Runtime']) { - $object->setRuntime(null); - } - if (\array_key_exists('ConfigID', $data) && null !== $data['ConfigID']) { - $object->setConfigID($data['ConfigID']); - unset($data['ConfigID']); - } elseif (\array_key_exists('ConfigID', $data) && null === $data['ConfigID']) { - $object->setConfigID(null); - } - if (\array_key_exists('ConfigName', $data) && null !== $data['ConfigName']) { - $object->setConfigName($data['ConfigName']); - unset($data['ConfigName']); - } elseif (\array_key_exists('ConfigName', $data) && null === $data['ConfigName']) { - $object->setConfigName(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('file') && null !== $data->getFile()) { - $dataArray['File'] = $this->normalizer->normalize($data->getFile(), 'json', $context); - } - if ($data->isInitialized('runtime') && null !== $data->getRuntime()) { - $dataArray['Runtime'] = $this->normalizer->normalize($data->getRuntime(), 'json', $context); - } - if ($data->isInitialized('configID') && null !== $data->getConfigID()) { - $dataArray['ConfigID'] = $data->getConfigID(); - } - if ($data->isInitialized('configName') && null !== $data->getConfigName()) { - $dataArray['ConfigName'] = $data->getConfigName(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecConfigsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemRuntimeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemRuntimeNormalizer.php deleted file mode 100644 index 0c974e412..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecConfigsItemRuntimeNormalizer.php +++ /dev/null @@ -1,71 +0,0 @@ - $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecConfigsItemRuntime::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecDNSConfigNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecDNSConfigNormalizer.php deleted file mode 100644 index 427029046..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecDNSConfigNormalizer.php +++ /dev/null @@ -1,122 +0,0 @@ -setNameservers($values); - unset($data['Nameservers']); - } elseif (\array_key_exists('Nameservers', $data) && null === $data['Nameservers']) { - $object->setNameservers(null); - } - if (\array_key_exists('Search', $data) && null !== $data['Search']) { - $values_1 = []; - foreach ($data['Search'] as $value_1) { - $values_1[] = $value_1; - } - $object->setSearch($values_1); - unset($data['Search']); - } elseif (\array_key_exists('Search', $data) && null === $data['Search']) { - $object->setSearch(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values_2 = []; - foreach ($data['Options'] as $value_2) { - $values_2[] = $value_2; - } - $object->setOptions($values_2); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('nameservers') && null !== $data->getNameservers()) { - $values = []; - foreach ($data->getNameservers() as $value) { - $values[] = $value; - } - $dataArray['Nameservers'] = $values; - } - if ($data->isInitialized('search') && null !== $data->getSearch()) { - $values_1 = []; - foreach ($data->getSearch() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Search'] = $values_1; - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values_2 = []; - foreach ($data->getOptions() as $value_2) { - $values_2[] = $value_2; - } - $dataArray['Options'] = $values_2; - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecDNSConfig::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecNormalizer.php deleted file mode 100644 index 9ad76a638..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecNormalizer.php +++ /dev/null @@ -1,430 +0,0 @@ -setImage($data['Image']); - unset($data['Image']); - } elseif (\array_key_exists('Image', $data) && null === $data['Image']) { - $object->setImage(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key => $value) { - $values[$key] = $value; - } - $object->setLabels($values); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Command', $data) && null !== $data['Command']) { - $values_1 = []; - foreach ($data['Command'] as $value_1) { - $values_1[] = $value_1; - } - $object->setCommand($values_1); - unset($data['Command']); - } elseif (\array_key_exists('Command', $data) && null === $data['Command']) { - $object->setCommand(null); - } - if (\array_key_exists('Args', $data) && null !== $data['Args']) { - $values_2 = []; - foreach ($data['Args'] as $value_2) { - $values_2[] = $value_2; - } - $object->setArgs($values_2); - unset($data['Args']); - } elseif (\array_key_exists('Args', $data) && null === $data['Args']) { - $object->setArgs(null); - } - if (\array_key_exists('Hostname', $data) && null !== $data['Hostname']) { - $object->setHostname($data['Hostname']); - unset($data['Hostname']); - } elseif (\array_key_exists('Hostname', $data) && null === $data['Hostname']) { - $object->setHostname(null); - } - if (\array_key_exists('Env', $data) && null !== $data['Env']) { - $values_3 = []; - foreach ($data['Env'] as $value_3) { - $values_3[] = $value_3; - } - $object->setEnv($values_3); - unset($data['Env']); - } elseif (\array_key_exists('Env', $data) && null === $data['Env']) { - $object->setEnv(null); - } - if (\array_key_exists('Dir', $data) && null !== $data['Dir']) { - $object->setDir($data['Dir']); - unset($data['Dir']); - } elseif (\array_key_exists('Dir', $data) && null === $data['Dir']) { - $object->setDir(null); - } - if (\array_key_exists('User', $data) && null !== $data['User']) { - $object->setUser($data['User']); - unset($data['User']); - } elseif (\array_key_exists('User', $data) && null === $data['User']) { - $object->setUser(null); - } - if (\array_key_exists('Groups', $data) && null !== $data['Groups']) { - $values_4 = []; - foreach ($data['Groups'] as $value_4) { - $values_4[] = $value_4; - } - $object->setGroups($values_4); - unset($data['Groups']); - } elseif (\array_key_exists('Groups', $data) && null === $data['Groups']) { - $object->setGroups(null); - } - if (\array_key_exists('Privileges', $data) && null !== $data['Privileges']) { - $object->setPrivileges($this->denormalizer->denormalize($data['Privileges'], \Docker\API\Model\TaskSpecContainerSpecPrivileges::class, 'json', $context)); - unset($data['Privileges']); - } elseif (\array_key_exists('Privileges', $data) && null === $data['Privileges']) { - $object->setPrivileges(null); - } - if (\array_key_exists('TTY', $data) && null !== $data['TTY']) { - $object->setTTY($data['TTY']); - unset($data['TTY']); - } elseif (\array_key_exists('TTY', $data) && null === $data['TTY']) { - $object->setTTY(null); - } - if (\array_key_exists('OpenStdin', $data) && null !== $data['OpenStdin']) { - $object->setOpenStdin($data['OpenStdin']); - unset($data['OpenStdin']); - } elseif (\array_key_exists('OpenStdin', $data) && null === $data['OpenStdin']) { - $object->setOpenStdin(null); - } - if (\array_key_exists('ReadOnly', $data) && null !== $data['ReadOnly']) { - $object->setReadOnly($data['ReadOnly']); - unset($data['ReadOnly']); - } elseif (\array_key_exists('ReadOnly', $data) && null === $data['ReadOnly']) { - $object->setReadOnly(null); - } - if (\array_key_exists('Mounts', $data) && null !== $data['Mounts']) { - $values_5 = []; - foreach ($data['Mounts'] as $value_5) { - $values_5[] = $this->denormalizer->denormalize($value_5, \Docker\API\Model\Mount::class, 'json', $context); - } - $object->setMounts($values_5); - unset($data['Mounts']); - } elseif (\array_key_exists('Mounts', $data) && null === $data['Mounts']) { - $object->setMounts(null); - } - if (\array_key_exists('StopSignal', $data) && null !== $data['StopSignal']) { - $object->setStopSignal($data['StopSignal']); - unset($data['StopSignal']); - } elseif (\array_key_exists('StopSignal', $data) && null === $data['StopSignal']) { - $object->setStopSignal(null); - } - if (\array_key_exists('StopGracePeriod', $data) && null !== $data['StopGracePeriod']) { - $object->setStopGracePeriod($data['StopGracePeriod']); - unset($data['StopGracePeriod']); - } elseif (\array_key_exists('StopGracePeriod', $data) && null === $data['StopGracePeriod']) { - $object->setStopGracePeriod(null); - } - if (\array_key_exists('HealthCheck', $data) && null !== $data['HealthCheck']) { - $object->setHealthCheck($this->denormalizer->denormalize($data['HealthCheck'], \Docker\API\Model\HealthConfig::class, 'json', $context)); - unset($data['HealthCheck']); - } elseif (\array_key_exists('HealthCheck', $data) && null === $data['HealthCheck']) { - $object->setHealthCheck(null); - } - if (\array_key_exists('Hosts', $data) && null !== $data['Hosts']) { - $values_6 = []; - foreach ($data['Hosts'] as $value_6) { - $values_6[] = $value_6; - } - $object->setHosts($values_6); - unset($data['Hosts']); - } elseif (\array_key_exists('Hosts', $data) && null === $data['Hosts']) { - $object->setHosts(null); - } - if (\array_key_exists('DNSConfig', $data) && null !== $data['DNSConfig']) { - $object->setDNSConfig($this->denormalizer->denormalize($data['DNSConfig'], \Docker\API\Model\TaskSpecContainerSpecDNSConfig::class, 'json', $context)); - unset($data['DNSConfig']); - } elseif (\array_key_exists('DNSConfig', $data) && null === $data['DNSConfig']) { - $object->setDNSConfig(null); - } - if (\array_key_exists('Secrets', $data) && null !== $data['Secrets']) { - $values_7 = []; - foreach ($data['Secrets'] as $value_7) { - $values_7[] = $this->denormalizer->denormalize($value_7, \Docker\API\Model\TaskSpecContainerSpecSecretsItem::class, 'json', $context); - } - $object->setSecrets($values_7); - unset($data['Secrets']); - } elseif (\array_key_exists('Secrets', $data) && null === $data['Secrets']) { - $object->setSecrets(null); - } - if (\array_key_exists('Configs', $data) && null !== $data['Configs']) { - $values_8 = []; - foreach ($data['Configs'] as $value_8) { - $values_8[] = $this->denormalizer->denormalize($value_8, \Docker\API\Model\TaskSpecContainerSpecConfigsItem::class, 'json', $context); - } - $object->setConfigs($values_8); - unset($data['Configs']); - } elseif (\array_key_exists('Configs', $data) && null === $data['Configs']) { - $object->setConfigs(null); - } - if (\array_key_exists('Isolation', $data) && null !== $data['Isolation']) { - $object->setIsolation($data['Isolation']); - unset($data['Isolation']); - } elseif (\array_key_exists('Isolation', $data) && null === $data['Isolation']) { - $object->setIsolation(null); - } - if (\array_key_exists('Init', $data) && null !== $data['Init']) { - $object->setInit($data['Init']); - unset($data['Init']); - } elseif (\array_key_exists('Init', $data) && null === $data['Init']) { - $object->setInit(null); - } - if (\array_key_exists('Sysctls', $data) && null !== $data['Sysctls']) { - $values_9 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Sysctls'] as $key_1 => $value_9) { - $values_9[$key_1] = $value_9; - } - $object->setSysctls($values_9); - unset($data['Sysctls']); - } elseif (\array_key_exists('Sysctls', $data) && null === $data['Sysctls']) { - $object->setSysctls(null); - } - if (\array_key_exists('CapabilityAdd', $data) && null !== $data['CapabilityAdd']) { - $values_10 = []; - foreach ($data['CapabilityAdd'] as $value_10) { - $values_10[] = $value_10; - } - $object->setCapabilityAdd($values_10); - unset($data['CapabilityAdd']); - } elseif (\array_key_exists('CapabilityAdd', $data) && null === $data['CapabilityAdd']) { - $object->setCapabilityAdd(null); - } - if (\array_key_exists('CapabilityDrop', $data) && null !== $data['CapabilityDrop']) { - $values_11 = []; - foreach ($data['CapabilityDrop'] as $value_11) { - $values_11[] = $value_11; - } - $object->setCapabilityDrop($values_11); - unset($data['CapabilityDrop']); - } elseif (\array_key_exists('CapabilityDrop', $data) && null === $data['CapabilityDrop']) { - $object->setCapabilityDrop(null); - } - if (\array_key_exists('Ulimits', $data) && null !== $data['Ulimits']) { - $values_12 = []; - foreach ($data['Ulimits'] as $value_12) { - $values_12[] = $this->denormalizer->denormalize($value_12, \Docker\API\Model\TaskSpecContainerSpecUlimitsItem::class, 'json', $context); - } - $object->setUlimits($values_12); - unset($data['Ulimits']); - } elseif (\array_key_exists('Ulimits', $data) && null === $data['Ulimits']) { - $object->setUlimits(null); - } - foreach ($data as $key_2 => $value_13) { - if (preg_match('/.*/', (string) $key_2)) { - $object[$key_2] = $value_13; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('image') && null !== $data->getImage()) { - $dataArray['Image'] = $data->getImage(); - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values = []; - foreach ($data->getLabels() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Labels'] = $values; - } - if ($data->isInitialized('command') && null !== $data->getCommand()) { - $values_1 = []; - foreach ($data->getCommand() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Command'] = $values_1; - } - if ($data->isInitialized('args') && null !== $data->getArgs()) { - $values_2 = []; - foreach ($data->getArgs() as $value_2) { - $values_2[] = $value_2; - } - $dataArray['Args'] = $values_2; - } - if ($data->isInitialized('hostname') && null !== $data->getHostname()) { - $dataArray['Hostname'] = $data->getHostname(); - } - if ($data->isInitialized('env') && null !== $data->getEnv()) { - $values_3 = []; - foreach ($data->getEnv() as $value_3) { - $values_3[] = $value_3; - } - $dataArray['Env'] = $values_3; - } - if ($data->isInitialized('dir') && null !== $data->getDir()) { - $dataArray['Dir'] = $data->getDir(); - } - if ($data->isInitialized('user') && null !== $data->getUser()) { - $dataArray['User'] = $data->getUser(); - } - if ($data->isInitialized('groups') && null !== $data->getGroups()) { - $values_4 = []; - foreach ($data->getGroups() as $value_4) { - $values_4[] = $value_4; - } - $dataArray['Groups'] = $values_4; - } - if ($data->isInitialized('privileges') && null !== $data->getPrivileges()) { - $dataArray['Privileges'] = $this->normalizer->normalize($data->getPrivileges(), 'json', $context); - } - if ($data->isInitialized('tTY') && null !== $data->getTTY()) { - $dataArray['TTY'] = $data->getTTY(); - } - if ($data->isInitialized('openStdin') && null !== $data->getOpenStdin()) { - $dataArray['OpenStdin'] = $data->getOpenStdin(); - } - if ($data->isInitialized('readOnly') && null !== $data->getReadOnly()) { - $dataArray['ReadOnly'] = $data->getReadOnly(); - } - if ($data->isInitialized('mounts') && null !== $data->getMounts()) { - $values_5 = []; - foreach ($data->getMounts() as $value_5) { - $values_5[] = $this->normalizer->normalize($value_5, 'json', $context); - } - $dataArray['Mounts'] = $values_5; - } - if ($data->isInitialized('stopSignal') && null !== $data->getStopSignal()) { - $dataArray['StopSignal'] = $data->getStopSignal(); - } - if ($data->isInitialized('stopGracePeriod') && null !== $data->getStopGracePeriod()) { - $dataArray['StopGracePeriod'] = $data->getStopGracePeriod(); - } - if ($data->isInitialized('healthCheck') && null !== $data->getHealthCheck()) { - $dataArray['HealthCheck'] = $this->normalizer->normalize($data->getHealthCheck(), 'json', $context); - } - if ($data->isInitialized('hosts') && null !== $data->getHosts()) { - $values_6 = []; - foreach ($data->getHosts() as $value_6) { - $values_6[] = $value_6; - } - $dataArray['Hosts'] = $values_6; - } - if ($data->isInitialized('dNSConfig') && null !== $data->getDNSConfig()) { - $dataArray['DNSConfig'] = $this->normalizer->normalize($data->getDNSConfig(), 'json', $context); - } - if ($data->isInitialized('secrets') && null !== $data->getSecrets()) { - $values_7 = []; - foreach ($data->getSecrets() as $value_7) { - $values_7[] = $this->normalizer->normalize($value_7, 'json', $context); - } - $dataArray['Secrets'] = $values_7; - } - if ($data->isInitialized('configs') && null !== $data->getConfigs()) { - $values_8 = []; - foreach ($data->getConfigs() as $value_8) { - $values_8[] = $this->normalizer->normalize($value_8, 'json', $context); - } - $dataArray['Configs'] = $values_8; - } - if ($data->isInitialized('isolation') && null !== $data->getIsolation()) { - $dataArray['Isolation'] = $data->getIsolation(); - } - if ($data->isInitialized('init') && null !== $data->getInit()) { - $dataArray['Init'] = $data->getInit(); - } - if ($data->isInitialized('sysctls') && null !== $data->getSysctls()) { - $values_9 = []; - foreach ($data->getSysctls() as $key_1 => $value_9) { - $values_9[$key_1] = $value_9; - } - $dataArray['Sysctls'] = $values_9; - } - if ($data->isInitialized('capabilityAdd') && null !== $data->getCapabilityAdd()) { - $values_10 = []; - foreach ($data->getCapabilityAdd() as $value_10) { - $values_10[] = $value_10; - } - $dataArray['CapabilityAdd'] = $values_10; - } - if ($data->isInitialized('capabilityDrop') && null !== $data->getCapabilityDrop()) { - $values_11 = []; - foreach ($data->getCapabilityDrop() as $value_11) { - $values_11[] = $value_11; - } - $dataArray['CapabilityDrop'] = $values_11; - } - if ($data->isInitialized('ulimits') && null !== $data->getUlimits()) { - $values_12 = []; - foreach ($data->getUlimits() as $value_12) { - $values_12[] = $this->normalizer->normalize($value_12, 'json', $context); - } - $dataArray['Ulimits'] = $values_12; - } - foreach ($data as $key_2 => $value_13) { - if (preg_match('/.*/', (string) $key_2)) { - $dataArray[$key_2] = $value_13; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesAppArmorNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesAppArmorNormalizer.php deleted file mode 100644 index d296764fb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesAppArmorNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setMode($data['Mode']); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $data->getMode(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecPrivilegesAppArmor::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesCredentialSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesCredentialSpecNormalizer.php deleted file mode 100644 index 977fe850d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesCredentialSpecNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setConfig($data['Config']); - unset($data['Config']); - } elseif (\array_key_exists('Config', $data) && null === $data['Config']) { - $object->setConfig(null); - } - if (\array_key_exists('File', $data) && null !== $data['File']) { - $object->setFile($data['File']); - unset($data['File']); - } elseif (\array_key_exists('File', $data) && null === $data['File']) { - $object->setFile(null); - } - if (\array_key_exists('Registry', $data) && null !== $data['Registry']) { - $object->setRegistry($data['Registry']); - unset($data['Registry']); - } elseif (\array_key_exists('Registry', $data) && null === $data['Registry']) { - $object->setRegistry(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('config') && null !== $data->getConfig()) { - $dataArray['Config'] = $data->getConfig(); - } - if ($data->isInitialized('file') && null !== $data->getFile()) { - $dataArray['File'] = $data->getFile(); - } - if ($data->isInitialized('registry') && null !== $data->getRegistry()) { - $dataArray['Registry'] = $data->getRegistry(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecPrivilegesCredentialSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesNormalizer.php deleted file mode 100644 index 01bbeeb9c..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesNormalizer.php +++ /dev/null @@ -1,119 +0,0 @@ -setCredentialSpec($this->denormalizer->denormalize($data['CredentialSpec'], \Docker\API\Model\TaskSpecContainerSpecPrivilegesCredentialSpec::class, 'json', $context)); - unset($data['CredentialSpec']); - } elseif (\array_key_exists('CredentialSpec', $data) && null === $data['CredentialSpec']) { - $object->setCredentialSpec(null); - } - if (\array_key_exists('SELinuxContext', $data) && null !== $data['SELinuxContext']) { - $object->setSELinuxContext($this->denormalizer->denormalize($data['SELinuxContext'], \Docker\API\Model\TaskSpecContainerSpecPrivilegesSELinuxContext::class, 'json', $context)); - unset($data['SELinuxContext']); - } elseif (\array_key_exists('SELinuxContext', $data) && null === $data['SELinuxContext']) { - $object->setSELinuxContext(null); - } - if (\array_key_exists('Seccomp', $data) && null !== $data['Seccomp']) { - $object->setSeccomp($this->denormalizer->denormalize($data['Seccomp'], \Docker\API\Model\TaskSpecContainerSpecPrivilegesSeccomp::class, 'json', $context)); - unset($data['Seccomp']); - } elseif (\array_key_exists('Seccomp', $data) && null === $data['Seccomp']) { - $object->setSeccomp(null); - } - if (\array_key_exists('AppArmor', $data) && null !== $data['AppArmor']) { - $object->setAppArmor($this->denormalizer->denormalize($data['AppArmor'], \Docker\API\Model\TaskSpecContainerSpecPrivilegesAppArmor::class, 'json', $context)); - unset($data['AppArmor']); - } elseif (\array_key_exists('AppArmor', $data) && null === $data['AppArmor']) { - $object->setAppArmor(null); - } - if (\array_key_exists('NoNewPrivileges', $data) && null !== $data['NoNewPrivileges']) { - $object->setNoNewPrivileges($data['NoNewPrivileges']); - unset($data['NoNewPrivileges']); - } elseif (\array_key_exists('NoNewPrivileges', $data) && null === $data['NoNewPrivileges']) { - $object->setNoNewPrivileges(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('credentialSpec') && null !== $data->getCredentialSpec()) { - $dataArray['CredentialSpec'] = $this->normalizer->normalize($data->getCredentialSpec(), 'json', $context); - } - if ($data->isInitialized('sELinuxContext') && null !== $data->getSELinuxContext()) { - $dataArray['SELinuxContext'] = $this->normalizer->normalize($data->getSELinuxContext(), 'json', $context); - } - if ($data->isInitialized('seccomp') && null !== $data->getSeccomp()) { - $dataArray['Seccomp'] = $this->normalizer->normalize($data->getSeccomp(), 'json', $context); - } - if ($data->isInitialized('appArmor') && null !== $data->getAppArmor()) { - $dataArray['AppArmor'] = $this->normalizer->normalize($data->getAppArmor(), 'json', $context); - } - if ($data->isInitialized('noNewPrivileges') && null !== $data->getNoNewPrivileges()) { - $dataArray['NoNewPrivileges'] = $data->getNoNewPrivileges(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecPrivileges::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesSELinuxContextNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesSELinuxContextNormalizer.php deleted file mode 100644 index 0a7d436c2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesSELinuxContextNormalizer.php +++ /dev/null @@ -1,119 +0,0 @@ -setDisable($data['Disable']); - unset($data['Disable']); - } elseif (\array_key_exists('Disable', $data) && null === $data['Disable']) { - $object->setDisable(null); - } - if (\array_key_exists('User', $data) && null !== $data['User']) { - $object->setUser($data['User']); - unset($data['User']); - } elseif (\array_key_exists('User', $data) && null === $data['User']) { - $object->setUser(null); - } - if (\array_key_exists('Role', $data) && null !== $data['Role']) { - $object->setRole($data['Role']); - unset($data['Role']); - } elseif (\array_key_exists('Role', $data) && null === $data['Role']) { - $object->setRole(null); - } - if (\array_key_exists('Type', $data) && null !== $data['Type']) { - $object->setType($data['Type']); - unset($data['Type']); - } elseif (\array_key_exists('Type', $data) && null === $data['Type']) { - $object->setType(null); - } - if (\array_key_exists('Level', $data) && null !== $data['Level']) { - $object->setLevel($data['Level']); - unset($data['Level']); - } elseif (\array_key_exists('Level', $data) && null === $data['Level']) { - $object->setLevel(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('disable') && null !== $data->getDisable()) { - $dataArray['Disable'] = $data->getDisable(); - } - if ($data->isInitialized('user') && null !== $data->getUser()) { - $dataArray['User'] = $data->getUser(); - } - if ($data->isInitialized('role') && null !== $data->getRole()) { - $dataArray['Role'] = $data->getRole(); - } - if ($data->isInitialized('type') && null !== $data->getType()) { - $dataArray['Type'] = $data->getType(); - } - if ($data->isInitialized('level') && null !== $data->getLevel()) { - $dataArray['Level'] = $data->getLevel(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecPrivilegesSELinuxContext::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesSeccompNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesSeccompNormalizer.php deleted file mode 100644 index d77e254d8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecPrivilegesSeccompNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setMode($data['Mode']); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - if (\array_key_exists('Profile', $data) && null !== $data['Profile']) { - $object->setProfile($data['Profile']); - unset($data['Profile']); - } elseif (\array_key_exists('Profile', $data) && null === $data['Profile']) { - $object->setProfile(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $data->getMode(); - } - if ($data->isInitialized('profile') && null !== $data->getProfile()) { - $dataArray['Profile'] = $data->getProfile(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecPrivilegesSeccomp::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecSecretsItemFileNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecSecretsItemFileNormalizer.php deleted file mode 100644 index 48fde7715..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecSecretsItemFileNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('UID', $data) && null !== $data['UID']) { - $object->setUID($data['UID']); - unset($data['UID']); - } elseif (\array_key_exists('UID', $data) && null === $data['UID']) { - $object->setUID(null); - } - if (\array_key_exists('GID', $data) && null !== $data['GID']) { - $object->setGID($data['GID']); - unset($data['GID']); - } elseif (\array_key_exists('GID', $data) && null === $data['GID']) { - $object->setGID(null); - } - if (\array_key_exists('Mode', $data) && null !== $data['Mode']) { - $object->setMode($data['Mode']); - unset($data['Mode']); - } elseif (\array_key_exists('Mode', $data) && null === $data['Mode']) { - $object->setMode(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('uID') && null !== $data->getUID()) { - $dataArray['UID'] = $data->getUID(); - } - if ($data->isInitialized('gID') && null !== $data->getGID()) { - $dataArray['GID'] = $data->getGID(); - } - if ($data->isInitialized('mode') && null !== $data->getMode()) { - $dataArray['Mode'] = $data->getMode(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecSecretsItemFile::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecSecretsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecSecretsItemNormalizer.php deleted file mode 100644 index b5a06b290..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecSecretsItemNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setFile($this->denormalizer->denormalize($data['File'], \Docker\API\Model\TaskSpecContainerSpecSecretsItemFile::class, 'json', $context)); - unset($data['File']); - } elseif (\array_key_exists('File', $data) && null === $data['File']) { - $object->setFile(null); - } - if (\array_key_exists('SecretID', $data) && null !== $data['SecretID']) { - $object->setSecretID($data['SecretID']); - unset($data['SecretID']); - } elseif (\array_key_exists('SecretID', $data) && null === $data['SecretID']) { - $object->setSecretID(null); - } - if (\array_key_exists('SecretName', $data) && null !== $data['SecretName']) { - $object->setSecretName($data['SecretName']); - unset($data['SecretName']); - } elseif (\array_key_exists('SecretName', $data) && null === $data['SecretName']) { - $object->setSecretName(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('file') && null !== $data->getFile()) { - $dataArray['File'] = $this->normalizer->normalize($data->getFile(), 'json', $context); - } - if ($data->isInitialized('secretID') && null !== $data->getSecretID()) { - $dataArray['SecretID'] = $data->getSecretID(); - } - if ($data->isInitialized('secretName') && null !== $data->getSecretName()) { - $dataArray['SecretName'] = $data->getSecretName(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecSecretsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecUlimitsItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecUlimitsItemNormalizer.php deleted file mode 100644 index 5c27e793d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecContainerSpecUlimitsItemNormalizer.php +++ /dev/null @@ -1,98 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Soft', $data) && null !== $data['Soft']) { - $object->setSoft($data['Soft']); - unset($data['Soft']); - } elseif (\array_key_exists('Soft', $data) && null === $data['Soft']) { - $object->setSoft(null); - } - if (\array_key_exists('Hard', $data) && null !== $data['Hard']) { - $object->setHard($data['Hard']); - unset($data['Hard']); - } elseif (\array_key_exists('Hard', $data) && null === $data['Hard']) { - $object->setHard(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('soft') && null !== $data->getSoft()) { - $dataArray['Soft'] = $data->getSoft(); - } - if ($data->isInitialized('hard') && null !== $data->getHard()) { - $dataArray['Hard'] = $data->getHard(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecContainerSpecUlimitsItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecLogDriverNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecLogDriverNormalizer.php deleted file mode 100644 index ab29fee38..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecLogDriverNormalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key => $value) { - $values[$key] = $value; - } - $object->setOptions($values); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $object[$key_1] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('options') && null !== $data->getOptions()) { - $values = []; - foreach ($data->getOptions() as $key => $value) { - $values[$key] = $value; - } - $dataArray['Options'] = $values; - } - foreach ($data as $key_1 => $value_1) { - if (preg_match('/.*/', (string) $key_1)) { - $dataArray[$key_1] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecLogDriver::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecNetworkAttachmentSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecNetworkAttachmentSpecNormalizer.php deleted file mode 100644 index 917f862f8..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecNetworkAttachmentSpecNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setContainerID($data['ContainerID']); - unset($data['ContainerID']); - } elseif (\array_key_exists('ContainerID', $data) && null === $data['ContainerID']) { - $object->setContainerID(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('containerID') && null !== $data->getContainerID()) { - $dataArray['ContainerID'] = $data->getContainerID(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecNetworkAttachmentSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecNormalizer.php deleted file mode 100644 index ad6e1b212..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecNormalizer.php +++ /dev/null @@ -1,169 +0,0 @@ -setPluginSpec($this->denormalizer->denormalize($data['PluginSpec'], \Docker\API\Model\TaskSpecPluginSpec::class, 'json', $context)); - unset($data['PluginSpec']); - } elseif (\array_key_exists('PluginSpec', $data) && null === $data['PluginSpec']) { - $object->setPluginSpec(null); - } - if (\array_key_exists('ContainerSpec', $data) && null !== $data['ContainerSpec']) { - $object->setContainerSpec($this->denormalizer->denormalize($data['ContainerSpec'], \Docker\API\Model\TaskSpecContainerSpec::class, 'json', $context)); - unset($data['ContainerSpec']); - } elseif (\array_key_exists('ContainerSpec', $data) && null === $data['ContainerSpec']) { - $object->setContainerSpec(null); - } - if (\array_key_exists('NetworkAttachmentSpec', $data) && null !== $data['NetworkAttachmentSpec']) { - $object->setNetworkAttachmentSpec($this->denormalizer->denormalize($data['NetworkAttachmentSpec'], \Docker\API\Model\TaskSpecNetworkAttachmentSpec::class, 'json', $context)); - unset($data['NetworkAttachmentSpec']); - } elseif (\array_key_exists('NetworkAttachmentSpec', $data) && null === $data['NetworkAttachmentSpec']) { - $object->setNetworkAttachmentSpec(null); - } - if (\array_key_exists('Resources', $data) && null !== $data['Resources']) { - $object->setResources($this->denormalizer->denormalize($data['Resources'], \Docker\API\Model\TaskSpecResources::class, 'json', $context)); - unset($data['Resources']); - } elseif (\array_key_exists('Resources', $data) && null === $data['Resources']) { - $object->setResources(null); - } - if (\array_key_exists('RestartPolicy', $data) && null !== $data['RestartPolicy']) { - $object->setRestartPolicy($this->denormalizer->denormalize($data['RestartPolicy'], \Docker\API\Model\TaskSpecRestartPolicy::class, 'json', $context)); - unset($data['RestartPolicy']); - } elseif (\array_key_exists('RestartPolicy', $data) && null === $data['RestartPolicy']) { - $object->setRestartPolicy(null); - } - if (\array_key_exists('Placement', $data) && null !== $data['Placement']) { - $object->setPlacement($this->denormalizer->denormalize($data['Placement'], \Docker\API\Model\TaskSpecPlacement::class, 'json', $context)); - unset($data['Placement']); - } elseif (\array_key_exists('Placement', $data) && null === $data['Placement']) { - $object->setPlacement(null); - } - if (\array_key_exists('ForceUpdate', $data) && null !== $data['ForceUpdate']) { - $object->setForceUpdate($data['ForceUpdate']); - unset($data['ForceUpdate']); - } elseif (\array_key_exists('ForceUpdate', $data) && null === $data['ForceUpdate']) { - $object->setForceUpdate(null); - } - if (\array_key_exists('Runtime', $data) && null !== $data['Runtime']) { - $object->setRuntime($data['Runtime']); - unset($data['Runtime']); - } elseif (\array_key_exists('Runtime', $data) && null === $data['Runtime']) { - $object->setRuntime(null); - } - if (\array_key_exists('Networks', $data) && null !== $data['Networks']) { - $values = []; - foreach ($data['Networks'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\NetworkAttachmentConfig::class, 'json', $context); - } - $object->setNetworks($values); - unset($data['Networks']); - } elseif (\array_key_exists('Networks', $data) && null === $data['Networks']) { - $object->setNetworks(null); - } - if (\array_key_exists('LogDriver', $data) && null !== $data['LogDriver']) { - $object->setLogDriver($this->denormalizer->denormalize($data['LogDriver'], \Docker\API\Model\TaskSpecLogDriver::class, 'json', $context)); - unset($data['LogDriver']); - } elseif (\array_key_exists('LogDriver', $data) && null === $data['LogDriver']) { - $object->setLogDriver(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('pluginSpec') && null !== $data->getPluginSpec()) { - $dataArray['PluginSpec'] = $this->normalizer->normalize($data->getPluginSpec(), 'json', $context); - } - if ($data->isInitialized('containerSpec') && null !== $data->getContainerSpec()) { - $dataArray['ContainerSpec'] = $this->normalizer->normalize($data->getContainerSpec(), 'json', $context); - } - if ($data->isInitialized('networkAttachmentSpec') && null !== $data->getNetworkAttachmentSpec()) { - $dataArray['NetworkAttachmentSpec'] = $this->normalizer->normalize($data->getNetworkAttachmentSpec(), 'json', $context); - } - if ($data->isInitialized('resources') && null !== $data->getResources()) { - $dataArray['Resources'] = $this->normalizer->normalize($data->getResources(), 'json', $context); - } - if ($data->isInitialized('restartPolicy') && null !== $data->getRestartPolicy()) { - $dataArray['RestartPolicy'] = $this->normalizer->normalize($data->getRestartPolicy(), 'json', $context); - } - if ($data->isInitialized('placement') && null !== $data->getPlacement()) { - $dataArray['Placement'] = $this->normalizer->normalize($data->getPlacement(), 'json', $context); - } - if ($data->isInitialized('forceUpdate') && null !== $data->getForceUpdate()) { - $dataArray['ForceUpdate'] = $data->getForceUpdate(); - } - if ($data->isInitialized('runtime') && null !== $data->getRuntime()) { - $dataArray['Runtime'] = $data->getRuntime(); - } - if ($data->isInitialized('networks') && null !== $data->getNetworks()) { - $values = []; - foreach ($data->getNetworks() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Networks'] = $values; - } - if ($data->isInitialized('logDriver') && null !== $data->getLogDriver()) { - $dataArray['LogDriver'] = $this->normalizer->normalize($data->getLogDriver(), 'json', $context); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementNormalizer.php deleted file mode 100644 index 81664c712..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementNormalizer.php +++ /dev/null @@ -1,131 +0,0 @@ -setConstraints($values); - unset($data['Constraints']); - } elseif (\array_key_exists('Constraints', $data) && null === $data['Constraints']) { - $object->setConstraints(null); - } - if (\array_key_exists('Preferences', $data) && null !== $data['Preferences']) { - $values_1 = []; - foreach ($data['Preferences'] as $value_1) { - $values_1[] = $this->denormalizer->denormalize($value_1, \Docker\API\Model\TaskSpecPlacementPreferencesItem::class, 'json', $context); - } - $object->setPreferences($values_1); - unset($data['Preferences']); - } elseif (\array_key_exists('Preferences', $data) && null === $data['Preferences']) { - $object->setPreferences(null); - } - if (\array_key_exists('MaxReplicas', $data) && null !== $data['MaxReplicas']) { - $object->setMaxReplicas($data['MaxReplicas']); - unset($data['MaxReplicas']); - } elseif (\array_key_exists('MaxReplicas', $data) && null === $data['MaxReplicas']) { - $object->setMaxReplicas(null); - } - if (\array_key_exists('Platforms', $data) && null !== $data['Platforms']) { - $values_2 = []; - foreach ($data['Platforms'] as $value_2) { - $values_2[] = $this->denormalizer->denormalize($value_2, \Docker\API\Model\Platform::class, 'json', $context); - } - $object->setPlatforms($values_2); - unset($data['Platforms']); - } elseif (\array_key_exists('Platforms', $data) && null === $data['Platforms']) { - $object->setPlatforms(null); - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('constraints') && null !== $data->getConstraints()) { - $values = []; - foreach ($data->getConstraints() as $value) { - $values[] = $value; - } - $dataArray['Constraints'] = $values; - } - if ($data->isInitialized('preferences') && null !== $data->getPreferences()) { - $values_1 = []; - foreach ($data->getPreferences() as $value_1) { - $values_1[] = $this->normalizer->normalize($value_1, 'json', $context); - } - $dataArray['Preferences'] = $values_1; - } - if ($data->isInitialized('maxReplicas') && null !== $data->getMaxReplicas()) { - $dataArray['MaxReplicas'] = $data->getMaxReplicas(); - } - if ($data->isInitialized('platforms') && null !== $data->getPlatforms()) { - $values_2 = []; - foreach ($data->getPlatforms() as $value_2) { - $values_2[] = $this->normalizer->normalize($value_2, 'json', $context); - } - $dataArray['Platforms'] = $values_2; - } - foreach ($data as $key => $value_3) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecPlacement::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementPreferencesItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementPreferencesItemNormalizer.php deleted file mode 100644 index 525a7422a..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementPreferencesItemNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setSpread($this->denormalizer->denormalize($data['Spread'], \Docker\API\Model\TaskSpecPlacementPreferencesItemSpread::class, 'json', $context)); - unset($data['Spread']); - } elseif (\array_key_exists('Spread', $data) && null === $data['Spread']) { - $object->setSpread(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('spread') && null !== $data->getSpread()) { - $dataArray['Spread'] = $this->normalizer->normalize($data->getSpread(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecPlacementPreferencesItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementPreferencesItemSpreadNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementPreferencesItemSpreadNormalizer.php deleted file mode 100644 index a1e349c4b..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPlacementPreferencesItemSpreadNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setSpreadDescriptor($data['SpreadDescriptor']); - unset($data['SpreadDescriptor']); - } elseif (\array_key_exists('SpreadDescriptor', $data) && null === $data['SpreadDescriptor']) { - $object->setSpreadDescriptor(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('spreadDescriptor') && null !== $data->getSpreadDescriptor()) { - $dataArray['SpreadDescriptor'] = $data->getSpreadDescriptor(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecPlacementPreferencesItemSpread::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPluginSpecNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPluginSpecNormalizer.php deleted file mode 100644 index d97ed8daf..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecPluginSpecNormalizer.php +++ /dev/null @@ -1,118 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Remote', $data) && null !== $data['Remote']) { - $object->setRemote($data['Remote']); - unset($data['Remote']); - } elseif (\array_key_exists('Remote', $data) && null === $data['Remote']) { - $object->setRemote(null); - } - if (\array_key_exists('Disabled', $data) && null !== $data['Disabled']) { - $object->setDisabled($data['Disabled']); - unset($data['Disabled']); - } elseif (\array_key_exists('Disabled', $data) && null === $data['Disabled']) { - $object->setDisabled(null); - } - if (\array_key_exists('PluginPrivilege', $data) && null !== $data['PluginPrivilege']) { - $values = []; - foreach ($data['PluginPrivilege'] as $value) { - $values[] = $this->denormalizer->denormalize($value, \Docker\API\Model\PluginPrivilege::class, 'json', $context); - } - $object->setPluginPrivilege($values); - unset($data['PluginPrivilege']); - } elseif (\array_key_exists('PluginPrivilege', $data) && null === $data['PluginPrivilege']) { - $object->setPluginPrivilege(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('remote') && null !== $data->getRemote()) { - $dataArray['Remote'] = $data->getRemote(); - } - if ($data->isInitialized('disabled') && null !== $data->getDisabled()) { - $dataArray['Disabled'] = $data->getDisabled(); - } - if ($data->isInitialized('pluginPrivilege') && null !== $data->getPluginPrivilege()) { - $values = []; - foreach ($data->getPluginPrivilege() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['PluginPrivilege'] = $values; - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecPluginSpec::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecResourcesNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecResourcesNormalizer.php deleted file mode 100644 index 43a1d1875..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecResourcesNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setLimits($this->denormalizer->denormalize($data['Limits'], \Docker\API\Model\Limit::class, 'json', $context)); - unset($data['Limits']); - } elseif (\array_key_exists('Limits', $data) && null === $data['Limits']) { - $object->setLimits(null); - } - if (\array_key_exists('Reservations', $data) && null !== $data['Reservations']) { - $object->setReservations($this->denormalizer->denormalize($data['Reservations'], \Docker\API\Model\ResourceObject::class, 'json', $context)); - unset($data['Reservations']); - } elseif (\array_key_exists('Reservations', $data) && null === $data['Reservations']) { - $object->setReservations(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('limits') && null !== $data->getLimits()) { - $dataArray['Limits'] = $this->normalizer->normalize($data->getLimits(), 'json', $context); - } - if ($data->isInitialized('reservations') && null !== $data->getReservations()) { - $dataArray['Reservations'] = $this->normalizer->normalize($data->getReservations(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecResources::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecRestartPolicyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecRestartPolicyNormalizer.php deleted file mode 100644 index 8dc2cd39d..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskSpecRestartPolicyNormalizer.php +++ /dev/null @@ -1,107 +0,0 @@ -setCondition($data['Condition']); - unset($data['Condition']); - } elseif (\array_key_exists('Condition', $data) && null === $data['Condition']) { - $object->setCondition(null); - } - if (\array_key_exists('Delay', $data) && null !== $data['Delay']) { - $object->setDelay($data['Delay']); - unset($data['Delay']); - } elseif (\array_key_exists('Delay', $data) && null === $data['Delay']) { - $object->setDelay(null); - } - if (\array_key_exists('MaxAttempts', $data) && null !== $data['MaxAttempts']) { - $object->setMaxAttempts($data['MaxAttempts']); - unset($data['MaxAttempts']); - } elseif (\array_key_exists('MaxAttempts', $data) && null === $data['MaxAttempts']) { - $object->setMaxAttempts(null); - } - if (\array_key_exists('Window', $data) && null !== $data['Window']) { - $object->setWindow($data['Window']); - unset($data['Window']); - } elseif (\array_key_exists('Window', $data) && null === $data['Window']) { - $object->setWindow(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('condition') && null !== $data->getCondition()) { - $dataArray['Condition'] = $data->getCondition(); - } - if ($data->isInitialized('delay') && null !== $data->getDelay()) { - $dataArray['Delay'] = $data->getDelay(); - } - if ($data->isInitialized('maxAttempts') && null !== $data->getMaxAttempts()) { - $dataArray['MaxAttempts'] = $data->getMaxAttempts(); - } - if ($data->isInitialized('window') && null !== $data->getWindow()) { - $dataArray['Window'] = $data->getWindow(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskSpecRestartPolicy::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskStatusNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskStatusNormalizer.php deleted file mode 100644 index 4f78e2445..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/TaskStatusNormalizer.php +++ /dev/null @@ -1,125 +0,0 @@ -setTimestamp($data['Timestamp']); - unset($data['Timestamp']); - } elseif (\array_key_exists('Timestamp', $data) && null === $data['Timestamp']) { - $object->setTimestamp(null); - } - if (\array_key_exists('State', $data) && null !== $data['State']) { - $object->setState($data['State']); - unset($data['State']); - } elseif (\array_key_exists('State', $data) && null === $data['State']) { - $object->setState(null); - } - if (\array_key_exists('Message', $data) && null !== $data['Message']) { - $object->setMessage($data['Message']); - unset($data['Message']); - } elseif (\array_key_exists('Message', $data) && null === $data['Message']) { - $object->setMessage(null); - } - if (\array_key_exists('Err', $data) && null !== $data['Err']) { - $object->setErr($data['Err']); - unset($data['Err']); - } elseif (\array_key_exists('Err', $data) && null === $data['Err']) { - $object->setErr(null); - } - if (\array_key_exists('ContainerStatus', $data) && null !== $data['ContainerStatus']) { - $object->setContainerStatus($this->denormalizer->denormalize($data['ContainerStatus'], \Docker\API\Model\ContainerStatus::class, 'json', $context)); - unset($data['ContainerStatus']); - } elseif (\array_key_exists('ContainerStatus', $data) && null === $data['ContainerStatus']) { - $object->setContainerStatus(null); - } - if (\array_key_exists('PortStatus', $data) && null !== $data['PortStatus']) { - $object->setPortStatus($this->denormalizer->denormalize($data['PortStatus'], \Docker\API\Model\PortStatus::class, 'json', $context)); - unset($data['PortStatus']); - } elseif (\array_key_exists('PortStatus', $data) && null === $data['PortStatus']) { - $object->setPortStatus(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('timestamp') && null !== $data->getTimestamp()) { - $dataArray['Timestamp'] = $data->getTimestamp(); - } - if ($data->isInitialized('state') && null !== $data->getState()) { - $dataArray['State'] = $data->getState(); - } - if ($data->isInitialized('message') && null !== $data->getMessage()) { - $dataArray['Message'] = $data->getMessage(); - } - if ($data->isInitialized('err') && null !== $data->getErr()) { - $dataArray['Err'] = $data->getErr(); - } - if ($data->isInitialized('containerStatus') && null !== $data->getContainerStatus()) { - $dataArray['ContainerStatus'] = $this->normalizer->normalize($data->getContainerStatus(), 'json', $context); - } - if ($data->isInitialized('portStatus') && null !== $data->getPortStatus()) { - $dataArray['PortStatus'] = $this->normalizer->normalize($data->getPortStatus(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\TaskStatus::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ThrottleDeviceNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/ThrottleDeviceNormalizer.php deleted file mode 100644 index 6226b6a09..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/ThrottleDeviceNormalizer.php +++ /dev/null @@ -1,89 +0,0 @@ -setPath($data['Path']); - unset($data['Path']); - } elseif (\array_key_exists('Path', $data) && null === $data['Path']) { - $object->setPath(null); - } - if (\array_key_exists('Rate', $data) && null !== $data['Rate']) { - $object->setRate($data['Rate']); - unset($data['Rate']); - } elseif (\array_key_exists('Rate', $data) && null === $data['Rate']) { - $object->setRate(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('path') && null !== $data->getPath()) { - $dataArray['Path'] = $data->getPath(); - } - if ($data->isInitialized('rate') && null !== $data->getRate()) { - $dataArray['Rate'] = $data->getRate(); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\ThrottleDevice::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeCreateOptionsNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeCreateOptionsNormalizer.php deleted file mode 100644 index d3782f6a2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeCreateOptionsNormalizer.php +++ /dev/null @@ -1,132 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('DriverOpts', $data) && null !== $data['DriverOpts']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['DriverOpts'] as $key => $value) { - $values[$key] = $value; - } - $object->setDriverOpts($values); - unset($data['DriverOpts']); - } elseif (\array_key_exists('DriverOpts', $data) && null === $data['DriverOpts']) { - $object->setDriverOpts(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key_1 => $value_1) { - $values_1[$key_1] = $value_1; - } - $object->setLabels($values_1); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('ClusterVolumeSpec', $data) && null !== $data['ClusterVolumeSpec']) { - $object->setClusterVolumeSpec($this->denormalizer->denormalize($data['ClusterVolumeSpec'], \Docker\API\Model\ClusterVolumeSpec::class, 'json', $context)); - unset($data['ClusterVolumeSpec']); - } elseif (\array_key_exists('ClusterVolumeSpec', $data) && null === $data['ClusterVolumeSpec']) { - $object->setClusterVolumeSpec(null); - } - foreach ($data as $key_2 => $value_2) { - if (preg_match('/.*/', (string) $key_2)) { - $object[$key_2] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('name') && null !== $data->getName()) { - $dataArray['Name'] = $data->getName(); - } - if ($data->isInitialized('driver') && null !== $data->getDriver()) { - $dataArray['Driver'] = $data->getDriver(); - } - if ($data->isInitialized('driverOpts') && null !== $data->getDriverOpts()) { - $values = []; - foreach ($data->getDriverOpts() as $key => $value) { - $values[$key] = $value; - } - $dataArray['DriverOpts'] = $values; - } - if ($data->isInitialized('labels') && null !== $data->getLabels()) { - $values_1 = []; - foreach ($data->getLabels() as $key_1 => $value_1) { - $values_1[$key_1] = $value_1; - } - $dataArray['Labels'] = $values_1; - } - if ($data->isInitialized('clusterVolumeSpec') && null !== $data->getClusterVolumeSpec()) { - $dataArray['ClusterVolumeSpec'] = $this->normalizer->normalize($data->getClusterVolumeSpec(), 'json', $context); - } - foreach ($data as $key_2 => $value_2) { - if (preg_match('/.*/', (string) $key_2)) { - $dataArray[$key_2] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\VolumeCreateOptions::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeListResponseNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeListResponseNormalizer.php deleted file mode 100644 index bfe73c742..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeListResponseNormalizer.php +++ /dev/null @@ -1,105 +0,0 @@ -denormalizer->denormalize($value, \Docker\API\Model\Volume::class, 'json', $context); - } - $object->setVolumes($values); - unset($data['Volumes']); - } elseif (\array_key_exists('Volumes', $data) && null === $data['Volumes']) { - $object->setVolumes(null); - } - if (\array_key_exists('Warnings', $data) && null !== $data['Warnings']) { - $values_1 = []; - foreach ($data['Warnings'] as $value_1) { - $values_1[] = $value_1; - } - $object->setWarnings($values_1); - unset($data['Warnings']); - } elseif (\array_key_exists('Warnings', $data) && null === $data['Warnings']) { - $object->setWarnings(null); - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_2; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('volumes') && null !== $data->getVolumes()) { - $values = []; - foreach ($data->getVolumes() as $value) { - $values[] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Volumes'] = $values; - } - if ($data->isInitialized('warnings') && null !== $data->getWarnings()) { - $values_1 = []; - foreach ($data->getWarnings() as $value_1) { - $values_1[] = $value_1; - } - $dataArray['Warnings'] = $values_1; - } - foreach ($data as $key => $value_2) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_2; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\VolumeListResponse::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeNormalizer.php deleted file mode 100644 index 56d563cd9..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeNormalizer.php +++ /dev/null @@ -1,173 +0,0 @@ -setName($data['Name']); - unset($data['Name']); - } elseif (\array_key_exists('Name', $data) && null === $data['Name']) { - $object->setName(null); - } - if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { - $object->setDriver($data['Driver']); - unset($data['Driver']); - } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { - $object->setDriver(null); - } - if (\array_key_exists('Mountpoint', $data) && null !== $data['Mountpoint']) { - $object->setMountpoint($data['Mountpoint']); - unset($data['Mountpoint']); - } elseif (\array_key_exists('Mountpoint', $data) && null === $data['Mountpoint']) { - $object->setMountpoint(null); - } - if (\array_key_exists('CreatedAt', $data) && null !== $data['CreatedAt']) { - $object->setCreatedAt($data['CreatedAt']); - unset($data['CreatedAt']); - } elseif (\array_key_exists('CreatedAt', $data) && null === $data['CreatedAt']) { - $object->setCreatedAt(null); - } - if (\array_key_exists('Status', $data) && null !== $data['Status']) { - $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Status'] as $key => $value) { - $values[$key] = $this->denormalizer->denormalize($value, \Docker\API\Model\VolumeStatusItem::class, 'json', $context); - } - $object->setStatus($values); - unset($data['Status']); - } elseif (\array_key_exists('Status', $data) && null === $data['Status']) { - $object->setStatus(null); - } - if (\array_key_exists('Labels', $data) && null !== $data['Labels']) { - $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Labels'] as $key_1 => $value_1) { - $values_1[$key_1] = $value_1; - } - $object->setLabels($values_1); - unset($data['Labels']); - } elseif (\array_key_exists('Labels', $data) && null === $data['Labels']) { - $object->setLabels(null); - } - if (\array_key_exists('Scope', $data) && null !== $data['Scope']) { - $object->setScope($data['Scope']); - unset($data['Scope']); - } elseif (\array_key_exists('Scope', $data) && null === $data['Scope']) { - $object->setScope(null); - } - if (\array_key_exists('ClusterVolume', $data) && null !== $data['ClusterVolume']) { - $object->setClusterVolume($this->denormalizer->denormalize($data['ClusterVolume'], \Docker\API\Model\ClusterVolume::class, 'json', $context)); - unset($data['ClusterVolume']); - } elseif (\array_key_exists('ClusterVolume', $data) && null === $data['ClusterVolume']) { - $object->setClusterVolume(null); - } - if (\array_key_exists('Options', $data) && null !== $data['Options']) { - $values_2 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); - foreach ($data['Options'] as $key_2 => $value_2) { - $values_2[$key_2] = $value_2; - } - $object->setOptions($values_2); - unset($data['Options']); - } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { - $object->setOptions(null); - } - if (\array_key_exists('UsageData', $data) && null !== $data['UsageData']) { - $object->setUsageData($this->denormalizer->denormalize($data['UsageData'], \Docker\API\Model\VolumeUsageData::class, 'json', $context)); - unset($data['UsageData']); - } elseif (\array_key_exists('UsageData', $data) && null === $data['UsageData']) { - $object->setUsageData(null); - } - foreach ($data as $key_3 => $value_3) { - if (preg_match('/.*/', (string) $key_3)) { - $object[$key_3] = $value_3; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Name'] = $data->getName(); - $dataArray['Driver'] = $data->getDriver(); - $dataArray['Mountpoint'] = $data->getMountpoint(); - if ($data->isInitialized('createdAt') && null !== $data->getCreatedAt()) { - $dataArray['CreatedAt'] = $data->getCreatedAt(); - } - if ($data->isInitialized('status') && null !== $data->getStatus()) { - $values = []; - foreach ($data->getStatus() as $key => $value) { - $values[$key] = $this->normalizer->normalize($value, 'json', $context); - } - $dataArray['Status'] = $values; - } - $values_1 = []; - foreach ($data->getLabels() as $key_1 => $value_1) { - $values_1[$key_1] = $value_1; - } - $dataArray['Labels'] = $values_1; - $dataArray['Scope'] = $data->getScope(); - if ($data->isInitialized('clusterVolume') && null !== $data->getClusterVolume()) { - $dataArray['ClusterVolume'] = $this->normalizer->normalize($data->getClusterVolume(), 'json', $context); - } - $values_2 = []; - foreach ($data->getOptions() as $key_2 => $value_2) { - $values_2[$key_2] = $value_2; - } - $dataArray['Options'] = $values_2; - if ($data->isInitialized('usageData') && null !== $data->getUsageData()) { - $dataArray['UsageData'] = $this->normalizer->normalize($data->getUsageData(), 'json', $context); - } - foreach ($data as $key_3 => $value_3) { - if (preg_match('/.*/', (string) $key_3)) { - $dataArray[$key_3] = $value_3; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\Volume::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeStatusItemNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeStatusItemNormalizer.php deleted file mode 100644 index b0cfc6039..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeStatusItemNormalizer.php +++ /dev/null @@ -1,71 +0,0 @@ - $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\VolumeStatusItem::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeUsageDataNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeUsageDataNormalizer.php deleted file mode 100644 index 5fdae9008..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumeUsageDataNormalizer.php +++ /dev/null @@ -1,85 +0,0 @@ -setSize($data['Size']); - unset($data['Size']); - } elseif (\array_key_exists('Size', $data) && null === $data['Size']) { - $object->setSize(null); - } - if (\array_key_exists('RefCount', $data) && null !== $data['RefCount']) { - $object->setRefCount($data['RefCount']); - unset($data['RefCount']); - } elseif (\array_key_exists('RefCount', $data) && null === $data['RefCount']) { - $object->setRefCount(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - $dataArray['Size'] = $data->getSize(); - $dataArray['RefCount'] = $data->getRefCount(); - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\VolumeUsageData::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumesNamePutBodyNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumesNamePutBodyNormalizer.php deleted file mode 100644 index ee9fc7208..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumesNamePutBodyNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ -setSpec($this->denormalizer->denormalize($data['Spec'], \Docker\API\Model\ClusterVolumeSpec::class, 'json', $context)); - unset($data['Spec']); - } elseif (\array_key_exists('Spec', $data) && null === $data['Spec']) { - $object->setSpec(null); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('spec') && null !== $data->getSpec()) { - $dataArray['Spec'] = $this->normalizer->normalize($data->getSpec(), 'json', $context); - } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\VolumesNamePutBody::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumesPrunePostResponse200Normalizer.php b/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumesPrunePostResponse200Normalizer.php deleted file mode 100644 index f4b2f7732..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Normalizer/VolumesPrunePostResponse200Normalizer.php +++ /dev/null @@ -1,97 +0,0 @@ -setVolumesDeleted($values); - unset($data['VolumesDeleted']); - } elseif (\array_key_exists('VolumesDeleted', $data) && null === $data['VolumesDeleted']) { - $object->setVolumesDeleted(null); - } - if (\array_key_exists('SpaceReclaimed', $data) && null !== $data['SpaceReclaimed']) { - $object->setSpaceReclaimed($data['SpaceReclaimed']); - unset($data['SpaceReclaimed']); - } elseif (\array_key_exists('SpaceReclaimed', $data) && null === $data['SpaceReclaimed']) { - $object->setSpaceReclaimed(null); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value_1; - } - } - - return $object; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $dataArray = []; - if ($data->isInitialized('volumesDeleted') && null !== $data->getVolumesDeleted()) { - $values = []; - foreach ($data->getVolumesDeleted() as $value) { - $values[] = $value; - } - $dataArray['VolumesDeleted'] = $values; - } - if ($data->isInitialized('spaceReclaimed') && null !== $data->getSpaceReclaimed()) { - $dataArray['SpaceReclaimed'] = $data->getSpaceReclaimed(); - } - foreach ($data as $key => $value_1) { - if (preg_match('/.*/', (string) $key)) { - $dataArray[$key] = $value_1; - } - } - - return $dataArray; - } - - public function getSupportedTypes(?string $format = null): array - { - return [\Docker\API\Model\VolumesPrunePostResponse200::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/BaseEndpoint.php b/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/BaseEndpoint.php deleted file mode 100644 index cc02bbf84..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/BaseEndpoint.php +++ /dev/null @@ -1,84 +0,0 @@ -getQueryOptionsResolver()->resolve($this->queryParameters); - $optionsResolved = array_map(static fn ($value) => $value ?? '', $optionsResolved); - - return http_build_query($optionsResolved, '', '&', \PHP_QUERY_RFC3986); - } - - public function getHeaders(array $baseHeaders = []): array - { - return array_merge($this->getExtraHeaders(), $baseHeaders, $this->getHeadersOptionsResolver()->resolve($this->headerParameters)); - } - - protected function getQueryOptionsResolver(): OptionsResolver - { - return new OptionsResolver(); - } - - protected function getHeadersOptionsResolver(): OptionsResolver - { - return new OptionsResolver(); - } - - // ---------------------------------------------------------------------------------------------------- - // Used for OpenApi2 compatibility - protected function getFormBody(): array - { - return [['Content-Type' => ['application/x-www-form-urlencoded']], http_build_query($this->getFormOptionsResolver()->resolve($this->formParameters))]; - } - - protected function getMultipartBody($streamFactory = null): array - { - $bodyBuilder = new MultipartStreamBuilder($streamFactory); - $formParameters = $this->getFormOptionsResolver()->resolve($this->formParameters); - foreach ($formParameters as $key => $value) { - $bodyBuilder->addResource($key, $value); - } - - return [['Content-Type' => ['multipart/form-data; boundary="'.($bodyBuilder->getBoundary().'"')]], $bodyBuilder->build()]; - } - - protected function getFormOptionsResolver(): OptionsResolver - { - return new OptionsResolver(); - } - - protected function getSerializedBody(SerializerInterface $serializer): array - { - return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/Client.php b/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/Client.php deleted file mode 100644 index 12eb73163..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/Client.php +++ /dev/null @@ -1,80 +0,0 @@ -httpClient = $httpClient; - $this->requestFactory = $requestFactory; - $this->serializer = $serializer; - $this->streamFactory = $streamFactory; - } - - public function executeEndpoint(Endpoint $endpoint, string $fetch = self::FETCH_OBJECT) - { - if (self::FETCH_RESPONSE === $fetch) { - trigger_deprecation('jane-php/open-api-common', '7.3', 'Using %s::%s method with $fetch parameter equals to response is deprecated, use %s::%s instead.', __CLASS__, __METHOD__, __CLASS__, 'executeRawEndpoint'); - - return $this->executeRawEndpoint($endpoint); - } - - return $endpoint->parseResponse($this->processEndpoint($endpoint), $this->serializer, $fetch); - } - - public function executeRawEndpoint(Endpoint $endpoint): ResponseInterface - { - return $this->processEndpoint($endpoint); - } - - private function processEndpoint(Endpoint $endpoint): ResponseInterface - { - [$bodyHeaders, $body] = $endpoint->getBody($this->serializer, $this->streamFactory); - $queryString = $endpoint->getQueryString(); - $uriGlue = !str_contains($endpoint->getUri(), '?') ? '?' : '&'; - $uri = '' !== $queryString ? $endpoint->getUri().$uriGlue.$queryString : $endpoint->getUri(); - $request = $this->requestFactory->createRequest($endpoint->getMethod(), $uri); - if ($body) { - if ($body instanceof StreamInterface) { - $request = $request->withBody($body); - } elseif (\is_resource($body)) { - $request = $request->withBody($this->streamFactory->createStreamFromResource($body)); - } elseif (\strlen($body) <= 4000 && @file_exists($body)) { - // more than 4096 chars will trigger an error - $request = $request->withBody($this->streamFactory->createStreamFromFile($body)); - } else { - $request = $request->withBody($this->streamFactory->createStream($body)); - } - } - foreach ($endpoint->getHeaders($bodyHeaders) as $name => $value) { - $request = $request->withHeader($name, !\is_bool($value) ? $value : ($value ? 'true' : 'false')); - } - if (\count($endpoint->getAuthenticationScopes()) > 0) { - $scopes = []; - foreach ($endpoint->getAuthenticationScopes() as $scope) { - $scopes[] = $scope; - } - $request = $request->withHeader(AuthenticationRegistry::SCOPES_HEADER, $scopes); - } - - return $this->httpClient->sendRequest($request); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/CustomQueryResolver.php b/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/CustomQueryResolver.php deleted file mode 100644 index 5586812f2..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Runtime/Client/CustomQueryResolver.php +++ /dev/null @@ -1,12 +0,0 @@ -hasHeader('Content-Type') ? current($response->getHeader('Content-Type')) : null; - - return $this->transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/CheckArray.php b/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/CheckArray.php deleted file mode 100644 index 74ad5247e..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/CheckArray.php +++ /dev/null @@ -1,13 +0,0 @@ - is_numeric($key), \ARRAY_FILTER_USE_KEY)) === \count($array); - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ReferenceNormalizer.php b/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ReferenceNormalizer.php deleted file mode 100644 index eb0ab50fb..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ReferenceNormalizer.php +++ /dev/null @@ -1,29 +0,0 @@ -getReferenceUri(); - - return $ref; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof Reference; - } - - public function getSupportedTypes(?string $format): array - { - return [Reference::class => false]; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ValidationException.php b/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ValidationException.php deleted file mode 100644 index c9c057073..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ValidationException.php +++ /dev/null @@ -1,26 +0,0 @@ -violationList = $violationList; - parent::__construct(\sprintf('Model validation failed with %d errors.', $violationList->count()), 400); - } - - public function getViolationList(): ConstraintViolationListInterface - { - return $this->violationList; - } -} diff --git a/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ValidatorTrait.php b/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ValidatorTrait.php deleted file mode 100644 index 771678b5f..000000000 --- a/app/vendor/beluga-php/docker-php-api/src/Runtime/Normalizer/ValidatorTrait.php +++ /dev/null @@ -1,20 +0,0 @@ -validate($data, $constraint); - if ($violations->count() > 0) { - throw new ValidationException($violations); - } - } -} diff --git a/app/vendor/beluga-php/docker-php/.editorconfig b/app/vendor/beluga-php/docker-php/.editorconfig deleted file mode 100644 index d95b72a20..000000000 --- a/app/vendor/beluga-php/docker-php/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# EditorConfig is awesome: https://EditorConfig.org - -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true -charset = utf-8 -trim_trailing_whitespace = true - -# JSON files -[*.json] -indent_style = space -indent_size = 4 diff --git a/app/vendor/beluga-php/docker-php/.github/FUNDING.yml b/app/vendor/beluga-php/docker-php/.github/FUNDING.yml deleted file mode 100644 index d018c1530..000000000 --- a/app/vendor/beluga-php/docker-php/.github/FUNDING.yml +++ /dev/null @@ -1,5 +0,0 @@ -# These are supported funding model platforms - -github: flavioheleno -patreon: flavioheleno -custom: "https://www.buymeacoffee.com/flavioheleno" diff --git a/app/vendor/beluga-php/docker-php/.github/dependabot.yml b/app/vendor/beluga-php/docker-php/.github/dependabot.yml deleted file mode 100644 index e5fae30f4..000000000 --- a/app/vendor/beluga-php/docker-php/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: 2 -updates: - # Maintain dependencies for GitHub Actions - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - # Maintain dependencies for PHP Packages - - package-ecosystem: "composer" - directory: "/" - schedule: - interval: "daily" diff --git a/app/vendor/beluga-php/docker-php/.github/workflows/continuous-integration.yml b/app/vendor/beluga-php/docker-php/.github/workflows/continuous-integration.yml deleted file mode 100644 index 854f94f74..000000000 --- a/app/vendor/beluga-php/docker-php/.github/workflows/continuous-integration.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: "Continuous Integration" - -on: - push: - paths-ignore: - - "doc/**" - pull_request: - paths-ignore: - - "doc/**" - -jobs: - phpunit: - name: PHP ${{ matrix.php-version }} (${{ matrix.dependency-versions }}) - - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.experimental }} - - strategy: - fail-fast: false - matrix: - php-version: - - "8.1" - - "8.2" - - "8.3" - - "8.4" - - "8.5" - dependency-versions: [lowest, highest] - experimental: [false] - - steps: - - name: Repository checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - - name: Setup PHP with PECL extension - uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5 - with: - php-version: ${{ matrix.php-version }} - tools: composer:v2 - coverage: pcov - - - name: Validate composer.json and composer.lock - run: composer validate --strict - - - name: Install dependencies - uses: ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520 # v3.1.1 - with: - dependency-versions: ${{ matrix.dependency-versions }} - composer-options: ${{ matrix.composer-options }} - - - name: Pull the docker image used by the tests. - run: docker pull busybox:latest - - - name: Run PHPUnit test suite - run: composer run-script test-ci diff --git a/app/vendor/beluga-php/docker-php/.github/workflows/static-analysis.yml b/app/vendor/beluga-php/docker-php/.github/workflows/static-analysis.yml deleted file mode 100644 index 43f70ce66..000000000 --- a/app/vendor/beluga-php/docker-php/.github/workflows/static-analysis.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: "Static Analysis" - -on: - push: - paths-ignore: - - 'doc/**' - - '.github/**' - pull_request: - paths-ignore: - - 'doc/**' - - '.github/**' - -jobs: - phpstan: - name: PHPStan - - runs-on: ubuntu-latest - - steps: - - name: Repository checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - - name: Setup PHP with PECL extension - uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5 - with: - php-version: 8.1 - tools: composer:v2 - coverage: none - - - name: Validate composer.json and composer.lock - run: composer validate --strict - - - name: Install dependencies - uses: ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520 # v3.1.1 - with: - dependency-versions: lowest - - - name: Run PHPStan - run: composer run-script phpstan -- --no-progress diff --git a/app/vendor/beluga-php/docker-php/.gitignore b/app/vendor/beluga-php/docker-php/.gitignore deleted file mode 100644 index 8d49b5514..000000000 --- a/app/vendor/beluga-php/docker-php/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -vendor/ -bin/ -composer.lock -.vagrant -/.php-cs-fixer.cache -/.phpunit.result.cache diff --git a/app/vendor/beluga-php/docker-php/.php-cs-fixer.php b/app/vendor/beluga-php/docker-php/.php-cs-fixer.php deleted file mode 100644 index 3bde3b9fc..000000000 --- a/app/vendor/beluga-php/docker-php/.php-cs-fixer.php +++ /dev/null @@ -1,47 +0,0 @@ -in([ - __DIR__.'/src', - __DIR__.'/tests', - ]) - ->notPath('/fixtures/') -; - -$config = new \PhpCsFixer\Config(); -return $config - ->setRules([ - '@Symfony' => true, - '@Symfony:risky' => true, - '@PHP56Migration:risky' => true, - '@PHP70Migration' => true, - '@PHP70Migration:risky' => true, - '@PHP71Migration' => true, - '@PHP71Migration:risky' => true, - '@PHP73Migration' => true, - '@PHP74Migration' => true, - '@PHP74Migration:risky' => true, - '@PHP80Migration' => true, - '@PHP80Migration:risky' => true, - '@PHPUnit75Migration:risky' => true, - '@PHPUnit84Migration:risky' => true, - 'array_syntax' => [ - 'syntax' => 'short' - ], - 'combine_consecutive_unsets' => true, - 'declare_strict_types' => true, - 'linebreak_after_opening_tag' => true, - 'modernize_types_casting' => true, - 'native_function_invocation' => true, - 'no_php4_constructor' => true, - 'ordered_imports' => true, - 'php_unit_strict' => true, - 'phpdoc_order' => true, - 'strict_comparison' => true, - 'strict_param' => true, - ]) - ->setRiskyAllowed(true) - ->setIndent(' ') - ->setLineEnding("\n") - ->setFinder($finder) -; diff --git a/app/vendor/beluga-php/docker-php/CHANGELOG.md b/app/vendor/beluga-php/docker-php/CHANGELOG.md deleted file mode 100644 index b3b5716d6..000000000 --- a/app/vendor/beluga-php/docker-php/CHANGELOG.md +++ /dev/null @@ -1,14 +0,0 @@ -# Changelog - -## 2.0 - - - [BC Break] All endpoints have new names and potentially new parameters - - Add async (with amp artax) support - - It now uses the official swagger specification of docker - - Allow to use from 1.25 to 1.36 api version of Docker - - Add support for more keywords in ContextBuilder - - Lot of bug fixes - -## 1.24.0 - 08/08/2014 - - - [BC Break] Listing containers now return `ContainerInfo` object (instead of `ContainerConfig`) diff --git a/app/vendor/beluga-php/docker-php/CONTRIBUTING.md b/app/vendor/beluga-php/docker-php/CONTRIBUTING.md deleted file mode 100644 index d25bfef16..000000000 --- a/app/vendor/beluga-php/docker-php/CONTRIBUTING.md +++ /dev/null @@ -1,94 +0,0 @@ -# Contributing - -If you're here, you would like to contribute to this repository and you're really welcome! - - -## Bug reports - -If you find a bug or a documentation issue, please report it or even better: fix it :). If you report it, -please be as precise as possible. Here is a little list of required information: - - - Precise description of the bug - - Details of your environment (for example: OS, PHP version, installed extensions) - - Backtrace which might help identifying the bug - - -## Feature requests - -If you think a feature is missing, please report it or even better: implement it :). If you report it, describe the more -precisely what you would like to see implemented and we will discuss what is the best approach for it. If you can do -some research before submitting it and link the resources to your description, you're awesome! It will allow us to more -easily understood/implement it. - - -## Sending a Pull Request - -If you're here, you are going to fix a bug or implement a feature and you're the best! To do it, first fork the repository, clone it and create a new branch with the following commands: - -``` bash -$ git clone git@github.com:your-name/docker-php.git -$ git checkout -b feature-or-bug-fix-description -``` - -Then install the dependencies through [Composer](https://getcomposer.org/): - -``` bash -$ composer install -``` - -Write code and tests. When you are ready, run the tests. (This is usually [PHPUnit](http://phpunit.de/) or [PHPSpec](http://phpspec.net/)) - -``` bash -$ composer test -``` - -When you are ready with the code, tested it and documented it, you can commit and push it with the following commands: - -``` bash -$ git commit -m "Feature or bug fix description" -$ git push origin feature-or-bug-fix-description -``` - -**Note:** Please write your commit messages in the imperative and follow the [guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) for clear and concise messages. - -Then [create a pull request](https://help.github.com/articles/creating-a-pull-request/) on GitHub. - -Please make sure that each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting with the following commands (here, we assume you would like to squash 3 commits in a single one): - -``` bash -$ git rebase -i HEAD~3 -``` - -If your branch conflicts with the master branch, you will need to rebase and repush it with the following commands: - -``` bash -$ git remote add upstream git@github.com:docker-php/docker-php.git -$ git pull --rebase upstream master -$ git push -f origin feature-or-bug-fix-description -``` - -## Internal - -This library consist, for the most part, of auto generated code where the reference is an [Open API Specification (Swagger v2)](https://openapis.org/). In order to modify API -endpoint or requested / returned object, you will need to update the `docker-swagger.json` file instead of files in the `generated` directory. - -There is a bash script at the root of this repository `generate.sh` which helps launching the command to generate files according to the -specification. - -When changing the specification don't hesitate to do 2 commits for better reading: - - * One with only changes to the specification - * One with changes on the generated code - -Having this also helps backporting changes to the specification in previous versions. - - -## Coding standard - -This repository follows the [PSR-2 standard](http://www.php-fig.org/psr/psr-2/) and so, if you want to contribute, -you must follow these rules. - - -## Semver - -We are trying to follow [semver](http://semver.org/). When you are making BC breaking changes, please let us know why you think it is important. In this case, your patch can only be included in the next major version. diff --git a/app/vendor/beluga-php/docker-php/LICENSE b/app/vendor/beluga-php/docker-php/LICENSE deleted file mode 100644 index b5b4ca44b..000000000 --- a/app/vendor/beluga-php/docker-php/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2013 Geoffrey Bachelet and -contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/beluga-php/docker-php/README.md b/app/vendor/beluga-php/docker-php/README.md deleted file mode 100644 index 51495e03b..000000000 --- a/app/vendor/beluga-php/docker-php/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Docker PHP - -**Docker PHP** (for lack of a better name) is a [Docker](http://docker.com/) client written in PHP. -This library aim to reach 100% API support of the Docker Engine. - -The test suite currently passes against Docker Remote API v1.25 to v1.36. - -[![Documentation Status](https://readthedocs.org/projects/docker-php/badge/?version=latest)](http://docker-php.readthedocs.org/en/latest/) -[![Latest Version](https://img.shields.io/github/release/beluga-php/docker-php.svg?style=flat-square)](https://github.com/beluga-php/docker-php/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![Total Downloads](https://img.shields.io/packagist/dt/beluga-php/docker-php.svg?style=flat-square)](https://packagist.org/packages/beluga-php/docker-php) - -## Installation - -The recommended way to install Docker PHP is of course to use [Composer](http://getcomposer.org/): - -```bash -composer require beluga-php/docker-php -``` - -## Docker API Version - -By default it will use the last version of docker api available, if you want to fix a version (like 1.41) you can add this -requirement to composer: - -```bash -composer require "beluga-php/docker-php-api:6.1.41.*" -``` - -## Usage - -See [the documentation](http://docker-php.readthedocs.org/en/latest/). - -## Unit Tests - -Setup the test suite using [Composer](http://getcomposer.org/) if not already done: - -``` -$ composer install --dev -``` - -Run it using [PHPUnit](http://phpunit.de/): - -``` -$ composer test -``` - -## Contributing - -Please see [CONTRIBUTING](CONTRIBUTING.md) for details. - -## Credits - -This README heavily inspired by [willdurand/Negotiation](https://github.com/willdurand/Negotiation) by @willdurand. This guy is pretty awesome. - -This library is a fork of the original [docker-php/docker-php](https://github.com/docker-php/docker-php), created by [Geoffrey Bachelet](https://github.com/ubermuda) and [Joel Wurtz](https://github.com/joelwurtz). - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/beluga-php/docker-php/composer.json b/app/vendor/beluga-php/docker-php/composer.json deleted file mode 100644 index eca91be79..000000000 --- a/app/vendor/beluga-php/docker-php/composer.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "name": "beluga-php/docker-php", - "description": "A Docker PHP client", - "license": "MIT", - "type": "library", - "funding": [ - { - "type": "github", - "url": "https://github.com/flavioheleno" - } - ], - "require": { - "php": ">=8.1", - "beluga-php/docker-php-api": "7.1.45.*", - "nyholm/psr7": "^1.8", - "php-http/client-common": "^2.7", - "php-http/discovery": "^1.19", - "php-http/socket-client": "^2.3", - "psr/http-message": "^2.0", - "symfony/filesystem": "^6.3 || ^7.0 || ^8.0", - "symfony/process": "^6.3 || ^7.0 || ^8.0", - "symfony/serializer": "^6.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.42", - "friendsofphp/php-cs-fixer": "^3.8", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.5.46", - "psy/psysh": "^0.12.8", - "roave/security-advisories": "dev-latest" - }, - "conflict": { - "docker-php/docker-php": "*", - "nikic/php-parser": "<4.13", - "php-http/message": "<1.15" - }, - "minimum-stability": "dev", - "prefer-stable": true, - "autoload": { - "psr-4": { - "Docker\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Docker\\Tests\\": "tests/" - } - }, - "config": { - "allow-plugins": { - "ergebnis/composer-normalize": true, - "php-http/discovery": false - }, - "optimize-autoloader": true, - "preferred-install": "dist", - "sort-packages": true - }, - "extra": { - "branch-alias": { - "1.41": "1.41.x-dev", - "1.42": "1.42.x-dev", - "1.43": "1.43.x-dev", - "1.44": "1.44.x-dev", - "dev-master": "1.45.x-dev" - } - }, - "scripts": { - "console": "vendor/bin/psysh", - "lint": "vendor/bin/parallel-lint --exclude vendor .", - "php-cs-fixer": "vendor/bin/php-cs-fixer fix --dry-run --verbose --diff", - "php-cs-fixer-fix": "vendor/bin/php-cs-fixer fix --verbose", - "phpstan": "vendor/bin/phpstan analyse --level 2 src", - "phpunit": "vendor/bin/phpunit ./tests/ --coverage-html=./report/coverage/ --testdox-html=./report/testdox.html --disallow-test-output --process-isolation", - "test": [ - "@lint", - "@phpunit" - ], - "test-ci": "vendor/bin/phpunit ./tests/ --disallow-test-output --process-isolation", - "test-coverage": "vendor/bin/phpunit ./tests/ --whitelist=./src/ --coverage-clover=clover.xml" - }, - "scripts-descriptions": { - "console": "Runs PsySH Console", - "lint": "Runs complete codebase lint testing", - "phpunit": "Runs library test suite", - "test": "Runs all tests", - "test-ci": "Runs library test suite (for continuous integration)", - "test-coverage": "Runs test-coverage analysis" - } -} diff --git a/app/vendor/beluga-php/docker-php/docs/async.md b/app/vendor/beluga-php/docker-php/docs/async.md deleted file mode 100644 index 2411e9dc4..000000000 --- a/app/vendor/beluga-php/docker-php/docs/async.md +++ /dev/null @@ -1,52 +0,0 @@ -# Asynchronous Client - -Starting from 2.0, Docker-PHP proposes an Asynchronous PHP Client using [Amp](https://amphp.org/) and -[Artax](https://amphp.org/artax/). - -## Installation - -Since it's optional you will have to require artax with composer to use it: - -``` -composer require amphp/artax:^3.0 -``` - -## Usage - -Then you can use the `DockerAsync` API Client: - -```php -setImage('busybox:latest'); - $containerConfig->setCmd(['echo', '-n', 'output']); - $containerConfig->setAttachStdout(true); - $containerConfig->setLabels(new \ArrayObject(['docker-php-test' => 'true'])); - - $response = yield $docker->imageCreate(null, [ - 'fromImage' => 'busybox:latest', - ], DockerAsync::FETCH_RESPONSE); - - yield $response->getBody(); - - $containerCreate = yield $docker->containerCreate($containerConfig); - $containerStart = yield $docker->containerStart($containerCreate->getId()); - /** @var \Docker\API\Model\ContainersIdJsonGetResponse200 $containerInfo */ - $containerInfo = yield $docker->containerInspect($containerCreate->getId()); - - var_dump($containerInfo->getName()); -}); -``` - -API of `DockerAsync` is exactly the same as `Docker`, at the exception that each endpoint will always return an `Amp\Promise` -object, which allows to you to do parallelism and await them with the `yield` keyword. - -If you are not familiar with this kind of API, please look at the [Amp documentation on that subject](https://amphp.org/getting-started/) diff --git a/app/vendor/beluga-php/docker-php/docs/basic.md b/app/vendor/beluga-php/docker-php/docs/basic.md deleted file mode 100644 index 52a7f200a..000000000 --- a/app/vendor/beluga-php/docker-php/docs/basic.md +++ /dev/null @@ -1,19 +0,0 @@ -# Basic Usage - -`Docker\Docker` API Client offers all endpoints available for your version of Docker. Each endpoint has a strong PHPDoc -documentation in its comment, so the best way to know what values to set for an endpoint and what it returns is to go -directly to the endpoint documentation in the code. - -As an example for listing container you can do: - -```php -containerList(); - -foreach ($containers as $container) { - var_dump($container->getNames()); -} -``` diff --git a/app/vendor/beluga-php/docker-php/docs/connection.md b/app/vendor/beluga-php/docker-php/docs/connection.md deleted file mode 100644 index 92c152125..000000000 --- a/app/vendor/beluga-php/docker-php/docs/connection.md +++ /dev/null @@ -1,74 +0,0 @@ -# Connecting to Docker - -## Default, with environment variables - -By default, Docker-PHP uses the the same environment variables as the Docker command line to connect to a running `docker daemon`: - - * `DOCKER_HOST`: tcp address for the docker daemon (i.e. tcp://127.0.0.1:2376) - * `DOCKER_TLS_VERIFY`: if set to true use tls for authentication of the client - * `DOCKER_CERT_PATH`: path for the client certificates to use for authentication - * `DOCKER_PEER_NAME`: peer name of the docker daemon (as set in the certificate) - -If the `DOCKER_HOST` environment variable is not set, it will use `unix:///var/run/docker.sock` as the default tcp address. - -```php - 'tcp://127.0.0.1:2375', - 'ssl' => false, -]); -$docker = Docker::create($client); -``` - -Since `DockerClientFactory` will create a `Http\Client\Socket\Client`, you can go on the -[official documentation of the socket client](http://docs.php-http.org/en/latest/clients/socket-client.html) -to learn about possible options. - -## Custom client - -In fact `Docker\Docker` accepts any client from [Httplug](http://httplug.io/) (respecting the `Http\Client\HttpClient` interface). - -So you can use [React](https://github.com/reactphp/http-client), [Guzzle](http://docs.guzzlephp.org/en/latest/) -or any [other adapters / clients](http://docs.php-http.org/en/latest/clients.html). - - -```php -imageBuild($inputStream); -$buildStream->onFrame(function (BuildInfo $buildInfo) { - echo $buildInfo->getStream(); -}); - -$buildStream->wait(); -``` - -### Docker::FETCH_RESPONSE - -The build function will return the raw [PSR7](http://www.php-fig.org/psr/psr-7/) Response. It's up to you to handle -decoding and receiving correct output in this case. - -## Context - -Docker PHP provides a `ContextInterface` and a default `Context` object for creating the `$inputStream` of the build -method. - -```php -toStream(); -$docker = Docker::create(); - -$docker->imageBuild($inputStream); -``` - -You can safely use this context object to build image with a huge directory to size without consuming any memory or disk -on the PHP side as it will directly pipe the output of a `tar` process into the Docker Remote API. - -### Context Builder - -Additionally you can use the `ContextBuilder` to have a dynamic generation of your `Dockerfile`: - -```php -from('ubuntu:latest'); -$contextBuilder->run('apt-get update && apt-get install -y php5'); - -$docker = Docker::create(); -$docker->imageBuild($contextBuilder->getContext()->toStream()); -``` - diff --git a/app/vendor/beluga-php/docker-php/docs/cookbook/container-run.md b/app/vendor/beluga-php/docker-php/docs/cookbook/container-run.md deleted file mode 100644 index 2ee824bff..000000000 --- a/app/vendor/beluga-php/docker-php/docs/cookbook/container-run.md +++ /dev/null @@ -1,251 +0,0 @@ -# Running a container - -Running a container in Docker PHP like it would be done with the docker client `docker run image command` is not a -single call to api, even with the docker run command, it involves multiple calls to the API. - -## Creating the container - -First step is to create a container and its associated configuration, by creating a `ContainerConfig` instance and -passing to the `create` api endpoint. - -```php -setImage('busybox:latest'); -$containerConfig->setCmd(['echo', 'I am running a command']); - -$containerCreateResult = $docker->containerCreate($containerConfig); -``` - -This will return a `ContainersCreatePostResponse201` object with the id of the created container. If you don't want to use -container id you can also specify a unique name for this container: - -```php -$containerCreateResult = $docker->containerCreate($containerConfig, ['name' => 'my-container-unique-name']); -``` - -Be aware that the container is immutable if you need to change a configuration for a container, you will need to remove -the existing one and create it again with the new configuration. - -## Starting the container - -Once a container has been created, you can start it, this will in fact, only launch the process inside the isolated -container. This is done with the `containerStart` method, you can use the id of the container or the -name: - -```php -$docker->containerStart($containerCreateResult->getId()); -// Or -$docker->containerStart('my-container-unique-name'); -``` - -The start method will always return the raw [PSR7](http://www.php-fig.org/psr/psr-7/) Response, but you don't need -to check it as on failure it will throw an exception. - -## Waiting for the container to end - -Once your container is started you can wait for it end by using the `containerWait` method, be aware that your PHP script will -block until the container has stopped or that the default timeout set on the client has been reached (default to 60 -seconds) - -```php -$docker->containerWait('my-container-unique-name'); -``` - -## Stopping the container - -Once your container is started you can stop it by using the `containerStop` method. You can use the id of the container or the name: - -```php -$docker->containerStop($containerCreateResult->getId()); -// Or -$docker->containerStop('my-container-unique-name'); -``` - - -## Reading logs in real time - -Sometimes you will need to read logs in real time for a container. You can use the `containerAttach` method for that. -Be aware that you will only receive them if you configure the container with -[json log driver](https://docs.docker.com/engine/reference/logging/overview/), which is the default configuration. - -```php -$attachStream = $docker->containerAttach('my-container-unique-name'); -``` - -The `$attachStream` returned will be an instance of a `DockerRawStream`. You can use this object afterwards to add -callbacks on the different streams: - - * `addStdin` to add a callback on the stdin stream - * `addStdout` for the stdout stream - * `addStderr` for the stderr stream - -The callback for each of this method takes a string for the first argument which correspond to the log line. - -Use then the wait method to activate real time logging, this method will only stop when then stream is closed which -correspond to when the container has stopped. - -```php -$attachStream->onStdout(function ($stdout) { - echo $stdout; -}); -$attachStream->onStderr(function ($stderr) { - echo $stderr; -}); - -$attachStream->wait(); -``` - -If you follow all the example, you will not see the log and this normal. In fact the container and the call to the attach -method need extra configuration: - -```php -$containerConfig = new ContainersCreatePostBody(); -$containerConfig->setImage('busybox:latest'); -$containerConfig->setCmd(['echo', 'I am running a command']); -// You need to attach stream of the container to docker -$containerConfig->setAttachStdin(true); -$containerConfig->setAttachStdout(true); -$containerConfig->setAttachStderr(true); - -$docker->containerCreate($containerConfig, ['name' => 'my-container-unique-name']); - -// You also need to set stream to true to get the logs, and tell which stream you want to attach -$attachStream = $docker->containerAttach('my-container-unique-name', [ - 'stream' => true, - 'stdin' => true, - 'stdout' => true, - 'stderr' => true -]); -$docker->containerStart('my-container-unique-name'); - -$attachStream->onStdout(function ($stdout) { - echo $stdout; -}); -$attachStream->onStderr(function ($stderr) { - echo $stderr; -}); - -$attachStream->wait(); -``` - -If you read the following example, you will notice that we call the `containerAttach` method before starting the container with -`containerStart`. This is normal, as otherwise during the time the container is started and the call to the `containerAttach` endpoint -some logs may have been processed and you will loose this information. That's why it is strongly recommended to attach -the container before starting it. - -## Interacting with a container - -WIth the last example we can now read the log a container in real time. However you may need to send input to this -container. This can be done by attaching a websocket with the `containerAttachWebsocket` method:` - -```php -$webSocketStream = $docker->containerAttachWebsocket('my-container-unique-name', [ - 'stream' => true, - 'stdout' => true, - 'stderr' => true, - 'stdin' => true, -]); -``` - -The returned stream will be an instance of `AttachWebsocketStream` and it can be used to both reading and writing to -the container: - -```php -$line = $webSocketStream->read(); -$websocketStream->write('i send input to the container'); -``` - -If the `$line` is `null` then the stream is no longer available (container is certainly stopped), if it's equal to -`false` then the stream is still available but no output was received, otherwise it will return output from the container. - -To actually write on the stream (having the stdin stream open) you will, again, need extra configuration when creating -the container: - -```php -// Open the stdin stream from docker engine to the container -$containerConfig->setOpenStdin(true); -// Needed if you want to use process that rely on a tty, be aware as there is, in fact, no tty this may cause bug to -// the underlying process in your container -$containerConfig->setTty(true); -``` - -Be aware that there is no distinction between stdout and stderr in this mode. - -## Port Mapping - -This example shows how you can map port 8080 on your host machine to port 80 on the container. - -```php -setTty(true); -$containerConfig->setExposedPorts(['80/tcp' => new \stdClass]); - -$portBinding = new PortBinding(); -$portBinding->setHostPort('8080'); -$portBinding->setHostIp('0.0.0.0'); - -$portMap = new \ArrayObject(); -$portMap['80/tcp'] = [$portBinding]; - -$hostConfig = new HostConfig(); -$hostConfig->setPortBindings($portMap); - -$containerConfig->setHostConfig($hostConfig); -``` - -## Executing a command on a running container - -This example shows how you can execute an command on any running container. It is same as `docker exec CONTAINER_ID some_command `. - -```php -setTty(true); -$execConfig->setAttachStdout(true); -$execConfig->setAttachStderr(true); -$execConfig->setCmd(['mkdir', '/tmp/testDir']); - -$execid = $docker->containerExec('android',$execConfig)->getId(); -$execStartConfig = new ExecIdStartPostBody(); -$execStartConfig->setDetach(false); - -// Execute the command -$stream = $docker->execStart($execid,$execStartConfig); - -// To see the output stream of the 'exec' command -$stdoutText = ""; -$stderrText = ""; - -$stream->onStdout(function ($stdout) use (&$stdoutText) { - $stdoutText .= $stdout; -}); - -$stream->onStderr(function ($stderr) use (&$stderrText) { - $stderrText .= $stderr; -}); - -$stream->wait(); -var_dump([ "stdout" => $stdoutText, "stderr" => $stderrText ]) ; -``` diff --git a/app/vendor/beluga-php/docker-php/docs/index.md b/app/vendor/beluga-php/docker-php/docs/index.md deleted file mode 100644 index d00780dc4..000000000 --- a/app/vendor/beluga-php/docker-php/docs/index.md +++ /dev/null @@ -1,22 +0,0 @@ -# Docker-PHP - -This is the documentation for [docker-php](https://github.com/docker-php/docker-php) library. - -This library aim to reach 100% API support of the Docker Engine. - -## Basics - -First you need to learn the basics of this library : - -* [Installation](installation.md) -* [Connecting to Docker](connection.md) -* [Basic usage](basic.md) -* [Asynchronous Client](async.md) - -## Cookbook - -The cookbook is a collection of recipes that explain how to solve common -problems and advanced usage when using Docker-PHP - -* [Running a container](cookbook/container-run.md) -* [Build an image](cookbook/build-image.md) diff --git a/app/vendor/beluga-php/docker-php/docs/installation.md b/app/vendor/beluga-php/docker-php/docs/installation.md deleted file mode 100644 index 2cc4fcecd..000000000 --- a/app/vendor/beluga-php/docker-php/docs/installation.md +++ /dev/null @@ -1,21 +0,0 @@ -# Installation - -The recommended way to install Docker PHP is to use [Composer](http://getcomposer.org/): - -Run `composer require docker-php/docker-php` to add the dependency - -By default it will use the last API version. However you can specify the API version of docker by setting a specific -version for the `docker-php/docker-php-api`. - -To use the 1.29 version you can do the following: - -``` -composer require docker-php/docker-php-api:4.1.29.* -``` - -Do not use `^4.1.29.0`; otherwise, you will also depend on the latest version. The first digit of this version number matches the -major version of [Jane PHP](https://github.com/janephp/janephp), which is the lib generating the API Client code. - -Note that some endpoints of the Docker API may have BC breaks during minor version updates. This library may -try to hide those BC breaks but it will always be a best effort. Feel free to raise an issue or pull request on github when -you encounter one. diff --git a/app/vendor/beluga-php/docker-php/mkdocs.yml b/app/vendor/beluga-php/docker-php/mkdocs.yml deleted file mode 100644 index 1f127ad32..000000000 --- a/app/vendor/beluga-php/docker-php/mkdocs.yml +++ /dev/null @@ -1,15 +0,0 @@ -site_name: Docker PHP -site_url: http://docker-php.readthedocs.org/ -site_description: A Docker client in PHP -repo_url: https://github.com/docker-php/docker-php - -pages: - - Home: index.md - - Docker PHP: - - Installation: installation.md - - Connecting to Docker: connection.md - - Basic Usage: basic.md - - Asynchronous Client: async.md - - Cookbook: - - Running a container: cookbook/container-run.md - - Build an image: cookbook/build-image.md diff --git a/app/vendor/beluga-php/docker-php/phpunit.xml.dist b/app/vendor/beluga-php/docker-php/phpunit.xml.dist deleted file mode 100644 index cbc386105..000000000 --- a/app/vendor/beluga-php/docker-php/phpunit.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - tests/ - - - - - src - - - diff --git a/app/vendor/beluga-php/docker-php/src/Context/Context.php b/app/vendor/beluga-php/docker-php/src/Context/Context.php deleted file mode 100644 index 320f131f4..000000000 --- a/app/vendor/beluga-php/docker-php/src/Context/Context.php +++ /dev/null @@ -1,164 +0,0 @@ -directory = $directory; - $this->format = $format; - $this->fs = $fs ?? new Filesystem(); - } - - /** - * Get directory of Context. - * - * @return string - */ - public function getDirectory() - { - return $this->directory; - } - - /** - * Set directory of Context. - * - * @param string $directory Targeted directory - */ - public function setDirectory($directory): void - { - $this->directory = $directory; - } - - /** - * Return content of Dockerfile of this context. - * - * @return string Content of dockerfile - */ - public function getDockerfileContent() - { - return file_get_contents($this->directory.\DIRECTORY_SEPARATOR.'Dockerfile'); - } - - /** - * @return bool - */ - public function isStreamed() - { - return self::FORMAT_STREAM === $this->format; - } - - /** - * @return resource|string - */ - public function read() - { - return $this->isStreamed() ? $this->toStream() : $this->toTar(); - } - - /** - * Return the context as a tar archive. - * - * @throws \Symfony\Component\Process\Exception\ProcessFailedException - * - * @return string Tar content - */ - public function toTar() - { - $process = new Process(['/usr/bin/env', 'tar', '-c', '.'], $this->directory); - $process->run(); - - if (!$process->isSuccessful()) { - throw new ProcessFailedException($process); - } - - return $process->getOutput(); - } - - /** - * Return a stream for this context. - * - * @return resource Stream resource in memory - */ - public function toStream() - { - if (!\is_resource($this->process)) { - $this->process = proc_open('/usr/bin/env tar -c .', [['pipe', 'r'], ['pipe', 'w'], ['pipe', 'w']], $pipes, $this->directory); - $this->stream = $pipes[1]; - } - - return $this->stream; - } - - public function __destruct() - { - if (\is_resource($this->stream)) { - fclose($this->stream); - } - - if (\is_resource($this->process)) { - proc_close($this->process); - } - - if ($this->cleanup) { - $this->fs->remove($this->directory); - } - } - - /** - * @param bool $value whether to remove the context directory - */ - public function setCleanup(bool $value): void - { - $this->cleanup = $value; - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Context/ContextBuilder.php b/app/vendor/beluga-php/docker-php/src/Context/ContextBuilder.php deleted file mode 100644 index cda9629f5..000000000 --- a/app/vendor/beluga-php/docker-php/src/Context/ContextBuilder.php +++ /dev/null @@ -1,396 +0,0 @@ -fs = $fs ?: new Filesystem(); - $this->format = Context::FORMAT_STREAM; - } - - /** - * Sets the format of the Context output. - * - * @param string $format - * - * @return \Docker\Context\ContextBuilder - */ - public function setFormat($format) - { - $this->format = $format; - - return $this; - } - - /** - * Add a FROM instruction of Dockerfile. - * - * @param string $from From which image we start - * - * @return \Docker\Context\ContextBuilder - */ - public function from($from) - { - $this->commands[] = ['type' => 'FROM', 'image' => $from]; - - return $this; - } - - /** - * Set the CMD instruction in the Dockerfile. - * - * @param string $command Command to execute - * - * @return \Docker\Context\ContextBuilder - */ - public function command($command) - { - $this->command = $command; - - return $this; - } - - /** - * Set the ENTRYPOINT instruction in the Dockerfile. - * - * @param string $entrypoint The entrypoint - * - * @return \Docker\Context\ContextBuilder - */ - public function entrypoint($entrypoint) - { - $this->entrypoint = $entrypoint; - - return $this; - } - - /** - * Add an ADD instruction to Dockerfile. - * - * @param string $path Path wanted on the image - * @param string $content Content of file - * - * @return \Docker\Context\ContextBuilder - */ - public function add($path, $content) - { - $this->commands[] = ['type' => 'ADD', 'path' => $path, 'content' => $content]; - - return $this; - } - - /** - * Add an ADD instruction to Dockerfile. - * - * @param string $path Path wanted on the image - * @param resource $stream stream that contains file content - * - * @return \Docker\Context\ContextBuilder - */ - public function addStream($path, $stream) - { - $this->commands[] = ['type' => 'ADDSTREAM', 'path' => $path, 'stream' => $stream]; - - return $this; - } - - /** - * Add an ADD instruction to Dockerfile. - * - * @param string $path Path wanted on the image - * @param string $file Source file (or directory) name - * - * @return \Docker\Context\ContextBuilder - */ - public function addFile($path, $file) - { - $this->commands[] = ['type' => 'ADDFILE', 'path' => $path, 'file' => $file]; - - return $this; - } - - /** - * Add a RUN instruction to Dockerfile. - * - * @param string $command Command to run - * - * @return \Docker\Context\ContextBuilder - */ - public function run($command) - { - $this->commands[] = ['type' => 'RUN', 'command' => $command]; - - return $this; - } - - /** - * Add a ENV instruction to Dockerfile. - * - * @param string $name Name of the environment variable - * @param string $value Value of the environment variable - * - * @return \Docker\Context\ContextBuilder - */ - public function env($name, $value) - { - $this->commands[] = ['type' => 'ENV', 'name' => $name, 'value' => $value]; - - return $this; - } - - /** - * Add a COPY instruction to Dockerfile. - * - * @param string $from Path of folder or file to copy - * @param string $to Path of destination - * - * @return \Docker\Context\ContextBuilder - */ - public function copy($from, $to) - { - $this->commands[] = ['type' => 'COPY', 'from' => $from, 'to' => $to]; - - return $this; - } - - /** - * Add a WORKDIR instruction to Dockerfile. - * - * @param string $workdir Working directory - * - * @return \Docker\Context\ContextBuilder - */ - public function workdir($workdir) - { - $this->commands[] = ['type' => 'WORKDIR', 'workdir' => $workdir]; - - return $this; - } - - /** - * Add a EXPOSE instruction to Dockerfile. - * - * @param int $port Port to expose - * - * @return \Docker\Context\ContextBuilder - */ - public function expose($port) - { - $this->commands[] = ['type' => 'EXPOSE', 'port' => $port]; - - return $this; - } - - /** - * Adds an USER instruction to the Dockerfile. - * - * @param string $user User to switch to - * - * @return \Docker\Context\ContextBuilder - */ - public function user($user) - { - $this->commands[] = ['type' => 'USER', 'user' => $user]; - - return $this; - } - - /** - * Adds a VOLUME instruction to the Dockerfile. - * - * @param string $volume Volume path to add - * - * @return \Docker\Context\ContextBuilder - */ - public function volume($volume) - { - $this->commands[] = ['type' => 'VOLUME', 'volume' => $volume]; - - return $this; - } - - /** - * Create context given the state of builder. - * - * @return \Docker\Context\Context - */ - public function getContext() - { - $directory = sys_get_temp_dir().'/ctb-'.microtime(); - $this->fs->mkdir($directory); - $this->write($directory); - - $result = new Context($directory, $this->format, $this->fs); - $result->setCleanup(true); - - return $result; - } - - /** - * Write docker file and associated files in a directory. - * - * @param string $directory Target directory - * - * @void - */ - private function write($directory): void - { - $dockerfile = []; - // Insert a FROM instruction if the file does not start with one. - if (empty($this->commands) || 'FROM' !== $this->commands[0]['type']) { - $dockerfile[] = 'FROM base'; - } - foreach ($this->commands as $command) { - switch ($command['type']) { - case 'FROM': - $dockerfile[] = 'FROM '.$command['image']; - break; - case 'RUN': - $dockerfile[] = 'RUN '.$command['command']; - break; - case 'ADD': - $dockerfile[] = 'ADD '.$this->getFile($directory, $command['content']).' '.$command['path']; - break; - case 'ADDFILE': - $dockerfile[] = 'ADD '.$this->getFileFromDisk($directory, $command['file']).' '.$command['path']; - break; - case 'ADDSTREAM': - $dockerfile[] = 'ADD '.$this->getFileFromStream($directory, $command['stream']).' '.$command['path']; - break; - case 'COPY': - $dockerfile[] = 'COPY '.$command['from'].' '.$command['to']; - break; - case 'ENV': - $dockerfile[] = 'ENV '.$command['name'].' '.$command['value']; - break; - case 'WORKDIR': - $dockerfile[] = 'WORKDIR '.$command['workdir']; - break; - case 'EXPOSE': - $dockerfile[] = 'EXPOSE '.$command['port']; - break; - case 'VOLUME': - $dockerfile[] = 'VOLUME '.$command['volume']; - break; - case 'USER': - $dockerfile[] = 'USER '.$command['user']; - break; - } - } - - if (!empty($this->entrypoint)) { - $dockerfile[] = 'ENTRYPOINT '.$this->entrypoint; - } - - if (!empty($this->command)) { - $dockerfile[] = 'CMD '.$this->command; - } - - $this->fs->dumpFile($directory.\DIRECTORY_SEPARATOR.'Dockerfile', implode(\PHP_EOL, $dockerfile)); - } - - /** - * Generate a file in a directory. - * - * @param string $directory Targeted directory - * @param string $content Content of file - * - * @return string Name of file generated - */ - private function getFile($directory, $content) - { - $hash = md5($content); - - if (!\array_key_exists($hash, $this->files)) { - $file = tempnam($directory, ''); - $this->fs->dumpFile($file, $content); - $this->files[$hash] = basename($file); - } - - return $this->files[$hash]; - } - - /** - * Generated a file in a directory from a stream. - * - * @param string $directory Targeted directory - * @param resource $stream Stream containing file contents - * - * @return string Name of file generated - */ - private function getFileFromStream($directory, $stream) - { - $file = tempnam($directory, ''); - $target = fopen($file, 'w'); - if (0 === stream_copy_to_stream($stream, $target)) { - throw new \RuntimeException('Failed to write stream to file'); - } - fclose($target); - - return basename($file); - } - - /** - * Generated a file in a directory from an existing file. - * - * @param string $directory Targeted directory - * @param string $source Path to the source file - * - * @return string Name of file generated - */ - private function getFileFromDisk($directory, $source) - { - $hash = 'DISK-'.md5(realpath($source)); - if (!\array_key_exists($hash, $this->files)) { - // Check if source is a directory or a file. - if (is_dir($source)) { - $this->fs->mirror($source, $directory.'/'.$hash, null, ['copy_on_windows' => true]); - } else { - $this->fs->copy($source, $directory.'/'.$hash); - } - - $this->files[$hash] = $hash; - } - - return $this->files[$hash]; - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Context/ContextInterface.php b/app/vendor/beluga-php/docker-php/src/Context/ContextInterface.php deleted file mode 100644 index 0e1fc2833..000000000 --- a/app/vendor/beluga-php/docker-php/src/Context/ContextInterface.php +++ /dev/null @@ -1,26 +0,0 @@ -executeEndpoint(new ContainerAttach($id, $queryParameters, $accept), $fetch); - } - - /** - * {@inheritdoc} - */ - public function containerAttachWebsocket(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new ContainerAttachWebsocket($id, $queryParameters, $accept), $fetch); - } - - /** - * {@inheritdoc} - */ - public function containerLogs(string $id, array $queryParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new ContainerLogs($id, $queryParameters, $accept), $fetch); - } - - /** - * {@inheritdoc} - */ - public function execStart(string $id, ?ExecIdStartPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT, array $accept = []) - { - return $this->executeEndpoint(new ExecStart($id, $requestBody, $accept), $fetch); - } - - /** - * {@inheritdoc} - */ - public function imageBuild($requestBody = null, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new ImageBuild($requestBody, $queryParameters, $headerParameters), $fetch); - } - - /** - * {@inheritdoc} - */ - public function imageCreate(?string $requestBody = null, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new ImageCreate($requestBody, $queryParameters, $headerParameters), $fetch); - } - public function imagePush(string $name, array $queryParameters = [], array $headerParameters = [], string $fetch = self::FETCH_OBJECT, array $accept = []) - { - if (isset($headerParameters['X-Registry-Auth']) && $headerParameters['X-Registry-Auth'] instanceof AuthConfig) { - $headerParameters['X-Registry-Auth'] = base64_encode($this->serializer->serialize($headerParameters['X-Registry-Auth'], 'json')); - } - - return $this->executeEndpoint(new ImagePush($name, $queryParameters, $headerParameters, $accept), $fetch); - } - - /** - * {@inheritdoc} - */ - public function systemEvents(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new SystemEvents($queryParameters), $fetch); - } - - public static function create( - $httpClient = null, - array $additionalPlugins = [], - array $additionalNormalizers = [] - ): self - { - if (null === $httpClient) { - $httpClient = DockerClientFactory::createFromEnv(); - } - - $client = parent::create($httpClient, $additionalPlugins, $additionalNormalizers); - $testClient = $client->executeRawEndpoint(new SystemInfo())->getBody()->getContents(); - $jsonObj = json_decode($testClient); - - if ($jsonObj !== null) { - if (isset($jsonObj->message)) { - // Check if the client is too new - if (strpos($jsonObj->message, 'client version') !== false && strpos($jsonObj->message, 'is too new') !== false) { - throw new BadRequestException("The client version is not supported by your version of Docker. Message: {$jsonObj->message}"); - } else { - throw new BadRequestException($jsonObj->message); - } - } - } else { - throw new BadRequestException("Failed to decode JSON."); - } - return $client; - } -} diff --git a/app/vendor/beluga-php/docker-php/src/DockerClientFactory.php b/app/vendor/beluga-php/docker-php/src/DockerClientFactory.php deleted file mode 100644 index 39b07e890..000000000 --- a/app/vendor/beluga-php/docker-php/src/DockerClientFactory.php +++ /dev/null @@ -1,82 +0,0 @@ -createClient( - $socketClient, - [ - new ContentLengthPlugin(), - new DecoderPlugin(), - new AddPathPlugin($uriFactory->createUri('/v1.45')), - new AddHostPlugin($uriFactory->createUri($host)), - new HeaderDefaultsPlugin([ - 'host' => parse_url($host, \PHP_URL_HOST), - ]), - ], - [ - 'client_name' => 'docker-client', - ] - ); - } - - public static function createFromEnv(?PluginClientFactory $pluginClientFactory = null): PluginClient - { - $options = [ - 'remote_socket' => getenv('DOCKER_HOST') ? getenv('DOCKER_HOST') : 'unix:///var/run/docker.sock', - ]; - - if (getenv('DOCKER_TLS_VERIFY') && '1' === getenv('DOCKER_TLS_VERIFY')) { - if (!getenv('DOCKER_CERT_PATH')) { - throw new \RuntimeException('Connection to docker has been set to use TLS, but no PATH is defined for certificate in DOCKER_CERT_PATH docker environment variable'); - } - - $cafile = getenv('DOCKER_CERT_PATH').\DIRECTORY_SEPARATOR.'ca.pem'; - $certfile = getenv('DOCKER_CERT_PATH').\DIRECTORY_SEPARATOR.'cert.pem'; - $keyfile = getenv('DOCKER_CERT_PATH').\DIRECTORY_SEPARATOR.'key.pem'; - - $stream_context = [ - 'cafile' => $cafile, - 'local_cert' => $certfile, - 'local_pk' => $keyfile, - ]; - - if (getenv('DOCKER_PEER_NAME')) { - $stream_context['peer_name'] = getenv('DOCKER_PEER_NAME'); - } - - $options['ssl'] = true; - $options['stream_context_options'] = [ - 'ssl' => $stream_context, - ]; - } - - return self::create($options, $pluginClientFactory); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerAttach.php b/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerAttach.php deleted file mode 100644 index 1c776639e..000000000 --- a/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerAttach.php +++ /dev/null @@ -1,22 +0,0 @@ -getStatusCode() && DockerRawStream::HEADER === $contentType) { - return new DockerRawStream($response->getBody()); - } - - return parent::transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerAttachWebsocket.php b/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerAttachWebsocket.php deleted file mode 100644 index ee6fe0237..000000000 --- a/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerAttachWebsocket.php +++ /dev/null @@ -1,39 +0,0 @@ - 'localhost', - 'Origin' => 'php://docker-php', - 'Upgrade' => 'websocket', - 'Connection' => 'Upgrade', - 'Sec-WebSocket-Version' => '13', - 'Sec-WebSocket-Key' => base64_encode(uniqid()), - ] - ); - } - - protected function transformResponseBody(ResponseInterface $response, SerializerInterface $serializer, ?string - $contentType = null) - { - if (200 === $response->getStatusCode() && DockerRawStream::HEADER === $contentType) { - return new AttachWebsocketStream($response->getBody()); - } - - return parent::transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerLogs.php b/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerLogs.php deleted file mode 100644 index 996b09c39..000000000 --- a/app/vendor/beluga-php/docker-php/src/Endpoint/ContainerLogs.php +++ /dev/null @@ -1,22 +0,0 @@ -getStatusCode() && DockerRawStream::HEADER === $contentType) { - return new DockerRawStream($response->getBody()); - } - - return parent::transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Endpoint/ExecStart.php b/app/vendor/beluga-php/docker-php/src/Endpoint/ExecStart.php deleted file mode 100644 index e2d8985be..000000000 --- a/app/vendor/beluga-php/docker-php/src/Endpoint/ExecStart.php +++ /dev/null @@ -1,22 +0,0 @@ -getStatusCode() && DockerRawStream::HEADER === $contentType) { - return new DockerRawStream($response->getBody()); - } - - return parent::transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Endpoint/ImageBuild.php b/app/vendor/beluga-php/docker-php/src/Endpoint/ImageBuild.php deleted file mode 100644 index 49239c4cf..000000000 --- a/app/vendor/beluga-php/docker-php/src/Endpoint/ImageBuild.php +++ /dev/null @@ -1,35 +0,0 @@ -body; - - if (\is_resource($body)) { - $body = new TarStream(Stream::create($body)); - } - - return [['Content-Type' => ['application/octet-stream']], $body]; - } - - protected function transformResponseBody(ResponseInterface $response, SerializerInterface $serializer, ?string $contentType = null) - { - if (200 === $response->getStatusCode()) { - return new BuildStream($response->getBody(), $serializer); - } - - return parent::transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Endpoint/ImageCreate.php b/app/vendor/beluga-php/docker-php/src/Endpoint/ImageCreate.php deleted file mode 100644 index 3a50da2e9..000000000 --- a/app/vendor/beluga-php/docker-php/src/Endpoint/ImageCreate.php +++ /dev/null @@ -1,22 +0,0 @@ -getStatusCode()) { - return new CreateImageStream($response->getBody(), $serializer); - } - - return parent::transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Endpoint/ImagePush.php b/app/vendor/beluga-php/docker-php/src/Endpoint/ImagePush.php deleted file mode 100644 index 61e165915..000000000 --- a/app/vendor/beluga-php/docker-php/src/Endpoint/ImagePush.php +++ /dev/null @@ -1,27 +0,0 @@ -name)], '/images/{name}/push'); - } - - protected function transformResponseBody(ResponseInterface $response, SerializerInterface $serializer, ?string $contentType = null) - { - if (200 === $response->getStatusCode()) { - return new PushStream($response->getBody(), $serializer); - } - - return parent::transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Endpoint/SystemEvents.php b/app/vendor/beluga-php/docker-php/src/Endpoint/SystemEvents.php deleted file mode 100644 index 3f57e916c..000000000 --- a/app/vendor/beluga-php/docker-php/src/Endpoint/SystemEvents.php +++ /dev/null @@ -1,22 +0,0 @@ -getStatusCode()) { - return new EventStream($response->getBody(), $serializer); - } - - return parent::transformResponseBody($response, $serializer, $contentType); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Stream/AttachWebsocketStream.php b/app/vendor/beluga-php/docker-php/src/Stream/AttachWebsocketStream.php deleted file mode 100644 index 0394ac2f8..000000000 --- a/app/vendor/beluga-php/docker-php/src/Stream/AttachWebsocketStream.php +++ /dev/null @@ -1,176 +0,0 @@ -socket = $stream->detach(); - } - - /** - * Send input to the container. - * - * @param string $data Data to send - */ - public function write($data): void - { - $rand = random_int(0, 28); - $frame = [ - 'fin' => 1, - 'rsv1' => 0, - 'rsv2' => 0, - 'rsv3' => 0, - 'opcode' => 1, // We always send text - 'mask' => 1, - 'len' => \strlen($data), - 'mask_key' => substr(md5(uniqid()), $rand, 4), - 'data' => $data, - ]; - - if (1 === $frame['mask']) { - for ($i = 0; $i < $frame['len']; ++$i) { - $frame['data'][$i] - = \chr(\ord($frame['data'][$i]) ^ \ord($frame['mask_key'][$i % 4])); - } - } - - if ($frame['len'] > 2 ** 16) { - $len = 127; - } elseif ($frame['len'] > 125) { - $len = 126; - } else { - $len = $frame['len']; - } - - $firstByte = ($frame['fin'] << 7) | (($frame['rsv1'] << 7) >> 1) | (($frame['rsv2'] << 7) >> 2) | (($frame['rsv3'] << 7) >> 3) | (($frame['opcode'] << 4) >> 4); - $secondByte = ($frame['mask'] << 7) | (($len << 1) >> 1); - - $this->socketWrite(\chr($firstByte)); - $this->socketWrite(\chr($secondByte)); - - if (126 === $len) { - $this->socketWrite(pack('n', $frame['len'])); - } elseif (127 === $len) { - $higher = $frame['len'] >> 32; - $lower = ($frame['len'] << 32) >> 32; - $this->socketWrite(pack('N', $higher)); - $this->socketWrite(pack('N', $lower)); - } - - if (1 === $frame['mask']) { - $this->socketWrite($frame['mask_key']); - } - - $this->socketWrite($frame['data']); - } - - /** - * Block until it receive a frame from websocket or return null if no more connexion. - * - * @param int $waitTime Time to wait in seconds before return false - * @param int $waitMicroTime Time to wait in microseconds before return false - * @param bool $getFrame Whether to return the frame of websocket or only the data - * - * @return false|string|array|null Null for socket not available, false for no message, string for the last message and the frame array if $getFrame is set to true - */ - public function read($waitTime = 0, $waitMicroTime = 200000, $getFrame = false) - { - if (!\is_resource($this->socket) || feof($this->socket)) { - return null; - } - - $read = [$this->socket]; - $write = null; - $expect = null; - - if (0 === stream_select($read, $write, $expect, $waitTime, $waitMicroTime)) { - return false; - } - - $firstByte = $this->socketRead(1); - $frame = []; - $firstByte = \ord($firstByte); - $secondByte = \ord($this->socketRead(1)); - - // First byte decoding - $frame['fin'] = ($firstByte & 128) >> 7; - $frame['rsv1'] = ($firstByte & 64) >> 6; - $frame['rsv2'] = ($firstByte & 32) >> 5; - $frame['rsv3'] = ($firstByte & 16) >> 4; - $frame['opcode'] = ($firstByte & 15); - - // Second byte decoding - $frame['mask'] = ($secondByte & 128) >> 7; - $frame['len'] = ($secondByte & 127); - - // Get length of the frame - if (126 === $frame['len']) { - $frame['len'] = unpack('n', $this->socketRead(2))[1]; - } elseif (127 === $frame['len']) { - [$higher, $lower] = array_values(unpack('N2', $this->socketRead(8))); - $frame['len'] = ($higher << 32) | $lower; - } - - // Get the mask key if needed - if (1 === $frame['mask']) { - $frame['mask_key'] = $this->socketRead(4); - } - - $frame['data'] = $this->socketRead($frame['len']); - - // Decode data if needed - if (1 === $frame['mask']) { - for ($i = 0; $i < $frame['len']; ++$i) { - $frame['data'][$i] = \chr(\ord($frame['data'][$i]) ^ \ord($frame['mask_key'][$i % 4])); - } - } - - if ($getFrame) { - return $frame; - } - - return (string) $frame['data']; - } - - /** - * Force to have something of the expected size (block). - * - * @return string - */ - private function socketRead($length) - { - $read = ''; - - do { - $read .= fread($this->socket, $length - \strlen($read)); - } while (\strlen($read) < $length && !feof($this->socket)); - - return $read; - } - - /** - * Write to the socket. - * - * @return int - */ - private function socketWrite($data) - { - return fwrite($this->socket, $data); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Stream/BuildStream.php b/app/vendor/beluga-php/docker-php/src/Stream/BuildStream.php deleted file mode 100644 index 34f32ac41..000000000 --- a/app/vendor/beluga-php/docker-php/src/Stream/BuildStream.php +++ /dev/null @@ -1,21 +0,0 @@ -stream = $stream; - } - - /** - * Called when there is a new frame from the stream. - */ - public function onFrame(callable $onNewFrame): void - { - $this->onNewFrameCallables[] = $onNewFrame; - } - - /** - * Read a frame in the stream. - */ - abstract protected function readFrame(); - - /** - * Wait for stream to finish and call callables if defined. - */ - public function wait(): void - { - while (!$this->stream->eof()) { - $frame = $this->readFrame(); - - if (null !== $frame) { - if (!\is_array($frame)) { - $frame = [$frame]; - } - - foreach ($this->onNewFrameCallables as $newFrameCallable) { - \call_user_func_array($newFrameCallable, $frame); - } - } - } - } - - public function closeAndRead(): void - { - $this->stream->close(); - $this->wait(); - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Stream/CreateImageStream.php b/app/vendor/beluga-php/docker-php/src/Stream/CreateImageStream.php deleted file mode 100644 index 8d5aea7c6..000000000 --- a/app/vendor/beluga-php/docker-php/src/Stream/CreateImageStream.php +++ /dev/null @@ -1,21 +0,0 @@ -stream = $stream; - } - - /** - * Add a callable to read stdin. - */ - public function onStdin(callable $callback): void - { - $this->onStdinCallables[] = $callback; - } - - /** - * Add a callable to read stdout. - */ - public function onStdout(callable $callback): void - { - $this->onStdoutCallables[] = $callback; - } - - /** - * Add a callable to read stderr. - */ - public function onStderr(callable $callback): void - { - $this->onStderrCallables[] = $callback; - } - - /** - * Read a frame in the stream. - */ - protected function readFrame(): void - { - $header = $this->forceRead(8); - - if (\strlen($header) < 8) { - return; - } - - $decoded = unpack('C1type/C3/N1size', $header); - $output = $this->forceRead($decoded['size']); - $callbackList = []; - - if (0 === $decoded['type']) { - $callbackList = $this->onStdinCallables; - } - - if (1 === $decoded['type']) { - $callbackList = $this->onStdoutCallables; - } - - if (2 === $decoded['type']) { - $callbackList = $this->onStderrCallables; - } - - foreach ($callbackList as $callback) { - $callback($output); - } - } - - /** - * Force to have something of the expected size (block). - * - * @return string - */ - private function forceRead($length) - { - $read = ''; - - do { - $read .= $this->stream->read($length - \strlen($read)); - } while (\strlen($read) < $length && !$this->stream->eof()); - - return $read; - } - - /** - * Wait for stream to finish and call callables if defined. - */ - public function wait(): void - { - while (!$this->stream->eof()) { - $this->readFrame(); - } - } -} diff --git a/app/vendor/beluga-php/docker-php/src/Stream/EventStream.php b/app/vendor/beluga-php/docker-php/src/Stream/EventStream.php deleted file mode 100644 index 1c18a8050..000000000 --- a/app/vendor/beluga-php/docker-php/src/Stream/EventStream.php +++ /dev/null @@ -1,21 +0,0 @@ -serializer = $serializer; - } - - protected function readFrame() - { - $jsonFrameEnd = false; - $lastJsonChar = ''; - $inquote = false; - $jsonFrame = ''; - $level = 0; - - // This is a - while (!$jsonFrameEnd && !$this->stream->eof()) { - $jsonChar = $this->stream->read(1); - - if ('"' === $jsonChar && '\\' !== $lastJsonChar) { - $inquote = !$inquote; - } - - // We ignore white space when it is not part of a quoted string. - if (!$inquote && \in_array($jsonChar, [' ', "\r", "\n", "\t"], true)) { - continue; - } - - if (!$inquote && \in_array($jsonChar, ['{', '['], true)) { - ++$level; - } - - if (!$inquote && \in_array($jsonChar, ['}', ']'], true)) { - --$level; - - if (0 === $level) { - $jsonFrameEnd = true; - $jsonFrame .= $jsonChar; - $lastJsonChar = ''; - continue; - } - } - - $jsonFrame .= $jsonChar; - $lastJsonChar = $jsonChar; - } - - // Invalid last json, or timeout, or connection close before receiving - if (!$jsonFrameEnd) { - return null; - } - - return $this->serializer->deserialize($jsonFrame, 'Docker\\API\\Model\\'.$this->getDecodeClass(), 'json'); - } - - /** - * Get the decode class to pass to serializer. - * - * @return string - */ - abstract protected function getDecodeClass(); -} diff --git a/app/vendor/beluga-php/docker-php/src/Stream/PushStream.php b/app/vendor/beluga-php/docker-php/src/Stream/PushStream.php deleted file mode 100644 index 4b7242db9..000000000 --- a/app/vendor/beluga-php/docker-php/src/Stream/PushStream.php +++ /dev/null @@ -1,21 +0,0 @@ -stream = $stream; - } - - public function __toString() - { - return $this->stream->__toString(); - } - - public function close(): void - { - $this->stream->close(); - } - - public function detach() - { - return $this->stream->detach(); - } - - public function getSize(): ?int - { - return null; - } - - public function tell(): int - { - return $this->stream->tell(); - } - - public function eof(): bool - { - return $this->stream->eof(); - } - - public function isSeekable(): bool - { - return $this->stream->isSeekable(); - } - - public function seek($offset, $whence = \SEEK_SET): void - { - $this->stream->seek($offset, $whence); - } - - public function rewind(): void - { - $this->stream->rewind(); - } - - public function isWritable(): bool - { - return $this->stream->isWritable(); - } - - public function write($string): int - { - return $this->stream->write($string); - } - - public function isReadable(): bool - { - return $this->stream->isReadable(); - } - - public function read($length): string - { - return $this->stream->read($length); - } - - public function getContents(): string - { - return $this->stream->getContents(); - } - - public function getMetadata($key = null) - { - return $this->stream->getMetadata($key); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/Context/ContextBuilderTest.php b/app/vendor/beluga-php/docker-php/tests/Context/ContextBuilderTest.php deleted file mode 100644 index 613964f01..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Context/ContextBuilderTest.php +++ /dev/null @@ -1,305 +0,0 @@ -getContext(); - - $this->assertFileExists($context->getDirectory().'/Dockerfile'); - } - - public function testHasDefaultFrom(): void - { - $contextBuilder = new ContextBuilder(); - $context = $contextBuilder->getContext(); - - $this->assertStringEqualsFile($context->getDirectory().'/Dockerfile', 'FROM base'); - } - - public function testUsesCustomFrom(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->from('ubuntu:precise'); - - $context = $contextBuilder->getContext(); - - $this->assertStringEqualsFile($context->getDirectory().'/Dockerfile', 'FROM ubuntu:precise'); - } - - public function testMultipleFrom(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->from('ubuntu:precise'); - - $contextBuilder->from('test'); - - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertSame("FROM ubuntu:precise\nFROM test", $content); - } - - public function testCreatesTmpDirectory(): void - { - $contextBuilder = new ContextBuilder(); - $context = $contextBuilder->getContext(); - - $this->assertFileExists($context->getDirectory()); - } - - public function testWriteTmpFiles(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->add('/foo', 'random content'); - - $context = $contextBuilder->getContext(); - $filename = preg_replace(<<getDockerfileContent()); - - $this->assertStringEqualsFile($context->getDirectory().'/'.$filename, 'random content'); - } - - public function testWriteTmpFileFromStream(): void - { - $contextBuilder = new ContextBuilder(); - $stream = fopen('php://temp', 'r+'); - $this->assertSame(7, fwrite($stream, 'test123')); - rewind($stream); - $contextBuilder->addStream('/foo', $stream); - - $context = $contextBuilder->getContext(); - $filename = preg_replace(<<getDockerfileContent()); - $this->assertStringEqualsFile($context->getDirectory().'/'.$filename, 'test123'); - } - - public function testWriteTmpFileFromDisk(): void - { - $contextBuilder = new ContextBuilder(); - $file = tempnam('', ''); - file_put_contents($file, 'abc'); - $this->assertStringEqualsFile($file, 'abc'); - $contextBuilder->addFile('/foo', $file); - - $context = $contextBuilder->getContext(); - $filename = preg_replace(<<getDockerfileContent()); - $this->assertStringEqualsFile($context->getDirectory().'/'.$filename, 'abc'); - } - - public function testWriteTmpDirFromDisk(): void - { - $contextBuilder = new ContextBuilder(); - $dir = tempnam(sys_get_temp_dir(), ''); - unlink($dir); - mkdir($dir); - file_put_contents($dir.'/test', 'abc'); - $this->assertStringEqualsFile($dir.'/test', 'abc'); - $contextBuilder->addFile('/foo', $dir); - - $context = $contextBuilder->getContext(); - $filename = preg_replace(<<getDockerfileContent()); - $this->assertStringEqualsFile($context->getDirectory().'/'.$filename.'/test', 'abc'); - } - - public function testWritesAddCommands(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->add('/foo', 'foo file content'); - - $context = $contextBuilder->getContext(); - - $this->assertMatchesRegularExpression( - <<getDockerfileContent() - ); - } - - public function testWritesRunCommands(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->run('foo command'); - - $context = $contextBuilder->getContext(); - - $this->assertStringEqualsFile( - $context->getDirectory().'/Dockerfile', - <<env('foo', 'bar'); - - $context = $contextBuilder->getContext(); - - $this->assertStringEqualsFile( - $context->getDirectory().'/Dockerfile', - <<copy('/foo', '/bar'); - - $context = $contextBuilder->getContext(); - - $this->assertStringEqualsFile( - $context->getDirectory().'/Dockerfile', - <<workdir('/foo'); - - $context = $contextBuilder->getContext(); - - $this->assertStringEqualsFile( - $context->getDirectory().'/Dockerfile', - <<expose('80'); - - $context = $contextBuilder->getContext(); - - $this->assertStringEqualsFile( - $context->getDirectory().'/Dockerfile', - <<user('user1'); - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertStringEndsWith("\nUSER user1", $content); - - $contextBuilder->user('user2'); - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertStringEndsWith("\nUSER user1\nUSER user2", $content); - } - - public function testWritesVolumeCommands(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->volume('volume1'); - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertStringEndsWith("\nVOLUME volume1", $content); - - $contextBuilder->volume('volume2'); - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertStringEndsWith("\nVOLUME volume1\nVOLUME volume2", $content); - } - - public function testWritesCommandCommand(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->command('test123'); - - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertStringEndsWith("\nCMD test123", $content); - - $contextBuilder->command('changed'); - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertStringNotContainsString('CMD test123', $content); - $this->assertStringEndsWith("\nCMD changed", $content); - } - - public function testWritesEntrypointCommand(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->entrypoint('test123'); - - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertStringEndsWith("\nENTRYPOINT test123", $content); - - $contextBuilder->entrypoint('changed'); - $content = $contextBuilder->getContext()->getDockerfileContent(); - $this->assertStringNotContainsString('ENTRYPOINT test123', $content); - $this->assertStringEndsWith("\nENTRYPOINT changed", $content); - } - - public function testTar(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->setFormat(Context::FORMAT_TAR); - $context = $contextBuilder->getContext(); - $content = $context->read(); - $this->assertIsString($content); - $this->assertSame($context->toTar(), $content); - } - - public function testTraverseSymlinks(): void - { - $contextBuilder = new ContextBuilder(); - $dir = tempnam('', ''); - unlink($dir); - mkdir($dir); - $file = $dir.'/test'; - - file_put_contents($file, 'abc'); - - $linkFile = $file.'-symlink'; - symlink($file, $linkFile); - - $contextBuilder->addFile('/foo', $dir); - - $context = $contextBuilder->getContext(); - - $filename = preg_replace(<<getDockerfileContent()); - unlink($file); - $context->setCleanup(false); - $this->assertStringEqualsFile($context->getDirectory().'/'.$filename.'/test-symlink', 'abc'); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/Context/ContextTest.php b/app/vendor/beluga-php/docker-php/tests/Context/ContextTest.php deleted file mode 100644 index 1038213b7..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Context/ContextTest.php +++ /dev/null @@ -1,66 +0,0 @@ -run(); - - $this->assertSame(\strlen($process->getOutput()), \strlen($context->toTar())); - } - - public function testReturnsValidTarStream(): void - { - $directory = __DIR__.\DIRECTORY_SEPARATOR.'context-test'; - - $context = new Context($directory); - $this->assertIsResource($context->toStream()); - } - - public function testDirectorySetter(): void - { - $context = new Context('abc'); - $this->assertSame('abc', $context->getDirectory()); - $context->setDirectory('def'); - $this->assertSame('def', $context->getDirectory()); - } - - public function testTarFailed(): void - { - $this->expectException(\Symfony\Component\Process\Exception\ProcessFailedException::class); - - $directory = __DIR__.\DIRECTORY_SEPARATOR.'context-test'; - $path = getenv('PATH'); - putenv('PATH=/'); - $context = new Context($directory); - try { - $context->toTar(); - } finally { - putenv("PATH=$path"); - } - } - - public function testRemovesFilesOnDestruct(): void - { - $context = (new ContextBuilder())->getContext(); - $file = $context->getDirectory().'/Dockerfile'; - $this->assertFileExists($file); - - unset($context); - - $this->assertFileDoesNotExist($file); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/Context/context-test/Dockerfile b/app/vendor/beluga-php/docker-php/tests/Context/context-test/Dockerfile deleted file mode 100644 index 5cf0c8ad4..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Context/context-test/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM busybox - -RUN echo 'hello world' \ No newline at end of file diff --git a/app/vendor/beluga-php/docker-php/tests/DockerClientFactoryTest.php b/app/vendor/beluga-php/docker-php/tests/DockerClientFactoryTest.php deleted file mode 100644 index ed09a955c..000000000 --- a/app/vendor/beluga-php/docker-php/tests/DockerClientFactoryTest.php +++ /dev/null @@ -1,71 +0,0 @@ -assertInstanceOf(ClientInterface::class, DockerClientFactory::create()); - } - - public function testCreateFromEnvWithoutCertPath(): void - { - $this->expectException(\RuntimeException::class); - $this->expectExceptionMessage('Connection to docker has been set to use TLS, but no PATH is defined for certificate in DOCKER_CERT_PATH docker environment variable'); - - putenv('DOCKER_TLS_VERIFY=1'); - DockerClientFactory::createFromEnv(); - } - - public function testCreateCustomCa(): void - { - putenv('DOCKER_TLS_VERIFY=1'); - putenv('DOCKER_CERT_PATH=/tmp'); - - $count = \count(get_resources('stream-context')); - $client = DockerClientFactory::createFromEnv(); - $this->assertInstanceOf(ClientInterface::class, $client); - - $contexts = get_resources('stream-context'); - $this->assertCount($count + 1, $contexts); - - // Get the last stream context. - $context = stream_context_get_options(end($contexts)); - $this->assertSame('/tmp/ca.pem', $context['ssl']['cafile']); - $this->assertSame('/tmp/cert.pem', $context['ssl']['local_cert']); - $this->assertSame('/tmp/key.pem', $context['ssl']['local_pk']); - } - - public function testCreateCustomPeerName(): void - { - putenv('DOCKER_TLS_VERIFY=1'); - putenv('DOCKER_CERT_PATH=/abc'); - putenv('DOCKER_PEER_NAME=test'); - - $count = \count(get_resources('stream-context')); - $client = DockerClientFactory::createFromEnv(); - $this->assertInstanceOf(ClientInterface::class, $client); - - $contexts = get_resources('stream-context'); - $this->assertCount($count + 1, $contexts); - - // Get the last stream context. - $context = stream_context_get_options(end($contexts)); - $this->assertSame('/abc/ca.pem', $context['ssl']['cafile']); - $this->assertSame('/abc/cert.pem', $context['ssl']['local_cert']); - $this->assertSame('/abc/key.pem', $context['ssl']['local_pk']); - $this->assertSame('test', $context['ssl']['peer_name']); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/DockerTest.php b/app/vendor/beluga-php/docker-php/tests/DockerTest.php deleted file mode 100644 index baba25237..000000000 --- a/app/vendor/beluga-php/docker-php/tests/DockerTest.php +++ /dev/null @@ -1,15 +0,0 @@ -assertInstanceOf(Docker::class, Docker::create()); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/Resource/ContainerResourceTest.php b/app/vendor/beluga-php/docker-php/tests/Resource/ContainerResourceTest.php deleted file mode 100644 index eb6024a18..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Resource/ContainerResourceTest.php +++ /dev/null @@ -1,138 +0,0 @@ -imageCreate('', [ - 'fromImage' => 'busybox:latest', - ]); - } - - public function testAttach(): void - { - $containerConfig = new ContainersCreatePostBody(); - $containerConfig->setImage('busybox:latest'); - $containerConfig->setCmd(['echo', '-n', 'output']); - $containerConfig->setAttachStdout(true); - $containerConfig->setLabels(['docker-php-test' => 'true']); - - $containerCreateResult = $this->getManager()->containerCreate($containerConfig); - $dockerRawStream = $this->getManager()->containerAttach( - $containerCreateResult->getId(), - [ - 'stream' => true, - 'stdout' => true, - ] - ); - - $stdoutFull = ''; - $dockerRawStream->onStdout(function ($stdout) use (&$stdoutFull): void { - $stdoutFull .= $stdout; - }); - - $this->getManager()->containerStart($containerCreateResult->getId()); - $this->getManager()->containerWait($containerCreateResult->getId()); - - $dockerRawStream->wait(); - - $this->assertSame('output', $stdoutFull); - } - - public function testAttachWebsocket(): void - { - $this->markTestSkipped('Since docker API 1.28 Websockets are binary so this test needs work. ' . - 'See https://github.com/xtermjs/xterm.js/issues/883'); - $containerConfig = new ContainersCreatePostBody(); - $containerConfig->setImage('busybox:latest'); - $containerConfig->setCmd(['sh']); - $containerConfig->setAttachStdout(true); - $containerConfig->setAttachStderr(true); - $containerConfig->setAttachStdin(false); - $containerConfig->setOpenStdin(true); - $containerConfig->setTty(true); - $containerConfig->setLabels(new \ArrayObject(['docker-php-test' => 'true'])); - - $containerCreateResult = $this->getManager()->containerCreate($containerConfig); - $webSocketStream = $this->getManager()->containerAttachWebsocket( - $containerCreateResult->getId(), - [ - 'stream' => true, - 'stdout' => true, - 'stderr' => true, - 'stdin' => true, - ] - ); - - $this->getManager()->containerStart($containerCreateResult->getId()); - - // Read the bash first line - $webSocketStream->read(); - - // No output after that so it should be false - $this->assertFalse($webSocketStream->read()); - - // Write something to the container - $webSocketStream->write("echo test\n"); - - // Test for echo present (stdin) - $output = ''; - - while (false !== ($data = $webSocketStream->read())) { - $output .= $data; - } - - $this->assertContains('echo', $output); - - // Exit the container - $webSocketStream->write("exit\n"); - } - - public function testLogs(): void - { - $this->markTestSkipped('Since at least 1.43 docker API does not return a `application/vnd.docker.raw-stream` ' . - 'but a `application/vnd.docker.multiplexed-stream` so this needs review. '. - 'See https://github.com/beluga-php/docker-php/issues/19'); - $containerConfig = new ContainersCreatePostBody(); - $containerConfig->setImage('busybox:latest'); - $containerConfig->setCmd(['echo', '-n', 'output']); - $containerConfig->setAttachStdout(true); - $containerConfig->setLabels(['docker-php-test' => 'true']); - - $containerCreateResult = $this->getManager()->containerCreate($containerConfig); - - $this->getManager()->containerStart($containerCreateResult->getId()); - $this->getManager()->containerWait($containerCreateResult->getId()); - - $logsStream = $this->getManager()->containerLogs( - $containerCreateResult->getId(), - [ - 'stdout' => true, - 'stderr' => true, - ], - Docker::FETCH_OBJECT - ); - - self::assertInstanceOf(DockerRawStream::class, $logsStream); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/Resource/ExecResourceTest.php b/app/vendor/beluga-php/docker-php/tests/Resource/ExecResourceTest.php deleted file mode 100644 index 65064f2b5..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Resource/ExecResourceTest.php +++ /dev/null @@ -1,92 +0,0 @@ -createContainer(); - - $execConfig = new ContainersIdExecPostBody(); - $execConfig->setAttachStdout(true); - $execConfig->setAttachStderr(true); - $execConfig->setCmd(['echo', 'output']); - - $execCreateResult = $this->getManager()->containerExec($createContainerResult->getId(), $execConfig); - - $execStartConfig = new ExecIdStartPostBody(); - $execStartConfig->setDetach(false); - $execStartConfig->setTty(false); - - $stream = $this->getManager()->execStart($execCreateResult->getId(), $execStartConfig); - - $this->assertInstanceOf(DockerRawStream::class, $stream); - - $stdoutFull = ''; - $stream->onStdout(function ($stdout) use (&$stdoutFull): void { - $stdoutFull .= $stdout; - }); - $stream->wait(); - - $this->assertSame("output\n", $stdoutFull); - - self::getDocker()->containerKill($createContainerResult->getId(), [ - 'signal' => 'SIGKILL', - ]); - } - - public function testExecFind(): void - { - $createContainerResult = $this->createContainer(); - - $execConfig = new ContainersIdExecPostBody(); - $execConfig->setCmd(['/bin/true']); - $execCreateResult = $this->getManager()->containerExec($createContainerResult->getId(), $execConfig); - - $execStartConfig = new ExecIdStartPostBody(); - $execStartConfig->setDetach(false); - $execStartConfig->setTty(false); - - $this->getManager()->execStart($execCreateResult->getId(), $execStartConfig); - - $execFindResult = $this->getManager()->execInspect($execCreateResult->getId()); - - $this->assertInstanceOf(ExecIdJsonGetResponse200::class, $execFindResult); - - self::getDocker()->containerKill($createContainerResult->getId(), [ - 'signal' => 'SIGKILL', - ]); - } - - private function createContainer() - { - $containerConfig = new ContainersCreatePostBody(); - $containerConfig->setImage('busybox:latest'); - $containerConfig->setCmd(['sh']); - $containerConfig->setOpenStdin(true); - $containerConfig->setLabels(new \ArrayObject(['docker-php-test' => 'true'])); - - $containerCreateResult = self::getDocker()->containerCreate($containerConfig); - self::getDocker()->containerStart($containerCreateResult->getId()); - - return $containerCreateResult; - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/Resource/ImageResourceTest.php b/app/vendor/beluga-php/docker-php/tests/Resource/ImageResourceTest.php deleted file mode 100644 index 8e88982da..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Resource/ImageResourceTest.php +++ /dev/null @@ -1,91 +0,0 @@ -from('ubuntu:precise'); - $contextBuilder->add('/test', 'test file content'); - - $context = $contextBuilder->getContext(); - $buildStream = $this->getManager()->imageBuild($context->read(), ['t' => 'test-image']); - - $this->assertInstanceOf('Docker\Stream\BuildStream', $buildStream); - - $lastMessage = ''; - - $buildStream->onFrame(function ($frame) use (&$lastMessage): void { - $lastMessage = $frame->getStream(); - }); - $buildStream->wait(); - - $this->assertStringContainsString('Successfully', $lastMessage); - } - - public function testCreate(): void - { - $createImageStream = $this->getManager()->imageCreate('', [ - 'fromImage' => 'registry:latest', - ]); - - $this->assertInstanceOf('Docker\Stream\CreateImageStream', $createImageStream); - - $firstMessage = null; - - $createImageStream->onFrame(function ($createImageInfo) use (&$firstMessage): void { - if (null === $firstMessage) { - $firstMessage = $createImageInfo->getStatus(); - } - }); - $createImageStream->wait(); - - $this->assertStringContainsString('Pulling from library/registry', $firstMessage); - } - - public function testPushStream(): void - { - $contextBuilder = new ContextBuilder(); - $contextBuilder->from('ubuntu:precise'); - $contextBuilder->add('/test', 'test file content'); - - $context = $contextBuilder->getContext(); - $this->getManager()->imageBuild($context->read(), ['t' => 'localhost:5000/test-image'], [], Client::FETCH_OBJECT); - - $registryConfig = new AuthConfig(); - $registryConfig->setServeraddress('localhost:5000'); - $pushImageStream = $this->getManager()->imagePush('localhost:5000/test-image', [], [ - 'X-Registry-Auth' => $registryConfig, - ]); - - $this->assertInstanceOf('Docker\Stream\PushStream', $pushImageStream); - - $firstMessage = null; - - $pushImageStream->onFrame(function ($pushImageInfo) use (&$firstMessage): void { - if (null === $firstMessage) { - $firstMessage = $pushImageInfo->getStatus(); - } - }); - $pushImageStream->wait(); - - $this->assertStringContainsString('repository [localhost:5000/test-image]', $firstMessage); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/Resource/SystemResourceTest.php b/app/vendor/beluga-php/docker-php/tests/Resource/SystemResourceTest.php deleted file mode 100644 index fb1badf30..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Resource/SystemResourceTest.php +++ /dev/null @@ -1,41 +0,0 @@ -getManager()->systemEvents([ - 'since' => (string) (time() - 1), - 'until' => (string) (time() + 4), - ]); - - $lastEvent = null; - - $stream->onFrame(function ($event) use (&$lastEvent): void { - $lastEvent = $event; - }); - - self::getDocker()->imageCreate('', [ - 'fromImage' => 'busybox:latest', - ]); - - $stream->wait(); - - $this->assertInstanceOf(EventMessage::class, $lastEvent); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/Resource/script/daemon.sh b/app/vendor/beluga-php/docker-php/tests/Resource/script/daemon.sh deleted file mode 100755 index 8231b1dec..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Resource/script/daemon.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -terminate() { - echo "test" - exit 0 -} - -trap terminate SIGHUP SIGINT SIGTERM - -while true; do - sleep 1000 & wait -done diff --git a/app/vendor/beluga-php/docker-php/tests/Resource/script/kill.sh b/app/vendor/beluga-php/docker-php/tests/Resource/script/kill.sh deleted file mode 100644 index 0b17b0bc4..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Resource/script/kill.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -trap_with_arg() { - func="$1" ; shift - for sig ; do - trap "$func $sig" "$sig" - done -} - -func_trap() { - echo $1 - exit 0 -} - -trap_with_arg func_trap HUP INT TERM EXIT - -while true; do - sleep 1000 & wait -done - diff --git a/app/vendor/beluga-php/docker-php/tests/Stream/MultiJsonStreamTest.php b/app/vendor/beluga-php/docker-php/tests/Stream/MultiJsonStreamTest.php deleted file mode 100644 index e3683e5c3..000000000 --- a/app/vendor/beluga-php/docker-php/tests/Stream/MultiJsonStreamTest.php +++ /dev/null @@ -1,64 +0,0 @@ -rewind(); - - $serializer = $this->getMockBuilder(SerializerInterface::class) - ->getMock(); - - $callIndex = 0; - $serializer - ->expects($this->exactly(\count($jsonParts))) - ->method('deserialize') - ->willReturnCallback(function ($data, $class, $format, $context) use ($jsonParts, &$callIndex) { - $this->assertEquals($jsonParts[$callIndex], $data); - $this->assertEquals(BuildInfo::class, $class); - $this->assertEquals('json', $format); - $this->assertEquals([], $context); - $callIndex++; - return null; - }); - - $stub = $this->getMockForAbstractClass(MultiJsonStream::class, [$stream, $serializer]); - $stub->expects($this->any()) - ->method('getDecodeClass') - ->willReturn('BuildInfo'); - - $stub->wait(); - } -} diff --git a/app/vendor/beluga-php/docker-php/tests/TestCase.php b/app/vendor/beluga-php/docker-php/tests/TestCase.php deleted file mode 100644 index 46097c0fa..000000000 --- a/app/vendor/beluga-php/docker-php/tests/TestCase.php +++ /dev/null @@ -1,21 +0,0 @@ -realpath = realpath($opened_path) ?: $opened_path; - $opened_path = $this->realpath; - $this->handle = fopen($this->realpath, $mode); - $this->position = 0; - - return (bool) $this->handle; - } - - public function stream_read($count) - { - $data = fread($this->handle, $count); - - if ($this->position === 0) { - $data = preg_replace('{^#!.*\r?\n}', '', $data); - } - - $this->position += strlen($data); - - return $data; - } - - public function stream_cast($castAs) - { - return $this->handle; - } - - public function stream_close() - { - fclose($this->handle); - } - - public function stream_lock($operation) - { - return $operation ? flock($this->handle, $operation) : true; - } - - public function stream_seek($offset, $whence) - { - if (0 === fseek($this->handle, $offset, $whence)) { - $this->position = ftell($this->handle); - return true; - } - - return false; - } - - public function stream_tell() - { - return $this->position; - } - - public function stream_eof() - { - return feof($this->handle); - } - - public function stream_stat() - { - return array(); - } - - public function stream_set_option($option, $arg1, $arg2) - { - return true; - } - - public function url_stat($path, $flags) - { - $path = substr($path, 17); - if (file_exists($path)) { - return stat($path); - } - - return false; - } - } - } - - if ( - (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) - || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) - ) { - return include("phpvfscomposer://" . __DIR__ . '/..'.'/symfony/yaml/Resources/bin/yaml-lint'); - } -} - -return include __DIR__ . '/..'.'/symfony/yaml/Resources/bin/yaml-lint'; diff --git a/app/vendor/clue/stream-filter/.github/FUNDING.yml b/app/vendor/clue/stream-filter/.github/FUNDING.yml deleted file mode 100644 index 9c09fb878..000000000 --- a/app/vendor/clue/stream-filter/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -github: clue -custom: https://clue.engineering/support diff --git a/app/vendor/clue/stream-filter/CHANGELOG.md b/app/vendor/clue/stream-filter/CHANGELOG.md deleted file mode 100644 index a2e19638f..000000000 --- a/app/vendor/clue/stream-filter/CHANGELOG.md +++ /dev/null @@ -1,97 +0,0 @@ -# Changelog - -## 1.7.0 (2023-12-20) - -* Feature: Full PHP 8.3 and PHP 8.2 compatibility. - (#51 by @yadaiio and #50 by @clue) - -* Feature / Fix: Improve error reporting when custom error handler is used. - (#47 by @SimonFrings) - -* Improve test suite and ensure 100% code coverage. - (#46 by @SimonFrings, #48 and #50 by @clue and #51 by @yadaiio) - -## 1.6.0 (2022-02-21) - -* Feature: Support PHP 8.1 release. - (#45 by @clue) - -* Improve documentation to use fully-qualified function names. - (#43 by @SimonFrings and #42 by @PaulRotmann) - -* Improve test suite and use GitHub actions for continuous integration (CI). - (#39 and #40 by @SimonFrings) - -## 1.5.0 (2020-10-02) - -* Feature: Improve performance by using global imports. - (#38 by @clue) - -* Improve API documentation and add support / sponsorship info. - (#30 by @clue and #35 by @SimonFrings) - -* Improve test suite and add `.gitattributes` to exclude dev files from exports. - Prepare PHP 8 support, update to PHPUnit 9 and simplify test matrix. - (#32 and #37 by @clue and #34 and #36 by @SimonFrings) - -## 1.4.1 (2019-04-09) - -* Fix: Check if the function is declared before declaring it. - (#23 by @Niko9911) - -* Improve test suite to also test against PHP 7.2 and - add test for base64 encoding and decoding filters. - (#22 by @arubacao and #25 by @Nyholm and @clue) - -## 1.4.0 (2017-08-18) - -* Feature / Fix: The `fun()` function does not pass filter parameter `null` - to underlying `stream_filter_append()` by default - (#15 by @Nyholm) - - Certain filters (such as `convert.quoted-printable-encode`) do not accept - a filter parameter at all. If no explicit filter parameter is given, we no - longer pass a default `null` value. - - ```php - $encode = Filter\fun('convert.quoted-printable-encode'); - assert('t=C3=A4st' === $encode('täst')); - ``` - -* Add examples and improve documentation - (#13 and #20 by @clue and #18 by @Nyholm) - -* Improve test suite by adding PHPUnit to require-dev, - fix HHVM build for now again and ignore future HHVM build errors, - lock Travis distro so new future defaults will not break the build - and test on PHP 7.1 - (#12, #14 and #19 by @clue and #16 by @Nyholm) - -## 1.3.0 (2015-11-08) - -* Feature: Support accessing built-in filters as callbacks - (#5 by @clue) - - ```php - $fun = Filter\fun('zlib.deflate'); - - $ret = $fun('hello') . $fun('world') . $fun(); - assert('helloworld' === gzinflate($ret)); - ``` - -## 1.2.0 (2015-10-23) - -* Feature: Invoke close event when closing filter (flush buffer) - (#9 by @clue) - -## 1.1.0 (2015-10-22) - -* Feature: Abort filter operation when catching an Exception - (#10 by @clue) - -* Feature: Additional safeguards to prevent filter state corruption - (#7 by @clue) - -## 1.0.0 (2015-10-18) - -* First tagged release diff --git a/app/vendor/clue/stream-filter/LICENSE b/app/vendor/clue/stream-filter/LICENSE deleted file mode 100644 index dc09d1e6c..000000000 --- a/app/vendor/clue/stream-filter/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Christian Lück - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/clue/stream-filter/README.md b/app/vendor/clue/stream-filter/README.md deleted file mode 100644 index da1bb0d66..000000000 --- a/app/vendor/clue/stream-filter/README.md +++ /dev/null @@ -1,326 +0,0 @@ -# clue/stream-filter - -[![CI status](https://github.com/clue/stream-filter/actions/workflows/ci.yml/badge.svg)](https://github.com/clue/stream-filter/actions) -[![installs on Packagist](https://img.shields.io/packagist/dt/clue/stream-filter?color=blue&label=installs%20on%20Packagist)](https://packagist.org/packages/clue/stream-filter) - -A simple and modern approach to stream filtering in PHP - -**Table of contents** - -* [Why?](#why) -* [Support us](#support-us) -* [Usage](#usage) - * [append()](#append) - * [prepend()](#prepend) - * [fun()](#fun) - * [remove()](#remove) -* [Install](#install) -* [Tests](#tests) -* [License](#license) - -## Why? - -PHP's stream filtering system is great! - -It offers very powerful stream filtering options and comes with a useful set of built-in filters. -These filters can be used to easily and efficiently perform various transformations on-the-fly, such as: - -* read from a gzip'ed input file, -* transcode from ISO-8859-1 (Latin1) to UTF-8, -* write to a bzip output file -* and much more. - -But let's face it: -Its API is [*difficult to work with*](https://www.php.net/manual/en/php-user-filter.filter.php) -and its documentation is [*subpar*](https://stackoverflow.com/questions/27103269/what-is-a-bucket-brigade). -This combined means its powerful features are often neglected. - -This project aims to make these features more accessible to a broader audience. -* **Lightweight, SOLID design** - - Provides a thin abstraction that is [*just good enough*](https://en.wikipedia.org/wiki/Principle_of_good_enough) - and does not get in your way. - Custom filters require trivial effort. -* **Good test coverage** - - Comes with an automated tests suite and is regularly tested in the *real world* - -## Support us - -We invest a lot of time developing, maintaining and updating our awesome -open-source projects. You can help us sustain this high-quality of our work by -[becoming a sponsor on GitHub](https://github.com/sponsors/clue). Sponsors get -numerous benefits in return, see our [sponsoring page](https://github.com/sponsors/clue) -for details. - -Let's take these projects to the next level together! 🚀 - -## Usage - -This lightweight library consists only of a few simple functions. -All functions reside under the `Clue\StreamFilter` namespace. - -The below examples refer to all functions with their fully-qualified names like this: - -```php -Clue\StreamFilter\append(…); -``` - -As of PHP 5.6+ you can also import each required function into your code like this: - -```php -use function Clue\StreamFilter\append; - -append(…); -``` - -Alternatively, you can also use an import statement similar to this: - -```php -use Clue\StreamFilter as Filter; - -Filter\append(…); -``` - -### append() - -The `append(resource $stream, callable $callback, int $read_write = STREAM_FILTER_ALL): resource` function can be used to -append a filter callback to the given stream. - -Each stream can have a list of filters attached. -This function appends a filter to the end of this list. - -If the given filter can not be added, it throws an `Exception`. - -The `$stream` can be any valid stream resource, such as: - -```php -$stream = fopen('demo.txt', 'w+'); -``` - -The `$callback` should be a valid callable function which accepts -an individual chunk of data and should return the updated chunk: - -```php -$filter = Clue\StreamFilter\append($stream, function ($chunk) { - // will be called each time you read or write a $chunk to/from the stream - return $chunk; -}); -``` - -As such, you can also use native PHP functions or any other `callable`: - -```php -Clue\StreamFilter\append($stream, 'strtoupper'); - -// will write "HELLO" to the underlying stream -fwrite($stream, 'hello'); -``` - -If the `$callback` accepts invocation without parameters, -then this signature will be invoked once ending (flushing) the filter: - -```php -Clue\StreamFilter\append($stream, function ($chunk = null) { - if ($chunk === null) { - // will be called once ending the filter - return 'end'; - } - // will be called each time you read or write a $chunk to/from the stream - return $chunk; -}); - -fclose($stream); -``` - -> Note: Legacy PHP versions (PHP < 5.4) do not support passing additional data -from the end signal handler if the stream is being closed. - -If your callback throws an `Exception`, then the filter process will be aborted. -In order to play nice with PHP's stream handling, -the `Exception` will be transformed to a PHP warning instead: - -```php -Clue\StreamFilter\append($stream, function ($chunk) { - throw new \RuntimeException('Unexpected chunk'); -}); - -// raises an E_USER_WARNING with "Error invoking filter: Unexpected chunk" -fwrite($stream, 'hello'); -``` - -The optional `$read_write` parameter can be used to only invoke the `$callback` -when either writing to the stream or only when reading from the stream: - -```php -Clue\StreamFilter\append($stream, function ($chunk) { - // will be called each time you write to the stream - return $chunk; -}, STREAM_FILTER_WRITE); - -Clue\StreamFilter\append($stream, function ($chunk) { - // will be called each time you read from the stream - return $chunk; -}, STREAM_FILTER_READ); -``` - -This function returns a filter resource which can be passed to [`remove()`](#remove). - -> Note that once a filter has been added to stream, the stream can no longer be passed to -> [`stream_select()`](https://www.php.net/manual/en/function.stream-select.php) -> (and family). -> -> > Warning: stream_select(): cannot cast a filtered stream on this system in {file} on line {line} -> -> This is due to limitations of PHP's stream filter support, as it can no longer reliably -> tell when the underlying stream resource is actually ready. -> As an alternative, consider calling `stream_select()` on the unfiltered stream and -> then pass the unfiltered data through the [`fun()`](#fun) function. - -### prepend() - -The `prepend(resource $stream, callable $callback, int $read_write = STREAM_FILTER_ALL): resource` function can be used to -prepend a filter callback to the given stream. - -Each stream can have a list of filters attached. -This function prepends a filter to the start of this list. - -If the given filter can not be added, it throws an `Exception`. - -```php -$filter = Clue\StreamFilter\prepend($stream, function ($chunk) { - // will be called each time you read or write a $chunk to/from the stream - return $chunk; -}); -``` - -This function returns a filter resource which can be passed to [`remove()`](#remove). - -Except for the position in the list of filters, this function behaves exactly -like the [`append()`](#append) function. -For more details about its behavior, see also the [`append()`](#append) function. - -### fun() - -The `fun(string $filter, mixed $parameters = null): callable` function can be used to -create a filter function which uses the given built-in `$filter`. - -PHP comes with a useful set of [built-in filters](https://www.php.net/manual/en/filters.php). -Using `fun()` makes accessing these as easy as passing an input string to filter -and getting the filtered output string. - -```php -$fun = Clue\StreamFilter\fun('string.rot13'); - -assert('grfg' === $fun('test')); -assert('test' === $fun($fun('test')); -``` - -Please note that not all filter functions may be available depending -on installed PHP extensions and the PHP version in use. -In particular, [HHVM](https://hhvm.com/) may not offer the same filter functions -or parameters as Zend PHP. -Accessing an unknown filter function will result in a `RuntimeException`: - -```php -Clue\StreamFilter\fun('unknown'); // throws RuntimeException -``` - -Some filters may accept or require additional filter parameters – most -filters do not require filter parameters. -If given, the optional `$parameters` argument will be passed to the -underlying filter handler as-is. -In particular, note how *not passing* this parameter at all differs from -explicitly passing a `null` value (which many filters do not accept). -Please refer to the individual filter definition for more details. -For example, the `string.strip_tags` filter can be invoked like this: - -```php -$fun = Clue\StreamFilter\fun('string.strip_tags', ''); - -$ret = $fun('h
i
'); -assert('hi' === $ret); -``` - -Under the hood, this function allocates a temporary memory stream, so it's -recommended to clean up the filter function after use. -Also, some filter functions (in particular the -[zlib compression filters](https://www.php.net/manual/en/filters.compression.php)) -may use internal buffers and may emit a final data chunk on close. -The filter function can be closed by invoking without any arguments: - -```php -$fun = Clue\StreamFilter\fun('zlib.deflate'); - -$ret = $fun('hello') . $fun('world') . $fun(); -assert('helloworld' === gzinflate($ret)); -``` - -The filter function must not be used anymore after it has been closed. -Doing so will result in a `RuntimeException`: - -```php -$fun = Clue\StreamFilter\fun('string.rot13'); -$fun(); - -$fun('test'); // throws RuntimeException -``` - -> Note: If you're using the zlib compression filters, then you should be wary -about engine inconsistencies between different PHP versions and HHVM. -These inconsistencies exist in the underlying PHP engines and there's little we -can do about this in this library. -[Our test suite](tests/) contains several test cases that exhibit these issues. -If you feel some test case is missing or outdated, we're happy to accept PRs! :) - -### remove() - -The `remove(resource $filter): bool` function can be used to -remove a filter previously added via [`append()`](#append) or [`prepend()`](#prepend). - -```php -$filter = Clue\StreamFilter\append($stream, function () { - // … -}); -Clue\StreamFilter\remove($filter); -``` - -## Install - -The recommended way to install this library is [through Composer](https://getcomposer.org/). -[New to Composer?](https://getcomposer.org/doc/00-intro.md) - -This project follows [SemVer](https://semver.org/). -This will install the latest supported version: - -```bash -$ composer require clue/stream-filter:^1.7 -``` - -See also the [CHANGELOG](CHANGELOG.md) for details about version upgrades. - -This project aims to run on any platform and thus does not require any PHP -extensions and supports running on legacy PHP 5.3 through current PHP 8+ and -HHVM. -It's *highly recommended to use the latest supported PHP version* for this project. -Older PHP versions may suffer from a number of inconsistencies documented above. - -## Tests - -To run the test suite, you first need to clone this repo and then install all -dependencies [through Composer](https://getcomposer.org/): - -```bash -$ composer install -``` - -To run the test suite, go to the project root and run: - -```bash -$ vendor/bin/phpunit -``` - -## License - -This project is released under the permissive [MIT license](LICENSE). - -> Did you know that I offer custom development services and issuing invoices for - sponsorships of releases and for contributions? Contact me (@clue) for details. diff --git a/app/vendor/clue/stream-filter/composer.json b/app/vendor/clue/stream-filter/composer.json deleted file mode 100644 index 2e744568c..000000000 --- a/app/vendor/clue/stream-filter/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "clue/stream-filter", - "description": "A simple and modern approach to stream filtering in PHP", - "keywords": ["stream", "callback", "filter", "php_user_filter", "stream_filter_append", "stream_filter_register", "bucket brigade"], - "homepage": "https://github.com/clue/stream-filter", - "license": "MIT", - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering" - } - ], - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "autoload": { - "psr-4": { - "Clue\\StreamFilter\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "autoload-dev": { - "psr-4": { - "Clue\\Tests\\StreamFilter\\": "tests/" - } - } -} diff --git a/app/vendor/clue/stream-filter/src/CallbackFilter.php b/app/vendor/clue/stream-filter/src/CallbackFilter.php deleted file mode 100644 index a667fe68b..000000000 --- a/app/vendor/clue/stream-filter/src/CallbackFilter.php +++ /dev/null @@ -1,120 +0,0 @@ -closed = false; - - if (!\is_callable($this->params)) { - throw new \InvalidArgumentException('No valid callback parameter given to stream_filter_(append|prepend)'); - } - $this->callback = $this->params; - - // callback supports end event if it accepts invocation without arguments - $ref = new \ReflectionFunction($this->callback); - $this->supportsClose = ($ref->getNumberOfRequiredParameters() === 0); - - return true; - } - - /** @return void */ - #[\ReturnTypeWillChange] - public function onClose() - { - $this->closed = true; - - // callback supports closing and is not already closed - if ($this->supportsClose) { - $this->supportsClose = false; - // invoke without argument to signal end and discard resulting buffer - try { - \call_user_func($this->callback); - } catch (\Exception $ignored) { - // this might be called during engine shutdown, so it's not safe - // to raise any errors or exceptions here - // trigger_error('Error closing filter: ' . $ignored->getMessage(), E_USER_WARNING); - } - } - - $this->callback = null; - } - - /** @return int */ - #[\ReturnTypeWillChange] - public function filter($in, $out, &$consumed, $closing) - { - // concatenate whole buffer from input brigade - $data = ''; - while ($bucket = \stream_bucket_make_writeable($in)) { - $consumed += $bucket->datalen; - $data .= $bucket->data; - } - - // skip processing callback that already ended - if ($this->closed) { - return \PSFS_FEED_ME; - } - - // only invoke filter function if buffer is not empty - // this may skip flushing a closing filter - if ($data !== '') { - try { - $data = \call_user_func($this->callback, $data); - } catch (\Exception $e) { - // exception should mark filter as closed - $this->onClose(); - \trigger_error('Error invoking filter: ' . $e->getMessage(), \E_USER_WARNING); - - return \PSFS_ERR_FATAL; - } - } - - // mark filter as closed after processing closing chunk - if ($closing) { - $this->closed = true; - - // callback supports closing and is not already closed - if ($this->supportsClose) { - $this->supportsClose = false; - - // invoke without argument to signal end and append resulting buffer - try { - $data .= \call_user_func($this->callback); - } catch (\Exception $e) { - \trigger_error('Error ending filter: ' . $e->getMessage(), \E_USER_WARNING); - - return \PSFS_ERR_FATAL; - } - } - } - - if ($data !== '') { - // create a new bucket for writing the resulting buffer to the output brigade - // reusing an existing bucket turned out to be bugged in some environments (ancient PHP versions and HHVM) - $bucket = @\stream_bucket_new($this->stream, $data); - - // legacy PHP versions (PHP < 5.4) do not support passing data from the event signal handler - // because closing the stream invalidates the stream and its stream bucket brigade before - // invoking the filter close handler. - if ($bucket !== false) { - \stream_bucket_append($out, $bucket); - } - } - - return \PSFS_PASS_ON; - } -} diff --git a/app/vendor/clue/stream-filter/src/functions.php b/app/vendor/clue/stream-filter/src/functions.php deleted file mode 100644 index 865f6b94b..000000000 --- a/app/vendor/clue/stream-filter/src/functions.php +++ /dev/null @@ -1,380 +0,0 @@ - Note: Legacy PHP versions (PHP < 5.4) do not support passing additional data - * from the end signal handler if the stream is being closed. - * - * If your callback throws an `Exception`, then the filter process will be aborted. - * In order to play nice with PHP's stream handling, - * the `Exception` will be transformed to a PHP warning instead: - * - * ```php - * Clue\StreamFilter\append($stream, function ($chunk) { - * throw new \RuntimeException('Unexpected chunk'); - * }); - * - * // raises an E_USER_WARNING with "Error invoking filter: Unexpected chunk" - * fwrite($stream, 'hello'); - * ``` - * - * The optional `$read_write` parameter can be used to only invoke the `$callback` - * when either writing to the stream or only when reading from the stream: - * - * ```php - * Clue\StreamFilter\append($stream, function ($chunk) { - * // will be called each time you write to the stream - * return $chunk; - * }, STREAM_FILTER_WRITE); - * - * Clue\StreamFilter\append($stream, function ($chunk) { - * // will be called each time you read from the stream - * return $chunk; - * }, STREAM_FILTER_READ); - * ``` - * - * This function returns a filter resource which can be passed to [`remove()`](#remove). - * - * > Note that once a filter has been added to stream, the stream can no longer be passed to - * > [`stream_select()`](https://www.php.net/manual/en/function.stream-select.php) - * > (and family). - * > - * > > Warning: stream_select(): cannot cast a filtered stream on this system in {file} on line {line} - * > - * > This is due to limitations of PHP's stream filter support, as it can no longer reliably - * > tell when the underlying stream resource is actually ready. - * > As an alternative, consider calling `stream_select()` on the unfiltered stream and - * > then pass the unfiltered data through the [`fun()`](#fun) function. - * - * @param resource $stream - * @param callable $callback - * @param int $read_write - * @return resource filter resource which can be used for `remove()` - * @throws \Exception on error - * @uses stream_filter_append() - */ -function append($stream, $callback, $read_write = STREAM_FILTER_ALL) -{ - $errstr = ''; - \set_error_handler(function ($_, $error) use (&$errstr) { - // Match errstr from PHP's warning message. - // stream_filter_append() expects parameter 1 to be resource,... - $errstr = $error; // @codeCoverageIgnore - }); - - try { - $ret = \stream_filter_append($stream, register(), $read_write, $callback); - } catch (\TypeError $e) { // @codeCoverageIgnoreStart - // Throws TypeError on PHP 8.0+ - \restore_error_handler(); - throw $e; - } // @codeCoverageIgnoreEnd - - \restore_error_handler(); - - // PHP 8 throws above on type errors, older PHP and memory issues can throw here - // @codeCoverageIgnoreStart - if ($ret === false) { - throw new \RuntimeException('Unable to append filter: ' . $errstr); - } - // @codeCoverageIgnoreEnd - - return $ret; -} - -/** - * Prepend a filter callback to the given stream. - * - * Each stream can have a list of filters attached. - * This function prepends a filter to the start of this list. - * - * If the given filter can not be added, it throws an `Exception`. - * - * ```php - * $filter = Clue\StreamFilter\prepend($stream, function ($chunk) { - * // will be called each time you read or write a $chunk to/from the stream - * return $chunk; - * }); - * ``` - * - * This function returns a filter resource which can be passed to [`remove()`](#remove). - * - * Except for the position in the list of filters, this function behaves exactly - * like the [`append()`](#append) function. - * For more details about its behavior, see also the [`append()`](#append) function. - * - * @param resource $stream - * @param callable $callback - * @param int $read_write - * @return resource filter resource which can be used for `remove()` - * @throws \Exception on error - * @uses stream_filter_prepend() - */ -function prepend($stream, $callback, $read_write = STREAM_FILTER_ALL) -{ - $errstr = ''; - \set_error_handler(function ($_, $error) use (&$errstr) { - // Match errstr from PHP's warning message. - // stream_filter_prepend() expects parameter 1 to be resource,... - $errstr = $error; // @codeCoverageIgnore - }); - - try { - $ret = \stream_filter_prepend($stream, register(), $read_write, $callback); - } catch (\TypeError $e) { // @codeCoverageIgnoreStart - // Throws TypeError on PHP 8.0+ - \restore_error_handler(); - throw $e; - } // @codeCoverageIgnoreEnd - - \restore_error_handler(); - - // PHP 8 throws above on type errors, older PHP and memory issues can throw here - // @codeCoverageIgnoreStart - if ($ret === false) { - throw new \RuntimeException('Unable to prepend filter: ' . $errstr); - } - // @codeCoverageIgnoreEnd - - return $ret; -} - -/** - * Create a filter function which uses the given built-in `$filter`. - * - * PHP comes with a useful set of [built-in filters](https://www.php.net/manual/en/filters.php). - * Using `fun()` makes accessing these as easy as passing an input string to filter - * and getting the filtered output string. - * - * ```php - * $fun = Clue\StreamFilter\fun('string.rot13'); - * - * assert('grfg' === $fun('test')); - * assert('test' === $fun($fun('test')); - * ``` - * - * Please note that not all filter functions may be available depending - * on installed PHP extensions and the PHP version in use. - * In particular, [HHVM](https://hhvm.com/) may not offer the same filter functions - * or parameters as Zend PHP. - * Accessing an unknown filter function will result in a `RuntimeException`: - * - * ```php - * Clue\StreamFilter\fun('unknown'); // throws RuntimeException - * ``` - * - * Some filters may accept or require additional filter parameters – most - * filters do not require filter parameters. - * If given, the optional `$parameters` argument will be passed to the - * underlying filter handler as-is. - * In particular, note how *not passing* this parameter at all differs from - * explicitly passing a `null` value (which many filters do not accept). - * Please refer to the individual filter definition for more details. - * For example, the `string.strip_tags` filter can be invoked like this: - * - * ```php - * $fun = Clue\StreamFilter\fun('string.strip_tags', '
'); - * - * $ret = $fun('h
i
'); - * assert('hi' === $ret); - * ``` - * - * Under the hood, this function allocates a temporary memory stream, so it's - * recommended to clean up the filter function after use. - * Also, some filter functions (in particular the - * [zlib compression filters](https://www.php.net/manual/en/filters.compression.php)) - * may use internal buffers and may emit a final data chunk on close. - * The filter function can be closed by invoking without any arguments: - * - * ```php - * $fun = Clue\StreamFilter\fun('zlib.deflate'); - * - * $ret = $fun('hello') . $fun('world') . $fun(); - * assert('helloworld' === gzinflate($ret)); - * ``` - * - * The filter function must not be used anymore after it has been closed. - * Doing so will result in a `RuntimeException`: - * - * ```php - * $fun = Clue\StreamFilter\fun('string.rot13'); - * $fun(); - * - * $fun('test'); // throws RuntimeException - * ``` - * - * > Note: If you're using the zlib compression filters, then you should be wary - * about engine inconsistencies between different PHP versions and HHVM. - * These inconsistencies exist in the underlying PHP engines and there's little we - * can do about this in this library. - * [Our test suite](tests/) contains several test cases that exhibit these issues. - * If you feel some test case is missing or outdated, we're happy to accept PRs! :) - * - * @param string $filter built-in filter name. See stream_get_filters() or http://php.net/manual/en/filters.php - * @param mixed $parameters (optional) parameters to pass to the built-in filter as-is - * @return callable a filter callback which can be append()'ed or prepend()'ed - * @throws \RuntimeException on error - * @link http://php.net/manual/en/filters.php - * @see stream_get_filters() - * @see append() - */ -function fun($filter, $parameters = null) -{ - $fp = \fopen('php://memory', 'w'); - - $errstr = ''; - \set_error_handler(function ($_, $error) use (&$errstr) { - // Match errstr from PHP's warning message. - // stream_filter_append() expects parameter 1 to be resource,... - $errstr = $error; - }); - - if (\func_num_args() === 1) { - $filter = \stream_filter_append($fp, $filter, \STREAM_FILTER_WRITE); - } else { - $filter = \stream_filter_append($fp, $filter, \STREAM_FILTER_WRITE, $parameters); - } - - \restore_error_handler(); - - if ($filter === false) { - \fclose($fp); - throw new \RuntimeException('Unable to access built-in filter: ' . $errstr); - } - - // append filter function which buffers internally - $buffer = ''; - append($fp, function ($chunk) use (&$buffer) { - $buffer .= $chunk; - - // always return empty string in order to skip actually writing to stream resource - return ''; - }, \STREAM_FILTER_WRITE); - - $closed = false; - - return function ($chunk = null) use ($fp, $filter, &$buffer, &$closed) { - if ($closed) { - throw new \RuntimeException('Unable to perform operation on closed stream'); - } - if ($chunk === null) { - $closed = true; - $buffer = ''; - \fclose($fp); - return $buffer; - } - // initialize buffer and invoke filters by attempting to write to stream - $buffer = ''; - \fwrite($fp, $chunk); - - // buffer now contains everything the filter function returned - return $buffer; - }; -} - -/** - * Remove a filter previously added via `append()` or `prepend()`. - * - * ```php - * $filter = Clue\StreamFilter\append($stream, function () { - * // … - * }); - * Clue\StreamFilter\remove($filter); - * ``` - * - * @param resource $filter - * @return bool true on success or false on error - * @throws \RuntimeException on error - * @uses stream_filter_remove() - */ -function remove($filter) -{ - $errstr = ''; - \set_error_handler(function ($_, $error) use (&$errstr) { - // Match errstr from PHP's warning message. - // stream_filter_remove() expects parameter 1 to be resource,... - $errstr = $error; - }); - - try { - $ret = \stream_filter_remove($filter); - } catch (\TypeError $e) { // @codeCoverageIgnoreStart - // Throws TypeError on PHP 8.0+ - \restore_error_handler(); - throw $e; - } // @codeCoverageIgnoreEnd - - \restore_error_handler(); - - if ($ret === false) { - // PHP 8 throws above on type errors, older PHP and memory issues can throw here - throw new \RuntimeException('Unable to remove filter: ' . $errstr); - } -} - -/** - * Registers the callback filter and returns the resulting filter name - * - * There should be little reason to call this function manually. - * - * @return string filter name - * @uses CallbackFilter - */ -function register() -{ - static $registered = null; - if ($registered === null) { - $registered = 'stream-callback'; - \stream_filter_register($registered, __NAMESPACE__ . '\CallbackFilter'); - } - return $registered; -} diff --git a/app/vendor/clue/stream-filter/src/functions_include.php b/app/vendor/clue/stream-filter/src/functions_include.php deleted file mode 100644 index 198b45f0a..000000000 --- a/app/vendor/clue/stream-filter/src/functions_include.php +++ /dev/null @@ -1,9 +0,0 @@ - $vendorDir . '/sebastian/type/src/type/UnknownType.php', 'SebastianBergmann\\Type\\VoidType' => $vendorDir . '/sebastian/type/src/type/VoidType.php', 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php', - 'Stringable' => $vendorDir . '/marc-mabe/php-enum/stubs/Stringable.php', + 'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php', 'TheSeer\\Tokenizer\\Exception' => $vendorDir . '/theseer/tokenizer/src/Exception.php', 'TheSeer\\Tokenizer\\NamespaceUri' => $vendorDir . '/theseer/tokenizer/src/NamespaceUri.php', 'TheSeer\\Tokenizer\\NamespaceUriException' => $vendorDir . '/theseer/tokenizer/src/NamespaceUriException.php', diff --git a/app/vendor/composer/autoload_files.php b/app/vendor/composer/autoload_files.php index 7450e2634..008da54e3 100644 --- a/app/vendor/composer/autoload_files.php +++ b/app/vendor/composer/autoload_files.php @@ -7,12 +7,8 @@ return array( '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', - '9d2b9fc6db0f153a0a149fefb182415e' => $vendorDir . '/symfony/polyfill-php84/bootstrap.php', - 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', - '9c67151ae59aff4788964ce8eb2a0f43' => $vendorDir . '/clue/stream-filter/src/functions_include.php', - '8cff32064859f4559445b89279f3199c' => $vendorDir . '/php-http/message/src/filters.php', + '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', '89efb1254ef2d1c5d80096acd12c4098' => $vendorDir . '/twig/twig/src/Resources/core.php', 'ffecb95d45175fd40f75be8a23b34f90' => $vendorDir . '/twig/twig/src/Resources/debug.php', 'c7baa00073ee9c61edf148c51917cfb4' => $vendorDir . '/twig/twig/src/Resources/escaper.php', @@ -27,7 +23,6 @@ 'b6c2870932b0250c10334a86dcb33c7f' => $vendorDir . '/laminas/laminas-diactoros/src/functions/normalize_uploaded_files.php', 'd02cf21124526632320d6f20b1bbf905' => $vendorDir . '/laminas/laminas-diactoros/src/functions/parse_cookie_header.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php', - '662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php', 'c720f792236cd163ece8049879166850' => $vendorDir . '/cakephp/cakephp/src/Core/functions.php', '06fc40915d53316d595f94210944bc16' => $vendorDir . '/cakephp/cakephp/src/Error/functions.php', 'ede59e3a405fb689cd1cebb7bb1db3fb' => $vendorDir . '/cakephp/cakephp/src/Collection/functions.php', @@ -37,9 +32,12 @@ 'b1fc73705e1bec51cd2b20a32cf1c60a' => $vendorDir . '/cakephp/cakephp/src/Utility/bootstrap.php', 'ad155f8f1cf0d418fe49e248db8c661b' => $vendorDir . '/react/promise/src/functions_include.php', '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', + 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php', + '9d2b9fc6db0f153a0a149fefb182415e' => $vendorDir . '/symfony/polyfill-php84/bootstrap.php', 'f278094c42a52b6bff77f375d59c1278' => $vendorDir . '/twig/markdown-extra/Resources/functions.php', '6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', + '662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php', '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', 'ec07570ca5a812141189b1fa81503674' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert/Functions.php', '801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php', diff --git a/app/vendor/composer/autoload_namespaces.php b/app/vendor/composer/autoload_namespaces.php index cc4833cc9..38c8749d3 100644 --- a/app/vendor/composer/autoload_namespaces.php +++ b/app/vendor/composer/autoload_namespaces.php @@ -7,5 +7,4 @@ return array( 'josegonzalez\\Dotenv' => array($vendorDir . '/josegonzalez/dotenv/src', $vendorDir . '/josegonzalez/dotenv/tests'), - 'Rs\\Json' => array($vendorDir . '/php-jsonpointer/php-jsonpointer/src'), ); diff --git a/app/vendor/composer/autoload_psr4.php b/app/vendor/composer/autoload_psr4.php index c5744ea33..7f9dda3f3 100644 --- a/app/vendor/composer/autoload_psr4.php +++ b/app/vendor/composer/autoload_psr4.php @@ -8,7 +8,6 @@ return array( 'Twig\\Extra\\Markdown\\' => array($vendorDir . '/twig/markdown-extra'), 'Twig\\' => array($vendorDir . '/twig/twig/src'), - 'Testcontainers\\' => array($vendorDir . '/testcontainers/testcontainers/src'), 'TermsAgreer\\Test\\' => array($baseDir . '/plugins/TermsAgreer/tests'), 'TermsAgreer\\' => array($baseDir . '/plugins/TermsAgreer/src'), 'Symfony\\Polyfill\\Php84\\' => array($vendorDir . '/symfony/polyfill-php84'), @@ -20,16 +19,11 @@ 'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'), 'Symfony\\Polyfill\\Intl\\Grapheme\\' => array($vendorDir . '/symfony/polyfill-intl-grapheme'), 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), - 'Symfony\\Contracts\\Translation\\' => array($vendorDir . '/symfony/translation-contracts'), 'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'), 'Symfony\\Contracts\\HttpClient\\' => array($vendorDir . '/symfony/http-client-contracts'), - 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), 'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'), - 'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'), 'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'), - 'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'), 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), - 'Symfony\\Component\\OptionsResolver\\' => array($vendorDir . '/symfony/options-resolver'), 'Symfony\\Component\\HttpClient\\' => array($vendorDir . '/symfony/http-client'), 'Symfony\\Component\\HtmlSanitizer\\' => array($vendorDir . '/symfony/html-sanitizer'), 'Symfony\\Component\\Finder\\' => array($vendorDir . '/symfony/finder'), @@ -64,7 +58,6 @@ 'PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => array($vendorDir . '/dealerdirect/phpcodesniffer-composer-installer/src'), 'OrcidSource\\Test\\' => array($baseDir . '/plugins/OrcidSource/tests'), 'OrcidSource\\' => array($baseDir . '/plugins/OrcidSource/src'), - 'Nyholm\\Psr7\\' => array($vendorDir . '/nyholm/psr7/src'), 'Migrations\\' => array($vendorDir . '/cakephp/migrations/src'), 'Masterminds\\' => array($vendorDir . '/masterminds/html5/src'), 'MabeEnum\\' => array($vendorDir . '/marc-mabe/php-enum/src'), @@ -77,15 +70,6 @@ 'KerberosConnector\\' => array($baseDir . '/availableplugins/KerberosConnector/src'), 'JsonSchema\\' => array($vendorDir . '/justinrainbow/json-schema/src/JsonSchema'), 'Jasny\\Twig\\' => array($vendorDir . '/jasny/twig-extensions/src'), - 'Jane\\Component\\OpenApiRuntime\\' => array($vendorDir . '/jane-php/open-api-runtime'), - 'Jane\\Component\\JsonSchemaRuntime\\' => array($vendorDir . '/jane-php/json-schema-runtime'), - 'Http\\Promise\\' => array($vendorDir . '/php-http/promise/src'), - 'Http\\Message\\MultipartStream\\' => array($vendorDir . '/php-http/multipart-stream-builder/src'), - 'Http\\Message\\' => array($vendorDir . '/php-http/message/src'), - 'Http\\Discovery\\' => array($vendorDir . '/php-http/discovery/src'), - 'Http\\Client\\Socket\\' => array($vendorDir . '/php-http/socket-client/src'), - 'Http\\Client\\Common\\' => array($vendorDir . '/php-http/client-common/src'), - 'Http\\Client\\' => array($vendorDir . '/php-http/httplug/src'), 'FileConnector\\Test\\' => array($baseDir . '/availableplugins/FileConnector/tests'), 'FileConnector\\' => array($baseDir . '/availableplugins/FileConnector/src'), 'EnvSource\\Test\\' => array($baseDir . '/plugins/EnvSource/tests'), @@ -94,8 +78,6 @@ 'Doctrine\\Deprecations\\' => array($vendorDir . '/doctrine/deprecations/src'), 'Doctrine\\DBAL\\' => array($vendorDir . '/doctrine/dbal/src'), 'Doctrine\\Common\\' => array($vendorDir . '/doctrine/event-manager/src'), - 'Docker\\API\\' => array($vendorDir . '/beluga-php/docker-php-api/src'), - 'Docker\\' => array($vendorDir . '/beluga-php/docker-php/src'), 'Detection\\' => array($vendorDir . '/mobiledetect/mobiledetectlib/src'), 'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'), 'DebugKit\\' => array($vendorDir . '/cakephp/debug_kit/src'), @@ -117,7 +99,6 @@ 'Composer\\ClassMapGenerator\\' => array($vendorDir . '/composer/class-map-generator/src'), 'Composer\\CaBundle\\' => array($vendorDir . '/composer/ca-bundle/src'), 'Composer\\' => array($vendorDir . '/composer/composer/src/Composer'), - 'Clue\\StreamFilter\\' => array($vendorDir . '/clue/stream-filter/src'), 'Cake\\TwigView\\' => array($vendorDir . '/cakephp/twig-view/src'), 'Cake\\Test\\' => array($vendorDir . '/cakephp/cakephp/tests'), 'Cake\\Composer\\' => array($vendorDir . '/cakephp/plugin-installer/src'), diff --git a/app/vendor/composer/autoload_static.php b/app/vendor/composer/autoload_static.php index 622e557bf..b1b0a4d49 100644 --- a/app/vendor/composer/autoload_static.php +++ b/app/vendor/composer/autoload_static.php @@ -8,12 +8,8 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e { public static $files = array ( '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', - '9d2b9fc6db0f153a0a149fefb182415e' => __DIR__ . '/..' . '/symfony/polyfill-php84/bootstrap.php', - 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', - '9c67151ae59aff4788964ce8eb2a0f43' => __DIR__ . '/..' . '/clue/stream-filter/src/functions_include.php', - '8cff32064859f4559445b89279f3199c' => __DIR__ . '/..' . '/php-http/message/src/filters.php', + '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', '89efb1254ef2d1c5d80096acd12c4098' => __DIR__ . '/..' . '/twig/twig/src/Resources/core.php', 'ffecb95d45175fd40f75be8a23b34f90' => __DIR__ . '/..' . '/twig/twig/src/Resources/debug.php', 'c7baa00073ee9c61edf148c51917cfb4' => __DIR__ . '/..' . '/twig/twig/src/Resources/escaper.php', @@ -28,7 +24,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e 'b6c2870932b0250c10334a86dcb33c7f' => __DIR__ . '/..' . '/laminas/laminas-diactoros/src/functions/normalize_uploaded_files.php', 'd02cf21124526632320d6f20b1bbf905' => __DIR__ . '/..' . '/laminas/laminas-diactoros/src/functions/parse_cookie_header.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php', - '662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php', 'c720f792236cd163ece8049879166850' => __DIR__ . '/..' . '/cakephp/cakephp/src/Core/functions.php', '06fc40915d53316d595f94210944bc16' => __DIR__ . '/..' . '/cakephp/cakephp/src/Error/functions.php', 'ede59e3a405fb689cd1cebb7bb1db3fb' => __DIR__ . '/..' . '/cakephp/cakephp/src/Collection/functions.php', @@ -38,9 +33,12 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e 'b1fc73705e1bec51cd2b20a32cf1c60a' => __DIR__ . '/..' . '/cakephp/cakephp/src/Utility/bootstrap.php', 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', + 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php', + '9d2b9fc6db0f153a0a149fefb182415e' => __DIR__ . '/..' . '/symfony/polyfill-php84/bootstrap.php', 'f278094c42a52b6bff77f375d59c1278' => __DIR__ . '/..' . '/twig/markdown-extra/Resources/functions.php', '6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', + '662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php', '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', 'ec07570ca5a812141189b1fa81503674' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert/Functions.php', '801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php', @@ -51,7 +49,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 'Twig\\Extra\\Markdown\\' => 20, 'Twig\\' => 5, - 'Testcontainers\\' => 15, 'TermsAgreer\\Test\\' => 17, 'TermsAgreer\\' => 12, ), @@ -66,16 +63,11 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e 'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33, 'Symfony\\Polyfill\\Intl\\Grapheme\\' => 31, 'Symfony\\Polyfill\\Ctype\\' => 23, - 'Symfony\\Contracts\\Translation\\' => 30, 'Symfony\\Contracts\\Service\\' => 26, 'Symfony\\Contracts\\HttpClient\\' => 29, - 'Symfony\\Component\\Yaml\\' => 23, 'Symfony\\Component\\VarDumper\\' => 28, - 'Symfony\\Component\\Validator\\' => 28, 'Symfony\\Component\\String\\' => 25, - 'Symfony\\Component\\Serializer\\' => 29, 'Symfony\\Component\\Process\\' => 26, - 'Symfony\\Component\\OptionsResolver\\' => 34, 'Symfony\\Component\\HttpClient\\' => 29, 'Symfony\\Component\\HtmlSanitizer\\' => 32, 'Symfony\\Component\\Finder\\' => 25, @@ -120,10 +112,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e 'OrcidSource\\Test\\' => 17, 'OrcidSource\\' => 12, ), - 'N' => - array ( - 'Nyholm\\Psr7\\' => 12, - ), 'M' => array ( 'Migrations\\' => 11, @@ -147,18 +135,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 'JsonSchema\\' => 11, 'Jasny\\Twig\\' => 11, - 'Jane\\Component\\OpenApiRuntime\\' => 30, - 'Jane\\Component\\JsonSchemaRuntime\\' => 33, - ), - 'H' => - array ( - 'Http\\Promise\\' => 13, - 'Http\\Message\\MultipartStream\\' => 29, - 'Http\\Message\\' => 13, - 'Http\\Discovery\\' => 15, - 'Http\\Client\\Socket\\' => 19, - 'Http\\Client\\Common\\' => 19, - 'Http\\Client\\' => 12, ), 'F' => array ( @@ -176,8 +152,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e 'Doctrine\\Deprecations\\' => 22, 'Doctrine\\DBAL\\' => 14, 'Doctrine\\Common\\' => 16, - 'Docker\\API\\' => 11, - 'Docker\\' => 7, 'Detection\\' => 10, 'DeepCopy\\' => 9, 'DebugKit\\' => 9, @@ -202,7 +176,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e 'Composer\\ClassMapGenerator\\' => 27, 'Composer\\CaBundle\\' => 18, 'Composer\\' => 9, - 'Clue\\StreamFilter\\' => 18, 'Cake\\TwigView\\' => 14, 'Cake\\Test\\' => 10, 'Cake\\Composer\\' => 14, @@ -234,10 +207,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 0 => __DIR__ . '/..' . '/twig/twig/src', ), - 'Testcontainers\\' => - array ( - 0 => __DIR__ . '/..' . '/testcontainers/testcontainers/src', - ), 'TermsAgreer\\Test\\' => array ( 0 => __DIR__ . '/../..' . '/plugins/TermsAgreer/tests', @@ -282,10 +251,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 0 => __DIR__ . '/..' . '/symfony/polyfill-ctype', ), - 'Symfony\\Contracts\\Translation\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/translation-contracts', - ), 'Symfony\\Contracts\\Service\\' => array ( 0 => __DIR__ . '/..' . '/symfony/service-contracts', @@ -294,34 +259,18 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 0 => __DIR__ . '/..' . '/symfony/http-client-contracts', ), - 'Symfony\\Component\\Yaml\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/yaml', - ), 'Symfony\\Component\\VarDumper\\' => array ( 0 => __DIR__ . '/..' . '/symfony/var-dumper', ), - 'Symfony\\Component\\Validator\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/validator', - ), 'Symfony\\Component\\String\\' => array ( 0 => __DIR__ . '/..' . '/symfony/string', ), - 'Symfony\\Component\\Serializer\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/serializer', - ), 'Symfony\\Component\\Process\\' => array ( 0 => __DIR__ . '/..' . '/symfony/process', ), - 'Symfony\\Component\\OptionsResolver\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/options-resolver', - ), 'Symfony\\Component\\HttpClient\\' => array ( 0 => __DIR__ . '/..' . '/symfony/http-client', @@ -460,10 +409,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 0 => __DIR__ . '/../..' . '/plugins/OrcidSource/src', ), - 'Nyholm\\Psr7\\' => - array ( - 0 => __DIR__ . '/..' . '/nyholm/psr7/src', - ), 'Migrations\\' => array ( 0 => __DIR__ . '/..' . '/cakephp/migrations/src', @@ -513,42 +458,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 0 => __DIR__ . '/..' . '/jasny/twig-extensions/src', ), - 'Jane\\Component\\OpenApiRuntime\\' => - array ( - 0 => __DIR__ . '/..' . '/jane-php/open-api-runtime', - ), - 'Jane\\Component\\JsonSchemaRuntime\\' => - array ( - 0 => __DIR__ . '/..' . '/jane-php/json-schema-runtime', - ), - 'Http\\Promise\\' => - array ( - 0 => __DIR__ . '/..' . '/php-http/promise/src', - ), - 'Http\\Message\\MultipartStream\\' => - array ( - 0 => __DIR__ . '/..' . '/php-http/multipart-stream-builder/src', - ), - 'Http\\Message\\' => - array ( - 0 => __DIR__ . '/..' . '/php-http/message/src', - ), - 'Http\\Discovery\\' => - array ( - 0 => __DIR__ . '/..' . '/php-http/discovery/src', - ), - 'Http\\Client\\Socket\\' => - array ( - 0 => __DIR__ . '/..' . '/php-http/socket-client/src', - ), - 'Http\\Client\\Common\\' => - array ( - 0 => __DIR__ . '/..' . '/php-http/client-common/src', - ), - 'Http\\Client\\' => - array ( - 0 => __DIR__ . '/..' . '/php-http/httplug/src', - ), 'FileConnector\\Test\\' => array ( 0 => __DIR__ . '/../..' . '/availableplugins/FileConnector/tests', @@ -581,14 +490,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 0 => __DIR__ . '/..' . '/doctrine/event-manager/src', ), - 'Docker\\API\\' => - array ( - 0 => __DIR__ . '/..' . '/beluga-php/docker-php-api/src', - ), - 'Docker\\' => - array ( - 0 => __DIR__ . '/..' . '/beluga-php/docker-php/src', - ), 'Detection\\' => array ( 0 => __DIR__ . '/..' . '/mobiledetect/mobiledetectlib/src', @@ -673,10 +574,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e array ( 0 => __DIR__ . '/..' . '/composer/composer/src/Composer', ), - 'Clue\\StreamFilter\\' => - array ( - 0 => __DIR__ . '/..' . '/clue/stream-filter/src', - ), 'Cake\\TwigView\\' => array ( 0 => __DIR__ . '/..' . '/cakephp/twig-view/src', @@ -740,13 +637,6 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e 1 => __DIR__ . '/..' . '/josegonzalez/dotenv/tests', ), ), - 'R' => - array ( - 'Rs\\Json' => - array ( - 0 => __DIR__ . '/..' . '/php-jsonpointer/php-jsonpointer/src', - ), - ), ); public static $classMap = array ( @@ -2067,7 +1957,7 @@ class ComposerStaticInitb25f76eec921984aa94dcf4015a4846e 'SebastianBergmann\\Type\\UnknownType' => __DIR__ . '/..' . '/sebastian/type/src/type/UnknownType.php', 'SebastianBergmann\\Type\\VoidType' => __DIR__ . '/..' . '/sebastian/type/src/type/VoidType.php', 'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php', - 'Stringable' => __DIR__ . '/..' . '/marc-mabe/php-enum/stubs/Stringable.php', + 'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php', 'TheSeer\\Tokenizer\\Exception' => __DIR__ . '/..' . '/theseer/tokenizer/src/Exception.php', 'TheSeer\\Tokenizer\\NamespaceUri' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUri.php', 'TheSeer\\Tokenizer\\NamespaceUriException' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUriException.php', diff --git a/app/vendor/composer/composer/composer.lock b/app/vendor/composer/composer/composer.lock index 94d442b3d..75eb2614c 100644 --- a/app/vendor/composer/composer/composer.lock +++ b/app/vendor/composer/composer/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "composer/ca-bundle", - "version": "1.5.10", + "version": "1.5.11", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "961a5e4056dd2e4a2eedcac7576075947c28bf63" + "reference": "68ff39175e8e94a4bb1d259407ce51a6a60f09e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/961a5e4056dd2e4a2eedcac7576075947c28bf63", - "reference": "961a5e4056dd2e4a2eedcac7576075947c28bf63", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/68ff39175e8e94a4bb1d259407ce51a6a60f09e6", + "reference": "68ff39175e8e94a4bb1d259407ce51a6a60f09e6", "shasum": "" }, "require": { @@ -64,7 +64,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.10" + "source": "https://github.com/composer/ca-bundle/tree/1.5.11" }, "funding": [ { @@ -76,20 +76,20 @@ "type": "github" } ], - "time": "2025-12-08T15:06:51+00:00" + "time": "2026-03-30T09:16:10+00:00" }, { "name": "composer/class-map-generator", - "version": "1.7.1", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/composer/class-map-generator.git", - "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1" + "reference": "6a9c2f0970022ab00dc58c07d0685dd712f2231b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8f5fa3cc214230e71f54924bd0197a3bcc705eb1", - "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/6a9c2f0970022ab00dc58c07d0685dd712f2231b", + "reference": "6a9c2f0970022ab00dc58c07d0685dd712f2231b", "shasum": "" }, "require": { @@ -133,7 +133,7 @@ ], "support": { "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.7.1" + "source": "https://github.com/composer/class-map-generator/tree/1.7.2" }, "funding": [ { @@ -145,7 +145,7 @@ "type": "github" } ], - "time": "2025-12-29T13:15:25+00:00" + "time": "2026-03-30T15:36:56+00:00" }, { "name": "composer/metadata-minifier", @@ -374,24 +374,24 @@ }, { "name": "composer/spdx-licenses", - "version": "1.5.9", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/composer/spdx-licenses.git", - "reference": "edf364cefe8c43501e21e88110aac10b284c3c9f" + "reference": "5ecd0cb4177696f9fd48f1605dda81db3dee7889" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/edf364cefe8c43501e21e88110aac10b284c3c9f", - "reference": "edf364cefe8c43501e21e88110aac10b284c3c9f", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/5ecd0cb4177696f9fd48f1605dda81db3dee7889", + "reference": "5ecd0cb4177696f9fd48f1605dda81db3dee7889", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": "^7.2 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^1.11", - "symfony/phpunit-bridge": "^3 || ^7" + "symfony/phpunit-bridge": "^6.4.25 || ^7.3.3 || ^8.0" }, "type": "library", "extra": { @@ -434,7 +434,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/spdx-licenses/issues", - "source": "https://github.com/composer/spdx-licenses/tree/1.5.9" + "source": "https://github.com/composer/spdx-licenses/tree/1.6.0" }, "funding": [ { @@ -444,13 +444,9 @@ { "url": "https://github.com/composer", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2025-05-12T21:07:07+00:00" + "time": "2026-04-08T20:18:39+00:00" }, { "name": "composer/xdebug-handler", @@ -520,16 +516,16 @@ }, { "name": "justinrainbow/json-schema", - "version": "6.6.4", + "version": "6.8.0", "source": { "type": "git", "url": "https://github.com/jsonrainbow/json-schema.git", - "reference": "2eeb75d21cf73211335888e7f5e6fd7440723ec7" + "reference": "89ac92bcfe5d0a8a4433c7b89d394553ae7250cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/2eeb75d21cf73211335888e7f5e6fd7440723ec7", - "reference": "2eeb75d21cf73211335888e7f5e6fd7440723ec7", + "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/89ac92bcfe5d0a8a4433c7b89d394553ae7250cc", + "reference": "89ac92bcfe5d0a8a4433c7b89d394553ae7250cc", "shasum": "" }, "require": { @@ -589,9 +585,9 @@ ], "support": { "issues": "https://github.com/jsonrainbow/json-schema/issues", - "source": "https://github.com/jsonrainbow/json-schema/tree/6.6.4" + "source": "https://github.com/jsonrainbow/json-schema/tree/6.8.0" }, - "time": "2025-12-19T15:01:32+00:00" + "time": "2026-04-02T12:43:11+00:00" }, { "name": "marc-mabe/php-enum", @@ -1308,16 +1304,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + "reference": "141046a8f9477948ff284fa65be2095baafb94f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2", "shasum": "" }, "require": { @@ -1367,7 +1363,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.34.0" }, "funding": [ { @@ -1387,20 +1383,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + "reference": "ad1b7b9092976d6c948b8a187cec9faaea9ec1df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/ad1b7b9092976d6c948b8a187cec9faaea9ec1df", + "reference": "ad1b7b9092976d6c948b8a187cec9faaea9ec1df", "shasum": "" }, "require": { @@ -1449,7 +1445,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.34.0" }, "funding": [ { @@ -1469,11 +1465,11 @@ "type": "tidelift" } ], - "time": "2025-06-27T09:58:17+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -1534,7 +1530,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.34.0" }, "funding": [ { @@ -1558,16 +1554,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315", + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315", "shasum": "" }, "require": { @@ -1619,7 +1615,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.34.0" }, "funding": [ { @@ -1639,11 +1635,11 @@ "type": "tidelift" } ], - "time": "2024-12-23T08:48:59+00:00" + "time": "2026-04-10T17:25:58+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", @@ -1699,7 +1695,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.34.0" }, "funding": [ { @@ -1723,16 +1719,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411", "shasum": "" }, "require": { @@ -1783,7 +1779,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.34.0" }, "funding": [ { @@ -1803,11 +1799,11 @@ "type": "tidelift" } ], - "time": "2025-01-02T08:10:11+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", @@ -1863,7 +1859,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.34.0" }, "funding": [ { @@ -1887,16 +1883,16 @@ }, { "name": "symfony/polyfill-php84", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php84.git", - "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", - "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06", "shasum": "" }, "require": { @@ -1943,7 +1939,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php84/tree/v1.34.0" }, "funding": [ { @@ -1963,7 +1959,7 @@ "type": "tidelift" } ], - "time": "2025-06-24T13:30:11+00:00" + "time": "2026-04-10T18:47:49+00:00" }, { "name": "symfony/process", @@ -2204,11 +2200,11 @@ "packages-dev": [ { "name": "phpstan/phpstan", - "version": "1.12.32", + "version": "1.12.33", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/2770dcdf5078d0b0d53f94317e06affe88419aa8", - "reference": "2770dcdf5078d0b0d53f94317e06affe88419aa8", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/37982d6fc7cbb746dda7773530cda557cdf119e1", + "reference": "37982d6fc7cbb746dda7773530cda557cdf119e1", "shasum": "" }, "require": { @@ -2253,7 +2249,7 @@ "type": "github" } ], - "time": "2025-09-30T10:16:31+00:00" + "time": "2026-02-28T20:30:03+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", diff --git a/app/vendor/composer/composer/src/Composer/Compiler.php b/app/vendor/composer/composer/src/Composer/Compiler.php index 2580544b3..2693b6e79 100644 --- a/app/vendor/composer/composer/src/Composer/Compiler.php +++ b/app/vendor/composer/composer/src/Composer/Compiler.php @@ -126,6 +126,7 @@ public function compile(string $pharFile = 'composer.phar'): void ->notPath('/bin\/(jsonlint|validate-json|simple-phpunit|phpstan|phpstan\.phar)(\.bat)?$/') ->notPath('justinrainbow/json-schema/demo/') ->notPath('justinrainbow/json-schema/dist/') + ->notPath('justinrainbow/json-schema/bin/') ->notPath('composer/pcre/extension.neon') ->notPath('composer/LICENSE') ->exclude('Tests') @@ -200,6 +201,8 @@ public function compile(string $pharFile = 'composer.phar'): void 'vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php', 'vendor/symfony/service-contracts/Attribute/SubscribedService.php', 'vendor/symfony/polyfill-php84/Resources/stubs/Deprecated.php', + 'vendor/symfony/polyfill-php84/Resources/Deprecated.php', + 'vendor/symfony/polyfill-php84/Resources/RoundingMode.php', 'vendor/symfony/polyfill-php84/bootstrap82.php', ]); } diff --git a/app/vendor/composer/composer/src/Composer/Composer.php b/app/vendor/composer/composer/src/Composer/Composer.php index 3e8f92e0d..787e5aec5 100644 --- a/app/vendor/composer/composer/src/Composer/Composer.php +++ b/app/vendor/composer/composer/src/Composer/Composer.php @@ -51,9 +51,9 @@ class Composer extends PartialComposer * * @see getVersion() */ - public const VERSION = '2.9.5'; + public const VERSION = '2.9.6'; public const BRANCH_ALIAS_VERSION = ''; - public const RELEASE_DATE = '2026-01-29 11:40:53'; + public const RELEASE_DATE = '2026-04-14 11:41:22'; public const SOURCE_VERSION = ''; /** diff --git a/app/vendor/composer/composer/src/Composer/Console/Application.php b/app/vendor/composer/composer/src/Composer/Console/Application.php index ce0d645f6..e6e25b823 100644 --- a/app/vendor/composer/composer/src/Composer/Console/Application.php +++ b/app/vendor/composer/composer/src/Composer/Console/Application.php @@ -43,6 +43,7 @@ use Composer\EventDispatcher\ScriptExecutionException; use Composer\Exception\NoSslException; use Composer\XdebugHandler\XdebugHandler; +use Symfony\Component\Console\SingleCommandApplication; use Symfony\Component\Process\Exception\ProcessTimedOutException; /** @@ -260,6 +261,8 @@ public function doRun(InputInterface $input, OutputInterface $output): int || ($commandName === '_complete' && !$isNonAllowedRoot) ); + $mayNeedScriptCommand = $mayNeedPluginCommand || $commandName === 'run-script'; + if ($mayNeedPluginCommand && !$this->disablePluginsByDefault && !$this->hasPluginCommands) { // at this point plugins are needed, so if we are running as root and it is not allowed we need to prompt // if interactive, and abort otherwise @@ -368,36 +371,52 @@ function_exists('php_uname') ? php_uname('s') . ' / ' . php_uname('r') : 'Unknow // add non-standard scripts as own commands $file = Factory::getComposerFile(); - if (is_file($file) && Filesystem::isReadable($file) && is_array($composer = json_decode(file_get_contents($file), true))) { - if (isset($composer['scripts']) && is_array($composer['scripts'])) { - foreach ($composer['scripts'] as $script => $dummy) { + if ($mayNeedScriptCommand && is_file($file) && Filesystem::isReadable($file) && is_array($composerJson = json_decode(file_get_contents($file), true))) { + if (isset($composerJson['scripts']) && is_array($composerJson['scripts'])) { + foreach ($composerJson['scripts'] as $script => $dummy) { if (!defined('Composer\Script\ScriptEvents::'.str_replace('-', '_', strtoupper($script)))) { if ($this->has($script)) { $io->writeError('A script named '.$script.' would override a Composer command and has been skipped'); } else { - $description = null; + $description = 'Runs the '.$script.' script as defined in composer.json'; - if (isset($composer['scripts-descriptions'][$script])) { - $description = $composer['scripts-descriptions'][$script]; + if (isset($composerJson['scripts-descriptions'][$script])) { + $description = $composerJson['scripts-descriptions'][$script]; } - $aliases = $composer['scripts-aliases'][$script] ?? []; + $aliases = $composerJson['scripts-aliases'][$script] ?? []; + + $composer = $this->getComposer(false); + if ($composer !== null) { + $rootPackage = $composer->getPackage(); + $generator = $composer->getAutoloadGenerator(); - //if the command is not an array of commands, and points to a valid Command subclass, import its details directly + $packageMap = $generator->buildPackageMap($composer->getInstallationManager(), $rootPackage, []); + $map = $generator->parseAutoloads($packageMap, $rootPackage); + + $loader = $generator->createLoader($map, $composer->getConfig()->get('vendor-dir')); + $loader->register(false); + } + + // if the command is not an array of commands, and points to a valid Command subclass, import its details directly if (is_string($dummy) && class_exists($dummy) && is_subclass_of($dummy, SymfonyCommand::class)) { + if (is_subclass_of($dummy, SingleCommandApplication::class)) { + $io->writeError('The script named '.$script.' extends SingleCommandApplication which is not compatible with Composer 2.9+, make sure you extend Symfony\Component\Console\Command instead.'); + } + $cmd = new $dummy($script); - //makes sure the command is find()'able by the name defined in composer.json, and the name isn't overridden in its configure() + // makes sure the command is find()'able by the name defined in composer.json, and the name isn't overridden in its configure() if ($cmd->getName() !== '' && $cmd->getName() !== null && $cmd->getName() !== $script) { $io->writeError('The script named '.$script.' in composer.json has a mismatched name in its class definition. For consistency, either use the same name, or do not define one inside the class.'); - $cmd->setName($script); //override it with the defined script name + $cmd->setName($script); // override it with the defined script name } if ($cmd->getDescription() === '' && is_string($description)) { $cmd->setDescription($description); } } else { - //fallback to usual aliasing behavior + // fallback to usual aliasing behavior $cmd = new Command\ScriptAliasCommand($script, $description, $aliases); } diff --git a/app/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php b/app/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php index 89a35a609..67d8f321b 100644 --- a/app/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php +++ b/app/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php @@ -66,7 +66,7 @@ protected function doUpdate(PackageInterface $initial, PackageInterface $target, $realPath = Platform::realpath($path); $this->execute(['fossil', 'pull'], $realPath); - $this->execute(['fossil', 'up', (string) $target->getSourceReference()], $realPath); + $this->execute(['fossil', 'up', '--', (string) $target->getSourceReference()], $realPath); return \React\Promise\resolve(null); } diff --git a/app/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php b/app/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php index 6dfdbf192..1f9d0e834 100644 --- a/app/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php +++ b/app/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php @@ -127,7 +127,15 @@ private function createObject(array $config, string $class): CompletePackage $version = $this->versionParser->normalize($config['version']); } } else { - $version = $this->versionParser->normalize($config['version']); + try { + $version = $this->versionParser->normalize($config['version']); + } catch (\UnexpectedValueException $e) { + throw new \UnexpectedValueException( + 'Failed to normalize version for package "'.$config['name'].'": '.$e->getMessage(), + $e->getCode(), + $e + ); + } } return new $class($config['name'], $version, $config['version']); @@ -391,10 +399,20 @@ private function createLink(string $source, string $sourceVersion, string $descr if (!\is_string($prettyConstraint)) { throw new \UnexpectedValueException('Link constraint in '.$source.' '.$description.' > '.$target.' should be a string, got '.\get_debug_type($prettyConstraint) . ' (' . var_export($prettyConstraint, true) . ')'); } + if ('self.version' === $prettyConstraint) { - $parsedConstraint = $this->versionParser->parseConstraints($sourceVersion); + $constraint = $sourceVersion; } else { - $parsedConstraint = $this->versionParser->parseConstraints($prettyConstraint); + $constraint = $prettyConstraint; + } + + try { + $parsedConstraint = $this->versionParser->parseConstraints($constraint); + } catch (\UnexpectedValueException $e) { + throw new \UnexpectedValueException('Link constraint in '.$source.' '.$description.' > '.$target.' should be a valid version constraint, got "'.$constraint.'"', + $e->getCode(), + $e + ); } return new Link($source, $target, $parsedConstraint, $description, $prettyConstraint); diff --git a/app/vendor/composer/composer/src/Composer/Platform/Runtime.php b/app/vendor/composer/composer/src/Composer/Platform/Runtime.php index 940c02d0f..a5817086f 100644 --- a/app/vendor/composer/composer/src/Composer/Platform/Runtime.php +++ b/app/vendor/composer/composer/src/Composer/Platform/Runtime.php @@ -12,6 +12,8 @@ namespace Composer\Platform; +use Composer\Pcre\Preg; + class Runtime { /** @@ -101,6 +103,37 @@ public function getExtensionInfo(string $extension): string ob_start(); $reflector->info(); - return ob_get_clean(); + $info = (string) ob_get_clean(); + + if ('cli' === PHP_SAPI) { + return $info; + } + + return self::parseHtmlExtensionInfo($info); + } + + /** + * @internal Only public for unit tests + */ + public static function parseHtmlExtensionInfo(string $html): string + { + $result = []; + + if ((bool) Preg::match('~

\s*]*>([^<]+)\s*

~i', $html, $matches)) { + $result[] = trim(html_entity_decode($matches[1])); + $result[] = ''; + } + + if ((bool) Preg::matchAll('~\s*\s*(.*?)\s*\s*\s*(.*?)\s*\s*~is', $html, $matches)) { + $count = min(\count($matches[1]), \count($matches[2])); + + for ($i = 0; $i < $count; $i++) { + $key = trim(html_entity_decode(strip_tags($matches[1][$i]))); + $value = trim(html_entity_decode(strip_tags($matches[2][$i]))); + $result[] = $key . ' => ' . $value; + } + } + + return implode("\n", $result); } } diff --git a/app/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php b/app/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php index 8a305216c..39f96691b 100644 --- a/app/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php +++ b/app/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php @@ -157,6 +157,10 @@ public function getDist(string $identifier): ?array */ public function getFileContent(string $file, string $identifier): ?string { + if (isset($identifier[0]) && $identifier[0] === '-') { + throw new \RuntimeException('Invalid fossil identifier detected. Identifier must not start with a -, given: ' . $identifier); + } + $this->process->execute(['fossil', 'cat', '-r', $identifier, '--', $file], $content, $this->checkoutDir); if ('' === trim($content)) { diff --git a/app/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php b/app/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php index 3cd3b178b..2d1d7b1e5 100644 --- a/app/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php +++ b/app/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php @@ -164,6 +164,10 @@ public function getFileContent(string $file, string $identifier): ?string */ public function getChangeDate(string $identifier): ?\DateTimeImmutable { + if (isset($identifier[0]) && $identifier[0] === '-') { + throw new \RuntimeException('Invalid git identifier detected. Identifier must not start with a -, given: ' . $identifier); + } + $command = GitUtil::buildRevListCommand($this->process, ['-n1', '--format=%at', $identifier]); $this->process->execute($command, $output, $this->repoDir); diff --git a/app/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php b/app/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php index 625a2a1eb..53b8ef19e 100644 --- a/app/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php +++ b/app/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php @@ -146,6 +146,10 @@ public function getFileContent(string $file, string $identifier): ?string */ public function getChangeDate(string $identifier): ?\DateTimeImmutable { + if (isset($identifier[0]) && $identifier[0] === '-') { + throw new \RuntimeException('Invalid hg identifier detected. Identifier must not start with a -, given: ' . $identifier); + } + $this->process->execute( ['hg', 'log', '--template', '{date|rfc3339date}', '-r', $identifier], $output, diff --git a/app/vendor/composer/composer/src/Composer/Util/AuthHelper.php b/app/vendor/composer/composer/src/Composer/Util/AuthHelper.php index f4bad07ef..ad6c1ed4e 100644 --- a/app/vendor/composer/composer/src/Composer/Util/AuthHelper.php +++ b/app/vendor/composer/composer/src/Composer/Util/AuthHelper.php @@ -81,7 +81,7 @@ static function ($value): string { * retried, if storeAuth is true then on a successful retry the authentication should be persisted to auth.json * @phpstan-return array{retry: bool, storeAuth: 'prompt'|bool} */ - public function promptAuthIfNeeded(string $url, string $origin, int $statusCode, ?string $reason = null, array $headers = [], int $retryCount = 0): array + public function promptAuthIfNeeded(string $url, string $origin, int $statusCode, ?string $reason = null, array $headers = [], int $retryCount = 0, ?string $responseBody = null): array { $storeAuth = false; @@ -118,11 +118,24 @@ public function promptAuthIfNeeded(string $url, string $origin, int $statusCode, $rateLimit['reset'] )."\n"; } else { - $message .= 'Could not fetch '.$url.', please '; - if ($this->io->hasAuthentication($origin)) { - $message .= 'review your configured GitHub OAuth token or enter a new one to access private repos'; + // Try to extract a more specific error message from GitHub's API response + $gitHubApiMessage = null; + if ($responseBody !== null) { + $decoded = json_decode($responseBody, true); + if (is_array($decoded) && isset($decoded['message']) && is_string($decoded['message'])) { + $gitHubApiMessage = $decoded['message']; + } + } + + if ($gitHubApiMessage !== null) { + $message .= 'Could not fetch '.$url.': '.$gitHubApiMessage; } else { - $message .= 'create a GitHub OAuth token to access private repos'; + $message .= 'Could not fetch '.$url.', please '; + if ($this->io->hasAuthentication($origin)) { + $message .= 'review your configured GitHub OAuth token or enter a new one to access private repos'; + } else { + $message .= 'create a GitHub OAuth token to access private repos'; + } } } diff --git a/app/vendor/composer/composer/src/Composer/Util/Git.php b/app/vendor/composer/composer/src/Composer/Util/Git.php index 8c64b4b24..58e73b14b 100644 --- a/app/vendor/composer/composer/src/Composer/Util/Git.php +++ b/app/vendor/composer/composer/src/Composer/Util/Git.php @@ -383,14 +383,17 @@ public function syncMirror(string $url, string $dir): bool // update the repo if it is a valid git repository if (is_dir($dir) && 0 === $this->process->execute(['git', 'rev-parse', '--git-dir'], $output, $dir) && trim($output) === '.') { try { - $commands = [ - ['git', 'remote', 'set-url', 'origin', '--', '%url%'], - ['git', 'remote', 'update', '--prune', 'origin'], - ['git', 'remote', 'set-url', 'origin', '--', '%sanitizedUrl%'], - ['git', 'gc', '--auto'], - ]; + try { + $commands = [ + ['git', 'remote', 'set-url', 'origin', '--', '%url%'], + ['git', 'remote', 'update', '--prune', 'origin'], + ['git', 'gc', '--auto'], + ]; - $this->runCommands($commands, $url, $dir); + $this->runCommands($commands, $url, $dir); + } finally { + $this->runCommands([['git', 'remote', 'set-url', 'origin', '--', '%sanitizedUrl%']], $url, $dir); + } } catch (\Exception $e) { $this->io->writeError('Sync mirror failed: ' . $e->getMessage() . '', true, IOInterface::DEBUG); @@ -406,6 +409,8 @@ public function syncMirror(string $url, string $dir): bool $this->runCommands([['git', 'clone', '--mirror', '--', '%url%', $dir]], $url, $dir, true); + $this->runCommands([['git', 'remote', 'set-url', 'origin', '--', '%sanitizedUrl%']], $url, $dir); + return true; } diff --git a/app/vendor/composer/composer/src/Composer/Util/Http/CurlDownloader.php b/app/vendor/composer/composer/src/Composer/Util/Http/CurlDownloader.php index d3a59c403..4f2fdb028 100644 --- a/app/vendor/composer/composer/src/Composer/Util/Http/CurlDownloader.php +++ b/app/vendor/composer/composer/src/Composer/Util/Http/CurlDownloader.php @@ -575,7 +575,7 @@ private function handleRedirect(array $job, Response $response): string private function isAuthenticatedRetryNeeded(array $job, Response $response): array { if (in_array($response->getStatusCode(), [401, 403]) && $job['attributes']['retryAuthFailure']) { - $result = $this->authHelper->promptAuthIfNeeded($job['url'], $job['origin'], $response->getStatusCode(), $response->getStatusMessage(), $response->getHeaders(), $job['attributes']['retries']); + $result = $this->authHelper->promptAuthIfNeeded($job['url'], $job['origin'], $response->getStatusCode(), $response->getStatusMessage(), $response->getHeaders(), $job['attributes']['retries'], $response->getBody()); if ($result['retry']) { return $result; diff --git a/app/vendor/composer/composer/src/Composer/Util/Perforce.php b/app/vendor/composer/composer/src/Composer/Util/Perforce.php index 4922ab35c..670f5780c 100644 --- a/app/vendor/composer/composer/src/Composer/Util/Perforce.php +++ b/app/vendor/composer/composer/src/Composer/Util/Perforce.php @@ -135,7 +135,7 @@ public function generateUniquePerforceClientName(): string public function cleanupClientSpec(): void { $client = $this->getClient(); - $task = 'client -d ' . ProcessExecutor::escape($client); + $task = ['client', '-d', $client]; $useP4Client = false; $command = $this->generateP4Command($task, $useP4Client); $this->executeCommand($command); @@ -145,7 +145,7 @@ public function cleanupClientSpec(): void } /** - * @param non-empty-string $command + * @param non-empty-string|non-empty-list $command */ protected function executeCommand($command): int { @@ -249,9 +249,9 @@ public function queryP4User(): void } $this->p4User = $this->io->ask('Enter P4 User:'); if ($this->windowsFlag) { - $command = $this->getP4Executable().' set P4USER=' . $this->p4User; + $command = $this->getP4Executable().' set P4USER=' . ProcessExecutor::escape($this->p4User); } else { - $command = 'export P4USER=' . $this->p4User; + $command = 'export P4USER=' . ProcessExecutor::escape($this->p4User); } $this->executeCommand($command); } @@ -303,23 +303,30 @@ public function queryP4Password(): ?string } /** - * @return non-empty-string + * @internal + * @param non-empty-list $arguments Additional arguments for git rev-list + * @return non-empty-list */ - public function generateP4Command(string $command, bool $useClient = true): string + public function generateP4Command(array $arguments, bool $useClient = true): array { - $p4Command = $this->getP4Executable().' '; - $p4Command .= '-u ' . $this->getUser() . ' '; + $p4Command = [$this->getP4Executable()]; + if ($this->getUser() !== null) { + $p4Command[] = '-u'; + $p4Command[] = $this->getUser(); + } if ($useClient) { - $p4Command .= '-c ' . $this->getClient() . ' '; + $p4Command[] = '-c'; + $p4Command[] = $this->getClient(); } - $p4Command .= '-p ' . $this->getPort() . ' ' . $command; + $p4Command[] = '-p'; + $p4Command[] = $this->getPort(); - return $p4Command; + return array_merge($p4Command, $arguments); } public function isLoggedIn(): bool { - $command = $this->generateP4Command('login -s', false); + $command = $this->generateP4Command(['login', '-s'], false); $exitCode = $this->executeCommand($command); if ($exitCode) { $errorOutput = $this->process->getErrorOutput(); @@ -339,19 +346,19 @@ public function isLoggedIn(): bool public function connectClient(): void { - $p4CreateClientCommand = $this->generateP4Command( - 'client -i < ' . ProcessExecutor::escape($this->getP4ClientSpec()) - ); - $this->executeCommand($p4CreateClientCommand); + $p4CreateClientCommand = $this->generateP4Command(['client', '-i']); + + $process = new Process($p4CreateClientCommand, null, null, file_get_contents($this->getP4ClientSpec())); + $process->run(); } public function syncCodeBase(?string $sourceReference): void { $prevDir = Platform::getCwd(); chdir($this->path); - $p4SyncCommand = $this->generateP4Command('sync -f '); + $p4SyncCommand = $this->generateP4Command(['sync', '-f']); if (null !== $sourceReference) { - $p4SyncCommand .= '@' . $sourceReference; + $p4SyncCommand[] = '@' . $sourceReference; } $this->executeCommand($p4SyncCommand); chdir($prevDir); @@ -413,9 +420,9 @@ protected function read($pipe, $name): void public function windowsLogin(?string $password): int { - $command = $this->generateP4Command(' login -a'); + $command = $this->generateP4Command(['login', '-a']); - $process = Process::fromShellCommandline($command, null, null, $password); + $process = new Process($command, null, null, $password); return $process->run(); } @@ -428,9 +435,12 @@ public function p4Login(): void if ($this->windowsFlag) { $this->windowsLogin($password); } else { - $command = 'echo ' . ProcessExecutor::escape($password) . ' | ' . $this->generateP4Command(' login -a', false); - $exitCode = $this->executeCommand($command); - if ($exitCode) { + $command = $this->generateP4Command(['login', '-a'], false); + + $process = new Process($command, null, null, $password); + $process->run(); + + if (!$process->isSuccessful()) { throw new \Exception("Error logging in:" . $this->process->getErrorOutput()); } } @@ -454,8 +464,11 @@ public function getComposerInformation(string $identifier): ?array public function getFileContent(string $file, string $identifier): ?string { $path = $this->getFilePath($file, $identifier); + if ($path === null) { + return null; + } - $command = $this->generateP4Command(' print ' . ProcessExecutor::escape($path)); + $command = $this->generateP4Command(['print', $path]); $this->executeCommand($command); $result = $this->commandResult; @@ -474,7 +487,7 @@ public function getFilePath(string $file, string $identifier): ?string } $path = substr($identifier, 0, $index) . '/' . $file . substr($identifier, $index); - $command = $this->generateP4Command(' files ' . ProcessExecutor::escape($path), false); + $command = $this->generateP4Command(['files', $path], false); $this->executeCommand($command); $result = $this->commandResult; $index2 = strpos($result, 'no such file(s).'); @@ -500,7 +513,7 @@ public function getBranches(): array if (!$this->isStream()) { $possibleBranches[$this->p4Branch] = $this->getStream(); } else { - $command = $this->generateP4Command('streams '.ProcessExecutor::escape('//' . $this->p4Depot . '/...')); + $command = $this->generateP4Command(['streams', '//' . $this->p4Depot . '/...']); $this->executeCommand($command); $result = $this->commandResult; $resArray = explode(PHP_EOL, $result); @@ -512,7 +525,7 @@ public function getBranches(): array } } } - $command = $this->generateP4Command('changes '. ProcessExecutor::escape($this->getStream() . '/...'), false); + $command = $this->generateP4Command(['changes', $this->getStream() . '/...'], false); $this->executeCommand($command); $result = $this->commandResult; $resArray = explode(PHP_EOL, $result); @@ -528,7 +541,7 @@ public function getBranches(): array */ public function getTags(): array { - $command = $this->generateP4Command('labels'); + $command = $this->generateP4Command(['labels']); $this->executeCommand($command); $result = $this->commandResult; $resArray = explode(PHP_EOL, $result); @@ -545,7 +558,7 @@ public function getTags(): array public function checkStream(): bool { - $command = $this->generateP4Command('depots', false); + $command = $this->generateP4Command(['depots'], false); $this->executeCommand($command); $result = $this->commandResult; $resArray = explode(PHP_EOL, $result); @@ -573,7 +586,7 @@ protected function getChangeList(string $reference): mixed return null; } $label = substr($reference, $index); - $command = $this->generateP4Command(' changes -m1 ' . ProcessExecutor::escape($label)); + $command = $this->generateP4Command(['changes', '-m1', $label]); $this->executeCommand($command); $changes = $this->commandResult; if (strpos($changes, 'Change') !== 0) { @@ -599,7 +612,7 @@ public function getCommitLogs(string $fromReference, string $toReference): mixed } $index = strpos($fromReference, '@'); $main = substr($fromReference, 0, $index) . '/...'; - $command = $this->generateP4Command('filelog ' . ProcessExecutor::escape($main . '@' . $fromChangeList. ',' . $toChangeList)); + $command = $this->generateP4Command(['filelog', $main . '@' . $fromChangeList . ',' . $toChangeList]); $this->executeCommand($command); return $this->commandResult; diff --git a/app/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php b/app/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php index be4c976a9..b480c4ebc 100644 --- a/app/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php +++ b/app/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php @@ -167,11 +167,11 @@ public static function getTlsDefaults(array $options, ?LoggerInterface $logger = 'AES256-SHA', 'AES', 'CAMELLIA', - 'DES-CBC3-SHA', '!aNULL', '!eNULL', '!EXPORT', '!DES', + '!3DES', '!RC4', '!MD5', '!PSK', diff --git a/app/vendor/composer/installed.json b/app/vendor/composer/installed.json index 29688c8b5..1ac006673 100644 --- a/app/vendor/composer/installed.json +++ b/app/vendor/composer/installed.json @@ -1,160 +1,5 @@ { "packages": [ - { - "name": "beluga-php/docker-php", - "version": "v1.45.6", - "version_normalized": "1.45.6.0", - "source": { - "type": "git", - "url": "https://github.com/beluga-php/docker-php.git", - "reference": "2eaf579e19ed08e8d3360bee545ad85f18deadc0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beluga-php/docker-php/zipball/2eaf579e19ed08e8d3360bee545ad85f18deadc0", - "reference": "2eaf579e19ed08e8d3360bee545ad85f18deadc0", - "shasum": "" - }, - "require": { - "beluga-php/docker-php-api": "7.1.45.*", - "nyholm/psr7": "^1.8", - "php": ">=8.1", - "php-http/client-common": "^2.7", - "php-http/discovery": "^1.19", - "php-http/socket-client": "^2.3", - "psr/http-message": "^2.0", - "symfony/filesystem": "^6.3 || ^7.0 || ^8.0", - "symfony/process": "^6.3 || ^7.0 || ^8.0", - "symfony/serializer": "^6.3 || ^7.0 || ^8.0" - }, - "conflict": { - "docker-php/docker-php": "*", - "nikic/php-parser": "<4.13", - "php-http/message": "<1.15" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.42", - "friendsofphp/php-cs-fixer": "^3.8", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.5.46", - "psy/psysh": "^0.12.8", - "roave/security-advisories": "dev-latest" - }, - "time": "2025-12-27T21:42:50+00:00", - "type": "library", - "extra": { - "branch-alias": { - "1.41": "1.41.x-dev", - "1.42": "1.42.x-dev", - "1.43": "1.43.x-dev", - "1.44": "1.44.x-dev", - "dev-master": "1.45.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Docker\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A Docker PHP client", - "support": { - "issues": "https://github.com/beluga-php/docker-php/issues", - "source": "https://github.com/beluga-php/docker-php/tree/v1.45.6" - }, - "funding": [ - { - "url": "https://github.com/flavioheleno", - "type": "github" - } - ], - "install-path": "../beluga-php/docker-php" - }, - { - "name": "beluga-php/docker-php-api", - "version": "v7.1.45.4", - "version_normalized": "7.1.45.4", - "source": { - "type": "git", - "url": "https://github.com/beluga-php/docker-php-api.git", - "reference": "8f3ed3b9a69e161489e07664b99eb73258e7eef2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beluga-php/docker-php-api/zipball/8f3ed3b9a69e161489e07664b99eb73258e7eef2", - "reference": "8f3ed3b9a69e161489e07664b99eb73258e7eef2", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "jane-php/json-schema-runtime": "^7.5", - "jane-php/open-api-runtime": "^7.5", - "php": ">=8.1", - "php-http/client-common": "^2.7", - "php-http/discovery": "^1.19", - "php-http/multipart-stream-builder": "^1.3", - "psr/http-client": "^1.0", - "psr/http-client-implementation": "*", - "psr/http-factory": "^1.0", - "psr/http-factory-implementation": "*", - "psr/http-message": "^2.0", - "psr/http-message-implementation": "*", - "symfony/deprecation-contracts": "^3.3", - "symfony/options-resolver": "^6.3 || ^7.0 || ^8.0", - "symfony/serializer": "^6.3 || ^7.0 || ^8.0", - "symfony/validator": "^6.3 || ^7.0 || ^8.0" - }, - "conflict": { - "docker-php/docker-php-api": "*" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.42", - "friendsofphp/php-cs-fixer": "^3.8", - "jane-php/open-api-3": "^7.4", - "roave/security-advisories": "dev-latest" - }, - "time": "2026-01-09T13:29:42+00:00", - "type": "library", - "extra": { - "branch-alias": { - "6.1.36": "6.1.36.x-dev", - "6.1.41": "6.1.41.x-dev", - "7.1.41": "7.1.41.x-dev", - "7.1.42": "7.1.42.x-dev", - "7.1.43": "7.1.43.x-dev", - "7.1.44": "7.1.44.x-dev", - "7.1.45": "7.1.45.x-dev", - "dev-main": "7.1.46.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Docker\\API\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Docker API generated files from OpenAPI Specification", - "support": { - "issues": "https://github.com/beluga-php/docker-php-api/issues", - "source": "https://github.com/beluga-php/docker-php-api/tree/v7.1.45.4" - }, - "funding": [ - { - "url": "https://github.com/flavioheleno", - "type": "github" - } - ], - "install-path": "../beluga-php/docker-php-api" - }, { "name": "brick/varexporter", "version": "0.7.0", @@ -831,75 +676,6 @@ }, "install-path": "../cakephp/twig-view" }, - { - "name": "clue/stream-filter", - "version": "v1.7.0", - "version_normalized": "1.7.0.0", - "source": { - "type": "git", - "url": "https://github.com/clue/stream-filter.git", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "time": "2023-12-20T15:40:13+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "Clue\\StreamFilter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering" - } - ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/stream-filter", - "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" - ], - "support": { - "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.7.0" - }, - "funding": [ - { - "url": "https://clue.engineering/support", - "type": "custom" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "install-path": "../clue/stream-filter" - }, { "name": "composer/ca-bundle", "version": "1.5.11", @@ -1049,17 +825,17 @@ }, { "name": "composer/composer", - "version": "2.9.5", - "version_normalized": "2.9.5.0", + "version": "2.9.6", + "version_normalized": "2.9.6.0", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "72a8f8e653710e18d83e5dd531eb5a71fc3223e6" + "reference": "9afc32c056d65f9bc4af64ca2aa264a0a38568e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/72a8f8e653710e18d83e5dd531eb5a71fc3223e6", - "reference": "72a8f8e653710e18d83e5dd531eb5a71fc3223e6", + "url": "https://api.github.com/repos/composer/composer/zipball/9afc32c056d65f9bc4af64ca2aa264a0a38568e5", + "reference": "9afc32c056d65f9bc4af64ca2aa264a0a38568e5", "shasum": "" }, "require": { @@ -1101,7 +877,7 @@ "ext-zip": "Allows direct extraction of ZIP archives (unzip/7z binaries will be used instead if available)", "ext-zlib": "Enables gzip for HTTP requests" }, - "time": "2026-01-29T10:40:53+00:00", + "time": "2026-04-14T09:41:22+00:00", "bin": [ "bin/composer" ], @@ -1149,7 +925,7 @@ "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", "security": "https://github.com/composer/composer/security/policy", - "source": "https://github.com/composer/composer/tree/2.9.5" + "source": "https://github.com/composer/composer/tree/2.9.6" }, "funding": [ { @@ -1964,136 +1740,6 @@ }, "install-path": "../doctrine/sql-formatter" }, - { - "name": "jane-php/json-schema-runtime", - "version": "v7.11.1", - "version_normalized": "7.11.1.0", - "source": { - "type": "git", - "url": "https://github.com/janephp/json-schema-runtime.git", - "reference": "447cba025ca2c9272daa9395668832d02ed60926" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/janephp/json-schema-runtime/zipball/447cba025ca2c9272daa9395668832d02ed60926", - "reference": "447cba025ca2c9272daa9395668832d02ed60926", - "shasum": "" - }, - "require": { - "league/uri": "^6.7.2 || ^7.4", - "php": "^8.1", - "php-jsonpointer/php-jsonpointer": "^3.0 || ^4.0", - "symfony/serializer": "^5.4 || ^6.4 || ^7.0 || ^8.0", - "symfony/yaml": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "conflict": { - "symfony/framework-bundle": "5.1.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5" - }, - "time": "2026-03-26T17:01:00+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-next": "7-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Jane\\Component\\JsonSchemaRuntime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" - }, - { - "name": "Baptiste Leduc", - "email": "baptiste.leduc@gmail.com" - } - ], - "description": "Jane runtime Library", - "support": { - "source": "https://github.com/janephp/json-schema-runtime/tree/v7.11.1" - }, - "install-path": "../jane-php/json-schema-runtime" - }, - { - "name": "jane-php/open-api-runtime", - "version": "v7.11.1", - "version_normalized": "7.11.1.0", - "source": { - "type": "git", - "url": "https://github.com/janephp/open-api-runtime.git", - "reference": "2afe544405a61d4254baf0bc99c299b4dffdf51e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/janephp/open-api-runtime/zipball/2afe544405a61d4254baf0bc99c299b4dffdf51e", - "reference": "2afe544405a61d4254baf0bc99c299b4dffdf51e", - "shasum": "" - }, - "require": { - "jane-php/json-schema-runtime": "^7.0", - "nyholm/psr7": "^1.8", - "php": "^8.1", - "php-http/client-common": "^2.0", - "php-http/discovery": "^1.6", - "php-http/multipart-stream-builder": "^1.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "symfony/options-resolver": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5", - "symfony/serializer": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "time": "2026-03-26T13:31:24+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-next": "7-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Jane\\Component\\OpenApiRuntime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" - }, - { - "name": "Baptiste Leduc", - "email": "baptiste.leduc@gmail.com" - } - ], - "description": "Jane OpenAPI Runtime Library, dependencies and utility class for a library generated by jane/openapi", - "support": { - "source": "https://github.com/janephp/open-api-runtime/tree/v7.11.1" - }, - "install-path": "../jane-php/open-api-runtime" - }, { "name": "jasny/twig-extensions", "version": "v1.3.1", @@ -3137,87 +2783,6 @@ }, "install-path": "../nikic/php-parser" }, - { - "name": "nyholm/psr7", - "version": "1.8.2", - "version_normalized": "1.8.2.0", - "source": { - "type": "git", - "url": "https://github.com/Nyholm/psr7.git", - "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", - "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0", - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "http-interop/http-factory-tests": "^0.9", - "php-http/message-factory": "^1.0", - "php-http/psr7-integration-tests": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", - "symfony/error-handler": "^4.4" - }, - "time": "2024-09-09T07:06:30+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Nyholm\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - }, - { - "name": "Martijn van der Ven", - "email": "martijn@vanderven.se" - } - ], - "description": "A fast PHP7 implementation of PSR-7", - "homepage": "https://tnyholm.se", - "keywords": [ - "psr-17", - "psr-7" - ], - "support": { - "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.8.2" - }, - "funding": [ - { - "url": "https://github.com/Zegnat", - "type": "github" - }, - { - "url": "https://github.com/nyholm", - "type": "github" - } - ], - "install-path": "../nyholm/psr7" - }, { "name": "phar-io/manifest", "version": "2.0.4", @@ -3342,527 +2907,6 @@ }, "install-path": "../phar-io/version" }, - { - "name": "php-http/client-common", - "version": "2.7.3", - "version_normalized": "2.7.3.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/client-common.git", - "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/dcc6de29c90dd74faab55f71b79d89409c4bf0c1", - "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "php-http/httplug": "^2.0", - "php-http/message": "^1.6", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/polyfill-php80": "^1.17" - }, - "require-dev": { - "doctrine/instantiator": "^1.1", - "guzzlehttp/psr7": "^1.4", - "nyholm/psr7": "^1.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7" - }, - "suggest": { - "ext-json": "To detect JSON responses with the ContentTypePlugin", - "ext-libxml": "To detect XML responses with the ContentTypePlugin", - "php-http/cache-plugin": "PSR-6 Cache plugin", - "php-http/logger-plugin": "PSR-3 Logger plugin", - "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" - }, - "time": "2025-11-29T19:12:34+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Http\\Client\\Common\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Common HTTP Client implementations and tools for HTTPlug", - "homepage": "http://httplug.io", - "keywords": [ - "client", - "common", - "http", - "httplug" - ], - "support": { - "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.3" - }, - "install-path": "../php-http/client-common" - }, - { - "name": "php-http/discovery", - "version": "1.20.0", - "version_normalized": "1.20.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/discovery.git", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "nyholm/psr7": "<1.0", - "zendframework/zend-diactoros": "*" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "*", - "psr/http-factory-implementation": "*", - "psr/http-message-implementation": "*" - }, - "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "graham-campbell/phpspec-skip-example-extension": "^5.0", - "php-http/httplug": "^1.0 || ^2.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "sebastian/comparator": "^3.0.5 || ^4.0.8", - "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" - }, - "time": "2024-10-02T11:20:13+00:00", - "type": "composer-plugin", - "extra": { - "class": "Http\\Discovery\\Composer\\Plugin", - "plugin-optional": true - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Http\\Discovery\\": "src/" - }, - "exclude-from-classmap": [ - "src/Composer/Plugin.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", - "homepage": "http://php-http.org", - "keywords": [ - "adapter", - "client", - "discovery", - "factory", - "http", - "message", - "psr17", - "psr7" - ], - "support": { - "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.20.0" - }, - "install-path": "../php-http/discovery" - }, - { - "name": "php-http/httplug", - "version": "2.4.1", - "version_normalized": "2.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/httplug.git", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "php-http/promise": "^1.1", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0", - "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0" - }, - "time": "2024-09-23T11:39:58+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "HTTPlug, the HTTP client abstraction for PHP", - "homepage": "http://httplug.io", - "keywords": [ - "client", - "http" - ], - "support": { - "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.1" - }, - "install-path": "../php-http/httplug" - }, - { - "name": "php-http/message", - "version": "1.16.2", - "version_normalized": "1.16.2.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/message.git", - "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a", - "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a", - "shasum": "" - }, - "require": { - "clue/stream-filter": "^1.5", - "php": "^7.2 || ^8.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.6", - "ext-zlib": "*", - "guzzlehttp/psr7": "^1.0 || ^2.0", - "laminas/laminas-diactoros": "^2.0 || ^3.0", - "php-http/message-factory": "^1.0.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "slim/slim": "^3.0" - }, - "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "laminas/laminas-diactoros": "Used with Diactoros Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation" - }, - "time": "2024-10-02T11:34:13+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "src/filters.php" - ], - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "HTTP Message related tools", - "homepage": "http://php-http.org", - "keywords": [ - "http", - "message", - "psr-7" - ], - "support": { - "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.2" - }, - "install-path": "../php-http/message" - }, - { - "name": "php-http/multipart-stream-builder", - "version": "1.4.2", - "version_normalized": "1.4.2.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/multipart-stream-builder.git", - "reference": "10086e6de6f53489cca5ecc45b6f468604d3460e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/10086e6de6f53489cca5ecc45b6f468604d3460e", - "reference": "10086e6de6f53489cca5ecc45b6f468604d3460e", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "php-http/discovery": "^1.15", - "psr/http-factory-implementation": "^1.0" - }, - "require-dev": { - "nyholm/psr7": "^1.0", - "php-http/message": "^1.5", - "php-http/message-factory": "^1.0.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3" - }, - "time": "2024-09-04T13:22:54+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Http\\Message\\MultipartStream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "description": "A builder class that help you create a multipart stream", - "homepage": "http://php-http.org", - "keywords": [ - "factory", - "http", - "message", - "multipart stream", - "stream" - ], - "support": { - "issues": "https://github.com/php-http/multipart-stream-builder/issues", - "source": "https://github.com/php-http/multipart-stream-builder/tree/1.4.2" - }, - "install-path": "../php-http/multipart-stream-builder" - }, - { - "name": "php-http/promise", - "version": "1.3.1", - "version_normalized": "1.3.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/promise.git", - "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", - "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3", - "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" - }, - "time": "2024-03-15T13:55:21+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Http\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joel Wurtz", - "email": "joel.wurtz@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Promise used for asynchronous HTTP requests", - "homepage": "http://httplug.io", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.3.1" - }, - "install-path": "../php-http/promise" - }, - { - "name": "php-http/socket-client", - "version": "2.4.0", - "version_normalized": "2.4.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/socket-client.git", - "reference": "99bb89004e04b92bf4b688d40a1f06494a7063b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/socket-client/zipball/99bb89004e04b92bf4b688d40a1f06494a7063b3", - "reference": "99bb89004e04b92bf4b688d40a1f06494a7063b3", - "shasum": "" - }, - "require": { - "nyholm/psr7": "^1.8.1", - "php": "^8.1", - "php-http/httplug": "^2.4", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "^2.6 || ^3.4 || ^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0" - }, - "conflict": { - "guzzlehttp/psr7": "<2.0" - }, - "provide": { - "php-http/client-implementation": "1.0", - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "ext-openssl": "*", - "friendsofphp/php-cs-fixer": "^3.51", - "php-http/client-common": "^2.7", - "php-http/client-integration-tests": "^4.0", - "php-http/message": "^1.16", - "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0" - }, - "time": "2026-01-10T10:45:38+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Http\\Client\\Socket\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" - } - ], - "description": "Socket client for PHP-HTTP", - "support": { - "issues": "https://github.com/php-http/socket-client/issues", - "source": "https://github.com/php-http/socket-client/tree/2.4.0" - }, - "install-path": "../php-http/socket-client" - }, - { - "name": "php-jsonpointer/php-jsonpointer", - "version": "v4.0.0", - "version_normalized": "4.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/raphaelstolt/php-jsonpointer.git", - "reference": "fd50fc1aecd80dedb5bc59c9a1d70d4cfec7933b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/raphaelstolt/php-jsonpointer/zipball/fd50fc1aecd80dedb5bc59c9a1d70d4cfec7933b", - "reference": "fd50fc1aecd80dedb5bc59c9a1d70d4cfec7933b", - "shasum": "" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.0", - "phpunit/phpunit": "8.*" - }, - "time": "2022-01-11T14:28:07+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Rs\\Json": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Raphael Stolt", - "email": "raphael.stolt@gmail.com", - "homepage": "http://raphaelstolt.blogspot.com/" - } - ], - "description": "Implementation of JSON Pointer (http://tools.ietf.org/html/rfc6901)", - "homepage": "https://github.com/raphaelstolt/php-jsonpointer", - "keywords": [ - "json", - "json pointer", - "json traversal" - ], - "support": { - "issues": "https://github.com/raphaelstolt/php-jsonpointer/issues", - "source": "https://github.com/raphaelstolt/php-jsonpointer/tree/v4.0.0" - }, - "install-path": "../php-jsonpointer/php-jsonpointer" - }, { "name": "phpstan/phpdoc-parser", "version": "2.3.2", @@ -5242,17 +4286,17 @@ }, { "name": "sebastian/comparator", - "version": "7.1.5", - "version_normalized": "7.1.5.0", + "version": "7.1.6", + "version_normalized": "7.1.6.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "c284f55811f43d555e51e8e5c166ac40d3e33c63" + "reference": "c769009dee98f494e0edc3fd4f4087501688f11e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c284f55811f43d555e51e8e5c166ac40d3e33c63", - "reference": "c284f55811f43d555e51e8e5c166ac40d3e33c63", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c769009dee98f494e0edc3fd4f4087501688f11e", + "reference": "c769009dee98f494e0edc3fd4f4087501688f11e", "shasum": "" }, "require": { @@ -5268,7 +4312,7 @@ "suggest": { "ext-bcmath": "For comparing BcMath\\Number objects" }, - "time": "2026-04-08T04:43:00+00:00", + "time": "2026-04-14T08:23:15+00:00", "type": "library", "extra": { "branch-alias": { @@ -5313,7 +4357,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.5" + "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.6" }, "funding": [ { @@ -7087,97 +6131,24 @@ "require": { "php": ">=8.1" }, - "time": "2025-04-29T11:18:49+00:00", - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/http-client-contracts" - }, - { - "name": "symfony/options-resolver", - "version": "v7.4.8", - "version_normalized": "7.4.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/2888fcdc4dc2fd5f7c7397be78631e8af12e02b4", - "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "time": "2026-03-24T13:12:05+00:00", + "time": "2025-04-29T11:18:49+00:00", "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" + "Symfony\\Contracts\\HttpClient\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -7186,23 +6157,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an improved replacement for the array_replace PHP function", + "description": "Generic abstractions related to HTTP clients", "homepage": "https://symfony.com", "keywords": [ - "config", - "configuration", - "options" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.4.8" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0" }, "funding": [ { @@ -7213,21 +6187,17 @@ "url": "https://github.com/fabpot", "type": "github" }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "install-path": "../symfony/options-resolver" + "install-path": "../symfony/http-client-contracts" }, { "name": "symfony/polyfill-ctype", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -7288,7 +6258,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.35.0" }, "funding": [ { @@ -7312,8 +6282,8 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -7373,7 +6343,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.35.0" }, "funding": [ { @@ -7397,8 +6367,8 @@ }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -7461,7 +6431,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.35.0" }, "funding": [ { @@ -7485,8 +6455,8 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", @@ -7549,7 +6519,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.35.0" }, "funding": [ { @@ -7573,8 +6543,8 @@ }, { "name": "symfony/polyfill-php73", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", @@ -7632,7 +6602,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.35.0" }, "funding": [ { @@ -7656,8 +6626,8 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", @@ -7719,7 +6689,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.35.0" }, "funding": [ { @@ -7743,8 +6713,8 @@ }, { "name": "symfony/polyfill-php81", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", @@ -7802,7 +6772,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.35.0" }, "funding": [ { @@ -7826,8 +6796,8 @@ }, { "name": "symfony/polyfill-php83", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", @@ -7885,7 +6855,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.34.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.35.0" }, "funding": [ { @@ -7909,8 +6879,8 @@ }, { "name": "symfony/polyfill-php84", - "version": "v1.34.0", - "version_normalized": "1.34.0.0", + "version": "v1.35.0", + "version_normalized": "1.35.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php84.git", @@ -7923,289 +6893,26 @@ "shasum": "" }, "require": { - "php": ">=7.2" - }, - "time": "2026-04-10T18:47:49+00:00", - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php84\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php84/tree/v1.34.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/polyfill-php84" - }, - { - "name": "symfony/process", - "version": "v7.4.8", - "version_normalized": "7.4.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "60f19cd3badc8de688421e21e4305eba50f8089a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a", - "reference": "60f19cd3badc8de688421e21e4305eba50f8089a", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "time": "2026-03-24T13:12:05+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v7.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/process" - }, - { - "name": "symfony/serializer", - "version": "v7.4.8", - "version_normalized": "7.4.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/serializer.git", - "reference": "006fd51717addf2df2bd1a64dafef6b7fab6b455" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/006fd51717addf2df2bd1a64dafef6b7fab6b455", - "reference": "006fd51717addf2df2bd1a64dafef6b7fab6b455", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php84": "^1.30" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "<5.2|>=7", - "phpdocumentor/type-resolver": "<1.5.1", - "symfony/dependency-injection": "<6.4", - "symfony/property-access": "<6.4", - "symfony/property-info": "<6.4", - "symfony/type-info": "<7.2.5", - "symfony/uid": "<6.4", - "symfony/validator": "<6.4", - "symfony/yaml": "<6.4" - }, - "require-dev": { - "phpdocumentor/reflection-docblock": "^5.2|^6.0", - "phpstan/phpdoc-parser": "^1.0|^2.0", - "seld/jsonlint": "^1.10", - "symfony/cache": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^7.2|^8.0", - "symfony/error-handler": "^6.4|^7.0|^8.0", - "symfony/filesystem": "^6.4|^7.0|^8.0", - "symfony/form": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/mime": "^6.4|^7.0|^8.0", - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/property-info": "^6.4|^7.0|^8.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/type-info": "^7.2.5|^8.0", - "symfony/uid": "^6.4|^7.0|^8.0", - "symfony/validator": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0", - "symfony/var-exporter": "^6.4|^7.0|^8.0", - "symfony/yaml": "^6.4|^7.0|^8.0" - }, - "time": "2026-03-30T21:34:42+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Serializer\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/serializer/tree/v7.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/serializer" - }, - { - "name": "symfony/service-contracts", - "version": "v3.6.1", - "version_normalized": "3.6.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" + "php": ">=7.2" }, - "time": "2025-07-15T11:30:57+00:00", + "time": "2026-04-10T18:47:49+00:00", "type": "library", "extra": { "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "installation-source": "dist", "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Contracts\\Service\\": "" + "Symfony\\Polyfill\\Php84\\": "" }, - "exclude-from-classmap": [ - "/Test/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8222,18 +6929,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to writing services", + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" + "source": "https://github.com/symfony/polyfill-php84/tree/v1.35.0" }, "funding": [ { @@ -8253,50 +6958,32 @@ "type": "tidelift" } ], - "install-path": "../symfony/service-contracts" + "install-path": "../symfony/polyfill-php84" }, { - "name": "symfony/string", + "name": "symfony/process", "version": "v7.4.8", "version_normalized": "7.4.8.0", "source": { "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "114ac57257d75df748eda23dd003878080b8e688" + "url": "https://github.com/symfony/process.git", + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/114ac57257d75df748eda23dd003878080b8e688", - "reference": "114ac57257d75df748eda23dd003878080b8e688", + "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a", + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.33", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" - }, - "require-dev": { - "symfony/emoji": "^7.1|^8.0", - "symfony/http-client": "^6.4|^7.0|^8.0", - "symfony/intl": "^6.4|^7.0|^8.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0|^8.0" + "php": ">=8.2" }, "time": "2026-03-24T13:12:05+00:00", "type": "library", "installation-source": "dist", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { - "Symfony\\Component\\String\\": "" + "Symfony\\Component\\Process\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8308,26 +6995,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], "support": { - "source": "https://github.com/symfony/string/tree/v7.4.8" + "source": "https://github.com/symfony/process/tree/v7.4.8" }, "funding": [ { @@ -8347,27 +7026,32 @@ "type": "tidelift" } ], - "install-path": "../symfony/string" + "install-path": "../symfony/process" }, { - "name": "symfony/translation-contracts", + "name": "symfony/service-contracts", "version": "v3.6.1", "version_normalized": "3.6.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "65a8bc82080447fae78373aa10f8d13b38338977" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", - "reference": "65a8bc82080447fae78373aa10f8d13b38338977", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" }, - "time": "2025-07-15T13:41:35+00:00", + "time": "2025-07-15T11:30:57+00:00", "type": "library", "extra": { "thanks": { @@ -8381,7 +7065,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Contracts\\Translation\\": "" + "Symfony\\Contracts\\Service\\": "" }, "exclude-from-classmap": [ "/Test/" @@ -8401,7 +7085,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to translation", + "description": "Generic abstractions related to writing services", "homepage": "https://symfony.com", "keywords": [ "abstractions", @@ -8412,7 +7096,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" }, "funding": [ { @@ -8432,74 +7116,53 @@ "type": "tidelift" } ], - "install-path": "../symfony/translation-contracts" + "install-path": "../symfony/service-contracts" }, { - "name": "symfony/validator", + "name": "symfony/string", "version": "v7.4.8", "version_normalized": "7.4.8.0", "source": { "type": "git", - "url": "https://github.com/symfony/validator.git", - "reference": "8f73cbddae916756f319b3e195088da216f0f12f" + "url": "https://github.com/symfony/string.git", + "reference": "114ac57257d75df748eda23dd003878080b8e688" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/8f73cbddae916756f319b3e195088da216f0f12f", - "reference": "8f73cbddae916756f319b3e195088da216f0f12f", + "url": "https://api.github.com/repos/symfony/string/zipball/114ac57257d75df748eda23dd003878080b8e688", + "reference": "114ac57257d75df748eda23dd003878080b8e688", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php83": "^1.27", - "symfony/translation-contracts": "^2.5|^3" + "symfony/polyfill-intl-grapheme": "~1.33", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "doctrine/lexer": "<1.1", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<7.0", - "symfony/expression-language": "<6.4", - "symfony/http-kernel": "<6.4", - "symfony/intl": "<6.4", - "symfony/property-info": "<6.4", - "symfony/translation": "<6.4.3|>=7.0,<7.0.3", - "symfony/var-exporter": "<6.4.25|>=7.0,<7.3.3", - "symfony/yaml": "<6.4" + "symfony/translation-contracts": "<2.5" }, "require-dev": { - "egulias/email-validator": "^2.1.10|^3|^4", - "symfony/cache": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/emoji": "^7.1|^8.0", "symfony/http-client": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", "symfony/intl": "^6.4|^7.0|^8.0", - "symfony/mime": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/property-info": "^6.4|^7.0|^8.0", - "symfony/string": "^6.4|^7.0|^8.0", - "symfony/translation": "^6.4.3|^7.0.3|^8.0", - "symfony/type-info": "^7.1.8", - "symfony/yaml": "^6.4|^7.0|^8.0" + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, - "time": "2026-03-30T12:55:43+00:00", + "time": "2026-03-24T13:12:05+00:00", "type": "library", "installation-source": "dist", "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "Symfony\\Component\\Validator\\": "" + "Symfony\\Component\\String\\": "" }, "exclude-from-classmap": [ - "/Tests/", - "/Resources/bin/" + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8508,18 +7171,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to validate values", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], "support": { - "source": "https://github.com/symfony/validator/tree/v7.4.8" + "source": "https://github.com/symfony/string/tree/v7.4.8" }, "funding": [ { @@ -8539,7 +7210,7 @@ "type": "tidelift" } ], - "install-path": "../symfony/validator" + "install-path": "../symfony/string" }, { "name": "symfony/var-dumper", @@ -8631,149 +7302,6 @@ ], "install-path": "../symfony/var-dumper" }, - { - "name": "symfony/yaml", - "version": "v7.4.8", - "version_normalized": "7.4.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883", - "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0" - }, - "time": "2026-03-24T13:12:05+00:00", - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v7.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/yaml" - }, - { - "name": "testcontainers/testcontainers", - "version": "1.0.8", - "version_normalized": "1.0.8.0", - "source": { - "type": "git", - "url": "https://github.com/testcontainers/testcontainers-php.git", - "reference": "266f0beca7bfc654b763c97b6ba7d228eb4a3d8e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/testcontainers/testcontainers-php/zipball/266f0beca7bfc654b763c97b6ba7d228eb4a3d8e", - "reference": "266f0beca7bfc654b763c97b6ba7d228eb4a3d8e", - "shasum": "" - }, - "require": { - "beluga-php/docker-php": "^1.45", - "ext-curl": "*", - "php": ">= 8.1" - }, - "require-dev": { - "brianium/paratest": "^6.11", - "ext-pdo": "*", - "ext-pdo_mysql": "*", - "ext-pdo_pgsql": "*", - "friendsofphp/php-cs-fixer": "^3.92", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "predis/predis": "^3.0 || ^2.0" - }, - "suggest": { - "ext-mongodb": "Required for MongoDB container support" - }, - "time": "2026-03-12T05:59:42+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Testcontainers\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Soner Sayakci", - "email": "github@shyim.de" - } - ], - "description": "Testcontainers implementation in PHP", - "keywords": [ - "docker", - "testcontainers" - ], - "support": { - "issues": "https://github.com/testcontainers/testcontainers-php/issues", - "source": "https://github.com/testcontainers/testcontainers-php/tree/1.0.8" - }, - "install-path": "../testcontainers/testcontainers" - }, { "name": "theseer/tokenizer", "version": "2.0.1", @@ -8988,14 +7516,11 @@ ], "dev": true, "dev-package-names": [ - "beluga-php/docker-php", - "beluga-php/docker-php-api", "brick/varexporter", "cakephp/bake", "cakephp/cakephp-codesniffer", "cakephp/debug_kit", "cakephp/twig-view", - "clue/stream-filter", "composer/class-map-generator", "composer/composer", "composer/metadata-minifier", @@ -9005,8 +7530,6 @@ "composer/xdebug-handler", "dealerdirect/phpcodesniffer-composer-installer", "doctrine/sql-formatter", - "jane-php/json-schema-runtime", - "jane-php/open-api-runtime", "jasny/twig-extensions", "josegonzalez/dotenv", "justinrainbow/json-schema", @@ -9014,17 +7537,8 @@ "marc-mabe/php-enum", "myclabs/deep-copy", "nikic/php-parser", - "nyholm/psr7", "phar-io/manifest", "phar-io/version", - "php-http/client-common", - "php-http/discovery", - "php-http/httplug", - "php-http/message", - "php-http/multipart-stream-builder", - "php-http/promise", - "php-http/socket-client", - "php-jsonpointer/php-jsonpointer", "phpstan/phpdoc-parser", "phpunit/php-code-coverage", "phpunit/php-file-iterator", @@ -9056,19 +7570,13 @@ "symfony/finder", "symfony/http-client", "symfony/http-client-contracts", - "symfony/options-resolver", "symfony/polyfill-php73", "symfony/polyfill-php80", "symfony/polyfill-php81", "symfony/polyfill-php83", "symfony/polyfill-php84", "symfony/process", - "symfony/serializer", - "symfony/translation-contracts", - "symfony/validator", "symfony/var-dumper", - "symfony/yaml", - "testcontainers/testcontainers", "theseer/tokenizer", "twig/markdown-extra", "twig/twig" diff --git a/app/vendor/composer/installed.php b/app/vendor/composer/installed.php index d34907a0d..78b3a8ad2 100644 --- a/app/vendor/composer/installed.php +++ b/app/vendor/composer/installed.php @@ -1,33 +1,15 @@ array( 'name' => 'cakephp/app', - 'pretty_version' => 'dev-CFM-505_Github_actions_bootstraping_and_comanage_setup_testing', - 'version' => 'dev-CFM-505_Github_actions_bootstraping_and_comanage_setup_testing', - 'reference' => '698285ccd91b7954c5f51a562f037f19dd5659f6', + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'reference' => 'ac02e47cf9ee7816dc65d060b19471b9e4c0b960', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => true, ), 'versions' => array( - 'beluga-php/docker-php' => array( - 'pretty_version' => 'v1.45.6', - 'version' => '1.45.6.0', - 'reference' => '2eaf579e19ed08e8d3360bee545ad85f18deadc0', - 'type' => 'library', - 'install_path' => __DIR__ . '/../beluga-php/docker-php', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'beluga-php/docker-php-api' => array( - 'pretty_version' => 'v7.1.45.4', - 'version' => '7.1.45.4', - 'reference' => '8f3ed3b9a69e161489e07664b99eb73258e7eef2', - 'type' => 'library', - 'install_path' => __DIR__ . '/../beluga-php/docker-php-api', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'brick/varexporter' => array( 'pretty_version' => '0.7.0', 'version' => '0.7.0.0', @@ -38,9 +20,9 @@ 'dev_requirement' => true, ), 'cakephp/app' => array( - 'pretty_version' => 'dev-CFM-505_Github_actions_bootstraping_and_comanage_setup_testing', - 'version' => 'dev-CFM-505_Github_actions_bootstraping_and_comanage_setup_testing', - 'reference' => '698285ccd91b7954c5f51a562f037f19dd5659f6', + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'reference' => 'ac02e47cf9ee7816dc65d060b19471b9e4c0b960', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -211,15 +193,6 @@ 0 => '5.2.12', ), ), - 'clue/stream-filter' => array( - 'pretty_version' => 'v1.7.0', - 'version' => '1.7.0.0', - 'reference' => '049509fef80032cb3f051595029ab75b49a3c2f7', - 'type' => 'library', - 'install_path' => __DIR__ . '/../clue/stream-filter', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'composer/ca-bundle' => array( 'pretty_version' => '1.5.11', 'version' => '1.5.11.0', @@ -239,9 +212,9 @@ 'dev_requirement' => true, ), 'composer/composer' => array( - 'pretty_version' => '2.9.5', - 'version' => '2.9.5.0', - 'reference' => '72a8f8e653710e18d83e5dd531eb5a71fc3223e6', + 'pretty_version' => '2.9.6', + 'version' => '2.9.6.0', + 'reference' => '9afc32c056d65f9bc4af64ca2aa264a0a38568e5', 'type' => 'library', 'install_path' => __DIR__ . '/./composer', 'aliases' => array(), @@ -337,24 +310,6 @@ 'aliases' => array(), 'dev_requirement' => true, ), - 'jane-php/json-schema-runtime' => array( - 'pretty_version' => 'v7.11.1', - 'version' => '7.11.1.0', - 'reference' => '447cba025ca2c9272daa9395668832d02ed60926', - 'type' => 'library', - 'install_path' => __DIR__ . '/../jane-php/json-schema-runtime', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'jane-php/open-api-runtime' => array( - 'pretty_version' => 'v7.11.1', - 'version' => '7.11.1.0', - 'reference' => '2afe544405a61d4254baf0bc99c299b4dffdf51e', - 'type' => 'library', - 'install_path' => __DIR__ . '/../jane-php/open-api-runtime', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'jasny/twig-extensions' => array( 'pretty_version' => 'v1.3.1', 'version' => '1.3.1.0', @@ -481,15 +436,6 @@ 'aliases' => array(), 'dev_requirement' => true, ), - 'nyholm/psr7' => array( - 'pretty_version' => '1.8.2', - 'version' => '1.8.2.0', - 'reference' => 'a71f2b11690f4b24d099d6b16690a90ae14fc6f3', - 'type' => 'library', - 'install_path' => __DIR__ . '/../nyholm/psr7', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'orno/di' => array( 'dev_requirement' => false, 'replaced' => array( @@ -520,91 +466,12 @@ 0 => '*', ), ), - 'php-http/client-common' => array( - 'pretty_version' => '2.7.3', - 'version' => '2.7.3.0', - 'reference' => 'dcc6de29c90dd74faab55f71b79d89409c4bf0c1', - 'type' => 'library', - 'install_path' => __DIR__ . '/../php-http/client-common', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'php-http/client-implementation' => array( 'dev_requirement' => true, 'provided' => array( 0 => '*', - 1 => '1.0', ), ), - 'php-http/discovery' => array( - 'pretty_version' => '1.20.0', - 'version' => '1.20.0.0', - 'reference' => '82fe4c73ef3363caed49ff8dd1539ba06044910d', - 'type' => 'composer-plugin', - 'install_path' => __DIR__ . '/../php-http/discovery', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'php-http/httplug' => array( - 'pretty_version' => '2.4.1', - 'version' => '2.4.1.0', - 'reference' => '5cad731844891a4c282f3f3e1b582c46839d22f4', - 'type' => 'library', - 'install_path' => __DIR__ . '/../php-http/httplug', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'php-http/message' => array( - 'pretty_version' => '1.16.2', - 'version' => '1.16.2.0', - 'reference' => '06dd5e8562f84e641bf929bfe699ee0f5ce8080a', - 'type' => 'library', - 'install_path' => __DIR__ . '/../php-http/message', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'php-http/message-factory-implementation' => array( - 'dev_requirement' => true, - 'provided' => array( - 0 => '1.0', - ), - ), - 'php-http/multipart-stream-builder' => array( - 'pretty_version' => '1.4.2', - 'version' => '1.4.2.0', - 'reference' => '10086e6de6f53489cca5ecc45b6f468604d3460e', - 'type' => 'library', - 'install_path' => __DIR__ . '/../php-http/multipart-stream-builder', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'php-http/promise' => array( - 'pretty_version' => '1.3.1', - 'version' => '1.3.1.0', - 'reference' => 'fc85b1fba37c169a69a07ef0d5a8075770cc1f83', - 'type' => 'library', - 'install_path' => __DIR__ . '/../php-http/promise', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'php-http/socket-client' => array( - 'pretty_version' => '2.4.0', - 'version' => '2.4.0.0', - 'reference' => '99bb89004e04b92bf4b688d40a1f06494a7063b3', - 'type' => 'library', - 'install_path' => __DIR__ . '/../php-http/socket-client', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'php-jsonpointer/php-jsonpointer' => array( - 'pretty_version' => 'v4.0.0', - 'version' => '4.0.0.0', - 'reference' => 'fd50fc1aecd80dedb5bc59c9a1d70d4cfec7933b', - 'type' => 'library', - 'install_path' => __DIR__ . '/../php-jsonpointer/php-jsonpointer', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'phpstan/phpdoc-parser' => array( 'pretty_version' => '2.3.2', 'version' => '2.3.2.0', @@ -720,9 +587,8 @@ 'psr/http-client-implementation' => array( 'dev_requirement' => false, 'provided' => array( - 0 => '*', - 1 => '1.0', - 2 => '^1.0', + 0 => '1.0', + 1 => '^1.0', ), ), 'psr/http-factory' => array( @@ -737,9 +603,7 @@ 'psr/http-factory-implementation' => array( 'dev_requirement' => false, 'provided' => array( - 0 => '*', - 1 => '1.0', - 2 => '^1.0', + 0 => '^1.0', ), ), 'psr/http-message' => array( @@ -754,9 +618,7 @@ 'psr/http-message-implementation' => array( 'dev_requirement' => false, 'provided' => array( - 0 => '*', - 1 => '1.0', - 2 => '^1.1 || ^2.0', + 0 => '^1.1 || ^2.0', ), ), 'psr/http-server-handler' => array( @@ -857,9 +719,9 @@ 'dev_requirement' => true, ), 'sebastian/comparator' => array( - 'pretty_version' => '7.1.5', - 'version' => '7.1.5.0', - 'reference' => 'c284f55811f43d555e51e8e5c166ac40d3e33c63', + 'pretty_version' => '7.1.6', + 'version' => '7.1.6.0', + 'reference' => 'c769009dee98f494e0edc3fd4f4087501688f11e', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/comparator', 'aliases' => array(), @@ -1096,18 +958,9 @@ 0 => '3.0', ), ), - 'symfony/options-resolver' => array( - 'pretty_version' => 'v7.4.8', - 'version' => '7.4.8.0', - 'reference' => '2888fcdc4dc2fd5f7c7397be78631e8af12e02b4', - 'type' => 'library', - 'install_path' => __DIR__ . '/../symfony/options-resolver', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'symfony/polyfill-ctype' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => '141046a8f9477948ff284fa65be2095baafb94f2', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', @@ -1115,8 +968,8 @@ 'dev_requirement' => false, ), 'symfony/polyfill-intl-grapheme' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => 'ad1b7b9092976d6c948b8a187cec9faaea9ec1df', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', @@ -1124,8 +977,8 @@ 'dev_requirement' => false, ), 'symfony/polyfill-intl-normalizer' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => '3833d7255cc303546435cb650316bff708a1c75c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', @@ -1133,8 +986,8 @@ 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => '6a21eb99c6973357967f6ce3708cd55a6bec6315', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', @@ -1142,8 +995,8 @@ 'dev_requirement' => false, ), 'symfony/polyfill-php73' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => '0f68c03565dcaaf25a890667542e8bd75fe7e5bb', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php73', @@ -1151,8 +1004,8 @@ 'dev_requirement' => true, ), 'symfony/polyfill-php80' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => 'dfb55726c3a76ea3b6459fcfda1ec2d80a682411', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', @@ -1160,8 +1013,8 @@ 'dev_requirement' => true, ), 'symfony/polyfill-php81' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => '4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php81', @@ -1169,8 +1022,8 @@ 'dev_requirement' => true, ), 'symfony/polyfill-php83' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => '3600c2cb22399e25bb226e4a135ce91eeb2a6149', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php83', @@ -1178,8 +1031,8 @@ 'dev_requirement' => true, ), 'symfony/polyfill-php84' => array( - 'pretty_version' => 'v1.34.0', - 'version' => '1.34.0.0', + 'pretty_version' => 'v1.35.0', + 'version' => '1.35.0.0', 'reference' => '88486db2c389b290bf87ff1de7ebc1e13e42bb06', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php84', @@ -1195,15 +1048,6 @@ 'aliases' => array(), 'dev_requirement' => true, ), - 'symfony/serializer' => array( - 'pretty_version' => 'v7.4.8', - 'version' => '7.4.8.0', - 'reference' => '006fd51717addf2df2bd1a64dafef6b7fab6b455', - 'type' => 'library', - 'install_path' => __DIR__ . '/../symfony/serializer', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'symfony/service-contracts' => array( 'pretty_version' => 'v3.6.1', 'version' => '3.6.1.0', @@ -1222,24 +1066,6 @@ 'aliases' => array(), 'dev_requirement' => false, ), - 'symfony/translation-contracts' => array( - 'pretty_version' => 'v3.6.1', - 'version' => '3.6.1.0', - 'reference' => '65a8bc82080447fae78373aa10f8d13b38338977', - 'type' => 'library', - 'install_path' => __DIR__ . '/../symfony/translation-contracts', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'symfony/validator' => array( - 'pretty_version' => 'v7.4.8', - 'version' => '7.4.8.0', - 'reference' => '8f73cbddae916756f319b3e195088da216f0f12f', - 'type' => 'library', - 'install_path' => __DIR__ . '/../symfony/validator', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'symfony/var-dumper' => array( 'pretty_version' => 'v7.4.8', 'version' => '7.4.8.0', @@ -1249,24 +1075,6 @@ 'aliases' => array(), 'dev_requirement' => true, ), - 'symfony/yaml' => array( - 'pretty_version' => 'v7.4.8', - 'version' => '7.4.8.0', - 'reference' => 'c58fdf7b3d6c2995368264c49e4e8b05bcff2883', - 'type' => 'library', - 'install_path' => __DIR__ . '/../symfony/yaml', - 'aliases' => array(), - 'dev_requirement' => true, - ), - 'testcontainers/testcontainers' => array( - 'pretty_version' => '1.0.8', - 'version' => '1.0.8.0', - 'reference' => '266f0beca7bfc654b763c97b6ba7d228eb4a3d8e', - 'type' => 'library', - 'install_path' => __DIR__ . '/../testcontainers/testcontainers', - 'aliases' => array(), - 'dev_requirement' => true, - ), 'theseer/tokenizer' => array( 'pretty_version' => '2.0.1', 'version' => '2.0.1.0', diff --git a/app/vendor/jane-php/json-schema-runtime/.github/workflows/read-only.yml b/app/vendor/jane-php/json-schema-runtime/.github/workflows/read-only.yml deleted file mode 100644 index 83da939b7..000000000 --- a/app/vendor/jane-php/json-schema-runtime/.github/workflows/read-only.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: read-only -on: pull_request_target -jobs: - write_message: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Hey! - Thanks for your PR and contributing to Jane! - But this repository is read-only, if you want to contribute to Jane, please submit your PR to https://github.com/janephp/janephp. - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/app/vendor/jane-php/json-schema-runtime/LICENSE b/app/vendor/jane-php/json-schema-runtime/LICENSE deleted file mode 100644 index 0f8e62bc4..000000000 --- a/app/vendor/jane-php/json-schema-runtime/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (C) 2016-2017 Joel Wurtz - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/jane-php/json-schema-runtime/README.md b/app/vendor/jane-php/json-schema-runtime/README.md deleted file mode 100644 index b0b1d85ee..000000000 --- a/app/vendor/jane-php/json-schema-runtime/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# Jane JsonSchema Runtime - -Jane Runtime are a collection of class used by a library generated via [Jane JsonSchema](https://github.com/janephp/json-schema) - -## License - -View the [LICENSE](LICENSE) file attached to this project. - -## Resources - -* [Documentation](https://jane.jolicode.com/) -* [Contributing](https://github.com/janephp/janephp/blob/master/CONTRIBUTING.md) -* [Report Issues](https://github.com/janephp/janephp/issues) and [send Pull Requests](https://github.com/janephp/janephp/pulls) - in the [main Jane Repository](https://github.com/janephp/janephp) - -## Sponsor - -[![JoliCode](https://jolicode.com/images/logo.svg)](https://jolicode.com) - -Open Source time sponsored by JoliCode - -## Credits - -* [All contributors](https://github.com/jolicode/jane/graphs/contributors) diff --git a/app/vendor/jane-php/json-schema-runtime/Reference.php b/app/vendor/jane-php/json-schema-runtime/Reference.php deleted file mode 100644 index cd70b21f2..000000000 --- a/app/vendor/jane-php/json-schema-runtime/Reference.php +++ /dev/null @@ -1,180 +0,0 @@ -fixPath($reference); - $origin = $this->fixPath($origin); - $originParts = UriString::parse($origin); - $referenceParts = parse_url($reference); - $mergedParts = array_merge($originParts, $referenceParts); - - if (\array_key_exists('path', $referenceParts)) { - $mergedParts['path'] = $this->joinPath(\dirname($originParts['path']), $referenceParts['path']); - } - - $this->referenceUri = method_exists(Http::class, 'new') ? Http::new($reference) : Http::createFromString($reference); - $this->originUri = method_exists(Http::class, 'new') ? Http::new($origin) : Http::createFromString($origin); - $this->mergedUri = method_exists(Http::class, 'fromComponents') ? Http::fromComponents($mergedParts) : Http::createFromComponents($mergedParts); - } - - /** - * Resolve a JSON Reference. - * - * @return mixed Return the json value (deserialized) referenced - */ - public function resolve(?callable $deserializeCallback = null) - { - if (null === $deserializeCallback) { - $deserializeCallback = function ($data) { return $data; }; - } - - if (null === $this->resolved) { - $this->resolved = $this->doResolve(); - } - - return $deserializeCallback($this->resolved); - } - - /** - * Resolve a JSON Reference for a Schema. - * - * @return string|array Return the json value referenced - */ - protected function doResolve(): string|array - { - $fragment = (string) $this->mergedUri->withFragment(''); - $reference = \sprintf('%s_%s', $fragment, $this->mergedUri->getFragment()); - - if (!\array_key_exists($fragment, self::$fileCache)) { - $contents = file_get_contents($fragment); - - if (!json_decode($contents, true) || \JSON_ERROR_NONE !== json_last_error()) { - $decoded = Yaml::parse($contents, - Yaml::PARSE_OBJECT | Yaml::PARSE_OBJECT_FOR_MAP | Yaml::PARSE_DATETIME | Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE); - $contents = json_encode($decoded); - } - - self::$fileCache[$fragment] = $contents; - } - - if (!\array_key_exists($reference, self::$arrayCache)) { - if ('' === $this->mergedUri->getFragment()) { - $array = json_decode(self::$fileCache[$fragment], true); - } else { - if (!\array_key_exists($fragment, self::$pointerCache)) { - self::$pointerCache[$fragment] = new Pointer(self::$fileCache[$fragment]); - } - - $array = json_decode(json_encode(self::$pointerCache[$fragment]->get($this->mergedUri->getFragment())), true); - } - - self::$arrayCache[$reference] = $array; - } - - return self::$arrayCache[$reference]; - } - - /** - * Return true if reference and origin are in the same document. - */ - public function isInCurrentDocument(): bool - { - return - $this->mergedUri->getScheme() === $this->originUri->getScheme() - && $this->mergedUri->getHost() === $this->originUri->getHost() - && $this->mergedUri->getPort() === $this->originUri->getPort() - && $this->mergedUri->getPath() === $this->originUri->getPath() - && $this->mergedUri->getQuery() === $this->originUri->getQuery() - ; - } - - public function getMergedUri(): UriInterface - { - return $this->mergedUri; - } - - public function getReferenceUri(): UriInterface - { - return $this->referenceUri; - } - - public function getOriginUri(): UriInterface - { - return $this->originUri; - } - - /** - * Join path like unix path join :. - * - * a/b + c => a/b/c - * a/b + /c => /c - * a/b/c + .././d => a/b/d - */ - private function joinPath(...$paths): string - { - $resultPath = null; - - foreach ($paths as $path) { - if (null === $resultPath || (!empty($path) && '/' === $path[0])) { - $resultPath = $path; - } else { - $resultPath = $resultPath . '/' . $path; - } - } - - $resultPath = preg_replace('~/{2,}~', '/', $resultPath); - - if ('/' === $resultPath) { - return '/'; - } - - $resultPathParts = []; - foreach (explode('/', rtrim($resultPath, '/')) as $part) { - if ('.' === $part) { - continue; - } - - if ('..' === $part && \count($resultPathParts) > 0) { - array_pop($resultPathParts); - continue; - } - - $resultPathParts[] = $part; - } - - return implode('/', $resultPathParts); - } - - private function fixPath(string $path): string - { - if ('\\' === \DIRECTORY_SEPARATOR) { - $path = lcfirst(str_replace(\DIRECTORY_SEPARATOR, '/', $path)); - } - - return $path; - } -} diff --git a/app/vendor/jane-php/json-schema-runtime/composer.json b/app/vendor/jane-php/json-schema-runtime/composer.json deleted file mode 100644 index d53f75a8d..000000000 --- a/app/vendor/jane-php/json-schema-runtime/composer.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "jane-php/json-schema-runtime", - "type": "library", - "description": "Jane runtime Library", - "license": "MIT", - "authors": [ - { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" - }, - { - "name": "Baptiste Leduc", - "email": "baptiste.leduc@gmail.com" - } - ], - "autoload": { - "psr-4": { - "Jane\\Component\\JsonSchemaRuntime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "require": { - "php": "^8.1", - "league/uri": "^6.7.2 || ^7.4", - "php-jsonpointer/php-jsonpointer": "^3.0 || ^4.0", - "symfony/serializer": "^5.4 || ^6.4 || ^7.0 || ^8.0", - "symfony/yaml": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5" - }, - "conflict": { - "symfony/framework-bundle": "5.1.0" - }, - "extra": { - "branch-alias": { - "dev-next": "7-dev" - } - }, - "config": { - "process-timeout": 1800, - "sort-packages": true - }, - "minimum-stability": "dev", - "prefer-stable": true -} diff --git a/app/vendor/jane-php/open-api-runtime/.github/workflows/read-only.yml b/app/vendor/jane-php/open-api-runtime/.github/workflows/read-only.yml deleted file mode 100644 index 83da939b7..000000000 --- a/app/vendor/jane-php/open-api-runtime/.github/workflows/read-only.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: read-only -on: pull_request_target -jobs: - write_message: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Hey! - Thanks for your PR and contributing to Jane! - But this repository is read-only, if you want to contribute to Jane, please submit your PR to https://github.com/janephp/janephp. - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/app/vendor/jane-php/open-api-runtime/Client/AuthenticationPlugin.php b/app/vendor/jane-php/open-api-runtime/Client/AuthenticationPlugin.php deleted file mode 100644 index 8823f05b7..000000000 --- a/app/vendor/jane-php/open-api-runtime/Client/AuthenticationPlugin.php +++ /dev/null @@ -1,14 +0,0 @@ -getHeader(self::SCOPES_HEADER); - - foreach ($this->authenticationPlugins as $authenticationPlugin) { - if (\in_array($authenticationPlugin->getScope(), $scopes)) { - $request = $authenticationPlugin->authentication($request); - } - } - - // clean headers - $request = $request->withoutHeader(self::SCOPES_HEADER); - - return $next($request); - } -} diff --git a/app/vendor/jane-php/open-api-runtime/LICENSE b/app/vendor/jane-php/open-api-runtime/LICENSE deleted file mode 100644 index 2889d934f..000000000 --- a/app/vendor/jane-php/open-api-runtime/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (C) 2016-2017 Joel Wurtz - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/jane-php/open-api-runtime/README.md b/app/vendor/jane-php/open-api-runtime/README.md deleted file mode 100644 index 5552ca32b..000000000 --- a/app/vendor/jane-php/open-api-runtime/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# Jane OpenApi Runtime - -Dependencies and utility classes for a library generated by [Jane OpenApi](https://github.com/janephp/open-api) - -## License - -View the [LICENSE](LICENSE) file attached to this project. - -## Resources - -* [Documentation](https://jane.jolicode.com/) -* [Contributing](https://github.com/janephp/janephp/blob/master/CONTRIBUTING.md) -* [Report Issues](https://github.com/janephp/janephp/issues) and [send Pull Requests](https://github.com/janephp/janephp/pulls) - in the [main Jane Repository](https://github.com/janephp/janephp) - -## Sponsor - -[![JoliCode](https://jolicode.com/images/logo.svg)](https://jolicode.com) - -Open Source time sponsored by JoliCode - -## Credits - -* [All contributors](https://github.com/jolicode/jane/graphs/contributors) diff --git a/app/vendor/jane-php/open-api-runtime/composer.json b/app/vendor/jane-php/open-api-runtime/composer.json deleted file mode 100644 index e0e2302eb..000000000 --- a/app/vendor/jane-php/open-api-runtime/composer.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "jane-php/open-api-runtime", - "type": "library", - "description": "Jane OpenAPI Runtime Library, dependencies and utility class for a library generated by jane/openapi", - "license": "MIT", - "authors": [ - { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" - }, - { - "name": "Baptiste Leduc", - "email": "baptiste.leduc@gmail.com" - } - ], - "autoload": { - "psr-4": { - "Jane\\Component\\OpenApiRuntime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "require": { - "php": "^8.1", - "jane-php/json-schema-runtime": "^7.0", - "nyholm/psr7": "^1.8", - "php-http/client-common": "^2.0", - "php-http/discovery": "^1.6", - "php-http/multipart-stream-builder": "^1.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "symfony/options-resolver": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5", - "symfony/serializer": "^5.4 || ^6.4 || ^7.0 || ^8.0" - }, - "extra": { - "branch-alias": { - "dev-next": "7-dev" - } - }, - "config": { - "process-timeout": 1800, - "sort-packages": true, - "allow-plugins": { - "php-http/discovery": true - } - }, - "minimum-stability": "dev", - "prefer-stable": true -} diff --git a/app/vendor/nyholm/psr7/CHANGELOG.md b/app/vendor/nyholm/psr7/CHANGELOG.md deleted file mode 100644 index 17a819fbb..000000000 --- a/app/vendor/nyholm/psr7/CHANGELOG.md +++ /dev/null @@ -1,172 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file, in reverse chronological order by release. - -## 1.8.2 - -- Fix deprecation warnings in PHP 8.4 - -## 1.8.1 - -- Fix error handling in Stream::getContents() - -## 1.8.0 - -- Deprecate HttplugFactory, use Psr17Factory instead -- Make depencendy on php-http/message-factory optional - -## 1.7.0 - -- Bump to PHP 7.2 minimum -- Allow psr/http-message v2 -- Use copy-on-write for streams created from strings - -## 1.6.1 - -- Security fix: CVE-2023-29197 - -## 1.6.0 - -### Changed - -- Seek to the begining of the string when using Stream::create() -- Populate ServerRequest::getQueryParams() on instantiation -- Encode [reserved characters](https://www.rfc-editor.org/rfc/rfc3986#appendix-A) in userinfo in Uri -- Normalize leading slashes for Uri::getPath() -- Make Stream's constructor public -- Add some missing type checks on arguments - -## 1.5.1 - -### Fixed - -- Fixed deprecations on PHP 8.1 - -## 1.5.0 - -### Added - -- Add explicit `@return mixed` -- Add explicit return types to HttplugFactory - -### Fixed - -- Improve error handling with streams - -## 1.4.1 - -### Fixed - -- `Psr17Factory::createStreamFromFile`, `UploadedFile::moveTo`, and - `UploadedFile::getStream` no longer throw `ValueError` in PHP 8. - -## 1.4.0 - -### Removed - -The `final` keyword was replaced by `@final` annotation. - -## 1.3.2 - -### Fixed - -- `Stream::read()` must not return boolean. -- Improved exception message when using wrong HTTP status code. - -## 1.3.1 - -### Fixed - -- Allow installation on PHP8 - -## 1.3.0 - -### Added - -- Make Stream::__toString() compatible with throwing exceptions on PHP 7.4. - -### Fixed - -- Support for UTF-8 hostnames -- Support for numeric header names - -## 1.2.1 - -### Changed - -- Added `.github` and `phpstan.neon.dist` to `.gitattributes`. - -## 1.2.0 - -### Changed - -- Change minimal port number to 0 (unix socket) -- Updated `Psr17Factory::createResponse` to respect the specification. If second - argument is not used, a standard reason phrase. If an empty string is passed, - then the reason phrase will be empty. - -### Fixed - -- Check for seekable on the stream resource. -- Fixed the `Response::$reason` should never be null. - -## 1.1.0 - -### Added - -- Improved performance -- More tests for `UploadedFile` and `HttplugFactory` - -### Removed - -- Dead code - -## 1.0.1 - -### Fixed - -- Handle `fopen` failing in createStreamFromFile according to PSR-7. -- Reduce execution path to speed up performance. -- Fixed typos. -- Code style. - -## 1.0.0 - -### Added - -- Support for final PSR-17 (HTTP factories). (`Psr17Factory`) -- Support for numeric header values. -- Support for empty header values. -- All classes are final -- `HttplugFactory` that implements factory interfaces from HTTPlug. - -### Changed - -- `ServerRequest` does not extend `Request`. - -### Removed - -- The HTTPlug discovery strategy was removed since it is included in php-http/discovery 1.4. -- `UploadedFileFactory()` was removed in favor for `Psr17Factory`. -- `ServerRequestFactory()` was removed in favor for `Psr17Factory`. -- `StreamFactory`, `UriFactory`, abd `MessageFactory`. Use `HttplugFactory` instead. -- `ServerRequestFactory::createServerRequestFromArray`, `ServerRequestFactory::createServerRequestFromArrays` and - `ServerRequestFactory::createServerRequestFromGlobals`. Please use the new `nyholm/psr7-server` instead. - -## 0.3.0 - -### Added - -- Return types. -- Many `InvalidArgumentException`s are thrown when you use invalid arguments. -- Integration tests for `UploadedFile` and `ServerRequest`. - -### Changed - -- We dropped PHP7.0 support. -- PSR-17 factories have been marked as internal. They do not fall under our BC promise until PSR-17 is accepted. -- `UploadedFileFactory::createUploadedFile` does not accept a string file path. - -## 0.2.3 - -No changelog before this release diff --git a/app/vendor/nyholm/psr7/LICENSE b/app/vendor/nyholm/psr7/LICENSE deleted file mode 100644 index d6c52312c..000000000 --- a/app/vendor/nyholm/psr7/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Tobias Nyholm - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/app/vendor/nyholm/psr7/README.md b/app/vendor/nyholm/psr7/README.md deleted file mode 100644 index 7fc30bc13..000000000 --- a/app/vendor/nyholm/psr7/README.md +++ /dev/null @@ -1,108 +0,0 @@ -# PSR-7 implementation - -[![Latest Version](https://img.shields.io/github/release/Nyholm/psr7.svg?style=flat-square)](https://github.com/Nyholm/psr7/releases) -[![Total Downloads](https://poser.pugx.org/nyholm/psr7/downloads)](https://packagist.org/packages/nyholm/psr7) -[![Monthly Downloads](https://poser.pugx.org/nyholm/psr7/d/monthly.png)](https://packagist.org/packages/nyholm/psr7) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![Static analysis](https://github.com/Nyholm/psr7/actions/workflows/static.yml/badge.svg?branch=master)](https://github.com/Nyholm/psr7/actions/workflows/static.yml?query=branch%3Amaster) -[![Tests](https://github.com/Nyholm/psr7/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/Nyholm/psr7/actions/workflows/tests.yml?query=branch%3Amaster) - -A super lightweight PSR-7 implementation. Very strict and very fast. - -| Description | Guzzle | Laminas | Slim | Nyholm | -| ---- | ------ | ---- | ---- | ------ | -| Lines of code | 3.300 | 3.100 | 1.900 | 1.000 | -| PSR-7* | 66% | 100% | 75% | 100% | -| PSR-17 | No | Yes | Yes | Yes | -| HTTPlug | No | No | No | Yes | -| Performance (runs per second)** | 14.553 | 14.703 | 13.416 | 17.734 | - -\* Percent of completed tests in https://github.com/php-http/psr7-integration-tests - -\** Benchmark with 50.000 runs. See https://github.com/devanych/psr-http-benchmark (higher is better) - -## Installation - -```bash -composer require nyholm/psr7 -``` - -If you are using Symfony Flex then you get all message factories registered as services. - -## Usage - -The PSR-7 objects do not contain any other public methods than those defined in -the [PSR-7 specification](https://www.php-fig.org/psr/psr-7/). - -### Create objects - -Use the PSR-17 factory to create requests, streams, URIs etc. - -```php -$psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory(); -$request = $psr17Factory->createRequest('GET', 'http://tnyholm.se'); -$stream = $psr17Factory->createStream('foobar'); -``` - -### Sending a request - -With [HTTPlug](http://httplug.io/) or any other PSR-18 (HTTP client) you may send -requests like: - -```bash -composer require kriswallsmith/buzz -``` - -```php -$psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory(); -$psr18Client = new \Buzz\Client\Curl($psr17Factory); - -$request = $psr17Factory->createRequest('GET', 'http://tnyholm.se'); -$response = $psr18Client->sendRequest($request); -``` - -### Create server requests - -The [`nyholm/psr7-server`](https://github.com/Nyholm/psr7-server) package can be used -to create server requests from PHP superglobals. - -```bash -composer require nyholm/psr7-server -``` - -```php -$psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory(); - -$creator = new \Nyholm\Psr7Server\ServerRequestCreator( - $psr17Factory, // ServerRequestFactory - $psr17Factory, // UriFactory - $psr17Factory, // UploadedFileFactory - $psr17Factory // StreamFactory -); - -$serverRequest = $creator->fromGlobals(); -``` - -### Emitting a response - -```bash -composer require laminas/laminas-httphandlerrunner -``` - -```php -$psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory(); - -$responseBody = $psr17Factory->createStream('Hello world'); -$response = $psr17Factory->createResponse(200)->withBody($responseBody); -(new \Laminas\HttpHandlerRunner\Emitter\SapiEmitter())->emit($response); -``` - -## Our goal - -This package is currently maintained by [Tobias Nyholm](http://nyholm.se) and -[Martijn van der Ven](https://vanderven.se/martijn/). They have decided that the -goal of this library should be to provide a super strict implementation of -[PSR-7](https://www.php-fig.org/psr/psr-7/) that is blazing fast. - -The package will never include any extra features nor helper methods. All our classes -and functions exist because they are required to fulfill the PSR-7 specification. diff --git a/app/vendor/nyholm/psr7/composer.json b/app/vendor/nyholm/psr7/composer.json deleted file mode 100644 index c6076159d..000000000 --- a/app/vendor/nyholm/psr7/composer.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "nyholm/psr7", - "description": "A fast PHP7 implementation of PSR-7", - "license": "MIT", - "keywords": ["psr-7", "psr-17"], - "homepage": "https://tnyholm.se", - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - }, - { - "name": "Martijn van der Ven", - "email": "martijn@vanderven.se" - } - ], - "require": { - "php": ">=7.2", - "psr/http-message": "^1.1 || ^2.0", - "psr/http-factory": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", - "php-http/message-factory": "^1.0", - "php-http/psr7-integration-tests": "^1.0", - "http-interop/http-factory-tests": "^0.9", - "symfony/error-handler": "^4.4" - }, - "provide": { - "php-http/message-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0", - "psr/http-factory-implementation": "1.0" - }, - "autoload": { - "psr-4": { - "Nyholm\\Psr7\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Tests\\Nyholm\\Psr7\\": "tests/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - } -} diff --git a/app/vendor/nyholm/psr7/src/Factory/HttplugFactory.php b/app/vendor/nyholm/psr7/src/Factory/HttplugFactory.php deleted file mode 100644 index cc9285ddf..000000000 --- a/app/vendor/nyholm/psr7/src/Factory/HttplugFactory.php +++ /dev/null @@ -1,53 +0,0 @@ - - * @author Martijn van der Ven - * - * @final This class should never be extended. See https://github.com/Nyholm/psr7/blob/master/doc/final.md - * - * @deprecated since version 1.8, use Psr17Factory instead - */ -class HttplugFactory implements MessageFactory, StreamFactory, UriFactory -{ - public function createRequest($method, $uri, array $headers = [], $body = null, $protocolVersion = '1.1'): RequestInterface - { - return new Request($method, $uri, $headers, $body, $protocolVersion); - } - - public function createResponse($statusCode = 200, $reasonPhrase = null, array $headers = [], $body = null, $version = '1.1'): ResponseInterface - { - return new Response((int) $statusCode, $headers, $body, $version, $reasonPhrase); - } - - public function createStream($body = null): StreamInterface - { - return Stream::create($body ?? ''); - } - - public function createUri($uri = ''): UriInterface - { - if ($uri instanceof UriInterface) { - return $uri; - } - - return new Uri($uri); - } -} diff --git a/app/vendor/nyholm/psr7/src/Factory/Psr17Factory.php b/app/vendor/nyholm/psr7/src/Factory/Psr17Factory.php deleted file mode 100644 index 2fa98bee3..000000000 --- a/app/vendor/nyholm/psr7/src/Factory/Psr17Factory.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @author Martijn van der Ven - * - * @final This class should never be extended. See https://github.com/Nyholm/psr7/blob/master/doc/final.md - */ -class Psr17Factory implements RequestFactoryInterface, ResponseFactoryInterface, ServerRequestFactoryInterface, StreamFactoryInterface, UploadedFileFactoryInterface, UriFactoryInterface -{ - public function createRequest(string $method, $uri): RequestInterface - { - return new Request($method, $uri); - } - - public function createResponse(int $code = 200, string $reasonPhrase = ''): ResponseInterface - { - if (2 > \func_num_args()) { - // This will make the Response class to use a custom reasonPhrase - $reasonPhrase = null; - } - - return new Response($code, [], null, '1.1', $reasonPhrase); - } - - public function createStream(string $content = ''): StreamInterface - { - return Stream::create($content); - } - - public function createStreamFromFile(string $filename, string $mode = 'r'): StreamInterface - { - if ('' === $filename) { - throw new \RuntimeException('Path cannot be empty'); - } - - if (false === $resource = @\fopen($filename, $mode)) { - if ('' === $mode || false === \in_array($mode[0], ['r', 'w', 'a', 'x', 'c'], true)) { - throw new \InvalidArgumentException(\sprintf('The mode "%s" is invalid.', $mode)); - } - - throw new \RuntimeException(\sprintf('The file "%s" cannot be opened: %s', $filename, \error_get_last()['message'] ?? '')); - } - - return Stream::create($resource); - } - - public function createStreamFromResource($resource): StreamInterface - { - return Stream::create($resource); - } - - public function createUploadedFile(StreamInterface $stream, ?int $size = null, int $error = \UPLOAD_ERR_OK, ?string $clientFilename = null, ?string $clientMediaType = null): UploadedFileInterface - { - if (null === $size) { - $size = $stream->getSize(); - } - - return new UploadedFile($stream, $size, $error, $clientFilename, $clientMediaType); - } - - public function createUri(string $uri = ''): UriInterface - { - return new Uri($uri); - } - - public function createServerRequest(string $method, $uri, array $serverParams = []): ServerRequestInterface - { - return new ServerRequest($method, $uri, [], null, '1.1', $serverParams); - } -} diff --git a/app/vendor/nyholm/psr7/src/MessageTrait.php b/app/vendor/nyholm/psr7/src/MessageTrait.php deleted file mode 100644 index 7d02383b8..000000000 --- a/app/vendor/nyholm/psr7/src/MessageTrait.php +++ /dev/null @@ -1,235 +0,0 @@ - - * @author Martijn van der Ven - * - * @internal should not be used outside of Nyholm/Psr7 as it does not fall under our BC promise - */ -trait MessageTrait -{ - /** @var array Map of all registered headers, as original name => array of values */ - private $headers = []; - - /** @var array Map of lowercase header name => original name at registration */ - private $headerNames = []; - - /** @var string */ - private $protocol = '1.1'; - - /** @var StreamInterface|null */ - private $stream; - - public function getProtocolVersion(): string - { - return $this->protocol; - } - - /** - * @return static - */ - public function withProtocolVersion($version): MessageInterface - { - if (!\is_scalar($version)) { - throw new \InvalidArgumentException('Protocol version must be a string'); - } - - if ($this->protocol === $version) { - return $this; - } - - $new = clone $this; - $new->protocol = (string) $version; - - return $new; - } - - public function getHeaders(): array - { - return $this->headers; - } - - public function hasHeader($header): bool - { - return isset($this->headerNames[\strtr($header, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')]); - } - - public function getHeader($header): array - { - if (!\is_string($header)) { - throw new \InvalidArgumentException('Header name must be an RFC 7230 compatible string'); - } - - $header = \strtr($header, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'); - if (!isset($this->headerNames[$header])) { - return []; - } - - $header = $this->headerNames[$header]; - - return $this->headers[$header]; - } - - public function getHeaderLine($header): string - { - return \implode(', ', $this->getHeader($header)); - } - - /** - * @return static - */ - public function withHeader($header, $value): MessageInterface - { - $value = $this->validateAndTrimHeader($header, $value); - $normalized = \strtr($header, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'); - - $new = clone $this; - if (isset($new->headerNames[$normalized])) { - unset($new->headers[$new->headerNames[$normalized]]); - } - $new->headerNames[$normalized] = $header; - $new->headers[$header] = $value; - - return $new; - } - - /** - * @return static - */ - public function withAddedHeader($header, $value): MessageInterface - { - if (!\is_string($header) || '' === $header) { - throw new \InvalidArgumentException('Header name must be an RFC 7230 compatible string'); - } - - $new = clone $this; - $new->setHeaders([$header => $value]); - - return $new; - } - - /** - * @return static - */ - public function withoutHeader($header): MessageInterface - { - if (!\is_string($header)) { - throw new \InvalidArgumentException('Header name must be an RFC 7230 compatible string'); - } - - $normalized = \strtr($header, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'); - if (!isset($this->headerNames[$normalized])) { - return $this; - } - - $header = $this->headerNames[$normalized]; - $new = clone $this; - unset($new->headers[$header], $new->headerNames[$normalized]); - - return $new; - } - - public function getBody(): StreamInterface - { - if (null === $this->stream) { - $this->stream = Stream::create(''); - } - - return $this->stream; - } - - /** - * @return static - */ - public function withBody(StreamInterface $body): MessageInterface - { - if ($body === $this->stream) { - return $this; - } - - $new = clone $this; - $new->stream = $body; - - return $new; - } - - private function setHeaders(array $headers): void - { - foreach ($headers as $header => $value) { - if (\is_int($header)) { - // If a header name was set to a numeric string, PHP will cast the key to an int. - // We must cast it back to a string in order to comply with validation. - $header = (string) $header; - } - $value = $this->validateAndTrimHeader($header, $value); - $normalized = \strtr($header, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'); - if (isset($this->headerNames[$normalized])) { - $header = $this->headerNames[$normalized]; - $this->headers[$header] = \array_merge($this->headers[$header], $value); - } else { - $this->headerNames[$normalized] = $header; - $this->headers[$header] = $value; - } - } - } - - /** - * Make sure the header complies with RFC 7230. - * - * Header names must be a non-empty string consisting of token characters. - * - * Header values must be strings consisting of visible characters with all optional - * leading and trailing whitespace stripped. This method will always strip such - * optional whitespace. Note that the method does not allow folding whitespace within - * the values as this was deprecated for almost all instances by the RFC. - * - * header-field = field-name ":" OWS field-value OWS - * field-name = 1*( "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / "^" - * / "_" / "`" / "|" / "~" / %x30-39 / ( %x41-5A / %x61-7A ) ) - * OWS = *( SP / HTAB ) - * field-value = *( ( %x21-7E / %x80-FF ) [ 1*( SP / HTAB ) ( %x21-7E / %x80-FF ) ] ) - * - * @see https://tools.ietf.org/html/rfc7230#section-3.2.4 - */ - private function validateAndTrimHeader($header, $values): array - { - if (!\is_string($header) || 1 !== \preg_match("@^[!#$%&'*+.^_`|~0-9A-Za-z-]+$@D", $header)) { - throw new \InvalidArgumentException('Header name must be an RFC 7230 compatible string'); - } - - if (!\is_array($values)) { - // This is simple, just one value. - if ((!\is_numeric($values) && !\is_string($values)) || 1 !== \preg_match("@^[ \t\x21-\x7E\x80-\xFF]*$@", (string) $values)) { - throw new \InvalidArgumentException('Header values must be RFC 7230 compatible strings'); - } - - return [\trim((string) $values, " \t")]; - } - - if (empty($values)) { - throw new \InvalidArgumentException('Header values must be a string or an array of strings, empty array given'); - } - - // Assert Non empty array - $returnValues = []; - foreach ($values as $v) { - if ((!\is_numeric($v) && !\is_string($v)) || 1 !== \preg_match("@^[ \t\x21-\x7E\x80-\xFF]*$@D", (string) $v)) { - throw new \InvalidArgumentException('Header values must be RFC 7230 compatible strings'); - } - - $returnValues[] = \trim((string) $v, " \t"); - } - - return $returnValues; - } -} diff --git a/app/vendor/nyholm/psr7/src/Request.php b/app/vendor/nyholm/psr7/src/Request.php deleted file mode 100644 index d50744eec..000000000 --- a/app/vendor/nyholm/psr7/src/Request.php +++ /dev/null @@ -1,47 +0,0 @@ - - * @author Martijn van der Ven - * - * @final This class should never be extended. See https://github.com/Nyholm/psr7/blob/master/doc/final.md - */ -class Request implements RequestInterface -{ - use MessageTrait; - use RequestTrait; - - /** - * @param string $method HTTP method - * @param string|UriInterface $uri URI - * @param array $headers Request headers - * @param string|resource|StreamInterface|null $body Request body - * @param string $version Protocol version - */ - public function __construct(string $method, $uri, array $headers = [], $body = null, string $version = '1.1') - { - if (!($uri instanceof UriInterface)) { - $uri = new Uri($uri); - } - - $this->method = $method; - $this->uri = $uri; - $this->setHeaders($headers); - $this->protocol = $version; - - if (!$this->hasHeader('Host')) { - $this->updateHostFromUri(); - } - - // If we got no body, defer initialization of the stream until Request::getBody() - if ('' !== $body && null !== $body) { - $this->stream = Stream::create($body); - } - } -} diff --git a/app/vendor/nyholm/psr7/src/RequestTrait.php b/app/vendor/nyholm/psr7/src/RequestTrait.php deleted file mode 100644 index 2dbb3abf6..000000000 --- a/app/vendor/nyholm/psr7/src/RequestTrait.php +++ /dev/null @@ -1,127 +0,0 @@ - - * @author Martijn van der Ven - * - * @internal should not be used outside of Nyholm/Psr7 as it does not fall under our BC promise - */ -trait RequestTrait -{ - /** @var string */ - private $method; - - /** @var string|null */ - private $requestTarget; - - /** @var UriInterface|null */ - private $uri; - - public function getRequestTarget(): string - { - if (null !== $this->requestTarget) { - return $this->requestTarget; - } - - if ('' === $target = $this->uri->getPath()) { - $target = '/'; - } - if ('' !== $this->uri->getQuery()) { - $target .= '?' . $this->uri->getQuery(); - } - - return $target; - } - - /** - * @return static - */ - public function withRequestTarget($requestTarget): RequestInterface - { - if (!\is_string($requestTarget)) { - throw new \InvalidArgumentException('Request target must be a string'); - } - - if (\preg_match('#\s#', $requestTarget)) { - throw new \InvalidArgumentException('Invalid request target provided; cannot contain whitespace'); - } - - $new = clone $this; - $new->requestTarget = $requestTarget; - - return $new; - } - - public function getMethod(): string - { - return $this->method; - } - - /** - * @return static - */ - public function withMethod($method): RequestInterface - { - if (!\is_string($method)) { - throw new \InvalidArgumentException('Method must be a string'); - } - - $new = clone $this; - $new->method = $method; - - return $new; - } - - public function getUri(): UriInterface - { - return $this->uri; - } - - /** - * @return static - */ - public function withUri(UriInterface $uri, $preserveHost = false): RequestInterface - { - if ($uri === $this->uri) { - return $this; - } - - $new = clone $this; - $new->uri = $uri; - - if (!$preserveHost || !$this->hasHeader('Host')) { - $new->updateHostFromUri(); - } - - return $new; - } - - private function updateHostFromUri(): void - { - if ('' === $host = $this->uri->getHost()) { - return; - } - - if (null !== ($port = $this->uri->getPort())) { - $host .= ':' . $port; - } - - if (isset($this->headerNames['host'])) { - $header = $this->headerNames['host']; - } else { - $this->headerNames['host'] = $header = 'Host'; - } - - // Ensure Host is the first header. - // See: http://tools.ietf.org/html/rfc7230#section-5.4 - $this->headers = [$header => [$host]] + $this->headers; - } -} diff --git a/app/vendor/nyholm/psr7/src/Response.php b/app/vendor/nyholm/psr7/src/Response.php deleted file mode 100644 index 71eb2fa49..000000000 --- a/app/vendor/nyholm/psr7/src/Response.php +++ /dev/null @@ -1,93 +0,0 @@ - - * @author Martijn van der Ven - * - * @final This class should never be extended. See https://github.com/Nyholm/psr7/blob/master/doc/final.md - */ -class Response implements ResponseInterface -{ - use MessageTrait; - - /** @var array Map of standard HTTP status code/reason phrases */ - private const PHRASES = [ - 100 => 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', - 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-status', 208 => 'Already Reported', - 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 306 => 'Switch Proxy', 307 => 'Temporary Redirect', - 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Time-out', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Large', 415 => 'Unsupported Media Type', 416 => 'Requested range not satisfiable', 417 => 'Expectation Failed', 418 => 'I\'m a teapot', 422 => 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', 425 => 'Unordered Collection', 426 => 'Upgrade Required', 428 => 'Precondition Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 451 => 'Unavailable For Legal Reasons', - 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Time-out', 505 => 'HTTP Version not supported', 506 => 'Variant Also Negotiates', 507 => 'Insufficient Storage', 508 => 'Loop Detected', 511 => 'Network Authentication Required', - ]; - - /** @var string */ - private $reasonPhrase = ''; - - /** @var int */ - private $statusCode; - - /** - * @param int $status Status code - * @param array $headers Response headers - * @param string|resource|StreamInterface|null $body Response body - * @param string $version Protocol version - * @param string|null $reason Reason phrase (when empty a default will be used based on the status code) - */ - public function __construct(int $status = 200, array $headers = [], $body = null, string $version = '1.1', ?string $reason = null) - { - // If we got no body, defer initialization of the stream until Response::getBody() - if ('' !== $body && null !== $body) { - $this->stream = Stream::create($body); - } - - $this->statusCode = $status; - $this->setHeaders($headers); - if (null === $reason && isset(self::PHRASES[$this->statusCode])) { - $this->reasonPhrase = self::PHRASES[$status]; - } else { - $this->reasonPhrase = $reason ?? ''; - } - - $this->protocol = $version; - } - - public function getStatusCode(): int - { - return $this->statusCode; - } - - public function getReasonPhrase(): string - { - return $this->reasonPhrase; - } - - /** - * @return static - */ - public function withStatus($code, $reasonPhrase = ''): ResponseInterface - { - if (!\is_int($code) && !\is_string($code)) { - throw new \InvalidArgumentException('Status code has to be an integer'); - } - - $code = (int) $code; - if ($code < 100 || $code > 599) { - throw new \InvalidArgumentException(\sprintf('Status code has to be an integer between 100 and 599. A status code of %d was given', $code)); - } - - $new = clone $this; - $new->statusCode = $code; - if ((null === $reasonPhrase || '' === $reasonPhrase) && isset(self::PHRASES[$new->statusCode])) { - $reasonPhrase = self::PHRASES[$new->statusCode]; - } - $new->reasonPhrase = $reasonPhrase; - - return $new; - } -} diff --git a/app/vendor/nyholm/psr7/src/ServerRequest.php b/app/vendor/nyholm/psr7/src/ServerRequest.php deleted file mode 100644 index a3c5ba90b..000000000 --- a/app/vendor/nyholm/psr7/src/ServerRequest.php +++ /dev/null @@ -1,201 +0,0 @@ - - * @author Martijn van der Ven - * - * @final This class should never be extended. See https://github.com/Nyholm/psr7/blob/master/doc/final.md - */ -class ServerRequest implements ServerRequestInterface -{ - use MessageTrait; - use RequestTrait; - - /** @var array */ - private $attributes = []; - - /** @var array */ - private $cookieParams = []; - - /** @var array|object|null */ - private $parsedBody; - - /** @var array */ - private $queryParams = []; - - /** @var array */ - private $serverParams; - - /** @var UploadedFileInterface[] */ - private $uploadedFiles = []; - - /** - * @param string $method HTTP method - * @param string|UriInterface $uri URI - * @param array $headers Request headers - * @param string|resource|StreamInterface|null $body Request body - * @param string $version Protocol version - * @param array $serverParams Typically the $_SERVER superglobal - */ - public function __construct(string $method, $uri, array $headers = [], $body = null, string $version = '1.1', array $serverParams = []) - { - $this->serverParams = $serverParams; - - if (!($uri instanceof UriInterface)) { - $uri = new Uri($uri); - } - - $this->method = $method; - $this->uri = $uri; - $this->setHeaders($headers); - $this->protocol = $version; - \parse_str($uri->getQuery(), $this->queryParams); - - if (!$this->hasHeader('Host')) { - $this->updateHostFromUri(); - } - - // If we got no body, defer initialization of the stream until ServerRequest::getBody() - if ('' !== $body && null !== $body) { - $this->stream = Stream::create($body); - } - } - - public function getServerParams(): array - { - return $this->serverParams; - } - - public function getUploadedFiles(): array - { - return $this->uploadedFiles; - } - - /** - * @return static - */ - public function withUploadedFiles(array $uploadedFiles): ServerRequestInterface - { - $new = clone $this; - $new->uploadedFiles = $uploadedFiles; - - return $new; - } - - public function getCookieParams(): array - { - return $this->cookieParams; - } - - /** - * @return static - */ - public function withCookieParams(array $cookies): ServerRequestInterface - { - $new = clone $this; - $new->cookieParams = $cookies; - - return $new; - } - - public function getQueryParams(): array - { - return $this->queryParams; - } - - /** - * @return static - */ - public function withQueryParams(array $query): ServerRequestInterface - { - $new = clone $this; - $new->queryParams = $query; - - return $new; - } - - /** - * @return array|object|null - */ - public function getParsedBody() - { - return $this->parsedBody; - } - - /** - * @return static - */ - public function withParsedBody($data): ServerRequestInterface - { - if (!\is_array($data) && !\is_object($data) && null !== $data) { - throw new \InvalidArgumentException('First parameter to withParsedBody MUST be object, array or null'); - } - - $new = clone $this; - $new->parsedBody = $data; - - return $new; - } - - public function getAttributes(): array - { - return $this->attributes; - } - - /** - * @return mixed - */ - public function getAttribute($attribute, $default = null) - { - if (!\is_string($attribute)) { - throw new \InvalidArgumentException('Attribute name must be a string'); - } - - if (false === \array_key_exists($attribute, $this->attributes)) { - return $default; - } - - return $this->attributes[$attribute]; - } - - /** - * @return static - */ - public function withAttribute($attribute, $value): ServerRequestInterface - { - if (!\is_string($attribute)) { - throw new \InvalidArgumentException('Attribute name must be a string'); - } - - $new = clone $this; - $new->attributes[$attribute] = $value; - - return $new; - } - - /** - * @return static - */ - public function withoutAttribute($attribute): ServerRequestInterface - { - if (!\is_string($attribute)) { - throw new \InvalidArgumentException('Attribute name must be a string'); - } - - if (false === \array_key_exists($attribute, $this->attributes)) { - return $this; - } - - $new = clone $this; - unset($new->attributes[$attribute]); - - return $new; - } -} diff --git a/app/vendor/nyholm/psr7/src/Stream.php b/app/vendor/nyholm/psr7/src/Stream.php deleted file mode 100644 index 63b7d6dd5..000000000 --- a/app/vendor/nyholm/psr7/src/Stream.php +++ /dev/null @@ -1,399 +0,0 @@ - - * @author Martijn van der Ven - * - * @final This class should never be extended. See https://github.com/Nyholm/psr7/blob/master/doc/final.md - */ -class Stream implements StreamInterface -{ - use StreamTrait; - - /** @var resource|null A resource reference */ - private $stream; - - /** @var bool */ - private $seekable; - - /** @var bool */ - private $readable; - - /** @var bool */ - private $writable; - - /** @var array|mixed|void|bool|null */ - private $uri; - - /** @var int|null */ - private $size; - - /** @var array Hash of readable and writable stream types */ - private const READ_WRITE_HASH = [ - 'read' => [ - 'r' => true, 'w+' => true, 'r+' => true, 'x+' => true, 'c+' => true, - 'rb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, - 'c+b' => true, 'rt' => true, 'w+t' => true, 'r+t' => true, - 'x+t' => true, 'c+t' => true, 'a+' => true, - ], - 'write' => [ - 'w' => true, 'w+' => true, 'rw' => true, 'r+' => true, 'x+' => true, - 'c+' => true, 'wb' => true, 'w+b' => true, 'r+b' => true, - 'x+b' => true, 'c+b' => true, 'w+t' => true, 'r+t' => true, - 'x+t' => true, 'c+t' => true, 'a' => true, 'a+' => true, - ], - ]; - - /** - * @param resource $body - */ - public function __construct($body) - { - if (!\is_resource($body)) { - throw new \InvalidArgumentException('First argument to Stream::__construct() must be resource'); - } - - $this->stream = $body; - $meta = \stream_get_meta_data($this->stream); - $this->seekable = $meta['seekable'] && 0 === \fseek($this->stream, 0, \SEEK_CUR); - $this->readable = isset(self::READ_WRITE_HASH['read'][$meta['mode']]); - $this->writable = isset(self::READ_WRITE_HASH['write'][$meta['mode']]); - } - - /** - * Creates a new PSR-7 stream. - * - * @param string|resource|StreamInterface $body - * - * @throws \InvalidArgumentException - */ - public static function create($body = ''): StreamInterface - { - if ($body instanceof StreamInterface) { - return $body; - } - - if (\is_string($body)) { - if (200000 <= \strlen($body)) { - $body = self::openZvalStream($body); - } else { - $resource = \fopen('php://memory', 'r+'); - \fwrite($resource, $body); - \fseek($resource, 0); - $body = $resource; - } - } - - if (!\is_resource($body)) { - throw new \InvalidArgumentException('First argument to Stream::create() must be a string, resource or StreamInterface'); - } - - return new self($body); - } - - /** - * Closes the stream when the destructed. - */ - public function __destruct() - { - $this->close(); - } - - public function close(): void - { - if (isset($this->stream)) { - if (\is_resource($this->stream)) { - \fclose($this->stream); - } - $this->detach(); - } - } - - public function detach() - { - if (!isset($this->stream)) { - return null; - } - - $result = $this->stream; - unset($this->stream); - $this->size = $this->uri = null; - $this->readable = $this->writable = $this->seekable = false; - - return $result; - } - - private function getUri() - { - if (false !== $this->uri) { - $this->uri = $this->getMetadata('uri') ?? false; - } - - return $this->uri; - } - - public function getSize(): ?int - { - if (null !== $this->size) { - return $this->size; - } - - if (!isset($this->stream)) { - return null; - } - - // Clear the stat cache if the stream has a URI - if ($uri = $this->getUri()) { - \clearstatcache(true, $uri); - } - - $stats = \fstat($this->stream); - if (isset($stats['size'])) { - $this->size = $stats['size']; - - return $this->size; - } - - return null; - } - - public function tell(): int - { - if (!isset($this->stream)) { - throw new \RuntimeException('Stream is detached'); - } - - if (false === $result = @\ftell($this->stream)) { - throw new \RuntimeException('Unable to determine stream position: ' . (\error_get_last()['message'] ?? '')); - } - - return $result; - } - - public function eof(): bool - { - return !isset($this->stream) || \feof($this->stream); - } - - public function isSeekable(): bool - { - return $this->seekable; - } - - public function seek($offset, $whence = \SEEK_SET): void - { - if (!isset($this->stream)) { - throw new \RuntimeException('Stream is detached'); - } - - if (!$this->seekable) { - throw new \RuntimeException('Stream is not seekable'); - } - - if (-1 === \fseek($this->stream, $offset, $whence)) { - throw new \RuntimeException('Unable to seek to stream position "' . $offset . '" with whence ' . \var_export($whence, true)); - } - } - - public function rewind(): void - { - $this->seek(0); - } - - public function isWritable(): bool - { - return $this->writable; - } - - public function write($string): int - { - if (!isset($this->stream)) { - throw new \RuntimeException('Stream is detached'); - } - - if (!$this->writable) { - throw new \RuntimeException('Cannot write to a non-writable stream'); - } - - // We can't know the size after writing anything - $this->size = null; - - if (false === $result = @\fwrite($this->stream, $string)) { - throw new \RuntimeException('Unable to write to stream: ' . (\error_get_last()['message'] ?? '')); - } - - return $result; - } - - public function isReadable(): bool - { - return $this->readable; - } - - public function read($length): string - { - if (!isset($this->stream)) { - throw new \RuntimeException('Stream is detached'); - } - - if (!$this->readable) { - throw new \RuntimeException('Cannot read from non-readable stream'); - } - - if (false === $result = @\fread($this->stream, $length)) { - throw new \RuntimeException('Unable to read from stream: ' . (\error_get_last()['message'] ?? '')); - } - - return $result; - } - - public function getContents(): string - { - if (!isset($this->stream)) { - throw new \RuntimeException('Stream is detached'); - } - - $exception = null; - - \set_error_handler(static function ($type, $message) use (&$exception) { - throw $exception = new \RuntimeException('Unable to read stream contents: ' . $message); - }); - - try { - return \stream_get_contents($this->stream); - } catch (\Throwable $e) { - throw $e === $exception ? $e : new \RuntimeException('Unable to read stream contents: ' . $e->getMessage(), 0, $e); - } finally { - \restore_error_handler(); - } - } - - /** - * @return mixed - */ - public function getMetadata($key = null) - { - if (null !== $key && !\is_string($key)) { - throw new \InvalidArgumentException('Metadata key must be a string'); - } - - if (!isset($this->stream)) { - return $key ? null : []; - } - - $meta = \stream_get_meta_data($this->stream); - - if (null === $key) { - return $meta; - } - - return $meta[$key] ?? null; - } - - private static function openZvalStream(string $body) - { - static $wrapper; - - $wrapper ?? \stream_wrapper_register('Nyholm-Psr7-Zval', $wrapper = \get_class(new class() { - public $context; - - private $data; - private $position = 0; - - public function stream_open(): bool - { - $this->data = \stream_context_get_options($this->context)['Nyholm-Psr7-Zval']['data']; - \stream_context_set_option($this->context, 'Nyholm-Psr7-Zval', 'data', null); - - return true; - } - - public function stream_read(int $count): string - { - $result = \substr($this->data, $this->position, $count); - $this->position += \strlen($result); - - return $result; - } - - public function stream_write(string $data): int - { - $this->data = \substr_replace($this->data, $data, $this->position, \strlen($data)); - $this->position += \strlen($data); - - return \strlen($data); - } - - public function stream_tell(): int - { - return $this->position; - } - - public function stream_eof(): bool - { - return \strlen($this->data) <= $this->position; - } - - public function stream_stat(): array - { - return [ - 'mode' => 33206, // POSIX_S_IFREG | 0666 - 'nlink' => 1, - 'rdev' => -1, - 'size' => \strlen($this->data), - 'blksize' => -1, - 'blocks' => -1, - ]; - } - - public function stream_seek(int $offset, int $whence): bool - { - if (\SEEK_SET === $whence && (0 <= $offset && \strlen($this->data) >= $offset)) { - $this->position = $offset; - } elseif (\SEEK_CUR === $whence && 0 <= $offset) { - $this->position += $offset; - } elseif (\SEEK_END === $whence && (0 > $offset && 0 <= $offset = \strlen($this->data) + $offset)) { - $this->position = $offset; - } else { - return false; - } - - return true; - } - - public function stream_set_option(): bool - { - return true; - } - - public function stream_truncate(int $new_size): bool - { - if ($new_size) { - $this->data = \substr($this->data, 0, $new_size); - $this->position = \min($this->position, $new_size); - } else { - $this->data = ''; - $this->position = 0; - } - - return true; - } - })); - - $context = \stream_context_create(['Nyholm-Psr7-Zval' => ['data' => $body]]); - - if (!$stream = @\fopen('Nyholm-Psr7-Zval://', 'r+', false, $context)) { - \stream_wrapper_register('Nyholm-Psr7-Zval', $wrapper); - $stream = \fopen('Nyholm-Psr7-Zval://', 'r+', false, $context); - } - - return $stream; - } -} diff --git a/app/vendor/nyholm/psr7/src/StreamTrait.php b/app/vendor/nyholm/psr7/src/StreamTrait.php deleted file mode 100644 index 41a3f9d7e..000000000 --- a/app/vendor/nyholm/psr7/src/StreamTrait.php +++ /dev/null @@ -1,57 +0,0 @@ -= 70400 || (new \ReflectionMethod(StreamInterface::class, '__toString'))->hasReturnType()) { - /** - * @internal - */ - trait StreamTrait - { - public function __toString(): string - { - if ($this->isSeekable()) { - $this->seek(0); - } - - return $this->getContents(); - } - } -} else { - /** - * @internal - */ - trait StreamTrait - { - /** - * @return string - */ - public function __toString() - { - try { - if ($this->isSeekable()) { - $this->seek(0); - } - - return $this->getContents(); - } catch (\Throwable $e) { - if (\is_array($errorHandler = \set_error_handler('var_dump'))) { - $errorHandler = $errorHandler[0] ?? null; - } - \restore_error_handler(); - - if ($e instanceof \Error || $errorHandler instanceof SymfonyErrorHandler || $errorHandler instanceof SymfonyLegacyErrorHandler) { - return \trigger_error((string) $e, \E_USER_ERROR); - } - - return ''; - } - } - } -} diff --git a/app/vendor/nyholm/psr7/src/UploadedFile.php b/app/vendor/nyholm/psr7/src/UploadedFile.php deleted file mode 100644 index c77dca43f..000000000 --- a/app/vendor/nyholm/psr7/src/UploadedFile.php +++ /dev/null @@ -1,179 +0,0 @@ - - * @author Martijn van der Ven - * - * @final This class should never be extended. See https://github.com/Nyholm/psr7/blob/master/doc/final.md - */ -class UploadedFile implements UploadedFileInterface -{ - /** @var array */ - private const ERRORS = [ - \UPLOAD_ERR_OK => 1, - \UPLOAD_ERR_INI_SIZE => 1, - \UPLOAD_ERR_FORM_SIZE => 1, - \UPLOAD_ERR_PARTIAL => 1, - \UPLOAD_ERR_NO_FILE => 1, - \UPLOAD_ERR_NO_TMP_DIR => 1, - \UPLOAD_ERR_CANT_WRITE => 1, - \UPLOAD_ERR_EXTENSION => 1, - ]; - - /** @var string */ - private $clientFilename; - - /** @var string */ - private $clientMediaType; - - /** @var int */ - private $error; - - /** @var string|null */ - private $file; - - /** @var bool */ - private $moved = false; - - /** @var int */ - private $size; - - /** @var StreamInterface|null */ - private $stream; - - /** - * @param StreamInterface|string|resource $streamOrFile - * @param int $size - * @param int $errorStatus - * @param string|null $clientFilename - * @param string|null $clientMediaType - */ - public function __construct($streamOrFile, $size, $errorStatus, $clientFilename = null, $clientMediaType = null) - { - if (false === \is_int($errorStatus) || !isset(self::ERRORS[$errorStatus])) { - throw new \InvalidArgumentException('Upload file error status must be an integer value and one of the "UPLOAD_ERR_*" constants'); - } - - if (false === \is_int($size)) { - throw new \InvalidArgumentException('Upload file size must be an integer'); - } - - if (null !== $clientFilename && !\is_string($clientFilename)) { - throw new \InvalidArgumentException('Upload file client filename must be a string or null'); - } - - if (null !== $clientMediaType && !\is_string($clientMediaType)) { - throw new \InvalidArgumentException('Upload file client media type must be a string or null'); - } - - $this->error = $errorStatus; - $this->size = $size; - $this->clientFilename = $clientFilename; - $this->clientMediaType = $clientMediaType; - - if (\UPLOAD_ERR_OK === $this->error) { - // Depending on the value set file or stream variable. - if (\is_string($streamOrFile) && '' !== $streamOrFile) { - $this->file = $streamOrFile; - } elseif (\is_resource($streamOrFile)) { - $this->stream = Stream::create($streamOrFile); - } elseif ($streamOrFile instanceof StreamInterface) { - $this->stream = $streamOrFile; - } else { - throw new \InvalidArgumentException('Invalid stream or file provided for UploadedFile'); - } - } - } - - /** - * @throws \RuntimeException if is moved or not ok - */ - private function validateActive(): void - { - if (\UPLOAD_ERR_OK !== $this->error) { - throw new \RuntimeException('Cannot retrieve stream due to upload error'); - } - - if ($this->moved) { - throw new \RuntimeException('Cannot retrieve stream after it has already been moved'); - } - } - - public function getStream(): StreamInterface - { - $this->validateActive(); - - if ($this->stream instanceof StreamInterface) { - return $this->stream; - } - - if (false === $resource = @\fopen($this->file, 'r')) { - throw new \RuntimeException(\sprintf('The file "%s" cannot be opened: %s', $this->file, \error_get_last()['message'] ?? '')); - } - - return Stream::create($resource); - } - - public function moveTo($targetPath): void - { - $this->validateActive(); - - if (!\is_string($targetPath) || '' === $targetPath) { - throw new \InvalidArgumentException('Invalid path provided for move operation; must be a non-empty string'); - } - - if (null !== $this->file) { - $this->moved = 'cli' === \PHP_SAPI ? @\rename($this->file, $targetPath) : @\move_uploaded_file($this->file, $targetPath); - - if (false === $this->moved) { - throw new \RuntimeException(\sprintf('Uploaded file could not be moved to "%s": %s', $targetPath, \error_get_last()['message'] ?? '')); - } - } else { - $stream = $this->getStream(); - if ($stream->isSeekable()) { - $stream->rewind(); - } - - if (false === $resource = @\fopen($targetPath, 'w')) { - throw new \RuntimeException(\sprintf('The file "%s" cannot be opened: %s', $targetPath, \error_get_last()['message'] ?? '')); - } - - $dest = Stream::create($resource); - - while (!$stream->eof()) { - if (!$dest->write($stream->read(1048576))) { - break; - } - } - - $this->moved = true; - } - } - - public function getSize(): int - { - return $this->size; - } - - public function getError(): int - { - return $this->error; - } - - public function getClientFilename(): ?string - { - return $this->clientFilename; - } - - public function getClientMediaType(): ?string - { - return $this->clientMediaType; - } -} diff --git a/app/vendor/nyholm/psr7/src/Uri.php b/app/vendor/nyholm/psr7/src/Uri.php deleted file mode 100644 index 621e2e724..000000000 --- a/app/vendor/nyholm/psr7/src/Uri.php +++ /dev/null @@ -1,356 +0,0 @@ - - * @author Martijn van der Ven - * - * @final This class should never be extended. See https://github.com/Nyholm/psr7/blob/master/doc/final.md - */ -class Uri implements UriInterface -{ - private const SCHEMES = ['http' => 80, 'https' => 443]; - - private const CHAR_UNRESERVED = 'a-zA-Z0-9_\-\.~'; - - private const CHAR_SUB_DELIMS = '!\$&\'\(\)\*\+,;='; - - private const CHAR_GEN_DELIMS = ':\/\?#\[\]@'; - - /** @var string Uri scheme. */ - private $scheme = ''; - - /** @var string Uri user info. */ - private $userInfo = ''; - - /** @var string Uri host. */ - private $host = ''; - - /** @var int|null Uri port. */ - private $port; - - /** @var string Uri path. */ - private $path = ''; - - /** @var string Uri query string. */ - private $query = ''; - - /** @var string Uri fragment. */ - private $fragment = ''; - - public function __construct(string $uri = '') - { - if ('' !== $uri) { - if (false === $parts = \parse_url($uri)) { - throw new \InvalidArgumentException(\sprintf('Unable to parse URI: "%s"', $uri)); - } - - // Apply parse_url parts to a URI. - $this->scheme = isset($parts['scheme']) ? \strtr($parts['scheme'], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') : ''; - $this->userInfo = $parts['user'] ?? ''; - $this->host = isset($parts['host']) ? \strtr($parts['host'], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') : ''; - $this->port = isset($parts['port']) ? $this->filterPort($parts['port']) : null; - $this->path = isset($parts['path']) ? $this->filterPath($parts['path']) : ''; - $this->query = isset($parts['query']) ? $this->filterQueryAndFragment($parts['query']) : ''; - $this->fragment = isset($parts['fragment']) ? $this->filterQueryAndFragment($parts['fragment']) : ''; - if (isset($parts['pass'])) { - $this->userInfo .= ':' . $parts['pass']; - } - } - } - - public function __toString(): string - { - return self::createUriString($this->scheme, $this->getAuthority(), $this->path, $this->query, $this->fragment); - } - - public function getScheme(): string - { - return $this->scheme; - } - - public function getAuthority(): string - { - if ('' === $this->host) { - return ''; - } - - $authority = $this->host; - if ('' !== $this->userInfo) { - $authority = $this->userInfo . '@' . $authority; - } - - if (null !== $this->port) { - $authority .= ':' . $this->port; - } - - return $authority; - } - - public function getUserInfo(): string - { - return $this->userInfo; - } - - public function getHost(): string - { - return $this->host; - } - - public function getPort(): ?int - { - return $this->port; - } - - public function getPath(): string - { - $path = $this->path; - - if ('' !== $path && '/' !== $path[0]) { - if ('' !== $this->host) { - // If the path is rootless and an authority is present, the path MUST be prefixed by "/" - $path = '/' . $path; - } - } elseif (isset($path[1]) && '/' === $path[1]) { - // If the path is starting with more than one "/", the - // starting slashes MUST be reduced to one. - $path = '/' . \ltrim($path, '/'); - } - - return $path; - } - - public function getQuery(): string - { - return $this->query; - } - - public function getFragment(): string - { - return $this->fragment; - } - - /** - * @return static - */ - public function withScheme($scheme): UriInterface - { - if (!\is_string($scheme)) { - throw new \InvalidArgumentException('Scheme must be a string'); - } - - if ($this->scheme === $scheme = \strtr($scheme, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')) { - return $this; - } - - $new = clone $this; - $new->scheme = $scheme; - $new->port = $new->filterPort($new->port); - - return $new; - } - - /** - * @return static - */ - public function withUserInfo($user, $password = null): UriInterface - { - if (!\is_string($user)) { - throw new \InvalidArgumentException('User must be a string'); - } - - $info = \preg_replace_callback('/[' . self::CHAR_GEN_DELIMS . self::CHAR_SUB_DELIMS . ']++/', [__CLASS__, 'rawurlencodeMatchZero'], $user); - if (null !== $password && '' !== $password) { - if (!\is_string($password)) { - throw new \InvalidArgumentException('Password must be a string'); - } - - $info .= ':' . \preg_replace_callback('/[' . self::CHAR_GEN_DELIMS . self::CHAR_SUB_DELIMS . ']++/', [__CLASS__, 'rawurlencodeMatchZero'], $password); - } - - if ($this->userInfo === $info) { - return $this; - } - - $new = clone $this; - $new->userInfo = $info; - - return $new; - } - - /** - * @return static - */ - public function withHost($host): UriInterface - { - if (!\is_string($host)) { - throw new \InvalidArgumentException('Host must be a string'); - } - - if ($this->host === $host = \strtr($host, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')) { - return $this; - } - - $new = clone $this; - $new->host = $host; - - return $new; - } - - /** - * @return static - */ - public function withPort($port): UriInterface - { - if ($this->port === $port = $this->filterPort($port)) { - return $this; - } - - $new = clone $this; - $new->port = $port; - - return $new; - } - - /** - * @return static - */ - public function withPath($path): UriInterface - { - if ($this->path === $path = $this->filterPath($path)) { - return $this; - } - - $new = clone $this; - $new->path = $path; - - return $new; - } - - /** - * @return static - */ - public function withQuery($query): UriInterface - { - if ($this->query === $query = $this->filterQueryAndFragment($query)) { - return $this; - } - - $new = clone $this; - $new->query = $query; - - return $new; - } - - /** - * @return static - */ - public function withFragment($fragment): UriInterface - { - if ($this->fragment === $fragment = $this->filterQueryAndFragment($fragment)) { - return $this; - } - - $new = clone $this; - $new->fragment = $fragment; - - return $new; - } - - /** - * Create a URI string from its various parts. - */ - private static function createUriString(string $scheme, string $authority, string $path, string $query, string $fragment): string - { - $uri = ''; - if ('' !== $scheme) { - $uri .= $scheme . ':'; - } - - if ('' !== $authority) { - $uri .= '//' . $authority; - } - - if ('' !== $path) { - if ('/' !== $path[0]) { - if ('' !== $authority) { - // If the path is rootless and an authority is present, the path MUST be prefixed by "/" - $path = '/' . $path; - } - } elseif (isset($path[1]) && '/' === $path[1]) { - if ('' === $authority) { - // If the path is starting with more than one "/" and no authority is present, the - // starting slashes MUST be reduced to one. - $path = '/' . \ltrim($path, '/'); - } - } - - $uri .= $path; - } - - if ('' !== $query) { - $uri .= '?' . $query; - } - - if ('' !== $fragment) { - $uri .= '#' . $fragment; - } - - return $uri; - } - - /** - * Is a given port non-standard for the current scheme? - */ - private static function isNonStandardPort(string $scheme, int $port): bool - { - return !isset(self::SCHEMES[$scheme]) || $port !== self::SCHEMES[$scheme]; - } - - private function filterPort($port): ?int - { - if (null === $port) { - return null; - } - - $port = (int) $port; - if (0 > $port || 0xFFFF < $port) { - throw new \InvalidArgumentException(\sprintf('Invalid port: %d. Must be between 0 and 65535', $port)); - } - - return self::isNonStandardPort($this->scheme, $port) ? $port : null; - } - - private function filterPath($path): string - { - if (!\is_string($path)) { - throw new \InvalidArgumentException('Path must be a string'); - } - - return \preg_replace_callback('/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\/]++|%(?![A-Fa-f0-9]{2}))/', [__CLASS__, 'rawurlencodeMatchZero'], $path); - } - - private function filterQueryAndFragment($str): string - { - if (!\is_string($str)) { - throw new \InvalidArgumentException('Query and fragment must be a string'); - } - - return \preg_replace_callback('/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\/\?]++|%(?![A-Fa-f0-9]{2}))/', [__CLASS__, 'rawurlencodeMatchZero'], $str); - } - - private static function rawurlencodeMatchZero(array $match): string - { - return \rawurlencode($match[0]); - } -} diff --git a/app/vendor/php-http/client-common/.php-cs-fixer.dist.php b/app/vendor/php-http/client-common/.php-cs-fixer.dist.php deleted file mode 100644 index 92bc74842..000000000 --- a/app/vendor/php-http/client-common/.php-cs-fixer.dist.php +++ /dev/null @@ -1,18 +0,0 @@ -in(__DIR__.'/src') - ->in(__DIR__.'/tests') - ->name('*.php') -; - -$config = new PhpCsFixer\Config(); - -return $config - ->setRiskyAllowed(true) - ->setRules([ - '@Symfony' => true, - 'single_line_throw' => false, - ]) - ->setFinder($finder) -; diff --git a/app/vendor/php-http/client-common/.php_cs.dist b/app/vendor/php-http/client-common/.php_cs.dist deleted file mode 100644 index 24e9bb9e2..000000000 --- a/app/vendor/php-http/client-common/.php_cs.dist +++ /dev/null @@ -1,24 +0,0 @@ -in('src') - ->in('spec') -; -return PhpCsFixer\Config::create() - ->setRules([ - '@PSR2' => true, - '@Symfony' => true, - 'array_syntax' => [ - 'syntax' => 'short', - ], - 'no_empty_phpdoc' => true, - 'phpdoc_to_comment' => false, - 'single_line_throw' => false, - ]) - ->setFinder($finder); diff --git a/app/vendor/php-http/client-common/CHANGELOG.md b/app/vendor/php-http/client-common/CHANGELOG.md deleted file mode 100644 index 106fc97d1..000000000 --- a/app/vendor/php-http/client-common/CHANGELOG.md +++ /dev/null @@ -1,313 +0,0 @@ -# Change Log - -## 2.7.3 - 2025-11-29 - -- Allow installation with Symfony 8. -- Run tests with PHP 8.5. - -## 2.7.2 - 2024-09-24 - -- Updated code to not raise warnings for nullable parameters in PHP 8.4. -- Cleaned up PHPDoc comments. - -## 2.7.1 - 2023-11-30 - -- Allow installation with Symfony 7. - -## 2.7.0 - 2023-05-17 - -- Dropped `php-http/message-factory` from composer requirements as it is abandoned and this package does not actually use it. - -## 2.6.1 - 2023-04-14 - -- Allow installation with http-message (PSR-7) version 2 in addition to version 1. -- Support for PHP 8.2 - -## 2.6.0 - 2022-09-29 - -- [RedirectPlugin] Redirection of non GET/HEAD requests with a body now removes the body on follow-up requests, if the - HTTP method changes. To do this, the plugin needs to find a PSR-7 stream implementation. If none is found, you can - explicitly pass a PSR-17 StreamFactoryInterface in the `stream_factory` option. - To keep sending the body in all cases, set the `stream_factory` option to null explicitly. - -## 2.5.1 - 2022-09-29 - -### Fixed - -- [RedirectPlugin] Fixed handling of redirection to different domain with default port -- [RedirectPlugin] Fixed false positive circular detection in RedirectPlugin in cases when target location does not contain path - -## 2.5.0 - 2021-11-26 - -### Added - -- Support for Symfony 6 -- Support for PHP 8.1 - -### Changed - -- Dropped support for Symfony 2 and 3 - please keep using version 2.4.0 of this library if you can't update Symfony. - -## 2.4.0 - 2021-07-05 - -### Added - -- `strict` option to `RedirectPlugin` to allow preserving the request method on redirections with status 300, 301 and 302. - -## 2.3.0 - 2020-07-21 - -### Fixed - -- HttpMethodsClient with PSR RequestFactory -- Bug in the cookie plugin with empty cookies -- Bug when parsing null-valued date headers - -### Changed - -- Deprecation when constructing a HttpMethodsClient with PSR RequestFactory but without a StreamFactory - -## 2.2.1 - 2020-07-13 - -### Fixed - -- Support for PHP 8 -- Plugin callable phpdoc - -## 2.2.0 - 2020-07-02 - -### Added - -- Plugin client builder for making a `PluginClient` -- Support for the PSR-17 request factory in `HttpMethodsClient` - -### Changed - -- Restored support for `symfony/options-resolver: ^2.6` -- Consistent implementation of union type checking - -### Fixed - -- Memory leak when using the `PluginClient` with plugins - -## 2.1.0 - 2019-11-18 - -### Added - -- Support Symfony 5 - -## 2.0.0 - 2019-02-03 - -### Changed - -- HttpClientRouter now throws a HttpClientNoMatchException instead of a RequestException if it can not find a client for the request. -- RetryPlugin will only retry exceptions when there is no response, or a response in the 5xx HTTP code range. -- RetryPlugin also retries when no exception is thrown if the responses has HTTP code in the 5xx range. - The callbacks for exception handling have been renamed and callbacks for response handling have been added. -- Abstract method `HttpClientPool::chooseHttpClient()` has now an explicit return type (`Http\Client\Common\HttpClientPoolItem`) -- Interface method `Plugin::handleRequest(...)` has now an explicit return type (`Http\Promise\Promise`) -- Made classes final that are not intended to be extended. -- Added interfaces for BatchClient, HttpClientRouter and HttpMethodsClient. - (These interfaces use the `Interface` suffix to avoid name collisions.) -- Added an interface for HttpClientPool and moved the abstract class to the HttpClientPool sub namespace. -- AddPathPlugin: Do not add the prefix if the URL already has the same prefix. -- All exceptions in `Http\Client\Common\Exception` are final. - -### Removed - -- Deprecated option `debug_plugins` has been removed from `PluginClient` -- Deprecated options `decider` and `delay` have been removed from `RetryPlugin`, use `exception_decider` and `exception_delay` instead. - -## 1.11.0 - 2021-07-11 - -### Changed - -- Backported from version 2: AddPathPlugin: Do not add the prefix if the URL already has the same prefix. - -## 1.10.0 - 2019-11-18 - -### Added - -- Support for Symfony 5 - -## 1.9.1 - 2019-02-02 - -### Added - -- Updated type hints in doc blocks. - -## 1.9.0 - 2019-01-03 - -### Added - -- Support for PSR-18 clients -- Added traits `VersionBridgePlugin` and `VersionBridgeClient` to help plugins and clients to support both - 1.x and 2.x version of `php-http/client-common` and `php-http/httplug`. - -### Changed - -- RetryPlugin: Renamed the configuration options for the exception retry callback from `decider` to `exception_decider` - and `delay` to `exception_delay`. The old names still work but are deprecated. - -## 1.8.2 - 2018-12-14 - -### Changed - -- When multiple cookies exist, a single header with all cookies is sent as per RFC 6265 Section 5.4 -- AddPathPlugin will now trim of ending slashes in paths - -## 1.8.1 - 2018-10-09 - -### Fixed - -- Reverted change to RetryPlugin so it again waits when retrying to avoid "can only throw objects" error. - -## 1.8.0 - 2018-09-21 - -### Added - - - Add an option on ErrorPlugin to only throw exception on response with 5XX status code. - -### Changed - -- AddPathPlugin no longer add prefix multiple times if a request is restarted - it now only adds the prefix if that request chain has not yet passed through the AddPathPlugin -- RetryPlugin no longer wait for retried requests and use a deferred promise instead - -### Fixed - -- Decoder plugin will now remove header when there is no more encoding, instead of setting to an empty array - -## 1.7.0 - 2017-11-30 - -### Added - -- Symfony 4 support - -### Changed - -- Strict comparison in DecoderPlugin - -## 1.6.0 - 2017-10-16 - -### Added - -- Add HttpClientPool client to leverage load balancing and fallback mechanism [see the documentation](http://docs.php-http.org/en/latest/components/client-common.html) for more details. -- `PluginClientFactory` to create `PluginClient` instances. -- Added new option 'delay' for `RetryPlugin`. -- Added new option 'decider' for `RetryPlugin`. -- Supports more cookie date formats in the Cookie Plugin - -### Changed - -- The `RetryPlugin` does now wait between retries. To disable/change this feature you must write something like: - -```php -$plugin = new RetryPlugin(['delay' => function(RequestInterface $request, Exception $e, $retries) { - return 0; -}); -``` - -### Deprecated - -- The `debug_plugins` option for `PluginClient` is deprecated and will be removed in 2.0. Use the decorator design pattern instead like in [ProfilePlugin](https://github.com/php-http/HttplugBundle/blob/de33f9c14252f22093a5ec7d84f17535ab31a384/Collector/ProfilePlugin.php). - -## 1.5.0 - 2017-03-30 - -### Added - -- `QueryDefaultsPlugin` to add default query parameters. - -## 1.4.2 - 2017-03-18 - -### Deprecated - -- `DecoderPlugin` does not longer claim to support `compress` content encoding - -### Fixed - -- `CookiePlugin` allows main domain cookies to be sent/stored for subdomains -- `DecoderPlugin` uses the right `FilteredStream` to handle `deflate` content encoding - - -## 1.4.1 - 2017-02-20 - -### Fixed - -- Cast return value of `StreamInterface::getSize` to string in `ContentLengthPlugin` - - -## 1.4.0 - 2016-11-04 - -### Added - -- Add Path plugin -- Base URI plugin that combines Add Host and Add Path plugins - - -## 1.3.0 - 2016-10-16 - -### Changed - -- Fix Emulated Trait to use Http based promise which respect the HttpAsyncClient interface -- Require Httplug 1.1 where we use HTTP specific promises. -- RedirectPlugin: use the full URL instead of the URI to properly keep track of redirects -- Add AddPathPlugin for API URLs with base path -- Add BaseUriPlugin that combines AddHostPlugin and AddPathPlugin - - -## 1.2.1 - 2016-07-26 - -### Changed - -- AddHostPlugin also sets the port if specified - - -## 1.2.0 - 2016-07-14 - -### Added - -- Suggest separate plugins in composer.json -- Introduced `debug_plugins` option for `PluginClient` - - -## 1.1.0 - 2016-05-04 - -### Added - -- Add a flexible http client providing both contract, and only emulating what's necessary -- HTTP Client Router: route requests to underlying clients -- Plugin client and core plugins moved here from `php-http/plugins` - -### Deprecated - -- Extending client classes, they will be made final in version 2.0 - - -## 1.0.0 - 2016-01-27 - -### Changed - -- Remove useless interface in BatchException - - -## 0.2.0 - 2016-01-12 - -### Changed - -- Updated package files -- Updated HTTPlug to RC1 - - -## 0.1.1 - 2015-12-26 - -### Added - -- Emulated clients - - -## 0.1.0 - 2015-12-25 - -### Added - -- Batch client from utils -- Methods client from utils -- Emulators and decorators from client-tools diff --git a/app/vendor/php-http/client-common/LICENSE b/app/vendor/php-http/client-common/LICENSE deleted file mode 100644 index 4558d6f06..000000000 --- a/app/vendor/php-http/client-common/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2016 PHP HTTP Team - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/php-http/client-common/README.md b/app/vendor/php-http/client-common/README.md deleted file mode 100644 index 822d4cffe..000000000 --- a/app/vendor/php-http/client-common/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# HTTP Client Common - -[![Latest Version](https://img.shields.io/github/release/php-http/client-common.svg?style=flat-square)](https://github.com/php-http/client-common/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![Build Status](https://github.com/php-http/client-common/actions/workflows/tests.yml/badge.svg)](https://github.com/php-http/client-common/actions/workflows/tests.yml) -[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/php-http/client-common.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/client-common) -[![Quality Score](https://img.shields.io/scrutinizer/g/php-http/client-common.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/client-common) -[![Total Downloads](https://img.shields.io/packagist/dt/php-http/client-common.svg?style=flat-square)](https://packagist.org/packages/php-http/client-common) - -**Common HTTP Client implementations and tools for HTTPlug.** - - -## Install - -Via Composer - -``` bash -$ composer require php-http/client-common -``` - - -## Usage - -This package provides common tools for HTTP Clients: - -- BatchClient to handle sending requests in parallel -- A convenience client with HTTP method names as class methods -- Emulator, decorator layers for sync/async clients - - -## Documentation - -Please see the [official documentation](http://docs.php-http.org/en/latest/components/client-common.html). - - -## Testing - -``` bash -$ composer test -``` - - -## Contributing - -Please see our [contributing guide](http://docs.php-http.org/en/latest/development/contributing.html). - - -## Security - -If you discover any security related issues, please contact us at [security@php-http.org](mailto:security@php-http.org). - - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/php-http/client-common/composer.json b/app/vendor/php-http/client-common/composer.json deleted file mode 100644 index bca9932a8..000000000 --- a/app/vendor/php-http/client-common/composer.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "php-http/client-common", - "description": "Common HTTP Client implementations and tools for HTTPlug", - "license": "MIT", - "keywords": ["http", "client", "httplug", "common"], - "homepage": "http://httplug.io", - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "require": { - "php": "^7.1 || ^8.0", - "php-http/httplug": "^2.0", - "php-http/message": "^1.6", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/polyfill-php80": "^1.17" - }, - "require-dev": { - "doctrine/instantiator": "^1.1", - "guzzlehttp/psr7": "^1.4", - "nyholm/psr7": "^1.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7" - }, - "suggest": { - "ext-json": "To detect JSON responses with the ContentTypePlugin", - "ext-libxml": "To detect XML responses with the ContentTypePlugin", - "php-http/logger-plugin": "PSR-3 Logger plugin", - "php-http/cache-plugin": "PSR-6 Cache plugin", - "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" - }, - "autoload": { - "psr-4": { - "Http\\Client\\Common\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Tests\\Http\\Client\\Common\\": "tests/" - } - }, - "scripts": { - "test": [ - "vendor/bin/phpunit" - ], - "test-ci": [ - "vendor/bin/phpunit" - ] - }, - "config": { - "sort-packages": true - } -} diff --git a/app/vendor/php-http/client-common/src/BatchClient.php b/app/vendor/php-http/client-common/src/BatchClient.php deleted file mode 100644 index 51f13ff64..000000000 --- a/app/vendor/php-http/client-common/src/BatchClient.php +++ /dev/null @@ -1,42 +0,0 @@ -client = $client; - } - - public function sendRequests(array $requests): BatchResult - { - $batchResult = new BatchResult(); - - foreach ($requests as $request) { - try { - $response = $this->client->sendRequest($request); - $batchResult = $batchResult->addResponse($request, $response); - } catch (ClientExceptionInterface $e) { - $batchResult = $batchResult->addException($request, $e); - } - } - - if ($batchResult->hasExceptions()) { - throw new BatchException($batchResult); - } - - return $batchResult; - } -} diff --git a/app/vendor/php-http/client-common/src/BatchClientInterface.php b/app/vendor/php-http/client-common/src/BatchClientInterface.php deleted file mode 100644 index d42eb2d4e..000000000 --- a/app/vendor/php-http/client-common/src/BatchClientInterface.php +++ /dev/null @@ -1,34 +0,0 @@ - - */ -interface BatchClientInterface -{ - /** - * Send several requests. - * - * You may not assume that the requests are executed in a particular order. If the order matters - * for your application, use sendRequest sequentially. - * - * @param RequestInterface[] $requests The requests to send - * - * @return BatchResult Containing one result per request - * - * @throws BatchException If one or more requests fails. The exception gives access to the - * BatchResult with a map of request to result for success, request to - * exception for failures - */ - public function sendRequests(array $requests): BatchResult; -} diff --git a/app/vendor/php-http/client-common/src/BatchResult.php b/app/vendor/php-http/client-common/src/BatchResult.php deleted file mode 100644 index ccaf83cb3..000000000 --- a/app/vendor/php-http/client-common/src/BatchResult.php +++ /dev/null @@ -1,157 +0,0 @@ - - */ -final class BatchResult -{ - /** - * @var \SplObjectStorage - */ - private $responses; - - /** - * @var \SplObjectStorage - */ - private $exceptions; - - public function __construct() - { - $this->responses = new \SplObjectStorage(); - $this->exceptions = new \SplObjectStorage(); - } - - /** - * Checks if there are any successful responses at all. - */ - public function hasResponses(): bool - { - return $this->responses->count() > 0; - } - - /** - * Returns all successful responses. - * - * @return ResponseInterface[] - */ - public function getResponses(): array - { - $responses = []; - - foreach ($this->responses as $request) { - $responses[] = $this->responses[$request]; - } - - return $responses; - } - - /** - * Checks if there is a successful response for a request. - */ - public function isSuccessful(RequestInterface $request): bool - { - return $this->responses->contains($request); - } - - /** - * Returns the response for a successful request. - * - * @throws \UnexpectedValueException If request was not part of the batch or failed - */ - public function getResponseFor(RequestInterface $request): ResponseInterface - { - try { - return $this->responses[$request]; - } catch (\UnexpectedValueException $e) { - throw new \UnexpectedValueException('Request not found', $e->getCode(), $e); - } - } - - /** - * Adds a response in an immutable way. - * - * @return BatchResult the new BatchResult with this request-response pair added to it - */ - public function addResponse(RequestInterface $request, ResponseInterface $response): self - { - $new = clone $this; - $new->responses->attach($request, $response); - - return $new; - } - - /** - * Checks if there are any unsuccessful requests at all. - */ - public function hasExceptions(): bool - { - return $this->exceptions->count() > 0; - } - - /** - * Returns all exceptions for the unsuccessful requests. - * - * @return ClientExceptionInterface[] - */ - public function getExceptions(): array - { - $exceptions = []; - - foreach ($this->exceptions as $request) { - $exceptions[] = $this->exceptions[$request]; - } - - return $exceptions; - } - - /** - * Checks if there is an exception for a request, meaning the request failed. - */ - public function isFailed(RequestInterface $request): bool - { - return $this->exceptions->contains($request); - } - - /** - * Returns the exception for a failed request. - * - * @throws \UnexpectedValueException If request was not part of the batch or was successful - */ - public function getExceptionFor(RequestInterface $request): ClientExceptionInterface - { - try { - return $this->exceptions[$request]; - } catch (\UnexpectedValueException $e) { - throw new \UnexpectedValueException('Request not found', $e->getCode(), $e); - } - } - - /** - * Adds an exception in an immutable way. - * - * @return BatchResult the new BatchResult with this request-exception pair added to it - */ - public function addException(RequestInterface $request, ClientExceptionInterface $exception): self - { - $new = clone $this; - $new->exceptions->attach($request, $exception); - - return $new; - } - - public function __clone() - { - $this->responses = clone $this->responses; - $this->exceptions = clone $this->exceptions; - } -} diff --git a/app/vendor/php-http/client-common/src/Deferred.php b/app/vendor/php-http/client-common/src/Deferred.php deleted file mode 100644 index effabb225..000000000 --- a/app/vendor/php-http/client-common/src/Deferred.php +++ /dev/null @@ -1,146 +0,0 @@ -waitCallback = $waitCallback; - $this->state = Promise::PENDING; - $this->onFulfilledCallbacks = []; - $this->onRejectedCallbacks = []; - } - - public function then(?callable $onFulfilled = null, ?callable $onRejected = null): Promise - { - $deferred = new self($this->waitCallback); - - $this->onFulfilledCallbacks[] = function (ResponseInterface $response) use ($onFulfilled, $deferred) { - try { - if (null !== $onFulfilled) { - $response = $onFulfilled($response); - } - $deferred->resolve($response); - } catch (ClientExceptionInterface $exception) { - $deferred->reject($exception); - } - }; - - $this->onRejectedCallbacks[] = function (ClientExceptionInterface $exception) use ($onRejected, $deferred) { - try { - if (null !== $onRejected) { - $response = $onRejected($exception); - $deferred->resolve($response); - - return; - } - $deferred->reject($exception); - } catch (ClientExceptionInterface $newException) { - $deferred->reject($newException); - } - }; - - return $deferred; - } - - public function getState(): string - { - return $this->state; - } - - /** - * Resolve this deferred with a Response. - */ - public function resolve(ResponseInterface $response): void - { - if (Promise::PENDING !== $this->state) { - return; - } - - $this->value = $response; - $this->state = Promise::FULFILLED; - - foreach ($this->onFulfilledCallbacks as $onFulfilledCallback) { - $onFulfilledCallback($response); - } - } - - /** - * Reject this deferred with an Exception. - */ - public function reject(ClientExceptionInterface $exception): void - { - if (Promise::PENDING !== $this->state) { - return; - } - - $this->failure = $exception; - $this->state = Promise::REJECTED; - - foreach ($this->onRejectedCallbacks as $onRejectedCallback) { - $onRejectedCallback($exception); - } - } - - public function wait($unwrap = true) - { - if (Promise::PENDING === $this->state) { - $callback = $this->waitCallback; - $callback(); - } - - if (!$unwrap) { - return null; - } - - if (Promise::FULFILLED === $this->state) { - return $this->value; - } - - if (null === $this->failure) { - throw new \RuntimeException('Internal Error: Promise is not fulfilled but has no exception stored'); - } - - throw $this->failure; - } -} diff --git a/app/vendor/php-http/client-common/src/EmulatedHttpAsyncClient.php b/app/vendor/php-http/client-common/src/EmulatedHttpAsyncClient.php deleted file mode 100644 index 008f8880e..000000000 --- a/app/vendor/php-http/client-common/src/EmulatedHttpAsyncClient.php +++ /dev/null @@ -1,25 +0,0 @@ - - */ -final class EmulatedHttpAsyncClient implements HttpClient, HttpAsyncClient -{ - use HttpAsyncClientEmulator; - use HttpClientDecorator; - - public function __construct(ClientInterface $httpClient) - { - $this->httpClient = $httpClient; - } -} diff --git a/app/vendor/php-http/client-common/src/EmulatedHttpClient.php b/app/vendor/php-http/client-common/src/EmulatedHttpClient.php deleted file mode 100644 index 5c2d8c489..000000000 --- a/app/vendor/php-http/client-common/src/EmulatedHttpClient.php +++ /dev/null @@ -1,24 +0,0 @@ - - */ -final class EmulatedHttpClient implements HttpClient, HttpAsyncClient -{ - use HttpAsyncClientDecorator; - use HttpClientEmulator; - - public function __construct(HttpAsyncClient $httpAsyncClient) - { - $this->httpAsyncClient = $httpAsyncClient; - } -} diff --git a/app/vendor/php-http/client-common/src/Exception/BatchException.php b/app/vendor/php-http/client-common/src/Exception/BatchException.php deleted file mode 100644 index a9cb08c87..000000000 --- a/app/vendor/php-http/client-common/src/Exception/BatchException.php +++ /dev/null @@ -1,37 +0,0 @@ - - */ -final class BatchException extends TransferException -{ - /** - * @var BatchResult - */ - private $result; - - public function __construct(BatchResult $result) - { - $this->result = $result; - parent::__construct(); - } - - /** - * Returns the BatchResult that contains all responses and exceptions. - */ - public function getResult(): BatchResult - { - return $this->result; - } -} diff --git a/app/vendor/php-http/client-common/src/Exception/CircularRedirectionException.php b/app/vendor/php-http/client-common/src/Exception/CircularRedirectionException.php deleted file mode 100644 index 9db927c28..000000000 --- a/app/vendor/php-http/client-common/src/Exception/CircularRedirectionException.php +++ /dev/null @@ -1,16 +0,0 @@ - - */ -final class CircularRedirectionException extends HttpException -{ -} diff --git a/app/vendor/php-http/client-common/src/Exception/ClientErrorException.php b/app/vendor/php-http/client-common/src/Exception/ClientErrorException.php deleted file mode 100644 index c657a3f89..000000000 --- a/app/vendor/php-http/client-common/src/Exception/ClientErrorException.php +++ /dev/null @@ -1,16 +0,0 @@ - - */ -final class ClientErrorException extends HttpException -{ -} diff --git a/app/vendor/php-http/client-common/src/Exception/HttpClientNoMatchException.php b/app/vendor/php-http/client-common/src/Exception/HttpClientNoMatchException.php deleted file mode 100644 index 83037d37a..000000000 --- a/app/vendor/php-http/client-common/src/Exception/HttpClientNoMatchException.php +++ /dev/null @@ -1,33 +0,0 @@ - - */ -final class HttpClientNoMatchException extends TransferException -{ - /** - * @var RequestInterface - */ - private $request; - - public function __construct(string $message, RequestInterface $request, ?\Exception $previous = null) - { - $this->request = $request; - - parent::__construct($message, 0, $previous); - } - - public function getRequest(): RequestInterface - { - return $this->request; - } -} diff --git a/app/vendor/php-http/client-common/src/Exception/HttpClientNotFoundException.php b/app/vendor/php-http/client-common/src/Exception/HttpClientNotFoundException.php deleted file mode 100644 index 509daa530..000000000 --- a/app/vendor/php-http/client-common/src/Exception/HttpClientNotFoundException.php +++ /dev/null @@ -1,16 +0,0 @@ - - */ -final class HttpClientNotFoundException extends TransferException -{ -} diff --git a/app/vendor/php-http/client-common/src/Exception/LoopException.php b/app/vendor/php-http/client-common/src/Exception/LoopException.php deleted file mode 100644 index f4e173f34..000000000 --- a/app/vendor/php-http/client-common/src/Exception/LoopException.php +++ /dev/null @@ -1,16 +0,0 @@ - - */ -final class LoopException extends RequestException -{ -} diff --git a/app/vendor/php-http/client-common/src/Exception/MultipleRedirectionException.php b/app/vendor/php-http/client-common/src/Exception/MultipleRedirectionException.php deleted file mode 100644 index bf6c9f73d..000000000 --- a/app/vendor/php-http/client-common/src/Exception/MultipleRedirectionException.php +++ /dev/null @@ -1,16 +0,0 @@ - - */ -final class MultipleRedirectionException extends HttpException -{ -} diff --git a/app/vendor/php-http/client-common/src/Exception/ServerErrorException.php b/app/vendor/php-http/client-common/src/Exception/ServerErrorException.php deleted file mode 100644 index 774b97f06..000000000 --- a/app/vendor/php-http/client-common/src/Exception/ServerErrorException.php +++ /dev/null @@ -1,16 +0,0 @@ - - */ -final class ServerErrorException extends HttpException -{ -} diff --git a/app/vendor/php-http/client-common/src/FlexibleHttpClient.php b/app/vendor/php-http/client-common/src/FlexibleHttpClient.php deleted file mode 100644 index c1e327fde..000000000 --- a/app/vendor/php-http/client-common/src/FlexibleHttpClient.php +++ /dev/null @@ -1,36 +0,0 @@ - - */ -final class FlexibleHttpClient implements HttpClient, HttpAsyncClient -{ - use HttpClientDecorator; - use HttpAsyncClientDecorator; - - /** - * @param ClientInterface|HttpAsyncClient $client - */ - public function __construct($client) - { - if (!$client instanceof ClientInterface && !$client instanceof HttpAsyncClient) { - throw new \TypeError( - sprintf('%s::__construct(): Argument #1 ($client) must be of type %s|%s, %s given', self::class, ClientInterface::class, HttpAsyncClient::class, get_debug_type($client)) - ); - } - - $this->httpClient = $client instanceof ClientInterface ? $client : new EmulatedHttpClient($client); - $this->httpAsyncClient = $client instanceof HttpAsyncClient ? $client : new EmulatedHttpAsyncClient($client); - } -} diff --git a/app/vendor/php-http/client-common/src/HttpAsyncClientDecorator.php b/app/vendor/php-http/client-common/src/HttpAsyncClientDecorator.php deleted file mode 100644 index 91ff5af26..000000000 --- a/app/vendor/php-http/client-common/src/HttpAsyncClientDecorator.php +++ /dev/null @@ -1,29 +0,0 @@ - - */ -trait HttpAsyncClientDecorator -{ - /** - * @var HttpAsyncClient - */ - protected $httpAsyncClient; - - /** - * @see HttpAsyncClient::sendAsyncRequest - */ - public function sendAsyncRequest(RequestInterface $request) - { - return $this->httpAsyncClient->sendAsyncRequest($request); - } -} diff --git a/app/vendor/php-http/client-common/src/HttpAsyncClientEmulator.php b/app/vendor/php-http/client-common/src/HttpAsyncClientEmulator.php deleted file mode 100644 index ffc0d5a4b..000000000 --- a/app/vendor/php-http/client-common/src/HttpAsyncClientEmulator.php +++ /dev/null @@ -1,35 +0,0 @@ - - */ -trait HttpAsyncClientEmulator -{ - /** - * @see HttpClient::sendRequest - */ - abstract public function sendRequest(RequestInterface $request): ResponseInterface; - - /** - * @see HttpAsyncClient::sendAsyncRequest - */ - public function sendAsyncRequest(RequestInterface $request) - { - try { - return new Promise\HttpFulfilledPromise($this->sendRequest($request)); - } catch (Exception $e) { - return new Promise\HttpRejectedPromise($e); - } - } -} diff --git a/app/vendor/php-http/client-common/src/HttpClientDecorator.php b/app/vendor/php-http/client-common/src/HttpClientDecorator.php deleted file mode 100644 index d236ad58a..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientDecorator.php +++ /dev/null @@ -1,30 +0,0 @@ - - */ -trait HttpClientDecorator -{ - /** - * @var ClientInterface - */ - protected $httpClient; - - /** - * @see ClientInterface::sendRequest - */ - public function sendRequest(RequestInterface $request): ResponseInterface - { - return $this->httpClient->sendRequest($request); - } -} diff --git a/app/vendor/php-http/client-common/src/HttpClientEmulator.php b/app/vendor/php-http/client-common/src/HttpClientEmulator.php deleted file mode 100644 index 7c40b5043..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientEmulator.php +++ /dev/null @@ -1,31 +0,0 @@ - - */ -trait HttpClientEmulator -{ - /** - * @see HttpClient::sendRequest - */ - public function sendRequest(RequestInterface $request): ResponseInterface - { - $promise = $this->sendAsyncRequest($request); - - return $promise->wait(); - } - - /** - * @see HttpAsyncClient::sendAsyncRequest - */ - abstract public function sendAsyncRequest(RequestInterface $request); -} diff --git a/app/vendor/php-http/client-common/src/HttpClientPool.php b/app/vendor/php-http/client-common/src/HttpClientPool.php deleted file mode 100644 index 24ab42117..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientPool.php +++ /dev/null @@ -1,24 +0,0 @@ -clientPool[] = $client; - } - - /** - * Return an http client given a specific strategy. - * - * @return HttpClientPoolItem Return a http client that can do both sync or async - * - * @throws HttpClientNotFoundException When no http client has been found into the pool - */ - abstract protected function chooseHttpClient(): HttpClientPoolItem; - - public function sendAsyncRequest(RequestInterface $request) - { - return $this->chooseHttpClient()->sendAsyncRequest($request); - } - - public function sendRequest(RequestInterface $request): ResponseInterface - { - return $this->chooseHttpClient()->sendRequest($request); - } -} diff --git a/app/vendor/php-http/client-common/src/HttpClientPool/HttpClientPoolItem.php b/app/vendor/php-http/client-common/src/HttpClientPool/HttpClientPoolItem.php deleted file mode 100644 index 1bf438186..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientPool/HttpClientPoolItem.php +++ /dev/null @@ -1,175 +0,0 @@ - - */ -class HttpClientPoolItem implements HttpClient, HttpAsyncClient -{ - /** - * @var int Number of request this client is currently sending - */ - private $sendingRequestCount = 0; - - /** - * @var \DateTime|null Time when this client has been disabled or null if enable - */ - private $disabledAt; - - /** - * Number of seconds until this client is enabled again after an error. - * - * null: never reenable this client. - * - * @var int|null - */ - private $reenableAfter; - - /** - * @var FlexibleHttpClient A http client responding to async and sync request - */ - private $client; - - /** - * @param ClientInterface|HttpAsyncClient $client - * @param int|null $reenableAfter Number of seconds until this client is enabled again after an error - */ - public function __construct($client, ?int $reenableAfter = null) - { - if (!$client instanceof ClientInterface && !$client instanceof HttpAsyncClient) { - throw new \TypeError( - sprintf('%s::__construct(): Argument #1 ($client) must be of type %s|%s, %s given', self::class, ClientInterface::class, HttpAsyncClient::class, get_debug_type($client)) - ); - } - - $this->client = new FlexibleHttpClient($client); - $this->reenableAfter = $reenableAfter; - } - - public function sendRequest(RequestInterface $request): ResponseInterface - { - if ($this->isDisabled()) { - throw new Exception\RequestException('Cannot send the request as this client has been disabled', $request); - } - - try { - $this->incrementRequestCount(); - $response = $this->client->sendRequest($request); - $this->decrementRequestCount(); - } catch (Exception $e) { - $this->disable(); - $this->decrementRequestCount(); - - throw $e; - } - - return $response; - } - - public function sendAsyncRequest(RequestInterface $request) - { - if ($this->isDisabled()) { - throw new Exception\RequestException('Cannot send the request as this client has been disabled', $request); - } - - $this->incrementRequestCount(); - - return $this->client->sendAsyncRequest($request)->then(function ($response) { - $this->decrementRequestCount(); - - return $response; - }, function ($exception) { - $this->disable(); - $this->decrementRequestCount(); - - throw $exception; - }); - } - - /** - * Whether this client is disabled or not. - * - * If the client was disabled, calling this method checks if the client can - * be reenabled and if so enables it. - */ - public function isDisabled(): bool - { - if (null !== $this->reenableAfter && null !== $this->disabledAt) { - // Reenable after a certain time - $now = new \DateTime(); - - if (($now->getTimestamp() - $this->disabledAt->getTimestamp()) >= $this->reenableAfter) { - $this->enable(); - - return false; - } - - return true; - } - - return null !== $this->disabledAt; - } - - /** - * Get current number of request that are currently being sent by the underlying HTTP client. - */ - public function getSendingRequestCount(): int - { - return $this->sendingRequestCount; - } - - /** - * Increment the request count. - */ - private function incrementRequestCount(): void - { - ++$this->sendingRequestCount; - } - - /** - * Decrement the request count. - */ - private function decrementRequestCount(): void - { - --$this->sendingRequestCount; - } - - /** - * Enable the current client. - */ - private function enable(): void - { - $this->disabledAt = null; - } - - /** - * Disable the current client. - */ - private function disable(): void - { - $this->disabledAt = new \DateTime('now'); - } -} diff --git a/app/vendor/php-http/client-common/src/HttpClientPool/LeastUsedClientPool.php b/app/vendor/php-http/client-common/src/HttpClientPool/LeastUsedClientPool.php deleted file mode 100644 index bfa1cd000..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientPool/LeastUsedClientPool.php +++ /dev/null @@ -1,42 +0,0 @@ - - */ -final class LeastUsedClientPool extends HttpClientPool -{ - protected function chooseHttpClient(): HttpClientPoolItem - { - $clientPool = array_filter($this->clientPool, function (HttpClientPoolItem $clientPoolItem) { - return !$clientPoolItem->isDisabled(); - }); - - if (0 === count($clientPool)) { - throw new HttpClientNotFoundException('Cannot choose a http client as there is no one present in the pool'); - } - - usort($clientPool, function (HttpClientPoolItem $clientA, HttpClientPoolItem $clientB) { - if ($clientA->getSendingRequestCount() === $clientB->getSendingRequestCount()) { - return 0; - } - - if ($clientA->getSendingRequestCount() < $clientB->getSendingRequestCount()) { - return -1; - } - - return 1; - }); - - return reset($clientPool); - } -} diff --git a/app/vendor/php-http/client-common/src/HttpClientPool/RandomClientPool.php b/app/vendor/php-http/client-common/src/HttpClientPool/RandomClientPool.php deleted file mode 100644 index 8ef535f18..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientPool/RandomClientPool.php +++ /dev/null @@ -1,28 +0,0 @@ - - */ -final class RandomClientPool extends HttpClientPool -{ - protected function chooseHttpClient(): HttpClientPoolItem - { - $clientPool = array_filter($this->clientPool, function (HttpClientPoolItem $clientPoolItem) { - return !$clientPoolItem->isDisabled(); - }); - - if (0 === count($clientPool)) { - throw new HttpClientNotFoundException('Cannot choose a http client as there is no one present in the pool'); - } - - return $clientPool[array_rand($clientPool)]; - } -} diff --git a/app/vendor/php-http/client-common/src/HttpClientPool/RoundRobinClientPool.php b/app/vendor/php-http/client-common/src/HttpClientPool/RoundRobinClientPool.php deleted file mode 100644 index a90865396..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientPool/RoundRobinClientPool.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ -final class RoundRobinClientPool extends HttpClientPool -{ - protected function chooseHttpClient(): HttpClientPoolItem - { - $last = current($this->clientPool); - - do { - $client = next($this->clientPool); - - if (false === $client) { - $client = reset($this->clientPool); - - if (false === $client) { - throw new HttpClientNotFoundException('Cannot choose a http client as there is no one present in the pool'); - } - } - - // Case when there is only one and the last one has been disabled - if ($last === $client && $client->isDisabled()) { - throw new HttpClientNotFoundException('Cannot choose a http client as there is no one enabled in the pool'); - } - } while ($client->isDisabled()); - - return $client; - } -} diff --git a/app/vendor/php-http/client-common/src/HttpClientRouter.php b/app/vendor/php-http/client-common/src/HttpClientRouter.php deleted file mode 100644 index 42c690738..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientRouter.php +++ /dev/null @@ -1,66 +0,0 @@ - - */ -final class HttpClientRouter implements HttpClientRouterInterface -{ - /** - * @var (array{matcher: RequestMatcher, client: FlexibleHttpClient})[] - */ - private $clients = []; - - public function sendRequest(RequestInterface $request): ResponseInterface - { - return $this->chooseHttpClient($request)->sendRequest($request); - } - - public function sendAsyncRequest(RequestInterface $request) - { - return $this->chooseHttpClient($request)->sendAsyncRequest($request); - } - - /** - * Add a client to the router. - * - * @param ClientInterface|HttpAsyncClient $client - */ - public function addClient($client, RequestMatcher $requestMatcher): void - { - if (!$client instanceof ClientInterface && !$client instanceof HttpAsyncClient) { - throw new \TypeError( - sprintf('%s::addClient(): Argument #1 ($client) must be of type %s|%s, %s given', self::class, ClientInterface::class, HttpAsyncClient::class, get_debug_type($client)) - ); - } - - $this->clients[] = [ - 'matcher' => $requestMatcher, - 'client' => new FlexibleHttpClient($client), - ]; - } - - /** - * Choose an HTTP client given a specific request. - */ - private function chooseHttpClient(RequestInterface $request): FlexibleHttpClient - { - foreach ($this->clients as $client) { - if ($client['matcher']->matches($request)) { - return $client['client']; - } - } - - throw new HttpClientNoMatchException('No client found for the specified request', $request); - } -} diff --git a/app/vendor/php-http/client-common/src/HttpClientRouterInterface.php b/app/vendor/php-http/client-common/src/HttpClientRouterInterface.php deleted file mode 100644 index ae012cf4a..000000000 --- a/app/vendor/php-http/client-common/src/HttpClientRouterInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - */ -interface HttpClientRouterInterface extends HttpClient, HttpAsyncClient -{ - /** - * Add a client to the router. - * - * @param ClientInterface|HttpAsyncClient $client - */ - public function addClient($client, RequestMatcher $requestMatcher): void; -} diff --git a/app/vendor/php-http/client-common/src/HttpMethodsClient.php b/app/vendor/php-http/client-common/src/HttpMethodsClient.php deleted file mode 100644 index 95fee3bfb..000000000 --- a/app/vendor/php-http/client-common/src/HttpMethodsClient.php +++ /dev/null @@ -1,150 +0,0 @@ -httpClient = $httpClient; - $this->requestFactory = $requestFactory; - $this->streamFactory = $streamFactory; - } - - public function get($uri, array $headers = []): ResponseInterface - { - return $this->send('GET', $uri, $headers, null); - } - - public function head($uri, array $headers = []): ResponseInterface - { - return $this->send('HEAD', $uri, $headers, null); - } - - public function trace($uri, array $headers = []): ResponseInterface - { - return $this->send('TRACE', $uri, $headers, null); - } - - public function post($uri, array $headers = [], $body = null): ResponseInterface - { - return $this->send('POST', $uri, $headers, $body); - } - - public function put($uri, array $headers = [], $body = null): ResponseInterface - { - return $this->send('PUT', $uri, $headers, $body); - } - - public function patch($uri, array $headers = [], $body = null): ResponseInterface - { - return $this->send('PATCH', $uri, $headers, $body); - } - - public function delete($uri, array $headers = [], $body = null): ResponseInterface - { - return $this->send('DELETE', $uri, $headers, $body); - } - - public function options($uri, array $headers = [], $body = null): ResponseInterface - { - return $this->send('OPTIONS', $uri, $headers, $body); - } - - public function send(string $method, $uri, array $headers = [], $body = null): ResponseInterface - { - if (!is_string($uri) && !$uri instanceof UriInterface) { - throw new \TypeError( - sprintf('%s::send(): Argument #2 ($uri) must be of type string|%s, %s given', self::class, UriInterface::class, get_debug_type($uri)) - ); - } - - if (!is_string($body) && !$body instanceof StreamInterface && null !== $body) { - throw new \TypeError( - sprintf('%s::send(): Argument #4 ($body) must be of type string|%s|null, %s given', self::class, StreamInterface::class, get_debug_type($body)) - ); - } - - return $this->sendRequest( - self::createRequest($method, $uri, $headers, $body) - ); - } - - /** - * @param string|UriInterface $uri - * @param string|StreamInterface|null $body - */ - private function createRequest(string $method, $uri, array $headers = [], $body = null): RequestInterface - { - if ($this->requestFactory instanceof RequestFactory) { - return $this->requestFactory->createRequest( - $method, - $uri, - $headers, - $body - ); - } - - $request = $this->requestFactory->createRequest($method, $uri); - - foreach ($headers as $key => $value) { - $request = $request->withHeader($key, $value); - } - - if (null !== $body && '' !== $body) { - if (null === $this->streamFactory) { - throw new \RuntimeException('Cannot create request: A stream factory is required to create a request with a non-empty string body.'); - } - - $request = $request->withBody( - is_string($body) ? $this->streamFactory->createStream($body) : $body - ); - } - - return $request; - } - - public function sendRequest(RequestInterface $request): ResponseInterface - { - return $this->httpClient->sendRequest($request); - } -} diff --git a/app/vendor/php-http/client-common/src/HttpMethodsClientInterface.php b/app/vendor/php-http/client-common/src/HttpMethodsClientInterface.php deleted file mode 100644 index bc0829aec..000000000 --- a/app/vendor/php-http/client-common/src/HttpMethodsClientInterface.php +++ /dev/null @@ -1,116 +0,0 @@ -get('/foo') - * ->post('/bar') - * ; - * - * The client also exposes the sendRequest methods of the wrapped HttpClient. - * - * @author Márk Sági-Kazár - * @author David Buchmann - */ -interface HttpMethodsClientInterface extends HttpClient -{ - /** - * Sends a GET request. - * - * @param string|UriInterface $uri - * - * @throws Exception - */ - public function get($uri, array $headers = []): ResponseInterface; - - /** - * Sends an HEAD request. - * - * @param string|UriInterface $uri - * - * @throws Exception - */ - public function head($uri, array $headers = []): ResponseInterface; - - /** - * Sends a TRACE request. - * - * @param string|UriInterface $uri - * - * @throws Exception - */ - public function trace($uri, array $headers = []): ResponseInterface; - - /** - * Sends a POST request. - * - * @param string|UriInterface $uri - * @param string|StreamInterface|null $body - * - * @throws Exception - */ - public function post($uri, array $headers = [], $body = null): ResponseInterface; - - /** - * Sends a PUT request. - * - * @param string|UriInterface $uri - * @param string|StreamInterface|null $body - * - * @throws Exception - */ - public function put($uri, array $headers = [], $body = null): ResponseInterface; - - /** - * Sends a PATCH request. - * - * @param string|UriInterface $uri - * @param string|StreamInterface|null $body - * - * @throws Exception - */ - public function patch($uri, array $headers = [], $body = null): ResponseInterface; - - /** - * Sends a DELETE request. - * - * @param string|UriInterface $uri - * @param string|StreamInterface|null $body - * - * @throws Exception - */ - public function delete($uri, array $headers = [], $body = null): ResponseInterface; - - /** - * Sends an OPTIONS request. - * - * @param string|UriInterface $uri - * @param string|StreamInterface|null $body - * - * @throws Exception - */ - public function options($uri, array $headers = [], $body = null): ResponseInterface; - - /** - * Sends a request with any HTTP method. - * - * @param string $method HTTP method to use - * @param string|UriInterface $uri - * @param string|StreamInterface|null $body - * - * @throws Exception - */ - public function send(string $method, $uri, array $headers = [], $body = null): ResponseInterface; -} diff --git a/app/vendor/php-http/client-common/src/Plugin.php b/app/vendor/php-http/client-common/src/Plugin.php deleted file mode 100644 index 99898b922..000000000 --- a/app/vendor/php-http/client-common/src/Plugin.php +++ /dev/null @@ -1,33 +0,0 @@ - - */ -interface Plugin -{ - /** - * Handle the request and return the response coming from the next callable. - * - * @see http://docs.php-http.org/en/latest/plugins/build-your-own.html - * - * @param callable(RequestInterface): Promise $next Next middleware in the chain, the request is passed as the first argument - * @param callable(RequestInterface): Promise $first First middleware in the chain, used to to restart a request - * - * @return Promise Resolves a PSR-7 Response or fails with an Http\Client\Exception (The same as HttpAsyncClient) - */ - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise; -} diff --git a/app/vendor/php-http/client-common/src/Plugin/AddHostPlugin.php b/app/vendor/php-http/client-common/src/Plugin/AddHostPlugin.php deleted file mode 100644 index ca811b786..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/AddHostPlugin.php +++ /dev/null @@ -1,73 +0,0 @@ - - */ -final class AddHostPlugin implements Plugin -{ - /** - * @var UriInterface - */ - private $host; - - /** - * @var bool - */ - private $replace; - - /** - * @param array{'replace'?: bool} $config - * - * Configuration options: - * - replace: True will replace all hosts, false will only add host when none is specified - */ - public function __construct(UriInterface $host, array $config = []) - { - if ('' === $host->getHost()) { - throw new \LogicException('Host can not be empty'); - } - - $this->host = $host; - - $resolver = new OptionsResolver(); - $this->configureOptions($resolver); - $options = $resolver->resolve($config); - - $this->replace = $options['replace']; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - if ($this->replace || '' === $request->getUri()->getHost()) { - $uri = $request->getUri() - ->withHost($this->host->getHost()) - ->withScheme($this->host->getScheme()) - ->withPort($this->host->getPort()) - ; - - $request = $request->withUri($uri); - } - - return $next($request); - } - - private function configureOptions(OptionsResolver $resolver): void - { - $resolver->setDefaults([ - 'replace' => false, - ]); - $resolver->setAllowedTypes('replace', 'bool'); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/AddPathPlugin.php b/app/vendor/php-http/client-common/src/Plugin/AddPathPlugin.php deleted file mode 100644 index 87fcdcebe..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/AddPathPlugin.php +++ /dev/null @@ -1,78 +0,0 @@ - - */ -final class AddPathPlugin implements Plugin -{ - /** - * @var UriInterface - */ - private $uri; - - public function __construct(UriInterface $uri) - { - if ('' === $uri->getPath()) { - throw new \LogicException('URI path cannot be empty'); - } - - if ('/' === substr($uri->getPath(), -1)) { - $uri = $uri->withPath(rtrim($uri->getPath(), '/')); - } - - $this->uri = $uri; - } - - /** - * Adds a prefix in the beginning of the URL's path. - * - * The prefix is not added if that prefix is already on the URL's path. This will fail on the edge - * case of the prefix being repeated, for example if `https://example.com/api/api/foo` is a valid - * URL on the server and the configured prefix is `/api`. - * - * We looked at other solutions, but they are all much more complicated, while still having edge - * cases: - * - Doing an spl_object_hash on `$first` will lead to collisions over time because over time the - * hash can collide. - * - Have the PluginClient provide a magic header to identify the request chain and only apply - * this plugin once. - * - * There are 2 reasons for the AddPathPlugin to be executed twice on the same request: - * - A plugin can restart the chain by calling `$first`, e.g. redirect - * - A plugin can call `$next` more than once, e.g. retry - * - * Depending on the scenario, the path should or should not be added. E.g. `$first` could - * be called after a redirect response from the server. The server likely already has the - * correct path. - * - * No solution fits all use cases. This implementation will work fine for the common use cases. - * If you have a specific situation where this is not the right thing, you can build a custom plugin - * that does exactly what you need. - * - * {@inheritdoc} - */ - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $prepend = $this->uri->getPath(); - $path = $request->getUri()->getPath(); - - if (substr($path, 0, strlen($prepend)) !== $prepend) { - $request = $request->withUri($request->getUri() - ->withPath($prepend.$path) - ); - } - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/AuthenticationPlugin.php b/app/vendor/php-http/client-common/src/Plugin/AuthenticationPlugin.php deleted file mode 100644 index 2336062f0..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/AuthenticationPlugin.php +++ /dev/null @@ -1,35 +0,0 @@ - - */ -final class AuthenticationPlugin implements Plugin -{ - /** - * @var Authentication An authentication system - */ - private $authentication; - - public function __construct(Authentication $authentication) - { - $this->authentication = $authentication; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $request = $this->authentication->authenticate($request); - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/BaseUriPlugin.php b/app/vendor/php-http/client-common/src/Plugin/BaseUriPlugin.php deleted file mode 100644 index c361683c0..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/BaseUriPlugin.php +++ /dev/null @@ -1,54 +0,0 @@ - - */ -final class BaseUriPlugin implements Plugin -{ - /** - * @var AddHostPlugin - */ - private $addHostPlugin; - - /** - * @var AddPathPlugin|null - */ - private $addPathPlugin; - - /** - * @param UriInterface $uri Has to contain a host name and can have a path - * @param array $hostConfig Config for AddHostPlugin. @see AddHostPlugin::configureOptions - */ - public function __construct(UriInterface $uri, array $hostConfig = []) - { - $this->addHostPlugin = new AddHostPlugin($uri, $hostConfig); - - if (rtrim($uri->getPath(), '/')) { - $this->addPathPlugin = new AddPathPlugin($uri); - } - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $addHostNext = function (RequestInterface $request) use ($next, $first) { - return $this->addHostPlugin->handleRequest($request, $next, $first); - }; - - if ($this->addPathPlugin) { - return $this->addPathPlugin->handleRequest($request, $addHostNext, $first); - } - - return $addHostNext($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/ContentLengthPlugin.php b/app/vendor/php-http/client-common/src/Plugin/ContentLengthPlugin.php deleted file mode 100644 index ad69ff332..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/ContentLengthPlugin.php +++ /dev/null @@ -1,36 +0,0 @@ - - */ -final class ContentLengthPlugin implements Plugin -{ - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - if (!$request->hasHeader('Content-Length')) { - $stream = $request->getBody(); - - // Cannot determine the size so we use a chunk stream - if (null === $stream->getSize()) { - $stream = new ChunkStream($stream); - $request = $request->withBody($stream); - $request = $request->withAddedHeader('Transfer-Encoding', 'chunked'); - } else { - $request = $request->withHeader('Content-Length', (string) $stream->getSize()); - } - } - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/ContentTypePlugin.php b/app/vendor/php-http/client-common/src/Plugin/ContentTypePlugin.php deleted file mode 100644 index e4844c489..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/ContentTypePlugin.php +++ /dev/null @@ -1,119 +0,0 @@ - - */ -final class ContentTypePlugin implements Plugin -{ - /** - * Allow to disable the content type detection when stream is too large (as it can consume a lot of resource). - * - * @var bool - * - * true skip the content type detection - * false detect the content type (default value) - */ - private $skipDetection; - - /** - * Determine the size stream limit for which the detection as to be skipped (default to 16Mb). - * - * @var int - */ - private $sizeLimit; - - /** - * @param array{'skip_detection'?: bool, 'size_limit'?: int} $config - * - * Configuration options: - * - skip_detection: true skip detection if stream size is bigger than $size_limit - * - size_limit: size stream limit for which the detection as to be skipped - */ - public function __construct(array $config = []) - { - $resolver = new OptionsResolver(); - $resolver->setDefaults([ - 'skip_detection' => false, - 'size_limit' => 16000000, - ]); - $resolver->setAllowedTypes('skip_detection', 'bool'); - $resolver->setAllowedTypes('size_limit', 'int'); - - $options = $resolver->resolve($config); - - $this->skipDetection = $options['skip_detection']; - $this->sizeLimit = $options['size_limit']; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - if (!$request->hasHeader('Content-Type')) { - $stream = $request->getBody(); - $streamSize = $stream->getSize(); - - if (!$stream->isSeekable()) { - return $next($request); - } - - if (0 === $streamSize) { - return $next($request); - } - - if ($this->skipDetection && (null === $streamSize || $streamSize >= $this->sizeLimit)) { - return $next($request); - } - - if ($this->isJson($stream)) { - $request = $request->withHeader('Content-Type', 'application/json'); - - return $next($request); - } - - if ($this->isXml($stream)) { - $request = $request->withHeader('Content-Type', 'application/xml'); - - return $next($request); - } - } - - return $next($request); - } - - private function isJson(StreamInterface $stream): bool - { - if (!function_exists('json_decode')) { - return false; - } - $stream->rewind(); - - json_decode($stream->getContents()); - - return JSON_ERROR_NONE === json_last_error(); - } - - private function isXml(StreamInterface $stream): bool - { - if (!function_exists('simplexml_load_string')) { - return false; - } - $stream->rewind(); - - $previousValue = libxml_use_internal_errors(true); - $isXml = simplexml_load_string($stream->getContents()); - libxml_use_internal_errors($previousValue); - - return false !== $isXml; - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/CookiePlugin.php b/app/vendor/php-http/client-common/src/Plugin/CookiePlugin.php deleted file mode 100644 index 23c859358..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/CookiePlugin.php +++ /dev/null @@ -1,177 +0,0 @@ - - */ -final class CookiePlugin implements Plugin -{ - /** - * Cookie storage. - * - * @var CookieJar - */ - private $cookieJar; - - public function __construct(CookieJar $cookieJar) - { - $this->cookieJar = $cookieJar; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $cookies = []; - foreach ($this->cookieJar->getCookies() as $cookie) { - if ($cookie->isExpired()) { - continue; - } - - if (!$cookie->matchDomain($request->getUri()->getHost())) { - continue; - } - - if (!$cookie->matchPath($request->getUri()->getPath())) { - continue; - } - - if ($cookie->isSecure() && ('https' !== $request->getUri()->getScheme())) { - continue; - } - - $cookies[] = sprintf('%s=%s', $cookie->getName(), $cookie->getValue()); - } - - if (!empty($cookies)) { - $request = $request->withAddedHeader('Cookie', implode('; ', array_unique($cookies))); - } - - return $next($request)->then(function (ResponseInterface $response) use ($request) { - if ($response->hasHeader('Set-Cookie')) { - $setCookies = $response->getHeader('Set-Cookie'); - - foreach ($setCookies as $setCookie) { - $cookie = $this->createCookie($request, $setCookie); - - // Cookie invalid do not use it - if (null === $cookie) { - continue; - } - - // Restrict setting cookie from another domain - if (!preg_match("/\.{$cookie->getDomain()}$/", '.'.$request->getUri()->getHost())) { - continue; - } - - $this->cookieJar->addCookie($cookie); - } - } - - return $response; - }); - } - - /** - * Creates a cookie from a string. - * - * @throws TransferException - */ - private function createCookie(RequestInterface $request, string $setCookieHeader): ?Cookie - { - $parts = array_map('trim', explode(';', $setCookieHeader)); - - if ('' === $parts[0] || false === strpos($parts[0], '=')) { - return null; - } - - list($name, $cookieValue) = $this->createValueKey(array_shift($parts)); - - $maxAge = null; - $expires = null; - $domain = $request->getUri()->getHost(); - $path = $request->getUri()->getPath(); - $secure = false; - $httpOnly = false; - - // Add the cookie pieces into the parsed data array - foreach ($parts as $part) { - list($key, $value) = $this->createValueKey($part); - - switch (strtolower($key)) { - case 'expires': - try { - $expires = CookieUtil::parseDate((string) $value); - } catch (UnexpectedValueException $e) { - throw new TransferException( - sprintf( - 'Cookie header `%s` expires value `%s` could not be converted to date', - $name, - $value - ), - 0, - $e - ); - } - - break; - - case 'max-age': - $maxAge = (int) $value; - - break; - - case 'domain': - $domain = $value; - - break; - - case 'path': - $path = $value; - - break; - - case 'secure': - $secure = true; - - break; - - case 'httponly': - $httpOnly = true; - - break; - } - } - - return new Cookie($name, $cookieValue, $maxAge, $domain, $path, $secure, $httpOnly, $expires); - } - - /** - * Separates key/value pair from cookie. - * - * @param string $part A single cookie value in format key=value - * - * @return array{0:string, 1:string|null} - */ - private function createValueKey(string $part): array - { - $parts = explode('=', $part, 2); - $key = trim($parts[0]); - $value = isset($parts[1]) ? trim($parts[1]) : null; - - return [$key, $value]; - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/DecoderPlugin.php b/app/vendor/php-http/client-common/src/Plugin/DecoderPlugin.php deleted file mode 100644 index 3e781aa92..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/DecoderPlugin.php +++ /dev/null @@ -1,132 +0,0 @@ - - */ -final class DecoderPlugin implements Plugin -{ - /** - * @var bool Whether this plugin decode stream with value in the Content-Encoding header (default to true). - * - * If set to false only the Transfer-Encoding header will be used - */ - private $useContentEncoding; - - /** - * @param array{'use_content_encoding'?: bool} $config - * - * Configuration options: - * - use_content_encoding: Whether this plugin should look at the Content-Encoding header first or only at the Transfer-Encoding (defaults to true) - */ - public function __construct(array $config = []) - { - $resolver = new OptionsResolver(); - $resolver->setDefaults([ - 'use_content_encoding' => true, - ]); - $resolver->setAllowedTypes('use_content_encoding', 'bool'); - $options = $resolver->resolve($config); - - $this->useContentEncoding = $options['use_content_encoding']; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $encodings = extension_loaded('zlib') ? ['gzip', 'deflate'] : ['identity']; - - if ($this->useContentEncoding) { - $request = $request->withHeader('Accept-Encoding', $encodings); - } - $encodings[] = 'chunked'; - $request = $request->withHeader('TE', $encodings); - - return $next($request)->then(function (ResponseInterface $response) { - return $this->decodeResponse($response); - }); - } - - /** - * Decode a response body given its Transfer-Encoding or Content-Encoding value. - */ - private function decodeResponse(ResponseInterface $response): ResponseInterface - { - $response = $this->decodeOnEncodingHeader('Transfer-Encoding', $response); - - if ($this->useContentEncoding) { - $response = $this->decodeOnEncodingHeader('Content-Encoding', $response); - } - - return $response; - } - - /** - * Decode a response on a specific header (content encoding or transfer encoding mainly). - */ - private function decodeOnEncodingHeader(string $headerName, ResponseInterface $response): ResponseInterface - { - if ($response->hasHeader($headerName)) { - $encodings = $response->getHeader($headerName); - $newEncodings = []; - - while ($encoding = array_pop($encodings)) { - $stream = $this->decorateStream($encoding, $response->getBody()); - - if (false === $stream) { - array_unshift($newEncodings, $encoding); - - continue; - } - - $response = $response->withBody($stream); - } - - if (\count($newEncodings) > 0) { - $response = $response->withHeader($headerName, $newEncodings); - } else { - $response = $response->withoutHeader($headerName); - } - } - - return $response; - } - - /** - * Decorate a stream given an encoding. - * - * @return StreamInterface|false A new stream interface or false if encoding is not supported - */ - private function decorateStream(string $encoding, StreamInterface $stream) - { - if ('chunked' === strtolower($encoding)) { - return new Encoding\DechunkStream($stream); - } - - if ('deflate' === strtolower($encoding)) { - return new Encoding\DecompressStream($stream); - } - - if ('gzip' === strtolower($encoding)) { - return new Encoding\GzipDecodeStream($stream); - } - - return false; - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/ErrorPlugin.php b/app/vendor/php-http/client-common/src/Plugin/ErrorPlugin.php deleted file mode 100644 index 712e28a47..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/ErrorPlugin.php +++ /dev/null @@ -1,89 +0,0 @@ - - */ -final class ErrorPlugin implements Plugin -{ - /** - * @var bool Whether this plugin should only throw 5XX Exceptions (default to false). - * - * If set to true 4XX Responses code will never throw an exception - */ - private $onlyServerException; - - /** - * @param array{'only_server_exception'?: bool} $config - * - * Configuration options: - * - only_server_exception: Whether this plugin should only throw 5XX Exceptions (default to false) - */ - public function __construct(array $config = []) - { - $resolver = new OptionsResolver(); - $resolver->setDefaults([ - 'only_server_exception' => false, - ]); - $resolver->setAllowedTypes('only_server_exception', 'bool'); - $options = $resolver->resolve($config); - - $this->onlyServerException = $options['only_server_exception']; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $promise = $next($request); - - return $promise->then(function (ResponseInterface $response) use ($request) { - return $this->transformResponseToException($request, $response); - }); - } - - /** - * Transform response to an error if possible. - * - * @param RequestInterface $request Request of the call - * @param ResponseInterface $response Response of the call - * - * @return ResponseInterface If status code is not in 4xx or 5xx return response - * - * @throws ClientErrorException If response status code is a 4xx - * @throws ServerErrorException If response status code is a 5xx - */ - private function transformResponseToException(RequestInterface $request, ResponseInterface $response): ResponseInterface - { - if (!$this->onlyServerException && $response->getStatusCode() >= 400 && $response->getStatusCode() < 500) { - throw new ClientErrorException($response->getReasonPhrase(), $request, $response); - } - - if ($response->getStatusCode() >= 500 && $response->getStatusCode() < 600) { - throw new ServerErrorException($response->getReasonPhrase(), $request, $response); - } - - return $response; - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/HeaderAppendPlugin.php b/app/vendor/php-http/client-common/src/Plugin/HeaderAppendPlugin.php deleted file mode 100644 index e6d6235f5..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/HeaderAppendPlugin.php +++ /dev/null @@ -1,45 +0,0 @@ - - */ -final class HeaderAppendPlugin implements Plugin -{ - /** - * @var array - */ - private $headers; - - /** - * @param array $headers Hashmap of header name to header value - */ - public function __construct(array $headers) - { - $this->headers = $headers; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - foreach ($this->headers as $header => $headerValue) { - $request = $request->withAddedHeader($header, $headerValue); - } - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/HeaderDefaultsPlugin.php b/app/vendor/php-http/client-common/src/Plugin/HeaderDefaultsPlugin.php deleted file mode 100644 index baf8f9d49..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/HeaderDefaultsPlugin.php +++ /dev/null @@ -1,43 +0,0 @@ - - */ -final class HeaderDefaultsPlugin implements Plugin -{ - /** - * @var array - */ - private $headers = []; - - /** - * @param array $headers Hashmap of header name to header value - */ - public function __construct(array $headers) - { - $this->headers = $headers; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - foreach ($this->headers as $header => $headerValue) { - if (!$request->hasHeader($header)) { - $request = $request->withHeader($header, $headerValue); - } - } - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/HeaderRemovePlugin.php b/app/vendor/php-http/client-common/src/Plugin/HeaderRemovePlugin.php deleted file mode 100644 index abfb922ed..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/HeaderRemovePlugin.php +++ /dev/null @@ -1,41 +0,0 @@ - - */ -final class HeaderRemovePlugin implements Plugin -{ - /** - * @var array - */ - private $headers = []; - - /** - * @param array $headers List of header names to remove from the request - */ - public function __construct(array $headers) - { - $this->headers = $headers; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - foreach ($this->headers as $header) { - if ($request->hasHeader($header)) { - $request = $request->withoutHeader($header); - } - } - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/HeaderSetPlugin.php b/app/vendor/php-http/client-common/src/Plugin/HeaderSetPlugin.php deleted file mode 100644 index 1ca9fb358..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/HeaderSetPlugin.php +++ /dev/null @@ -1,41 +0,0 @@ - - */ -final class HeaderSetPlugin implements Plugin -{ - /** - * @var array - */ - private $headers; - - /** - * @param array $headers Hashmap of header name to header value - */ - public function __construct(array $headers) - { - $this->headers = $headers; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - foreach ($this->headers as $header => $headerValue) { - $request = $request->withHeader($header, $headerValue); - } - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/HistoryPlugin.php b/app/vendor/php-http/client-common/src/Plugin/HistoryPlugin.php deleted file mode 100644 index 15597ee1f..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/HistoryPlugin.php +++ /dev/null @@ -1,46 +0,0 @@ - - */ -final class HistoryPlugin implements Plugin -{ - /** - * Journal use to store request / responses / exception. - * - * @var Journal - */ - private $journal; - - public function __construct(Journal $journal) - { - $this->journal = $journal; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $journal = $this->journal; - - return $next($request)->then(function (ResponseInterface $response) use ($request, $journal) { - $journal->addSuccess($request, $response); - - return $response; - }, function (ClientExceptionInterface $exception) use ($request, $journal) { - $journal->addFailure($request, $exception); - - throw $exception; - }); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/Journal.php b/app/vendor/php-http/client-common/src/Plugin/Journal.php deleted file mode 100644 index 9faa9381f..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/Journal.php +++ /dev/null @@ -1,33 +0,0 @@ - - */ -interface Journal -{ - /** - * Record a successful call. - * - * @param RequestInterface $request Request use to make the call - * @param ResponseInterface $response Response returned by the call - */ - public function addSuccess(RequestInterface $request, ResponseInterface $response); - - /** - * Record a failed call. - * - * @param RequestInterface $request Request use to make the call - * @param ClientExceptionInterface $exception Exception returned by the call - */ - public function addFailure(RequestInterface $request, ClientExceptionInterface $exception); -} diff --git a/app/vendor/php-http/client-common/src/Plugin/QueryDefaultsPlugin.php b/app/vendor/php-http/client-common/src/Plugin/QueryDefaultsPlugin.php deleted file mode 100644 index fc11ba1f7..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/QueryDefaultsPlugin.php +++ /dev/null @@ -1,47 +0,0 @@ - - */ -final class QueryDefaultsPlugin implements Plugin -{ - /** - * @var array - */ - private $queryParams = []; - - /** - * @param array $queryParams Hashmap of query name to query value. Names and values must not be url encoded as - * this plugin will encode them - */ - public function __construct(array $queryParams) - { - $this->queryParams = $queryParams; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $uri = $request->getUri(); - - parse_str($uri->getQuery(), $query); - $query += $this->queryParams; - - $request = $request->withUri( - $uri->withQuery(http_build_query($query)) - ); - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/RedirectPlugin.php b/app/vendor/php-http/client-common/src/Plugin/RedirectPlugin.php deleted file mode 100644 index 8aebcbfbc..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/RedirectPlugin.php +++ /dev/null @@ -1,341 +0,0 @@ - - */ -final class RedirectPlugin implements Plugin -{ - /** - * Rule on how to redirect, change method for the new request. - * - * @var array - */ - private $redirectCodes = [ - 300 => [ - 'switch' => [ - 'unless' => ['GET', 'HEAD'], - 'to' => 'GET', - ], - 'multiple' => true, - 'permanent' => false, - ], - 301 => [ - 'switch' => [ - 'unless' => ['GET', 'HEAD'], - 'to' => 'GET', - ], - 'multiple' => false, - 'permanent' => true, - ], - 302 => [ - 'switch' => [ - 'unless' => ['GET', 'HEAD'], - 'to' => 'GET', - ], - 'multiple' => false, - 'permanent' => false, - ], - 303 => [ - 'switch' => [ - 'unless' => ['GET', 'HEAD'], - 'to' => 'GET', - ], - 'multiple' => false, - 'permanent' => false, - ], - 307 => [ - 'switch' => false, - 'multiple' => false, - 'permanent' => false, - ], - 308 => [ - 'switch' => false, - 'multiple' => false, - 'permanent' => true, - ], - ]; - - /** - * Determine how header should be preserved from old request. - * - * @var bool|array - * - * true will keep all previous headers (default value) - * false will ditch all previous headers - * string[] will keep only headers with the specified names - */ - private $preserveHeader; - - /** - * Store all previous redirect from 301 / 308 status code. - * - * @var array - */ - private $redirectStorage = []; - - /** - * Whether the location header must be directly used for a multiple redirection status code (300). - * - * @var bool - */ - private $useDefaultForMultiple; - - /** - * @var string[][] Chain identifier => list of URLs for this chain - */ - private $circularDetection = []; - - /** - * @var StreamFactoryInterface|null - */ - private $streamFactory; - - /** - * @param array{'preserve_header'?: bool|string[], 'use_default_for_multiple'?: bool, 'strict'?: bool, 'stream_factory'?:StreamFactoryInterface} $config - * - * Configuration options: - * - preserve_header: True keeps all headers, false remove all of them, an array is interpreted as a list of header names to keep - * - use_default_for_multiple: Whether the location header must be directly used for a multiple redirection status code (300) - * - strict: When true, redirect codes 300, 301, 302 will not modify request method and body - * - stream_factory: If set, must be a PSR-17 StreamFactoryInterface - if not set, we try to discover one - */ - public function __construct(array $config = []) - { - $resolver = new OptionsResolver(); - $resolver->setDefaults([ - 'preserve_header' => true, - 'use_default_for_multiple' => true, - 'strict' => false, - 'stream_factory' => null, - ]); - $resolver->setAllowedTypes('preserve_header', ['bool', 'array']); - $resolver->setAllowedTypes('use_default_for_multiple', 'bool'); - $resolver->setAllowedTypes('strict', 'bool'); - $resolver->setAllowedTypes('stream_factory', [StreamFactoryInterface::class, 'null']); - $resolver->setNormalizer('preserve_header', function (OptionsResolver $resolver, $value) { - if (is_bool($value) && false === $value) { - return []; - } - - return $value; - }); - $resolver->setDefault('stream_factory', function (Options $options): ?StreamFactoryInterface { - return $this->guessStreamFactory(); - }); - $options = $resolver->resolve($config); - - $this->preserveHeader = $options['preserve_header']; - $this->useDefaultForMultiple = $options['use_default_for_multiple']; - - if ($options['strict']) { - $this->redirectCodes[300]['switch'] = false; - $this->redirectCodes[301]['switch'] = false; - $this->redirectCodes[302]['switch'] = false; - } - - $this->streamFactory = $options['stream_factory']; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - // Check in storage - if (array_key_exists((string) $request->getUri(), $this->redirectStorage)) { - $uri = $this->redirectStorage[(string) $request->getUri()]['uri']; - $statusCode = $this->redirectStorage[(string) $request->getUri()]['status']; - $redirectRequest = $this->buildRedirectRequest($request, $uri, $statusCode); - - return $first($redirectRequest); - } - - return $next($request)->then(function (ResponseInterface $response) use ($request, $first): ResponseInterface { - $statusCode = $response->getStatusCode(); - - if (!array_key_exists($statusCode, $this->redirectCodes)) { - return $response; - } - - $uri = $this->createUri($response, $request); - $redirectRequest = $this->buildRedirectRequest($request, $uri, $statusCode); - $chainIdentifier = spl_object_hash((object) $first); - - if (!array_key_exists($chainIdentifier, $this->circularDetection)) { - $this->circularDetection[$chainIdentifier] = []; - } - - $this->circularDetection[$chainIdentifier][] = (string) $request->getUri(); - - if (in_array((string) $redirectRequest->getUri(), $this->circularDetection[$chainIdentifier], true)) { - throw new CircularRedirectionException('Circular redirection detected', $request, $response); - } - - if ($this->redirectCodes[$statusCode]['permanent']) { - $this->redirectStorage[(string) $request->getUri()] = [ - 'uri' => $uri, - 'status' => $statusCode, - ]; - } - - // Call redirect request synchronously - return $first($redirectRequest)->wait(); - }); - } - - /** - * The default only needs to be determined if no value is provided. - */ - public function guessStreamFactory(): ?StreamFactoryInterface - { - if (class_exists(Psr17FactoryDiscovery::class)) { - try { - return Psr17FactoryDiscovery::findStreamFactory(); - } catch (\Throwable $t) { - // ignore and try other options - } - } - if (class_exists(Psr17Factory::class)) { - return new Psr17Factory(); - } - if (class_exists(Utils::class)) { - return new class implements StreamFactoryInterface { - public function createStream(string $content = ''): StreamInterface - { - return Utils::streamFor($content); - } - - public function createStreamFromFile(string $filename, string $mode = 'r'): StreamInterface - { - throw new \RuntimeException('Internal error: this method should not be needed'); - } - - public function createStreamFromResource($resource): StreamInterface - { - throw new \RuntimeException('Internal error: this method should not be needed'); - } - }; - } - - return null; - } - - private function buildRedirectRequest(RequestInterface $originalRequest, UriInterface $targetUri, int $statusCode): RequestInterface - { - $originalRequest = $originalRequest->withUri($targetUri); - - if (false !== $this->redirectCodes[$statusCode]['switch'] && !in_array($originalRequest->getMethod(), $this->redirectCodes[$statusCode]['switch']['unless'], true)) { - $originalRequest = $originalRequest->withMethod($this->redirectCodes[$statusCode]['switch']['to']); - if ('GET' === $this->redirectCodes[$statusCode]['switch']['to'] && $this->streamFactory) { - // if we found a stream factory, remove the request body. otherwise leave the body there. - $originalRequest = $originalRequest->withoutHeader('content-type'); - $originalRequest = $originalRequest->withoutHeader('content-length'); - $originalRequest = $originalRequest->withBody($this->streamFactory->createStream()); - } - } - - if (is_array($this->preserveHeader)) { - $headers = array_keys($originalRequest->getHeaders()); - - foreach ($headers as $name) { - if (!in_array($name, $this->preserveHeader, true)) { - $originalRequest = $originalRequest->withoutHeader($name); - } - } - } - - return $originalRequest; - } - - /** - * Creates a new Uri from the old request and the location header. - * - * @throws HttpException If location header is not usable (missing or incorrect) - * @throws MultipleRedirectionException If a 300 status code is received and default location cannot be resolved (doesn't use the location header or not present) - */ - private function createUri(ResponseInterface $redirectResponse, RequestInterface $originalRequest): UriInterface - { - if ($this->redirectCodes[$redirectResponse->getStatusCode()]['multiple'] && (!$this->useDefaultForMultiple || !$redirectResponse->hasHeader('Location'))) { - throw new MultipleRedirectionException('Cannot choose a redirection', $originalRequest, $redirectResponse); - } - - if (!$redirectResponse->hasHeader('Location')) { - throw new HttpException('Redirect status code, but no location header present in the response', $originalRequest, $redirectResponse); - } - - $location = $redirectResponse->getHeaderLine('Location'); - $parsedLocation = parse_url($location); - - if (false === $parsedLocation || '' === $location) { - throw new HttpException(sprintf('Location "%s" could not be parsed', $location), $originalRequest, $redirectResponse); - } - - $uri = $originalRequest->getUri(); - - // Redirections can either use an absolute uri or a relative reference https://www.rfc-editor.org/rfc/rfc3986#section-4.2 - // If relative, we need to check if we have an absolute path or not - - $path = array_key_exists('path', $parsedLocation) ? $parsedLocation['path'] : ''; - if (!array_key_exists('host', $parsedLocation) && '/' !== $location[0]) { - // the target is a relative-path reference, we need to merge it with the base path - $originalPath = $uri->getPath(); - if ('' === $path) { - $path = $originalPath; - } elseif (($pos = strrpos($originalPath, '/')) !== false) { - $path = substr($originalPath, 0, $pos + 1).$path; - } else { - $path = '/'.$path; - } - /* replace '/./' or '/foo/../' with '/' */ - $re = ['#(/\./)#', '#/(?!\.\.)[^/]+/\.\./#']; - for ($n = 1; $n > 0; $path = preg_replace($re, '/', $path, -1, $n)) { - if (null === $path) { - throw new HttpException(sprintf('Failed to resolve Location %s', $location), $originalRequest, $redirectResponse); - } - } - } - if (null === $path) { - throw new HttpException(sprintf('Failed to resolve Location %s', $location), $originalRequest, $redirectResponse); - } - $uri = $uri - ->withPath($path) - ->withQuery(array_key_exists('query', $parsedLocation) ? $parsedLocation['query'] : '') - ->withFragment(array_key_exists('fragment', $parsedLocation) ? $parsedLocation['fragment'] : '') - ; - - if (array_key_exists('scheme', $parsedLocation)) { - $uri = $uri->withScheme($parsedLocation['scheme']); - } - - if (array_key_exists('host', $parsedLocation)) { - $uri = $uri->withHost($parsedLocation['host']); - } - - if (array_key_exists('port', $parsedLocation)) { - $uri = $uri->withPort($parsedLocation['port']); - } elseif (array_key_exists('host', $parsedLocation)) { - $uri = $uri->withPort(null); - } - - return $uri; - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/RequestMatcherPlugin.php b/app/vendor/php-http/client-common/src/Plugin/RequestMatcherPlugin.php deleted file mode 100644 index eb97d924c..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/RequestMatcherPlugin.php +++ /dev/null @@ -1,53 +0,0 @@ - - */ -final class RequestMatcherPlugin implements Plugin -{ - /** - * @var RequestMatcher - */ - private $requestMatcher; - - /** - * @var Plugin|null - */ - private $successPlugin; - - /** - * @var Plugin|null - */ - private $failurePlugin; - - public function __construct(RequestMatcher $requestMatcher, ?Plugin $delegateOnMatch, ?Plugin $delegateOnNoMatch = null) - { - $this->requestMatcher = $requestMatcher; - $this->successPlugin = $delegateOnMatch; - $this->failurePlugin = $delegateOnNoMatch; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - if ($this->requestMatcher->matches($request)) { - if (null !== $this->successPlugin) { - return $this->successPlugin->handleRequest($request, $next, $first); - } - } elseif (null !== $this->failurePlugin) { - return $this->failurePlugin->handleRequest($request, $next, $first); - } - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/RequestSeekableBodyPlugin.php b/app/vendor/php-http/client-common/src/Plugin/RequestSeekableBodyPlugin.php deleted file mode 100644 index f39c88d37..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/RequestSeekableBodyPlugin.php +++ /dev/null @@ -1,26 +0,0 @@ - - */ -final class RequestSeekableBodyPlugin extends SeekableBodyPlugin -{ - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - if (!$request->getBody()->isSeekable()) { - $request = $request->withBody(new BufferedStream($request->getBody(), $this->useFileBuffer, $this->memoryBufferSize)); - } - - return $next($request); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/ResponseSeekableBodyPlugin.php b/app/vendor/php-http/client-common/src/Plugin/ResponseSeekableBodyPlugin.php deleted file mode 100644 index ef8bee453..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/ResponseSeekableBodyPlugin.php +++ /dev/null @@ -1,29 +0,0 @@ - - */ -final class ResponseSeekableBodyPlugin extends SeekableBodyPlugin -{ - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - return $next($request)->then(function (ResponseInterface $response) { - if ($response->getBody()->isSeekable()) { - return $response; - } - - return $response->withBody(new BufferedStream($response->getBody(), $this->useFileBuffer, $this->memoryBufferSize)); - }); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/RetryPlugin.php b/app/vendor/php-http/client-common/src/Plugin/RetryPlugin.php deleted file mode 100644 index 992bb214e..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/RetryPlugin.php +++ /dev/null @@ -1,176 +0,0 @@ - - */ -final class RetryPlugin implements Plugin -{ - /** - * Number of retry before sending an exception. - * - * @var int - */ - private $retry; - - /** - * @var callable - */ - private $errorResponseDelay; - - /** - * @var callable - */ - private $errorResponseDecider; - - /** - * @var callable - */ - private $exceptionDecider; - - /** - * @var callable - */ - private $exceptionDelay; - - /** - * Store the retry counter for each request. - * - * @var array - */ - private $retryStorage = []; - - /** - * @param array{'retries'?: int, 'error_response_decider'?: callable, 'exception_decider'?: callable, 'error_response_delay'?: callable, 'exception_delay'?: callable} $config - * - * Configuration options: - * - retries: Number of retries to attempt if an exception occurs before letting the exception bubble up - * - error_response_decider: A callback that gets a request and response to decide whether the request should be retried - * - exception_decider: A callback that gets a request and an exception to decide after a failure whether the request should be retried - * - error_response_delay: A callback that gets a request and response and the current number of retries and returns how many microseconds we should wait before trying again - * - exception_delay: A callback that gets a request, an exception and the current number of retries and returns how many microseconds we should wait before trying again - */ - public function __construct(array $config = []) - { - $resolver = new OptionsResolver(); - $resolver->setDefaults([ - 'retries' => 1, - 'error_response_decider' => function (RequestInterface $request, ResponseInterface $response) { - // do not retry client errors - return $response->getStatusCode() >= 500 && $response->getStatusCode() < 600; - }, - 'exception_decider' => function (RequestInterface $request, ClientExceptionInterface $e) { - // do not retry client errors - return !$e instanceof HttpException || $e->getCode() >= 500 && $e->getCode() < 600; - }, - 'error_response_delay' => __CLASS__.'::defaultErrorResponseDelay', - 'exception_delay' => __CLASS__.'::defaultExceptionDelay', - ]); - - $resolver->setAllowedTypes('retries', 'int'); - $resolver->setAllowedTypes('error_response_decider', 'callable'); - $resolver->setAllowedTypes('exception_decider', 'callable'); - $resolver->setAllowedTypes('error_response_delay', 'callable'); - $resolver->setAllowedTypes('exception_delay', 'callable'); - $options = $resolver->resolve($config); - - $this->retry = $options['retries']; - $this->errorResponseDecider = $options['error_response_decider']; - $this->errorResponseDelay = $options['error_response_delay']; - $this->exceptionDecider = $options['exception_decider']; - $this->exceptionDelay = $options['exception_delay']; - } - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - $chainIdentifier = spl_object_hash((object) $first); - - return $next($request)->then(function (ResponseInterface $response) use ($request, $next, $first, $chainIdentifier) { - if (!array_key_exists($chainIdentifier, $this->retryStorage)) { - $this->retryStorage[$chainIdentifier] = 0; - } - - if ($this->retryStorage[$chainIdentifier] >= $this->retry) { - unset($this->retryStorage[$chainIdentifier]); - - return $response; - } - - if (call_user_func($this->errorResponseDecider, $request, $response)) { - /** @var int $time */ - $time = call_user_func($this->errorResponseDelay, $request, $response, $this->retryStorage[$chainIdentifier]); - $response = $this->retry($request, $next, $first, $chainIdentifier, $time); - } - - if (array_key_exists($chainIdentifier, $this->retryStorage)) { - unset($this->retryStorage[$chainIdentifier]); - } - - return $response; - }, function (ClientExceptionInterface $exception) use ($request, $next, $first, $chainIdentifier) { - if (!array_key_exists($chainIdentifier, $this->retryStorage)) { - $this->retryStorage[$chainIdentifier] = 0; - } - - if ($this->retryStorage[$chainIdentifier] >= $this->retry) { - unset($this->retryStorage[$chainIdentifier]); - - throw $exception; - } - - if (!call_user_func($this->exceptionDecider, $request, $exception)) { - throw $exception; - } - - /** @var int $time */ - $time = call_user_func($this->exceptionDelay, $request, $exception, $this->retryStorage[$chainIdentifier]); - - return $this->retry($request, $next, $first, $chainIdentifier, $time); - }); - } - - /** - * @param int $retries The number of retries we made before. First time this get called it will be 0. - */ - public static function defaultErrorResponseDelay(RequestInterface $request, ResponseInterface $response, int $retries): int - { - return pow(2, $retries) * 500000; - } - - /** - * @param int $retries The number of retries we made before. First time this get called it will be 0. - */ - public static function defaultExceptionDelay(RequestInterface $request, ClientExceptionInterface $e, int $retries): int - { - return pow(2, $retries) * 500000; - } - - /** - * @throws \Exception if retrying returns a failed promise - */ - private function retry(RequestInterface $request, callable $next, callable $first, string $chainIdentifier, int $delay): ResponseInterface - { - usleep($delay); - - // Retry synchronously - ++$this->retryStorage[$chainIdentifier]; - $promise = $this->handleRequest($request, $next, $first); - - return $promise->wait(); - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/SeekableBodyPlugin.php b/app/vendor/php-http/client-common/src/Plugin/SeekableBodyPlugin.php deleted file mode 100644 index 1be2cdebc..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/SeekableBodyPlugin.php +++ /dev/null @@ -1,47 +0,0 @@ -setDefaults([ - 'use_file_buffer' => true, - 'memory_buffer_size' => 2097152, - ]); - $resolver->setAllowedTypes('use_file_buffer', 'bool'); - $resolver->setAllowedTypes('memory_buffer_size', 'int'); - - $options = $resolver->resolve($config); - - $this->useFileBuffer = $options['use_file_buffer']; - $this->memoryBufferSize = $options['memory_buffer_size']; - } -} diff --git a/app/vendor/php-http/client-common/src/Plugin/VersionBridgePlugin.php b/app/vendor/php-http/client-common/src/Plugin/VersionBridgePlugin.php deleted file mode 100644 index 0a2c714be..000000000 --- a/app/vendor/php-http/client-common/src/Plugin/VersionBridgePlugin.php +++ /dev/null @@ -1,24 +0,0 @@ - - */ -trait VersionBridgePlugin -{ - abstract protected function doHandleRequest(RequestInterface $request, callable $next, callable $first); - - public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise - { - return $this->doHandleRequest($request, $next, $first); - } -} diff --git a/app/vendor/php-http/client-common/src/PluginChain.php b/app/vendor/php-http/client-common/src/PluginChain.php deleted file mode 100644 index 2bfbfbc9c..000000000 --- a/app/vendor/php-http/client-common/src/PluginChain.php +++ /dev/null @@ -1,61 +0,0 @@ -plugins = $plugins; - $this->clientCallable = $clientCallable; - $this->maxRestarts = (int) ($options['max_restarts'] ?? 0); - } - - private function createChain(): callable - { - $lastCallable = $this->clientCallable; - $reversedPlugins = \array_reverse($this->plugins); - - foreach ($reversedPlugins as $plugin) { - $lastCallable = function (RequestInterface $request) use ($plugin, $lastCallable) { - return $plugin->handleRequest($request, $lastCallable, $this); - }; - } - - return $lastCallable; - } - - public function __invoke(RequestInterface $request): Promise - { - if ($this->restarts > $this->maxRestarts) { - throw new LoopException('Too many restarts in plugin client', $request); - } - - ++$this->restarts; - - return $this->createChain()($request); - } -} diff --git a/app/vendor/php-http/client-common/src/PluginClient.php b/app/vendor/php-http/client-common/src/PluginClient.php deleted file mode 100644 index d728c78af..000000000 --- a/app/vendor/php-http/client-common/src/PluginClient.php +++ /dev/null @@ -1,123 +0,0 @@ - - */ -final class PluginClient implements HttpClient, HttpAsyncClient -{ - /** - * An HTTP async client. - * - * @var HttpAsyncClient - */ - private $client; - - /** - * The plugin chain. - * - * @var Plugin[] - */ - private $plugins; - - /** - * A list of options. - * - * @var array - */ - private $options; - - /** - * @param ClientInterface|HttpAsyncClient $client An HTTP async client - * @param Plugin[] $plugins A plugin chain - * @param array{'max_restarts'?: int} $options - */ - public function __construct($client, array $plugins = [], array $options = []) - { - if ($client instanceof HttpAsyncClient) { - $this->client = $client; - } elseif ($client instanceof ClientInterface) { - $this->client = new EmulatedHttpAsyncClient($client); - } else { - throw new \TypeError( - sprintf('%s::__construct(): Argument #1 ($client) must be of type %s|%s, %s given', self::class, ClientInterface::class, HttpAsyncClient::class, get_debug_type($client)) - ); - } - - $this->plugins = $plugins; - $this->options = $this->configure($options); - } - - public function sendRequest(RequestInterface $request): ResponseInterface - { - // If the client doesn't support sync calls, call async - if (!$this->client instanceof ClientInterface) { - return $this->sendAsyncRequest($request)->wait(); - } - - // Else we want to use the synchronous call of the underlying client, - // and not the async one in the case we have both an async and sync call - $pluginChain = $this->createPluginChain($this->plugins, function (RequestInterface $request) { - try { - return new HttpFulfilledPromise($this->client->sendRequest($request)); - } catch (HttplugException $exception) { - return new HttpRejectedPromise($exception); - } - }); - - return $pluginChain($request)->wait(); - } - - public function sendAsyncRequest(RequestInterface $request) - { - $pluginChain = $this->createPluginChain($this->plugins, function (RequestInterface $request) { - return $this->client->sendAsyncRequest($request); - }); - - return $pluginChain($request); - } - - /** - * Configure the plugin client. - */ - private function configure(array $options = []): array - { - $resolver = new OptionsResolver(); - $resolver->setDefaults([ - 'max_restarts' => 10, - ]); - - $resolver->setAllowedTypes('max_restarts', 'int'); - - return $resolver->resolve($options); - } - - /** - * Create the plugin chain. - * - * @param Plugin[] $plugins A plugin chain - * @param callable $clientCallable Callable making the HTTP call - * - * @return callable(RequestInterface): Promise - */ - private function createPluginChain(array $plugins, callable $clientCallable): callable - { - return new PluginChain($plugins, $clientCallable, $this->options); - } -} diff --git a/app/vendor/php-http/client-common/src/PluginClientBuilder.php b/app/vendor/php-http/client-common/src/PluginClientBuilder.php deleted file mode 100644 index 45fd787cd..000000000 --- a/app/vendor/php-http/client-common/src/PluginClientBuilder.php +++ /dev/null @@ -1,76 +0,0 @@ - - */ -final class PluginClientBuilder -{ - /** @var Plugin[][] List of plugins ordered by priority [priority => Plugin[]]). */ - private $plugins = []; - - /** @var array Array of options to give to the plugin client */ - private $options = []; - - /** - * @param int $priority Priority of the plugin. The higher comes first. - */ - public function addPlugin(Plugin $plugin, int $priority = 0): self - { - $this->plugins[$priority][] = $plugin; - - return $this; - } - - /** - * @param string|int|float|bool|string[] $value - */ - public function setOption(string $name, $value): self - { - $this->options[$name] = $value; - - return $this; - } - - public function removeOption(string $name): self - { - unset($this->options[$name]); - - return $this; - } - - /** - * @param ClientInterface|HttpAsyncClient $client - */ - public function createClient($client): PluginClient - { - if (!$client instanceof ClientInterface && !$client instanceof HttpAsyncClient) { - throw new \TypeError( - sprintf('%s::createClient(): Argument #1 ($client) must be of type %s|%s, %s given', self::class, ClientInterface::class, HttpAsyncClient::class, get_debug_type($client)) - ); - } - - $plugins = $this->plugins; - - if (0 === count($plugins)) { - $plugins[] = []; - } - - krsort($plugins); - $plugins = array_merge(...$plugins); - - return new PluginClient( - $client, - array_values($plugins), - $this->options - ); - } -} diff --git a/app/vendor/php-http/client-common/src/PluginClientFactory.php b/app/vendor/php-http/client-common/src/PluginClientFactory.php deleted file mode 100644 index 1d2b2beec..000000000 --- a/app/vendor/php-http/client-common/src/PluginClientFactory.php +++ /dev/null @@ -1,68 +0,0 @@ - - */ -final class PluginClientFactory -{ - /** - * @var (callable(ClientInterface|HttpAsyncClient, Plugin[], array): PluginClient)|null - */ - private static $factory; - - /** - * Set the factory to use. - * The callable to provide must have the same arguments and return type as PluginClientFactory::createClient. - * This is used by the HTTPlugBundle to provide a better Symfony integration. - * Unlike the createClient method, this one is static to allow zero configuration profiling by hooking into early - * application execution. - * - * @internal - * - * @param callable(ClientInterface|HttpAsyncClient, Plugin[], array): PluginClient $factory - */ - public static function setFactory(callable $factory): void - { - static::$factory = $factory; - } - - /** - * @param ClientInterface|HttpAsyncClient $client - * @param Plugin[] $plugins - * @param array{'client_name'?: string} $options - * - * Configuration options: - * - client_name: to give client a name which may be used when displaying client information - * like in the HTTPlugBundle profiler - * - * @see PluginClient constructor for PluginClient specific $options. - */ - public function createClient($client, array $plugins = [], array $options = []): PluginClient - { - if (!$client instanceof ClientInterface && !$client instanceof HttpAsyncClient) { - throw new \TypeError( - sprintf('%s::createClient(): Argument #1 ($client) must be of type %s|%s, %s given', self::class, ClientInterface::class, HttpAsyncClient::class, get_debug_type($client)) - ); - } - - if (static::$factory) { - $factory = static::$factory; - - return $factory($client, $plugins, $options); - } - - unset($options['client_name']); - - return new PluginClient($client, $plugins, $options); - } -} diff --git a/app/vendor/php-http/client-common/src/VersionBridgeClient.php b/app/vendor/php-http/client-common/src/VersionBridgeClient.php deleted file mode 100644 index a608edd7a..000000000 --- a/app/vendor/php-http/client-common/src/VersionBridgeClient.php +++ /dev/null @@ -1,24 +0,0 @@ - - */ -trait VersionBridgeClient -{ - abstract protected function doSendRequest(RequestInterface $request); - - public function sendRequest(RequestInterface $request): ResponseInterface - { - return $this->doSendRequest($request); - } -} diff --git a/app/vendor/php-http/discovery/.php-cs-fixer.php b/app/vendor/php-http/discovery/.php-cs-fixer.php deleted file mode 100644 index 4256eee8b..000000000 --- a/app/vendor/php-http/discovery/.php-cs-fixer.php +++ /dev/null @@ -1,17 +0,0 @@ -in(__DIR__.'/src') - ->name('*.php') -; - -$config = (new PhpCsFixer\Config()) - ->setRiskyAllowed(true) - ->setRules([ - '@Symfony' => true, - 'trailing_comma_in_multiline' => false, // for methods this is incompatible with PHP 7 - ]) - ->setFinder($finder) -; - -return $config; diff --git a/app/vendor/php-http/discovery/CHANGELOG.md b/app/vendor/php-http/discovery/CHANGELOG.md deleted file mode 100644 index a74e5cdd0..000000000 --- a/app/vendor/php-http/discovery/CHANGELOG.md +++ /dev/null @@ -1,392 +0,0 @@ -# Change Log - -## 1.20.0 - 2024-10-02 - -- [#268](https://github.com/php-http/discovery/pull/268) - Do not attempt to update lock file when it is not existing. -- [#267](https://github.com/php-http/discovery/pull/267) - Test with PHP 8.3 and 8.4 -- [#266](https://github.com/php-http/discovery/pull/266) - If wrapped client implements factories, use those instead of discovering new factories. - -## 1.19.4 - 2024-03-29 - -- [#264](https://github.com/php-http/discovery/pull/264) - Do not report a general conflict with `sebastian/comparator` but make sure we install the correct version for our tests. - -## 1.19.3 - 2024-03-28 - -- [#261](https://github.com/php-http/discovery/pull/261) - explicitly mark nullable parameters as nullable (avoid deprecation in PHP 8.4) - -## 1.19.2 - 2023-11-30 - -- [#253](https://github.com/php-http/discovery/pull/253) - Symfony 7 dropped the deprecated PHP-HTTP `HttpClient` interface from their HTTP client, do not discover the version 7 client when looking for the old interface. - -## 1.19.1 - 2023-07-11 - -- [#250](https://github.com/php-http/discovery/pull/250) - Fix: Buzz client instantiation using deprecated Message Factory Discovery, use PSR-17 factory discovery instead. - -## 1.19.0 - 2023-06-19 - -- [#249](https://github.com/php-http/discovery/pull/249) - Have composer plugin correctly install Symfony http client when nothing explicitly requires psr 18 resp. httplug. -- [#241](https://github.com/php-http/discovery/pull/241) - Support discovering PSR-17 factories of `httpsoft/http-message` package - -## 1.18.1 - 2023-05-17 - -- [#242](https://github.com/php-http/discovery/pull/242) - Better exception message when no legacy php-http message factories can be built. Also needs php-http/message-factory package and they are deprecated in favor of PSR-17 anyways. - -## 1.18.0 - 2023-05-03 - -- [#235](https://github.com/php-http/discovery/pull/235) - Deprecate HttpClientDiscovery, use Psr18ClientDiscovery instead -- [#238](https://github.com/php-http/discovery/pull/238) - Skip requiring php-http/message-factory when installing symfony/http-client 6.3+ -- [#239](https://github.com/php-http/discovery/pull/239) - Skip auto-installing when the root package's extra.discovery is enough - -## 1.17.0 - 2023-04-26 - -- [#230](https://github.com/php-http/discovery/pull/230) - Add Psr18Client to make it straightforward to use PSR-18 -- [#232](https://github.com/php-http/discovery/pull/232) - Allow pinning the preferred implementations in composer.json -- [#233](https://github.com/php-http/discovery/pull/233) - Fix Psr17Factory::createServerRequestFromGlobals() when uploaded files have been moved - -## 1.16.0 - 2023-04-26 - -- [#225](https://github.com/php-http/discovery/pull/225) - Remove support for the abandoned Zend Diactoros which has been replaced with Laminas Diactoros; marked the zend library as conflict in composer.json to avoid confusion -- [#227](https://github.com/php-http/discovery/pull/227) - Fix handling requests with nested files - -## 1.15.3 - 2023-03-31 - -- [#224](https://github.com/php-http/discovery/pull/224) - Fix regression with Magento classloader - -## 1.15.2 - 2023-02-11 - -- [#219](https://github.com/php-http/discovery/pull/219) - Fix handling of replaced packages - -## 1.15.1 - 2023-02-10 - -- [#214](https://github.com/php-http/discovery/pull/214) - Fix resolving deps for psr/http-message-implementation -- [#216](https://github.com/php-http/discovery/pull/216) - Fix keeping platform requirements when rebooting composer -- [#217](https://github.com/php-http/discovery/pull/217) - Set extra.plugin-optional composer flag - -## 1.15.0 - 2023-02-09 - -- [#209](https://github.com/php-http/discovery/pull/209) - Add generic `Psr17Factory` class -- [#208](https://github.com/php-http/discovery/pull/208) - Add composer plugin to auto-install missing implementations. - When libraries require an http implementation but no packages providing that implementation is installed in the application, the plugin will automatically install one. - This is only done for libraries that directly require php-http/discovery to avoid unexpected dependency installation. - -## 1.14.3 - 2022-07-11 - -- [#207](https://github.com/php-http/discovery/pull/207) - Updates Exception to extend Throwable solving static analysis errors for consumers - -## 1.14.2 - 2022-05-25 - -- [#202](https://github.com/php-http/discovery/pull/202) - Avoid error when the Symfony PSR-18 client exists but its dependencies are not installed - -## 1.14.1 - 2021-09-18 - -- [#199](https://github.com/php-http/discovery/pull/199) - Fixes message factory discovery for `laminas-diactoros ^2.7` - -## 1.14.0 - 2021-06-21 - -- Deprecate puli as it has been unmaintained for a long time and is not compatible with composer 2 https://github.com/php-http/discovery/pull/195 - -## 1.13.0 - 2020-11-27 - -- Support discovering PSR-17 factories of `slim/psr7` package https://github.com/php-http/discovery/pull/192 - -## 1.12.0 - 2020-09-22 - -- Support discovering HttpClient of `php-http/guzzle7-adapter` https://github.com/php-http/discovery/pull/189 - -## 1.11.0 - 2020-09-22 - -- Use correct method name to find Uri Factory in PSR17 https://github.com/php-http/discovery/pull/181 - -## 1.10.0 - 2020-09-04 - -- Discover PSR-18 implementation of phalcon - -## 1.9.1 - 2020-07-13 - -### Fixed - -- Support PHP 7.4 and 8.0 - -## 1.9.0 - 2020-07-02 - -### Added - -- Support discovering PSR-18 factories of `guzzlehttp/guzzle` 7+ - -## 1.8.0 - 2020-06-14 - -### Added - -- Support discovering PSR-17 factories of `guzzlehttp/psr7` package -- Support discovering PSR-17 factories of `laminas/laminas-diactoros` package -- `ClassDiscovery::getStrategies()` to retrieve the list of current strategies. - -### Fixed - -- Ignore exception during discovery when Symfony HttplugClient checks if HTTPlug is available. - -## 1.7.4 - 2020-01-03 - -### Fixed - -- Improve conditions on Symfony's async HTTPlug client. - -## 1.7.3 - 2019-12-27 - -### Fixed - -- Enough conditions to only use Symfony HTTP client if all needed components are available. - -## 1.7.2 - 2019-12-27 - -### Fixed - -- Allow a condition to specify an interface and not just classes. - -## 1.7.1 - 2019-12-26 - -### Fixed - -- Better conditions to see if Symfony's HTTP clients are available. - -## 1.7.0 - 2019-06-30 - -### Added - -- Dropped support for PHP < 7.1 -- Support for `symfony/http-client` - -## 1.6.1 - 2019-02-23 - -### Fixed - -- MockClientStrategy also provides the mock client when requesting an async client - -## 1.6.0 - 2019-01-23 - -### Added - -- Support for PSR-17 factories -- Support for PSR-18 clients - -## 1.5.2 - 2018-12-31 - -Corrected mistakes in 1.5.1. The different between 1.5.2 and 1.5.0 is that -we removed some PHP 7 code. - -https://github.com/php-http/discovery/compare/1.5.0...1.5.2 - -## 1.5.1 - 2018-12-31 - -This version added new features by mistake. These are reverted in 1.5.2. - -Do not use 1.5.1. - -### Fixed - -- Removed PHP 7 code - -## 1.5.0 - 2018-12-30 - -### Added - -- Support for `nyholm/psr7` version 1.0. -- `ClassDiscovery::safeClassExists` which will help Magento users. -- Support for HTTPlug 2.0 -- Support for Buzz 1.0 -- Better error message when nothing found by introducing a new exception: `NoCandidateFoundException`. - -### Fixed - -- Fixed condition evaluation, it should stop after first invalid condition. - -## 1.4.0 - 2018-02-06 - -### Added - -- Discovery support for nyholm/psr7 - -## 1.3.0 - 2017-08-03 - -### Added - -- Discovery support for CakePHP adapter -- Discovery support for Zend adapter -- Discovery support for Artax adapter - -## 1.2.1 - 2017-03-02 - -### Fixed - -- Fixed minor issue with `MockClientStrategy`, also added more tests. - -## 1.2.0 - 2017-02-12 - -### Added - -- MockClientStrategy class. - -## 1.1.1 - 2016-11-27 - -### Changed - -- Made exception messages clearer. `StrategyUnavailableException` is no longer the previous exception to `DiscoveryFailedException`. -- `CommonClassesStrategy` is using `self` instead of `static`. Using `static` makes no sense when `CommonClassesStrategy` is final. - -## 1.1.0 - 2016-10-20 - -### Added - -- Discovery support for Slim Framework factories - -## 1.0.0 - 2016-07-18 - -### Added - -- Added back `Http\Discovery\NotFoundException` to preserve BC with 0.8 version. You may upgrade from 0.8.x and 0.9.x to 1.0.0 without any BC breaks. -- Added interface `Http\Discovery\Exception` which is implemented by all our exceptions - -### Changed - -- Puli strategy renamed to Puli Beta strategy to prevent incompatibility with a future Puli stable - -### Deprecated - -- For BC reasons, the old `Http\Discovery\NotFoundException` (extending the new exception) will be thrown until version 2.0 - - -## 0.9.1 - 2016-06-28 - -### Changed - -- Dropping PHP 5.4 support because we use the ::class constant. - - -## 0.9.0 - 2016-06-25 - -### Added - -- Discovery strategies to find classes - -### Changed - -- [Puli](http://puli.io) made optional -- Improved exceptions -- **[BC] `NotFoundException` moved to `Http\Discovery\Exception\NotFoundException`** - - -## 0.8.0 - 2016-02-11 - -### Changed - -- Puli composer plugin must be installed separately - - -## 0.7.0 - 2016-01-15 - -### Added - -- Temporary puli.phar (Beta 10) executable - -### Changed - -- Updated HTTPlug dependencies -- Updated Puli dependencies -- Local configuration to make tests passing - -### Removed - -- Puli CLI dependency - - -## 0.6.4 - 2016-01-07 - -### Fixed - -- Puli [not working](https://twitter.com/PuliPHP/status/685132540588507137) with the latest json-schema - - -## 0.6.3 - 2016-01-04 - -### Changed - -- Adjust Puli dependencies - - -## 0.6.2 - 2016-01-04 - -### Changed - -- Make Puli CLI a requirement - - -## 0.6.1 - 2016-01-03 - -### Changed - -- More flexible Puli requirement - - -## 0.6.0 - 2015-12-30 - -### Changed - -- Use [Puli](http://puli.io) for discovery -- Improved exception messages - - -## 0.5.0 - 2015-12-25 - -### Changed - -- Updated message factory dependency (php-http/message) - - -## 0.4.0 - 2015-12-17 - -### Added - -- Array condition evaluation in the Class Discovery - -### Removed - -- Message factories (moved to php-http/utils) - - -## 0.3.0 - 2015-11-18 - -### Added - -- HTTP Async Client Discovery -- Stream factories - -### Changed - -- Discoveries and Factories are final -- Message and Uri factories have the type in their names -- Diactoros Message factory uses Stream factory internally - -### Fixed - -- Improved docblocks for API documentation generation - - -## 0.2.0 - 2015-10-31 - -### Changed - -- Renamed AdapterDiscovery to ClientDiscovery - - -## 0.1.1 - 2015-06-13 - -### Fixed - -- Bad HTTP Adapter class name for Guzzle 5 - - -## 0.1.0 - 2015-06-12 - -### Added - -- Initial release diff --git a/app/vendor/php-http/discovery/LICENSE b/app/vendor/php-http/discovery/LICENSE deleted file mode 100644 index 4558d6f06..000000000 --- a/app/vendor/php-http/discovery/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2016 PHP HTTP Team - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/php-http/discovery/README.md b/app/vendor/php-http/discovery/README.md deleted file mode 100644 index 2b5e8e503..000000000 --- a/app/vendor/php-http/discovery/README.md +++ /dev/null @@ -1,122 +0,0 @@ -# HTTPlug Discovery - -[![Latest Version](https://img.shields.io/github/release/php-http/discovery.svg?style=flat-square)](https://github.com/php-http/discovery/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![Tests](https://github.com/php-http/discovery/actions/workflows/ci.yml/badge.svg?branch=1.x)](https://github.com/php-http/discovery/actions/workflows/ci.yml?query=branch%3A1.x) -[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/php-http/discovery.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/discovery) -[![Quality Score](https://img.shields.io/scrutinizer/g/php-http/discovery.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/discovery) -[![Total Downloads](https://img.shields.io/packagist/dt/php-http/discovery.svg?style=flat-square)](https://packagist.org/packages/php-http/discovery) - -**This library provides auto-discovery and auto-installation of well-known PSR-17, PSR-18 and HTTPlug implementations.** - - -## Install - -Via Composer - -``` bash -composer require php-http/discovery -``` - - -## Usage as a library author - -Please see the [official documentation](http://php-http.readthedocs.org/en/latest/discovery.html). - -If your library/SDK needs a PSR-18 client, here is a quick example. - -First, you need to install a PSR-18 client and a PSR-17 factory implementations. -This should be done only for dev dependencies as you don't want to force a -specific implementation on your users: - -```bash -composer require --dev symfony/http-client -composer require --dev nyholm/psr7 -``` - -Then, you can disable the Composer plugin embeded in `php-http/discovery` -because you just installed the dev dependencies you need for testing: - -```bash -composer config allow-plugins.php-http/discovery false -``` - -Finally, you need to require `php-http/discovery` and the generic implementations -that your library is going to need: - -```bash -composer require 'php-http/discovery:^1.17' -composer require 'psr/http-client-implementation:*' -composer require 'psr/http-factory-implementation:*' -``` - -Now, you're ready to make an HTTP request: - -```php -use Http\Discovery\Psr18Client; - -$client = new Psr18Client(); - -$request = $client->createRequest('GET', 'https://example.com'); -$response = $client->sendRequest($request); -``` - -Internally, this code will use whatever PSR-7, PSR-17 and PSR-18 implementations -that your users have installed. - - -## Usage as a library user - -If you use a library/SDK that requires `php-http/discovery`, you can configure -the auto-discovery mechanism to use a specific implementation when many are -available in your project. - -For example, if you have both `nyholm/psr7` and `guzzlehttp/guzzle` in your -project, you can tell `php-http/discovery` to use `guzzlehttp/guzzle` instead of -`nyholm/psr7` by running the following command: - -```bash -composer config extra.discovery.psr/http-factory-implementation GuzzleHttp\\Psr7\\HttpFactory -``` - -This will update your `composer.json` file to add the following configuration: - -```json -{ - "extra": { - "discovery": { - "psr/http-factory-implementation": "GuzzleHttp\\Psr7\\HttpFactory" - } - } -} -``` - -Don't forget to run `composer install` to apply the changes, and ensure that -the composer plugin is enabled: - -```bash -composer config allow-plugins.php-http/discovery true -composer install -``` - - -## Testing - -``` bash -composer test -``` - - -## Contributing - -Please see our [contributing guide](http://docs.php-http.org/en/latest/development/contributing.html). - - -## Security - -If you discover any security related issues, please contact us at [security@php-http.org](mailto:security@php-http.org). - - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/php-http/discovery/composer.json b/app/vendor/php-http/discovery/composer.json deleted file mode 100644 index 9d718bba2..000000000 --- a/app/vendor/php-http/discovery/composer.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "php-http/discovery", - "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", - "type": "composer-plugin", - "license": "MIT", - "keywords": ["http", "discovery", "client", "adapter", "message", "factory", "psr7", "psr17"], - "homepage": "http://php-http.org", - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "*", - "psr/http-factory-implementation": "*", - "psr/http-message-implementation": "*" - }, - "require": { - "php": "^7.1 || ^8.0", - "composer-plugin-api": "^1.0|^2.0" - }, - "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "graham-campbell/phpspec-skip-example-extension": "^5.0", - "php-http/httplug": "^1.0 || ^2.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1", - "sebastian/comparator": "^3.0.5 || ^4.0.8" - }, - "autoload": { - "psr-4": { - "Http\\Discovery\\": "src/" - }, - "exclude-from-classmap": [ - "src/Composer/Plugin.php" - ] - }, - "autoload-dev": { - "psr-4": { - "spec\\Http\\Discovery\\": "spec/" - } - }, - "scripts": { - "test": [ - "vendor/bin/phpspec run", - "vendor/bin/simple-phpunit --group NothingInstalled" - ], - "test-ci": "vendor/bin/phpspec run -c phpspec.ci.yml" - }, - "extra": { - "class": "Http\\Discovery\\Composer\\Plugin", - "plugin-optional": true - }, - "conflict": { - "nyholm/psr7": "<1.0", - "zendframework/zend-diactoros": "*" - }, - "prefer-stable": true, - "minimum-stability": "beta" -} diff --git a/app/vendor/php-http/discovery/src/ClassDiscovery.php b/app/vendor/php-http/discovery/src/ClassDiscovery.php deleted file mode 100644 index 5ea469797..000000000 --- a/app/vendor/php-http/discovery/src/ClassDiscovery.php +++ /dev/null @@ -1,255 +0,0 @@ - - * @author Márk Sági-Kazár - * @author Tobias Nyholm - */ -abstract class ClassDiscovery -{ - /** - * A list of strategies to find classes. - * - * @var DiscoveryStrategy[] - */ - private static $strategies = [ - Strategy\GeneratedDiscoveryStrategy::class, - Strategy\CommonClassesStrategy::class, - Strategy\CommonPsr17ClassesStrategy::class, - Strategy\PuliBetaStrategy::class, - ]; - - private static $deprecatedStrategies = [ - Strategy\PuliBetaStrategy::class => true, - ]; - - /** - * Discovery cache to make the second time we use discovery faster. - * - * @var array - */ - private static $cache = []; - - /** - * Finds a class. - * - * @param string $type - * - * @return string|\Closure - * - * @throws DiscoveryFailedException - */ - protected static function findOneByType($type) - { - // Look in the cache - if (null !== ($class = self::getFromCache($type))) { - return $class; - } - - static $skipStrategy; - $skipStrategy ?? $skipStrategy = self::safeClassExists(Strategy\GeneratedDiscoveryStrategy::class) ? false : Strategy\GeneratedDiscoveryStrategy::class; - - $exceptions = []; - foreach (self::$strategies as $strategy) { - if ($skipStrategy === $strategy) { - continue; - } - - try { - $candidates = $strategy::getCandidates($type); - } catch (StrategyUnavailableException $e) { - if (!isset(self::$deprecatedStrategies[$strategy])) { - $exceptions[] = $e; - } - - continue; - } - - foreach ($candidates as $candidate) { - if (isset($candidate['condition'])) { - if (!self::evaluateCondition($candidate['condition'])) { - continue; - } - } - - // save the result for later use - self::storeInCache($type, $candidate); - - return $candidate['class']; - } - - $exceptions[] = new NoCandidateFoundException($strategy, $candidates); - } - - throw DiscoveryFailedException::create($exceptions); - } - - /** - * Get a value from cache. - * - * @param string $type - * - * @return string|null - */ - private static function getFromCache($type) - { - if (!isset(self::$cache[$type])) { - return; - } - - $candidate = self::$cache[$type]; - if (isset($candidate['condition'])) { - if (!self::evaluateCondition($candidate['condition'])) { - return; - } - } - - return $candidate['class']; - } - - /** - * Store a value in cache. - * - * @param string $type - * @param string $class - */ - private static function storeInCache($type, $class) - { - self::$cache[$type] = $class; - } - - /** - * Set new strategies and clear the cache. - * - * @param string[] $strategies list of fully qualified class names that implement DiscoveryStrategy - */ - public static function setStrategies(array $strategies) - { - self::$strategies = $strategies; - self::clearCache(); - } - - /** - * Returns the currently configured discovery strategies as fully qualified class names. - * - * @return string[] - */ - public static function getStrategies(): iterable - { - return self::$strategies; - } - - /** - * Append a strategy at the end of the strategy queue. - * - * @param string $strategy Fully qualified class name of a DiscoveryStrategy - */ - public static function appendStrategy($strategy) - { - self::$strategies[] = $strategy; - self::clearCache(); - } - - /** - * Prepend a strategy at the beginning of the strategy queue. - * - * @param string $strategy Fully qualified class name to a DiscoveryStrategy - */ - public static function prependStrategy($strategy) - { - array_unshift(self::$strategies, $strategy); - self::clearCache(); - } - - public static function clearCache() - { - self::$cache = []; - } - - /** - * Evaluates conditions to boolean. - * - * @return bool - */ - protected static function evaluateCondition($condition) - { - if (is_string($condition)) { - // Should be extended for functions, extensions??? - return self::safeClassExists($condition); - } - if (is_callable($condition)) { - return (bool) $condition(); - } - if (is_bool($condition)) { - return $condition; - } - if (is_array($condition)) { - foreach ($condition as $c) { - if (false === static::evaluateCondition($c)) { - // Immediately stop execution if the condition is false - return false; - } - } - - return true; - } - - return false; - } - - /** - * Get an instance of the $class. - * - * @param string|\Closure $class a FQCN of a class or a closure that instantiate the class - * - * @return object - * - * @throws ClassInstantiationFailedException - */ - protected static function instantiateClass($class) - { - try { - if (is_string($class)) { - return new $class(); - } - - if (is_callable($class)) { - return $class(); - } - } catch (\Exception $e) { - throw new ClassInstantiationFailedException('Unexpected exception when instantiating class.', 0, $e); - } - - throw new ClassInstantiationFailedException('Could not instantiate class because parameter is neither a callable nor a string'); - } - - /** - * We need a "safe" version of PHP's "class_exists" because Magento has a bug - * (or they call it a "feature"). Magento is throwing an exception if you do class_exists() - * on a class that ends with "Factory" and if that file does not exits. - * - * This function catches all potential exceptions and makes sure to always return a boolean. - * - * @param string $class - * - * @return bool - */ - public static function safeClassExists($class) - { - try { - return class_exists($class) || interface_exists($class); - } catch (\Exception $e) { - return false; - } - } -} diff --git a/app/vendor/php-http/discovery/src/Composer/Plugin.php b/app/vendor/php-http/discovery/src/Composer/Plugin.php deleted file mode 100644 index 9339f8b59..000000000 --- a/app/vendor/php-http/discovery/src/Composer/Plugin.php +++ /dev/null @@ -1,474 +0,0 @@ - - * - * @internal - */ -class Plugin implements PluginInterface, EventSubscriberInterface -{ - /** - * Describes, for every supported virtual implementation, which packages - * provide said implementation and which extra dependencies each package - * requires to provide the implementation. - */ - private const PROVIDE_RULES = [ - 'php-http/async-client-implementation' => [ - 'symfony/http-client:>=6.3' => ['guzzlehttp/promises', 'psr/http-factory-implementation', 'php-http/httplug'], - 'symfony/http-client' => ['guzzlehttp/promises', 'php-http/message-factory', 'psr/http-factory-implementation', 'php-http/httplug'], - 'php-http/guzzle7-adapter' => [], - 'php-http/guzzle6-adapter' => [], - 'php-http/curl-client' => [], - 'php-http/react-adapter' => [], - ], - 'php-http/client-implementation' => [ - 'symfony/http-client:>=6.3' => ['psr/http-factory-implementation', 'php-http/httplug'], - 'symfony/http-client' => ['php-http/message-factory', 'psr/http-factory-implementation', 'php-http/httplug'], - 'php-http/guzzle7-adapter' => [], - 'php-http/guzzle6-adapter' => [], - 'php-http/cakephp-adapter' => [], - 'php-http/curl-client' => [], - 'php-http/react-adapter' => [], - 'php-http/buzz-adapter' => [], - 'php-http/artax-adapter' => [], - 'kriswallsmith/buzz:^1' => [], - ], - 'psr/http-client-implementation' => [ - 'symfony/http-client' => ['psr/http-factory-implementation', 'psr/http-client'], - 'guzzlehttp/guzzle' => [], - 'kriswallsmith/buzz:^1' => [], - ], - 'psr/http-message-implementation' => [ - 'php-http/discovery' => ['psr/http-factory-implementation'], - ], - 'psr/http-factory-implementation' => [ - 'nyholm/psr7' => [], - 'guzzlehttp/psr7:>=2' => [], - 'slim/psr7' => [], - 'laminas/laminas-diactoros' => [], - 'phalcon/cphalcon:^4' => [], - 'http-interop/http-factory-guzzle' => [], - 'http-interop/http-factory-diactoros' => [], - 'http-interop/http-factory-slim' => [], - 'httpsoft/http-message' => [], - ], - ]; - - /** - * Describes which package should be preferred on the left side - * depending on which one is already installed on the right side. - */ - private const STICKYNESS_RULES = [ - 'symfony/http-client' => 'symfony/framework-bundle', - 'php-http/guzzle7-adapter' => 'guzzlehttp/guzzle:^7', - 'php-http/guzzle6-adapter' => 'guzzlehttp/guzzle:^6', - 'php-http/guzzle5-adapter' => 'guzzlehttp/guzzle:^5', - 'php-http/cakephp-adapter' => 'cakephp/cakephp', - 'php-http/react-adapter' => 'react/event-loop', - 'php-http/buzz-adapter' => 'kriswallsmith/buzz:^0.15.1', - 'php-http/artax-adapter' => 'amphp/artax:^3', - 'http-interop/http-factory-guzzle' => 'guzzlehttp/psr7:^1', - 'http-interop/http-factory-slim' => 'slim/slim:^3', - ]; - - private const INTERFACE_MAP = [ - 'php-http/async-client-implementation' => [ - 'Http\Client\HttpAsyncClient', - ], - 'php-http/client-implementation' => [ - 'Http\Client\HttpClient', - ], - 'psr/http-client-implementation' => [ - 'Psr\Http\Client\ClientInterface', - ], - 'psr/http-factory-implementation' => [ - 'Psr\Http\Message\RequestFactoryInterface', - 'Psr\Http\Message\ResponseFactoryInterface', - 'Psr\Http\Message\ServerRequestFactoryInterface', - 'Psr\Http\Message\StreamFactoryInterface', - 'Psr\Http\Message\UploadedFileFactoryInterface', - 'Psr\Http\Message\UriFactoryInterface', - ], - ]; - - public static function getSubscribedEvents(): array - { - return [ - ScriptEvents::PRE_AUTOLOAD_DUMP => 'preAutoloadDump', - ScriptEvents::POST_UPDATE_CMD => 'postUpdate', - ]; - } - - public function activate(Composer $composer, IOInterface $io): void - { - } - - public function deactivate(Composer $composer, IOInterface $io) - { - } - - public function uninstall(Composer $composer, IOInterface $io) - { - } - - public function postUpdate(Event $event) - { - $composer = $event->getComposer(); - $repo = $composer->getRepositoryManager()->getLocalRepository(); - $requires = [ - $composer->getPackage()->getRequires(), - $composer->getPackage()->getDevRequires(), - ]; - $pinnedAbstractions = []; - $pinned = $composer->getPackage()->getExtra()['discovery'] ?? []; - foreach (self::INTERFACE_MAP as $abstraction => $interfaces) { - foreach (isset($pinned[$abstraction]) ? [] : $interfaces as $interface) { - if (!isset($pinned[$interface])) { - continue 2; - } - } - $pinnedAbstractions[$abstraction] = true; - } - - $missingRequires = $this->getMissingRequires($repo, $requires, 'project' === $composer->getPackage()->getType(), $pinnedAbstractions); - $missingRequires = [ - 'require' => array_fill_keys(array_merge([], ...array_values($missingRequires[0])), '*'), - 'require-dev' => array_fill_keys(array_merge([], ...array_values($missingRequires[1])), '*'), - 'remove' => array_fill_keys(array_merge([], ...array_values($missingRequires[2])), '*'), - ]; - - if (!$missingRequires = array_filter($missingRequires)) { - return; - } - - $composerJsonContents = file_get_contents(Factory::getComposerFile()); - $this->updateComposerJson($missingRequires, $composer->getConfig()->get('sort-packages')); - - $installer = null; - // Find the composer installer, hack borrowed from symfony/flex - foreach (debug_backtrace(\DEBUG_BACKTRACE_PROVIDE_OBJECT) as $trace) { - if (isset($trace['object']) && $trace['object'] instanceof Installer) { - $installer = $trace['object']; - break; - } - } - - if (!$installer) { - return; - } - - $event->stopPropagation(); - - $dispatcher = $composer->getEventDispatcher(); - $disableScripts = !method_exists($dispatcher, 'setRunScripts') || !((array) $dispatcher)["\0*\0runScripts"]; - $composer = Factory::create($event->getIO(), null, false, $disableScripts); - - /** @var Installer $installer */ - $installer = clone $installer; - if (method_exists($installer, 'setAudit')) { - $trace['object']->setAudit(false); - } - // we need a clone of the installer to preserve its configuration state but with our own service objects - $installer->__construct( - $event->getIO(), - $composer->getConfig(), - $composer->getPackage(), - $composer->getDownloadManager(), - $composer->getRepositoryManager(), - $composer->getLocker(), - $composer->getInstallationManager(), - $composer->getEventDispatcher(), - $composer->getAutoloadGenerator() - ); - if (method_exists($installer, 'setPlatformRequirementFilter')) { - $installer->setPlatformRequirementFilter(((array) $trace['object'])["\0*\0platformRequirementFilter"]); - } - - if (0 !== $installer->run()) { - file_put_contents(Factory::getComposerFile(), $composerJsonContents); - - return; - } - - $versionSelector = new VersionSelector(ClassDiscovery::safeClassExists(RepositorySet::class) ? new RepositorySet() : new Pool()); - $updateComposerJson = false; - - foreach ($composer->getRepositoryManager()->getLocalRepository()->getPackages() as $package) { - foreach (['require', 'require-dev'] as $key) { - if (!isset($missingRequires[$key][$package->getName()])) { - continue; - } - $updateComposerJson = true; - $missingRequires[$key][$package->getName()] = $versionSelector->findRecommendedRequireVersion($package); - } - } - - if ($updateComposerJson) { - $this->updateComposerJson($missingRequires, $composer->getConfig()->get('sort-packages')); - $this->updateComposerLock($composer, $event->getIO()); - } - } - - public function getMissingRequires(InstalledRepositoryInterface $repo, array $requires, bool $isProject, array $pinnedAbstractions): array - { - $allPackages = []; - $devPackages = method_exists($repo, 'getDevPackageNames') ? array_fill_keys($repo->getDevPackageNames(), true) : []; - - // One must require "php-http/discovery" - // to opt-in for auto-installation of virtual package implementations - if (!isset($requires[0]['php-http/discovery'])) { - $requires = [[], []]; - } - - foreach ($repo->getPackages() as $package) { - $allPackages[$package->getName()] = true; - - if (1 < \count($names = $package->getNames(false))) { - $allPackages += array_fill_keys($names, false); - - if (isset($devPackages[$package->getName()])) { - $devPackages += $names; - } - } - - if (isset($package->getRequires()['php-http/discovery'])) { - $requires[(int) isset($devPackages[$package->getName()])] += $package->getRequires(); - } - } - - $missingRequires = [[], [], []]; - $versionParser = new VersionParser(); - - if (ClassDiscovery::safeClassExists(\Phalcon\Http\Message\RequestFactory::class, false)) { - $missingRequires[0]['psr/http-factory-implementation'] = []; - $missingRequires[1]['psr/http-factory-implementation'] = []; - } - - foreach ($requires as $dev => $rules) { - $abstractions = []; - $rules = array_intersect_key(self::PROVIDE_RULES, $rules); - - while ($rules) { - $abstraction = key($rules); - - if (isset($pinnedAbstractions[$abstraction])) { - unset($rules[$abstraction]); - continue; - } - - $abstractions[] = $abstraction; - - foreach (array_shift($rules) as $candidate => $deps) { - [$candidate, $version] = explode(':', $candidate, 2) + [1 => null]; - - if (!isset($allPackages[$candidate])) { - continue; - } - if (null !== $version && !$repo->findPackage($candidate, $versionParser->parseConstraints($version))) { - continue; - } - if ($isProject && !$dev && isset($devPackages[$candidate])) { - $missingRequires[0][$abstraction] = [$candidate]; - $missingRequires[2][$abstraction] = [$candidate]; - } else { - $missingRequires[$dev][$abstraction] = []; - } - - foreach ($deps as $dep) { - if (isset(self::PROVIDE_RULES[$dep])) { - $rules[$dep] = self::PROVIDE_RULES[$dep]; - } elseif (!isset($allPackages[$dep])) { - $missingRequires[$dev][$abstraction][] = $dep; - } elseif ($isProject && !$dev && isset($devPackages[$dep])) { - $missingRequires[0][$abstraction][] = $dep; - $missingRequires[2][$abstraction][] = $dep; - } - } - break; - } - } - - while ($abstractions) { - $abstraction = array_shift($abstractions); - - if (isset($missingRequires[$dev][$abstraction])) { - continue; - } - $candidates = self::PROVIDE_RULES[$abstraction]; - - foreach ($candidates as $candidate => $deps) { - [$candidate, $version] = explode(':', $candidate, 2) + [1 => null]; - - if (null !== $version && !$repo->findPackage($candidate, $versionParser->parseConstraints($version))) { - continue; - } - if (isset($allPackages[$candidate]) && (!$isProject || $dev || !isset($devPackages[$candidate]))) { - continue 2; - } - } - - foreach (array_intersect_key(self::STICKYNESS_RULES, $candidates) as $candidate => $stickyRule) { - [$stickyName, $stickyVersion] = explode(':', $stickyRule, 2) + [1 => null]; - if (!isset($allPackages[$stickyName]) || ($isProject && !$dev && isset($devPackages[$stickyName]))) { - continue; - } - if (null !== $stickyVersion && !$repo->findPackage($stickyName, $versionParser->parseConstraints($stickyVersion))) { - continue; - } - - $candidates = [$candidate => $candidates[$candidate]]; - break; - } - - $dep = key($candidates); - [$dep] = explode(':', $dep, 2); - $missingRequires[$dev][$abstraction] = [$dep]; - - if ($isProject && !$dev && isset($devPackages[$dep])) { - $missingRequires[2][$abstraction][] = $dep; - } - } - } - - $missingRequires[1] = array_diff_key($missingRequires[1], $missingRequires[0]); - - return $missingRequires; - } - - public function preAutoloadDump(Event $event) - { - $filesystem = new Filesystem(); - // Double realpath() on purpose, see https://bugs.php.net/72738 - $vendorDir = $filesystem->normalizePath(realpath(realpath($event->getComposer()->getConfig()->get('vendor-dir')))); - $filesystem->ensureDirectoryExists($vendorDir.'/composer'); - $pinned = $event->getComposer()->getPackage()->getExtra()['discovery'] ?? []; - $candidates = []; - - $allInterfaces = array_merge(...array_values(self::INTERFACE_MAP)); - foreach ($pinned as $abstraction => $class) { - if (isset(self::INTERFACE_MAP[$abstraction])) { - $interfaces = self::INTERFACE_MAP[$abstraction]; - } elseif (false !== $k = array_search($abstraction, $allInterfaces, true)) { - $interfaces = [$allInterfaces[$k]]; - } else { - throw new \UnexpectedValueException(sprintf('Invalid "extra.discovery" pinned in composer.json: "%s" is not one of ["%s"].', $abstraction, implode('", "', array_keys(self::INTERFACE_MAP)))); - } - - foreach ($interfaces as $interface) { - $candidates[] = sprintf("case %s: return [['class' => %s]];\n", var_export($interface, true), var_export($class, true)); - } - } - - $file = $vendorDir.'/composer/GeneratedDiscoveryStrategy.php'; - - if (!$candidates) { - if (file_exists($file)) { - unlink($file); - } - - return; - } - - $candidates = implode(' ', $candidates); - $code = <<getComposer()->getPackage(); - $autoload = $rootPackage->getAutoload(); - $autoload['classmap'][] = $vendorDir.'/composer/GeneratedDiscoveryStrategy.php'; - $rootPackage->setAutoload($autoload); - } - - private function updateComposerJson(array $missingRequires, bool $sortPackages) - { - $file = Factory::getComposerFile(); - $contents = file_get_contents($file); - - $manipulator = new JsonManipulator($contents); - - foreach ($missingRequires as $key => $packages) { - foreach ($packages as $package => $constraint) { - if ('remove' === $key) { - $manipulator->removeSubNode('require-dev', $package); - } else { - $manipulator->addLink($key, $package, $constraint, $sortPackages); - } - } - } - - file_put_contents($file, $manipulator->getContents()); - } - - private function updateComposerLock(Composer $composer, IOInterface $io) - { - if (false === $composer->getConfig()->get('lock')) { - return; - } - - $lock = substr(Factory::getComposerFile(), 0, -4).'lock'; - $composerJson = file_get_contents(Factory::getComposerFile()); - $lockFile = new JsonFile($lock, null, $io); - $locker = ClassDiscovery::safeClassExists(RepositorySet::class) - ? new Locker($io, $lockFile, $composer->getInstallationManager(), $composerJson) - : new Locker($io, $lockFile, $composer->getRepositoryManager(), $composer->getInstallationManager(), $composerJson); - - if (!$locker->isLocked()) { - return; - } - - $lockData = $locker->getLockData(); - $lockData['content-hash'] = Locker::getContentHash($composerJson); - $lockFile->write($lockData); - } -} diff --git a/app/vendor/php-http/discovery/src/Exception.php b/app/vendor/php-http/discovery/src/Exception.php deleted file mode 100644 index 0fa8c767e..000000000 --- a/app/vendor/php-http/discovery/src/Exception.php +++ /dev/null @@ -1,12 +0,0 @@ - - */ -interface Exception extends \Throwable -{ -} diff --git a/app/vendor/php-http/discovery/src/Exception/ClassInstantiationFailedException.php b/app/vendor/php-http/discovery/src/Exception/ClassInstantiationFailedException.php deleted file mode 100644 index e95bf5d82..000000000 --- a/app/vendor/php-http/discovery/src/Exception/ClassInstantiationFailedException.php +++ /dev/null @@ -1,14 +0,0 @@ - - */ -final class ClassInstantiationFailedException extends \RuntimeException implements Exception -{ -} diff --git a/app/vendor/php-http/discovery/src/Exception/DiscoveryFailedException.php b/app/vendor/php-http/discovery/src/Exception/DiscoveryFailedException.php deleted file mode 100644 index 304b7276e..000000000 --- a/app/vendor/php-http/discovery/src/Exception/DiscoveryFailedException.php +++ /dev/null @@ -1,51 +0,0 @@ - - */ -final class DiscoveryFailedException extends \Exception implements Exception -{ - /** - * @var \Exception[] - */ - private $exceptions; - - /** - * @param string $message - * @param \Exception[] $exceptions - */ - public function __construct($message, array $exceptions = []) - { - $this->exceptions = $exceptions; - - parent::__construct($message); - } - - /** - * @param \Exception[] $exceptions - */ - public static function create($exceptions) - { - $message = 'Could not find resource using any discovery strategy. Find more information at http://docs.php-http.org/en/latest/discovery.html#common-errors'; - foreach ($exceptions as $e) { - $message .= "\n - ".$e->getMessage(); - } - $message .= "\n\n"; - - return new self($message, $exceptions); - } - - /** - * @return \Exception[] - */ - public function getExceptions() - { - return $this->exceptions; - } -} diff --git a/app/vendor/php-http/discovery/src/Exception/NoCandidateFoundException.php b/app/vendor/php-http/discovery/src/Exception/NoCandidateFoundException.php deleted file mode 100644 index 32f65db7b..000000000 --- a/app/vendor/php-http/discovery/src/Exception/NoCandidateFoundException.php +++ /dev/null @@ -1,47 +0,0 @@ - - */ -final class NoCandidateFoundException extends \Exception implements Exception -{ - /** - * @param string $strategy - */ - public function __construct($strategy, array $candidates) - { - $classes = array_map( - function ($a) { - return $a['class']; - }, - $candidates - ); - - $message = sprintf( - 'No valid candidate found using strategy "%s". We tested the following candidates: %s.', - $strategy, - implode(', ', array_map([$this, 'stringify'], $classes)) - ); - - parent::__construct($message); - } - - private function stringify($mixed) - { - if (is_string($mixed)) { - return $mixed; - } - - if (is_array($mixed) && 2 === count($mixed)) { - return sprintf('%s::%s', $this->stringify($mixed[0]), $mixed[1]); - } - - return is_object($mixed) ? get_class($mixed) : gettype($mixed); - } -} diff --git a/app/vendor/php-http/discovery/src/Exception/NotFoundException.php b/app/vendor/php-http/discovery/src/Exception/NotFoundException.php deleted file mode 100644 index ef8b9c584..000000000 --- a/app/vendor/php-http/discovery/src/Exception/NotFoundException.php +++ /dev/null @@ -1,16 +0,0 @@ - - */ -/* final */ class NotFoundException extends \RuntimeException implements Exception -{ -} diff --git a/app/vendor/php-http/discovery/src/Exception/PuliUnavailableException.php b/app/vendor/php-http/discovery/src/Exception/PuliUnavailableException.php deleted file mode 100644 index a6ade7332..000000000 --- a/app/vendor/php-http/discovery/src/Exception/PuliUnavailableException.php +++ /dev/null @@ -1,12 +0,0 @@ - - */ -final class PuliUnavailableException extends StrategyUnavailableException -{ -} diff --git a/app/vendor/php-http/discovery/src/Exception/StrategyUnavailableException.php b/app/vendor/php-http/discovery/src/Exception/StrategyUnavailableException.php deleted file mode 100644 index 89ecf3523..000000000 --- a/app/vendor/php-http/discovery/src/Exception/StrategyUnavailableException.php +++ /dev/null @@ -1,15 +0,0 @@ - - */ -class StrategyUnavailableException extends \RuntimeException implements Exception -{ -} diff --git a/app/vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php b/app/vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php deleted file mode 100644 index a0c4d5b7c..000000000 --- a/app/vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php +++ /dev/null @@ -1,32 +0,0 @@ - - */ -final class HttpAsyncClientDiscovery extends ClassDiscovery -{ - /** - * Finds an HTTP Async Client. - * - * @return HttpAsyncClient - * - * @throws Exception\NotFoundException - */ - public static function find() - { - try { - $asyncClient = static::findOneByType(HttpAsyncClient::class); - } catch (DiscoveryFailedException $e) { - throw new NotFoundException('No HTTPlug async clients found. Make sure to install a package providing "php-http/async-client-implementation". Example: "php-http/guzzle6-adapter".', 0, $e); - } - - return static::instantiateClass($asyncClient); - } -} diff --git a/app/vendor/php-http/discovery/src/HttpClientDiscovery.php b/app/vendor/php-http/discovery/src/HttpClientDiscovery.php deleted file mode 100644 index 2501e5bbf..000000000 --- a/app/vendor/php-http/discovery/src/HttpClientDiscovery.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * @deprecated This will be removed in 2.0. Consider using Psr18ClientDiscovery. - */ -final class HttpClientDiscovery extends ClassDiscovery -{ - /** - * Finds an HTTP Client. - * - * @return HttpClient - * - * @throws Exception\NotFoundException - */ - public static function find() - { - try { - $client = static::findOneByType(HttpClient::class); - } catch (DiscoveryFailedException $e) { - throw new NotFoundException('No HTTPlug clients found. Make sure to install a package providing "php-http/client-implementation". Example: "php-http/guzzle6-adapter".', 0, $e); - } - - return static::instantiateClass($client); - } -} diff --git a/app/vendor/php-http/discovery/src/MessageFactoryDiscovery.php b/app/vendor/php-http/discovery/src/MessageFactoryDiscovery.php deleted file mode 100644 index 4ae104aa6..000000000 --- a/app/vendor/php-http/discovery/src/MessageFactoryDiscovery.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * @deprecated This will be removed in 2.0. Consider using Psr17FactoryDiscovery. - */ -final class MessageFactoryDiscovery extends ClassDiscovery -{ - /** - * Finds a Message Factory. - * - * @return MessageFactory - * - * @throws Exception\NotFoundException - */ - public static function find() - { - try { - $messageFactory = static::findOneByType(MessageFactory::class); - } catch (DiscoveryFailedException $e) { - throw new NotFoundException('No php-http message factories found. Note that the php-http message factories are deprecated in favor of the PSR-17 message factories. To use the legacy Guzzle, Diactoros or Slim Framework factories of php-http, install php-http/message and php-http/message-factory and the chosen message implementation.', 0, $e); - } - - return static::instantiateClass($messageFactory); - } -} diff --git a/app/vendor/php-http/discovery/src/NotFoundException.php b/app/vendor/php-http/discovery/src/NotFoundException.php deleted file mode 100644 index 559afac74..000000000 --- a/app/vendor/php-http/discovery/src/NotFoundException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * @deprecated since since version 1.0, and will be removed in 2.0. Use {@link \Http\Discovery\Exception\NotFoundException} instead. - */ -final class NotFoundException extends RealNotFoundException -{ -} diff --git a/app/vendor/php-http/discovery/src/Psr17Factory.php b/app/vendor/php-http/discovery/src/Psr17Factory.php deleted file mode 100644 index f8fbfd132..000000000 --- a/app/vendor/php-http/discovery/src/Psr17Factory.php +++ /dev/null @@ -1,303 +0,0 @@ - - * Copyright (c) 2015 Michael Dowling - * Copyright (c) 2015 Márk Sági-Kazár - * Copyright (c) 2015 Graham Campbell - * Copyright (c) 2016 Tobias Schultze - * Copyright (c) 2016 George Mponos - * Copyright (c) 2016-2018 Tobias Nyholm - * - * @author Nicolas Grekas - */ -class Psr17Factory implements RequestFactoryInterface, ResponseFactoryInterface, ServerRequestFactoryInterface, StreamFactoryInterface, UploadedFileFactoryInterface, UriFactoryInterface -{ - private $requestFactory; - private $responseFactory; - private $serverRequestFactory; - private $streamFactory; - private $uploadedFileFactory; - private $uriFactory; - - public function __construct( - ?RequestFactoryInterface $requestFactory = null, - ?ResponseFactoryInterface $responseFactory = null, - ?ServerRequestFactoryInterface $serverRequestFactory = null, - ?StreamFactoryInterface $streamFactory = null, - ?UploadedFileFactoryInterface $uploadedFileFactory = null, - ?UriFactoryInterface $uriFactory = null - ) { - $this->requestFactory = $requestFactory; - $this->responseFactory = $responseFactory; - $this->serverRequestFactory = $serverRequestFactory; - $this->streamFactory = $streamFactory; - $this->uploadedFileFactory = $uploadedFileFactory; - $this->uriFactory = $uriFactory; - - $this->setFactory($requestFactory); - $this->setFactory($responseFactory); - $this->setFactory($serverRequestFactory); - $this->setFactory($streamFactory); - $this->setFactory($uploadedFileFactory); - $this->setFactory($uriFactory); - } - - /** - * @param UriInterface|string $uri - */ - public function createRequest(string $method, $uri): RequestInterface - { - $factory = $this->requestFactory ?? $this->setFactory(Psr17FactoryDiscovery::findRequestFactory()); - - return $factory->createRequest(...\func_get_args()); - } - - public function createResponse(int $code = 200, string $reasonPhrase = ''): ResponseInterface - { - $factory = $this->responseFactory ?? $this->setFactory(Psr17FactoryDiscovery::findResponseFactory()); - - return $factory->createResponse(...\func_get_args()); - } - - /** - * @param UriInterface|string $uri - */ - public function createServerRequest(string $method, $uri, array $serverParams = []): ServerRequestInterface - { - $factory = $this->serverRequestFactory ?? $this->setFactory(Psr17FactoryDiscovery::findServerRequestFactory()); - - return $factory->createServerRequest(...\func_get_args()); - } - - public function createServerRequestFromGlobals(?array $server = null, ?array $get = null, ?array $post = null, ?array $cookie = null, ?array $files = null, ?StreamInterface $body = null): ServerRequestInterface - { - $server = $server ?? $_SERVER; - $request = $this->createServerRequest($server['REQUEST_METHOD'] ?? 'GET', $this->createUriFromGlobals($server), $server); - - return $this->buildServerRequestFromGlobals($request, $server, $files ?? $_FILES) - ->withQueryParams($get ?? $_GET) - ->withParsedBody($post ?? $_POST) - ->withCookieParams($cookie ?? $_COOKIE) - ->withBody($body ?? $this->createStreamFromFile('php://input', 'r+')); - } - - public function createStream(string $content = ''): StreamInterface - { - $factory = $this->streamFactory ?? $this->setFactory(Psr17FactoryDiscovery::findStreamFactory()); - - return $factory->createStream($content); - } - - public function createStreamFromFile(string $filename, string $mode = 'r'): StreamInterface - { - $factory = $this->streamFactory ?? $this->setFactory(Psr17FactoryDiscovery::findStreamFactory()); - - return $factory->createStreamFromFile($filename, $mode); - } - - /** - * @param resource $resource - */ - public function createStreamFromResource($resource): StreamInterface - { - $factory = $this->streamFactory ?? $this->setFactory(Psr17FactoryDiscovery::findStreamFactory()); - - return $factory->createStreamFromResource($resource); - } - - public function createUploadedFile(StreamInterface $stream, ?int $size = null, int $error = \UPLOAD_ERR_OK, ?string $clientFilename = null, ?string $clientMediaType = null): UploadedFileInterface - { - $factory = $this->uploadedFileFactory ?? $this->setFactory(Psr17FactoryDiscovery::findUploadedFileFactory()); - - return $factory->createUploadedFile(...\func_get_args()); - } - - public function createUri(string $uri = ''): UriInterface - { - $factory = $this->uriFactory ?? $this->setFactory(Psr17FactoryDiscovery::findUriFactory()); - - return $factory->createUri(...\func_get_args()); - } - - public function createUriFromGlobals(?array $server = null): UriInterface - { - return $this->buildUriFromGlobals($this->createUri(''), $server ?? $_SERVER); - } - - private function setFactory($factory) - { - if (!$this->requestFactory && $factory instanceof RequestFactoryInterface) { - $this->requestFactory = $factory; - } - if (!$this->responseFactory && $factory instanceof ResponseFactoryInterface) { - $this->responseFactory = $factory; - } - if (!$this->serverRequestFactory && $factory instanceof ServerRequestFactoryInterface) { - $this->serverRequestFactory = $factory; - } - if (!$this->streamFactory && $factory instanceof StreamFactoryInterface) { - $this->streamFactory = $factory; - } - if (!$this->uploadedFileFactory && $factory instanceof UploadedFileFactoryInterface) { - $this->uploadedFileFactory = $factory; - } - if (!$this->uriFactory && $factory instanceof UriFactoryInterface) { - $this->uriFactory = $factory; - } - - return $factory; - } - - private function buildServerRequestFromGlobals(ServerRequestInterface $request, array $server, array $files): ServerRequestInterface - { - $request = $request - ->withProtocolVersion(isset($server['SERVER_PROTOCOL']) ? str_replace('HTTP/', '', $server['SERVER_PROTOCOL']) : '1.1') - ->withUploadedFiles($this->normalizeFiles($files)); - - $headers = []; - foreach ($server as $k => $v) { - if (0 === strpos($k, 'HTTP_')) { - $k = substr($k, 5); - } elseif (!\in_array($k, ['CONTENT_TYPE', 'CONTENT_LENGTH', 'CONTENT_MD5'], true)) { - continue; - } - $k = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $k)))); - - $headers[$k] = $v; - } - - if (!isset($headers['Authorization'])) { - if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { - $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION']; - } elseif (isset($_SERVER['PHP_AUTH_USER'])) { - $headers['Authorization'] = 'Basic '.base64_encode($_SERVER['PHP_AUTH_USER'].':'.($_SERVER['PHP_AUTH_PW'] ?? '')); - } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) { - $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST']; - } - } - - foreach ($headers as $k => $v) { - try { - $request = $request->withHeader($k, $v); - } catch (\InvalidArgumentException $e) { - // ignore invalid headers - } - } - - return $request; - } - - private function buildUriFromGlobals(UriInterface $uri, array $server): UriInterface - { - $uri = $uri->withScheme(!empty($server['HTTPS']) && 'off' !== strtolower($server['HTTPS']) ? 'https' : 'http'); - - $hasPort = false; - if (isset($server['HTTP_HOST'])) { - $parts = parse_url('http://'.$server['HTTP_HOST']); - - $uri = $uri->withHost($parts['host'] ?? 'localhost'); - - if ($parts['port'] ?? false) { - $hasPort = true; - $uri = $uri->withPort($parts['port']); - } - } else { - $uri = $uri->withHost($server['SERVER_NAME'] ?? $server['SERVER_ADDR'] ?? 'localhost'); - } - - if (!$hasPort && isset($server['SERVER_PORT'])) { - $uri = $uri->withPort($server['SERVER_PORT']); - } - - $hasQuery = false; - if (isset($server['REQUEST_URI'])) { - $requestUriParts = explode('?', $server['REQUEST_URI'], 2); - $uri = $uri->withPath($requestUriParts[0]); - if (isset($requestUriParts[1])) { - $hasQuery = true; - $uri = $uri->withQuery($requestUriParts[1]); - } - } - - if (!$hasQuery && isset($server['QUERY_STRING'])) { - $uri = $uri->withQuery($server['QUERY_STRING']); - } - - return $uri; - } - - private function normalizeFiles(array $files): array - { - foreach ($files as $k => $v) { - if ($v instanceof UploadedFileInterface) { - continue; - } - if (!\is_array($v)) { - unset($files[$k]); - } elseif (!isset($v['tmp_name'])) { - $files[$k] = $this->normalizeFiles($v); - } else { - $files[$k] = $this->createUploadedFileFromSpec($v); - } - } - - return $files; - } - - /** - * Create and return an UploadedFile instance from a $_FILES specification. - * - * @param array $value $_FILES struct - * - * @return UploadedFileInterface|UploadedFileInterface[] - */ - private function createUploadedFileFromSpec(array $value) - { - if (!is_array($tmpName = $value['tmp_name'])) { - $file = is_file($tmpName) ? $this->createStreamFromFile($tmpName, 'r') : $this->createStream(); - - return $this->createUploadedFile($file, $value['size'], $value['error'], $value['name'], $value['type']); - } - - foreach ($tmpName as $k => $v) { - $tmpName[$k] = $this->createUploadedFileFromSpec([ - 'tmp_name' => $v, - 'size' => $value['size'][$k] ?? null, - 'error' => $value['error'][$k] ?? null, - 'name' => $value['name'][$k] ?? null, - 'type' => $value['type'][$k] ?? null, - ]); - } - - return $tmpName; - } -} diff --git a/app/vendor/php-http/discovery/src/Psr17FactoryDiscovery.php b/app/vendor/php-http/discovery/src/Psr17FactoryDiscovery.php deleted file mode 100644 index e4348b457..000000000 --- a/app/vendor/php-http/discovery/src/Psr17FactoryDiscovery.php +++ /dev/null @@ -1,137 +0,0 @@ - - */ -final class Psr17FactoryDiscovery extends ClassDiscovery -{ - private static function createException($type, Exception $e) - { - return new RealNotFoundException( - 'No PSR-17 '.$type.' found. Install a package from this list: https://packagist.org/providers/psr/http-factory-implementation', - 0, - $e - ); - } - - /** - * @return RequestFactoryInterface - * - * @throws RealNotFoundException - */ - public static function findRequestFactory() - { - try { - $messageFactory = static::findOneByType(RequestFactoryInterface::class); - } catch (DiscoveryFailedException $e) { - throw self::createException('request factory', $e); - } - - return static::instantiateClass($messageFactory); - } - - /** - * @return ResponseFactoryInterface - * - * @throws RealNotFoundException - */ - public static function findResponseFactory() - { - try { - $messageFactory = static::findOneByType(ResponseFactoryInterface::class); - } catch (DiscoveryFailedException $e) { - throw self::createException('response factory', $e); - } - - return static::instantiateClass($messageFactory); - } - - /** - * @return ServerRequestFactoryInterface - * - * @throws RealNotFoundException - */ - public static function findServerRequestFactory() - { - try { - $messageFactory = static::findOneByType(ServerRequestFactoryInterface::class); - } catch (DiscoveryFailedException $e) { - throw self::createException('server request factory', $e); - } - - return static::instantiateClass($messageFactory); - } - - /** - * @return StreamFactoryInterface - * - * @throws RealNotFoundException - */ - public static function findStreamFactory() - { - try { - $messageFactory = static::findOneByType(StreamFactoryInterface::class); - } catch (DiscoveryFailedException $e) { - throw self::createException('stream factory', $e); - } - - return static::instantiateClass($messageFactory); - } - - /** - * @return UploadedFileFactoryInterface - * - * @throws RealNotFoundException - */ - public static function findUploadedFileFactory() - { - try { - $messageFactory = static::findOneByType(UploadedFileFactoryInterface::class); - } catch (DiscoveryFailedException $e) { - throw self::createException('uploaded file factory', $e); - } - - return static::instantiateClass($messageFactory); - } - - /** - * @return UriFactoryInterface - * - * @throws RealNotFoundException - */ - public static function findUriFactory() - { - try { - $messageFactory = static::findOneByType(UriFactoryInterface::class); - } catch (DiscoveryFailedException $e) { - throw self::createException('url factory', $e); - } - - return static::instantiateClass($messageFactory); - } - - /** - * @return UriFactoryInterface - * - * @throws RealNotFoundException - * - * @deprecated This will be removed in 2.0. Consider using the findUriFactory() method. - */ - public static function findUrlFactory() - { - return static::findUriFactory(); - } -} diff --git a/app/vendor/php-http/discovery/src/Psr18Client.php b/app/vendor/php-http/discovery/src/Psr18Client.php deleted file mode 100644 index 48df78363..000000000 --- a/app/vendor/php-http/discovery/src/Psr18Client.php +++ /dev/null @@ -1,52 +0,0 @@ - - */ -class Psr18Client extends Psr17Factory implements ClientInterface -{ - private $client; - - public function __construct( - ?ClientInterface $client = null, - ?RequestFactoryInterface $requestFactory = null, - ?ResponseFactoryInterface $responseFactory = null, - ?ServerRequestFactoryInterface $serverRequestFactory = null, - ?StreamFactoryInterface $streamFactory = null, - ?UploadedFileFactoryInterface $uploadedFileFactory = null, - ?UriFactoryInterface $uriFactory = null - ) { - $requestFactory ?? $requestFactory = $client instanceof RequestFactoryInterface ? $client : null; - $responseFactory ?? $responseFactory = $client instanceof ResponseFactoryInterface ? $client : null; - $serverRequestFactory ?? $serverRequestFactory = $client instanceof ServerRequestFactoryInterface ? $client : null; - $streamFactory ?? $streamFactory = $client instanceof StreamFactoryInterface ? $client : null; - $uploadedFileFactory ?? $uploadedFileFactory = $client instanceof UploadedFileFactoryInterface ? $client : null; - $uriFactory ?? $uriFactory = $client instanceof UriFactoryInterface ? $client : null; - - parent::__construct($requestFactory, $responseFactory, $serverRequestFactory, $streamFactory, $uploadedFileFactory, $uriFactory); - - $this->client = $client ?? Psr18ClientDiscovery::find(); - } - - public function sendRequest(RequestInterface $request): ResponseInterface - { - return $this->client->sendRequest($request); - } -} diff --git a/app/vendor/php-http/discovery/src/Psr18ClientDiscovery.php b/app/vendor/php-http/discovery/src/Psr18ClientDiscovery.php deleted file mode 100644 index 3f95418c8..000000000 --- a/app/vendor/php-http/discovery/src/Psr18ClientDiscovery.php +++ /dev/null @@ -1,33 +0,0 @@ - - */ -final class Psr18ClientDiscovery extends ClassDiscovery -{ - /** - * Finds a PSR-18 HTTP Client. - * - * @return ClientInterface - * - * @throws RealNotFoundException - */ - public static function find() - { - try { - $client = static::findOneByType(ClientInterface::class); - } catch (DiscoveryFailedException $e) { - throw new RealNotFoundException('No PSR-18 clients found. Make sure to install a package providing "psr/http-client-implementation". Example: "php-http/guzzle7-adapter".', 0, $e); - } - - return static::instantiateClass($client); - } -} diff --git a/app/vendor/php-http/discovery/src/Strategy/CommonClassesStrategy.php b/app/vendor/php-http/discovery/src/Strategy/CommonClassesStrategy.php deleted file mode 100644 index 0fa4240b1..000000000 --- a/app/vendor/php-http/discovery/src/Strategy/CommonClassesStrategy.php +++ /dev/null @@ -1,185 +0,0 @@ - - * - * Don't miss updating src/Composer/Plugin.php when adding a new supported class. - */ -final class CommonClassesStrategy implements DiscoveryStrategy -{ - /** - * @var array - */ - private static $classes = [ - MessageFactory::class => [ - ['class' => NyholmHttplugFactory::class, 'condition' => [NyholmHttplugFactory::class]], - ['class' => GuzzleMessageFactory::class, 'condition' => [GuzzleRequest::class, GuzzleMessageFactory::class]], - ['class' => DiactorosMessageFactory::class, 'condition' => [DiactorosRequest::class, DiactorosMessageFactory::class]], - ['class' => SlimMessageFactory::class, 'condition' => [SlimRequest::class, SlimMessageFactory::class]], - ], - StreamFactory::class => [ - ['class' => NyholmHttplugFactory::class, 'condition' => [NyholmHttplugFactory::class]], - ['class' => GuzzleStreamFactory::class, 'condition' => [GuzzleRequest::class, GuzzleStreamFactory::class]], - ['class' => DiactorosStreamFactory::class, 'condition' => [DiactorosRequest::class, DiactorosStreamFactory::class]], - ['class' => SlimStreamFactory::class, 'condition' => [SlimRequest::class, SlimStreamFactory::class]], - ], - UriFactory::class => [ - ['class' => NyholmHttplugFactory::class, 'condition' => [NyholmHttplugFactory::class]], - ['class' => GuzzleUriFactory::class, 'condition' => [GuzzleRequest::class, GuzzleUriFactory::class]], - ['class' => DiactorosUriFactory::class, 'condition' => [DiactorosRequest::class, DiactorosUriFactory::class]], - ['class' => SlimUriFactory::class, 'condition' => [SlimRequest::class, SlimUriFactory::class]], - ], - HttpAsyncClient::class => [ - ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, Promise::class, [self::class, 'isPsr17FactoryInstalled']]], - ['class' => Guzzle7::class, 'condition' => Guzzle7::class], - ['class' => Guzzle6::class, 'condition' => Guzzle6::class], - ['class' => Curl::class, 'condition' => Curl::class], - ['class' => React::class, 'condition' => React::class], - ], - HttpClient::class => [ - ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, [self::class, 'isPsr17FactoryInstalled'], [self::class, 'isSymfonyImplementingHttpClient']]], - ['class' => Guzzle7::class, 'condition' => Guzzle7::class], - ['class' => Guzzle6::class, 'condition' => Guzzle6::class], - ['class' => Guzzle5::class, 'condition' => Guzzle5::class], - ['class' => Curl::class, 'condition' => Curl::class], - ['class' => Socket::class, 'condition' => Socket::class], - ['class' => Buzz::class, 'condition' => Buzz::class], - ['class' => React::class, 'condition' => React::class], - ['class' => Cake::class, 'condition' => Cake::class], - ['class' => Artax::class, 'condition' => Artax::class], - [ - 'class' => [self::class, 'buzzInstantiate'], - 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class], - ], - ], - Psr18Client::class => [ - [ - 'class' => [self::class, 'symfonyPsr18Instantiate'], - 'condition' => [SymfonyPsr18::class, Psr17RequestFactory::class], - ], - [ - 'class' => GuzzleHttp::class, - 'condition' => [self::class, 'isGuzzleImplementingPsr18'], - ], - [ - 'class' => [self::class, 'buzzInstantiate'], - 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class], - ], - ], - ]; - - public static function getCandidates($type) - { - if (Psr18Client::class === $type) { - return self::getPsr18Candidates(); - } - - return self::$classes[$type] ?? []; - } - - /** - * @return array The return value is always an array with zero or more elements. Each - * element is an array with two keys ['class' => string, 'condition' => mixed]. - */ - private static function getPsr18Candidates() - { - $candidates = self::$classes[Psr18Client::class]; - - // HTTPlug 2.0 clients implements PSR18Client too. - foreach (self::$classes[HttpClient::class] as $c) { - if (!is_string($c['class'])) { - continue; - } - try { - if (ClassDiscovery::safeClassExists($c['class']) && is_subclass_of($c['class'], Psr18Client::class)) { - $candidates[] = $c; - } - } catch (\Throwable $e) { - trigger_error(sprintf('Got exception "%s (%s)" while checking if a PSR-18 Client is available', get_class($e), $e->getMessage()), E_USER_WARNING); - } - } - - return $candidates; - } - - public static function buzzInstantiate() - { - return new \Buzz\Client\FileGetContents(Psr17FactoryDiscovery::findResponseFactory()); - } - - public static function symfonyPsr18Instantiate() - { - return new SymfonyPsr18(null, Psr17FactoryDiscovery::findResponseFactory(), Psr17FactoryDiscovery::findStreamFactory()); - } - - public static function isGuzzleImplementingPsr18() - { - return defined('GuzzleHttp\ClientInterface::MAJOR_VERSION'); - } - - public static function isSymfonyImplementingHttpClient() - { - return is_subclass_of(SymfonyHttplug::class, HttpClient::class); - } - - /** - * Can be used as a condition. - * - * @return bool - */ - public static function isPsr17FactoryInstalled() - { - try { - Psr17FactoryDiscovery::findResponseFactory(); - } catch (NotFoundException $e) { - return false; - } catch (\Throwable $e) { - trigger_error(sprintf('Got exception "%s (%s)" while checking if a PSR-17 ResponseFactory is available', get_class($e), $e->getMessage()), E_USER_WARNING); - - return false; - } - - return true; - } -} diff --git a/app/vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php b/app/vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php deleted file mode 100644 index 04cf4baf8..000000000 --- a/app/vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php +++ /dev/null @@ -1,104 +0,0 @@ - - * - * Don't miss updating src/Composer/Plugin.php when adding a new supported class. - */ -final class CommonPsr17ClassesStrategy implements DiscoveryStrategy -{ - /** - * @var array - */ - private static $classes = [ - RequestFactoryInterface::class => [ - 'Phalcon\Http\Message\RequestFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\RequestFactory', - 'Http\Factory\Guzzle\RequestFactory', - 'Http\Factory\Slim\RequestFactory', - 'Laminas\Diactoros\RequestFactory', - 'Slim\Psr7\Factory\RequestFactory', - 'HttpSoft\Message\RequestFactory', - ], - ResponseFactoryInterface::class => [ - 'Phalcon\Http\Message\ResponseFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\ResponseFactory', - 'Http\Factory\Guzzle\ResponseFactory', - 'Http\Factory\Slim\ResponseFactory', - 'Laminas\Diactoros\ResponseFactory', - 'Slim\Psr7\Factory\ResponseFactory', - 'HttpSoft\Message\ResponseFactory', - ], - ServerRequestFactoryInterface::class => [ - 'Phalcon\Http\Message\ServerRequestFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\ServerRequestFactory', - 'Http\Factory\Guzzle\ServerRequestFactory', - 'Http\Factory\Slim\ServerRequestFactory', - 'Laminas\Diactoros\ServerRequestFactory', - 'Slim\Psr7\Factory\ServerRequestFactory', - 'HttpSoft\Message\ServerRequestFactory', - ], - StreamFactoryInterface::class => [ - 'Phalcon\Http\Message\StreamFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\StreamFactory', - 'Http\Factory\Guzzle\StreamFactory', - 'Http\Factory\Slim\StreamFactory', - 'Laminas\Diactoros\StreamFactory', - 'Slim\Psr7\Factory\StreamFactory', - 'HttpSoft\Message\StreamFactory', - ], - UploadedFileFactoryInterface::class => [ - 'Phalcon\Http\Message\UploadedFileFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\UploadedFileFactory', - 'Http\Factory\Guzzle\UploadedFileFactory', - 'Http\Factory\Slim\UploadedFileFactory', - 'Laminas\Diactoros\UploadedFileFactory', - 'Slim\Psr7\Factory\UploadedFileFactory', - 'HttpSoft\Message\UploadedFileFactory', - ], - UriFactoryInterface::class => [ - 'Phalcon\Http\Message\UriFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\UriFactory', - 'Http\Factory\Guzzle\UriFactory', - 'Http\Factory\Slim\UriFactory', - 'Laminas\Diactoros\UriFactory', - 'Slim\Psr7\Factory\UriFactory', - 'HttpSoft\Message\UriFactory', - ], - ]; - - public static function getCandidates($type) - { - $candidates = []; - if (isset(self::$classes[$type])) { - foreach (self::$classes[$type] as $class) { - $candidates[] = ['class' => $class, 'condition' => [$class]]; - } - } - - return $candidates; - } -} diff --git a/app/vendor/php-http/discovery/src/Strategy/DiscoveryStrategy.php b/app/vendor/php-http/discovery/src/Strategy/DiscoveryStrategy.php deleted file mode 100644 index 1eadb145b..000000000 --- a/app/vendor/php-http/discovery/src/Strategy/DiscoveryStrategy.php +++ /dev/null @@ -1,23 +0,0 @@ - - */ -interface DiscoveryStrategy -{ - /** - * Find a resource of a specific type. - * - * @param string $type - * - * @return array The return value is always an array with zero or more elements. Each - * element is an array with two keys ['class' => string, 'condition' => mixed]. - * - * @throws StrategyUnavailableException if we cannot use this strategy - */ - public static function getCandidates($type); -} diff --git a/app/vendor/php-http/discovery/src/Strategy/MockClientStrategy.php b/app/vendor/php-http/discovery/src/Strategy/MockClientStrategy.php deleted file mode 100644 index 77b9d276f..000000000 --- a/app/vendor/php-http/discovery/src/Strategy/MockClientStrategy.php +++ /dev/null @@ -1,24 +0,0 @@ - - */ -final class MockClientStrategy implements DiscoveryStrategy -{ - public static function getCandidates($type) - { - if (is_a(HttpClient::class, $type, true) || is_a(HttpAsyncClient::class, $type, true)) { - return [['class' => Mock::class, 'condition' => Mock::class]]; - } - - return []; - } -} diff --git a/app/vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php b/app/vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php deleted file mode 100644 index 74b78b83f..000000000 --- a/app/vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php +++ /dev/null @@ -1,90 +0,0 @@ - - * @author Márk Sági-Kazár - */ -class PuliBetaStrategy implements DiscoveryStrategy -{ - /** - * @var GeneratedPuliFactory - */ - protected static $puliFactory; - - /** - * @var Discovery - */ - protected static $puliDiscovery; - - /** - * @return GeneratedPuliFactory - * - * @throws PuliUnavailableException - */ - private static function getPuliFactory() - { - if (null === self::$puliFactory) { - if (!defined('PULI_FACTORY_CLASS')) { - throw new PuliUnavailableException('Puli Factory is not available'); - } - - $puliFactoryClass = PULI_FACTORY_CLASS; - - if (!ClassDiscovery::safeClassExists($puliFactoryClass)) { - throw new PuliUnavailableException('Puli Factory class does not exist'); - } - - self::$puliFactory = new $puliFactoryClass(); - } - - return self::$puliFactory; - } - - /** - * Returns the Puli discovery layer. - * - * @return Discovery - * - * @throws PuliUnavailableException - */ - private static function getPuliDiscovery() - { - if (!isset(self::$puliDiscovery)) { - $factory = self::getPuliFactory(); - $repository = $factory->createRepository(); - - self::$puliDiscovery = $factory->createDiscovery($repository); - } - - return self::$puliDiscovery; - } - - public static function getCandidates($type) - { - $returnData = []; - $bindings = self::getPuliDiscovery()->findBindings($type); - - foreach ($bindings as $binding) { - $condition = true; - if ($binding->hasParameterValue('depends')) { - $condition = $binding->getParameterValue('depends'); - } - $returnData[] = ['class' => $binding->getClassName(), 'condition' => $condition]; - } - - return $returnData; - } -} diff --git a/app/vendor/php-http/discovery/src/StreamFactoryDiscovery.php b/app/vendor/php-http/discovery/src/StreamFactoryDiscovery.php deleted file mode 100644 index e11c49ae2..000000000 --- a/app/vendor/php-http/discovery/src/StreamFactoryDiscovery.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * @deprecated This will be removed in 2.0. Consider using Psr17FactoryDiscovery. - */ -final class StreamFactoryDiscovery extends ClassDiscovery -{ - /** - * Finds a Stream Factory. - * - * @return StreamFactory - * - * @throws Exception\NotFoundException - */ - public static function find() - { - try { - $streamFactory = static::findOneByType(StreamFactory::class); - } catch (DiscoveryFailedException $e) { - throw new NotFoundException('No stream factories found. To use Guzzle, Diactoros or Slim Framework factories install php-http/message and the chosen message implementation.', 0, $e); - } - - return static::instantiateClass($streamFactory); - } -} diff --git a/app/vendor/php-http/discovery/src/UriFactoryDiscovery.php b/app/vendor/php-http/discovery/src/UriFactoryDiscovery.php deleted file mode 100644 index db3add206..000000000 --- a/app/vendor/php-http/discovery/src/UriFactoryDiscovery.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * @deprecated This will be removed in 2.0. Consider using Psr17FactoryDiscovery. - */ -final class UriFactoryDiscovery extends ClassDiscovery -{ - /** - * Finds a URI Factory. - * - * @return UriFactory - * - * @throws Exception\NotFoundException - */ - public static function find() - { - try { - $uriFactory = static::findOneByType(UriFactory::class); - } catch (DiscoveryFailedException $e) { - throw new NotFoundException('No uri factories found. To use Guzzle, Diactoros or Slim Framework factories install php-http/message and the chosen message implementation.', 0, $e); - } - - return static::instantiateClass($uriFactory); - } -} diff --git a/app/vendor/php-http/httplug/.php-cs-fixer.dist.php b/app/vendor/php-http/httplug/.php-cs-fixer.dist.php deleted file mode 100644 index 83809c25d..000000000 --- a/app/vendor/php-http/httplug/.php-cs-fixer.dist.php +++ /dev/null @@ -1,16 +0,0 @@ -in(__DIR__.'/src') - ->name('*.php') -; - -$config = (new PhpCsFixer\Config()) - ->setRiskyAllowed(true) - ->setRules([ - '@Symfony' => true, - ]) - ->setFinder($finder) -; - -return $config; diff --git a/app/vendor/php-http/httplug/CHANGELOG.md b/app/vendor/php-http/httplug/CHANGELOG.md deleted file mode 100644 index 4c3d863ac..000000000 --- a/app/vendor/php-http/httplug/CHANGELOG.md +++ /dev/null @@ -1,144 +0,0 @@ -# Change Log - - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). - -## [2.4.1] - 2024-09-23 - -- Updated code to not raise warnings for nullable parameters in PHP 8.4. - -## [2.4.0] - 2023-04-14 - -### Changed - -- Allow `psr/http-message` v2 in addition to v1 -- Deprecate `Http\Client\HttpClient`, use [PSR-18](https://www.php-fig.org/psr/psr-18/) instead - -## [2.3.0] - 2022-02-21 - -### Changed - -- Enabled the `$onRejected` callback of `HttpRejectedPromise` to return a promise for implementing a retry - mechanism [#168](https://github.com/php-http/httplug/pull/168) - -## [2.2.0] - 2020-07-13 - -### Changed - -- Support PHP 7.1-8.0 - -## [2.1.0] - 2019-12-27 - -### Changed - -- `Http\Client\Exception\NetworkException` no longer extends `Http\Client\Exception\RequestException`, - in accordance with [PSR-18](https://www.php-fig.org/psr/psr-18/) - -## [2.0.0] - 2018-10-31 - -This version is no BC break for consumers using HTTPlug. However, HTTP clients that -implement HTTPlug need to adjust because we add return type declarations. - -### Added - -- Support for PSR-18 (HTTP client). - -### Changed - -- **BC Break:** `HttpClient::sendRequest(RequestInterface $request)` has a return type annotation. The new -signature is `HttpClient::sendRequest(RequestInterface $request): ResponseInterface`. -- **BC Break:** `RequestException::getRequest()` has a return type annotation. The new -signature is `RequestException::getRequest(): RequestInterface`. - -### Removed - -- PHP 5 support - - -## [1.1.0] - 2016-08-31 - -### Added - -- HttpFulfilledPromise and HttpRejectedPromise which respect the HttpAsyncClient interface - - -## [1.0.0] - 2016-01-26 - -### Removed - -- Stability configuration from composer - - -## [1.0.0-RC1] - 2016-01-12 - -### Changed - -- Updated package files -- Updated promise dependency to RC1 - - -## [1.0.0-beta] - 2015-12-17 - -### Added - -- Puli configuration and binding types - -### Changed - -- Exception concept - - -## [1.0.0-alpha3] - 2015-12-13 - -### Changed - -- Async client does not throw exceptions - -### Removed - -- Promise interface moved to its own repository: [php-http/promise](https://github.com/php-http/promise) - - -## [1.0.0-alpha2] - 2015-11-16 - -### Added - -- Async client and Promise interface - - -## [1.0.0-alpha] - 2015-10-26 - -### Added - -- Better domain exceptions. - -### Changed - -- Purpose of the library: general HTTP CLient abstraction. - -### Removed - -- Request options: they should be configured at construction time. -- Multiple request sending: should be done asynchronously using Async Client. -- `getName` method - - -## 0.1.0 - 2015-06-03 - -### Added - -- Initial release - - -[Unreleased]: https://github.com/php-http/httplug/compare/v2.0.0...HEAD -[2.0.0]: https://github.com/php-http/httplug/compare/v1.1.0...HEAD -[1.1.0]: https://github.com/php-http/httplug/compare/v1.0.0...v1.1.0 -[1.0.0]: https://github.com/php-http/httplug/compare/v1.0.0-RC1...v1.0.0 -[1.0.0-RC1]: https://github.com/php-http/httplug/compare/v1.0.0-beta...v1.0.0-RC1 -[1.0.0-beta]: https://github.com/php-http/httplug/compare/v1.0.0-alpha3...v1.0.0-beta -[1.0.0-alpha3]: https://github.com/php-http/httplug/compare/v1.0.0-alpha2...v1.0.0-alpha3 -[1.0.0-alpha2]: https://github.com/php-http/httplug/compare/v1.0.0-alpha...v1.0.0-alpha2 -[1.0.0-alpha]: https://github.com/php-http/httplug/compare/v0.1.0...v1.0.0-alpha diff --git a/app/vendor/php-http/httplug/LICENSE b/app/vendor/php-http/httplug/LICENSE deleted file mode 100644 index 8cd264c6b..000000000 --- a/app/vendor/php-http/httplug/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2014 Eric GELOEN -Copyright (c) 2015 PHP HTTP Team - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/php-http/httplug/README.md b/app/vendor/php-http/httplug/README.md deleted file mode 100644 index a9b476a5e..000000000 --- a/app/vendor/php-http/httplug/README.md +++ /dev/null @@ -1,54 +0,0 @@ -# HTTPlug - -[![Latest Version](https://img.shields.io/github/release/php-http/httplug.svg?style=flat-square)](https://github.com/php-http/httplug/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![Build Status](https://github.com/php-http/httplug/actions/workflows/ci.yml/badge.svg)](https://github.com/php-http/httplug/actions/workflows/ci.yml) -[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/php-http/httplug.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/httplug) -[![Quality Score](https://img.shields.io/scrutinizer/g/php-http/httplug.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/httplug) -[![Total Downloads](https://img.shields.io/packagist/dt/php-http/httplug.svg?style=flat-square)](https://packagist.org/packages/php-http/httplug) - -[![Email](https://img.shields.io/badge/email-team@httplug.io-blue.svg?style=flat-square)](mailto:team@httplug.io) - -**HTTPlug, the HTTP client abstraction for PHP.** - - -## Intro - -HTTP client standard built on [PSR-7](http://www.php-fig.org/psr/psr-7/) HTTP -messages. The HttpAsyncClient defines an asynchronous HTTP client for PHP. - -This package also provides a synchronous HttpClient interface with the same -method signature as the [PSR-18](http://www.php-fig.org/psr/psr-18/) client. -For synchronous requests, we recommend using PSR-18 directly. - - -## History - -HTTPlug is the official successor of the [ivory http adapter](https://github.com/egeloen/ivory-http-adapter). -HTTPlug is a predecessor of [PSR-18](http://www.php-fig.org/psr/psr-18/) - - -## Install - -Via Composer - -``` bash -$ composer require php-http/httplug -``` - - -## Documentation - -Please see the [official documentation](http://docs.php-http.org). - - -## Testing - -``` bash -$ composer test -``` - - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/php-http/httplug/composer.json b/app/vendor/php-http/httplug/composer.json deleted file mode 100644 index 739177017..000000000 --- a/app/vendor/php-http/httplug/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "php-http/httplug", - "description": "HTTPlug, the HTTP client abstraction for PHP", - "keywords": [ - "http", - "client" - ], - "homepage": "http://httplug.io", - "license": "MIT", - "authors": [ - { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "require": { - "php": "^7.1 || ^8.0", - "php-http/promise": "^1.1", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0", - "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0" - }, - "autoload": { - "psr-4": { - "Http\\Client\\": "src/" - } - }, - "scripts": { - "test": "vendor/bin/phpspec run", - "test-ci": "vendor/bin/phpspec run -c phpspec.ci.yml" - } -} diff --git a/app/vendor/php-http/httplug/puli.json b/app/vendor/php-http/httplug/puli.json deleted file mode 100644 index 416833152..000000000 --- a/app/vendor/php-http/httplug/puli.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "version": "1.0", - "name": "php-http/httplug", - "binding-types": { - "Http\\Client\\HttpAsyncClient": { - "description": "Async HTTP Client" - }, - "Http\\Client\\HttpClient": { - "description": "HTTP Client" - } - } -} diff --git a/app/vendor/php-http/httplug/src/Exception.php b/app/vendor/php-http/httplug/src/Exception.php deleted file mode 100644 index 4df164c9a..000000000 --- a/app/vendor/php-http/httplug/src/Exception.php +++ /dev/null @@ -1,14 +0,0 @@ - - */ -interface Exception extends PsrClientException -{ -} diff --git a/app/vendor/php-http/httplug/src/Exception/HttpException.php b/app/vendor/php-http/httplug/src/Exception/HttpException.php deleted file mode 100644 index 8af32f12c..000000000 --- a/app/vendor/php-http/httplug/src/Exception/HttpException.php +++ /dev/null @@ -1,65 +0,0 @@ - - */ -class HttpException extends RequestException -{ - /** - * @var ResponseInterface - */ - protected $response; - - /** - * @param string $message - */ - public function __construct( - $message, - RequestInterface $request, - ResponseInterface $response, - ?\Exception $previous = null - ) { - parent::__construct($message, $request, $previous); - - $this->response = $response; - $this->code = $response->getStatusCode(); - } - - /** - * Returns the response. - * - * @return ResponseInterface - */ - public function getResponse() - { - return $this->response; - } - - /** - * Factory method to create a new exception with a normalized error message. - */ - public static function create( - RequestInterface $request, - ResponseInterface $response, - ?\Exception $previous = null - ) { - $message = sprintf( - '[url] %s [http method] %s [status code] %s [reason phrase] %s', - $request->getRequestTarget(), - $request->getMethod(), - $response->getStatusCode(), - $response->getReasonPhrase() - ); - - return new static($message, $request, $response, $previous); - } -} diff --git a/app/vendor/php-http/httplug/src/Exception/NetworkException.php b/app/vendor/php-http/httplug/src/Exception/NetworkException.php deleted file mode 100644 index ce5f4d7ad..000000000 --- a/app/vendor/php-http/httplug/src/Exception/NetworkException.php +++ /dev/null @@ -1,28 +0,0 @@ - - */ -class NetworkException extends TransferException implements PsrNetworkException -{ - use RequestAwareTrait; - - /** - * @param string $message - */ - public function __construct($message, RequestInterface $request, ?\Exception $previous = null) - { - $this->setRequest($request); - - parent::__construct($message, 0, $previous); - } -} diff --git a/app/vendor/php-http/httplug/src/Exception/RequestAwareTrait.php b/app/vendor/php-http/httplug/src/Exception/RequestAwareTrait.php deleted file mode 100644 index f507982af..000000000 --- a/app/vendor/php-http/httplug/src/Exception/RequestAwareTrait.php +++ /dev/null @@ -1,23 +0,0 @@ -request = $request; - } - - public function getRequest(): RequestInterface - { - return $this->request; - } -} diff --git a/app/vendor/php-http/httplug/src/Exception/RequestException.php b/app/vendor/php-http/httplug/src/Exception/RequestException.php deleted file mode 100644 index dbed296a7..000000000 --- a/app/vendor/php-http/httplug/src/Exception/RequestException.php +++ /dev/null @@ -1,29 +0,0 @@ - - */ -class RequestException extends TransferException implements PsrRequestException -{ - use RequestAwareTrait; - - /** - * @param string $message - */ - public function __construct($message, RequestInterface $request, ?\Exception $previous = null) - { - $this->setRequest($request); - - parent::__construct($message, 0, $previous); - } -} diff --git a/app/vendor/php-http/httplug/src/Exception/TransferException.php b/app/vendor/php-http/httplug/src/Exception/TransferException.php deleted file mode 100644 index a858cf5ec..000000000 --- a/app/vendor/php-http/httplug/src/Exception/TransferException.php +++ /dev/null @@ -1,14 +0,0 @@ - - */ -class TransferException extends \RuntimeException implements Exception -{ -} diff --git a/app/vendor/php-http/httplug/src/HttpAsyncClient.php b/app/vendor/php-http/httplug/src/HttpAsyncClient.php deleted file mode 100644 index c3b9d61aa..000000000 --- a/app/vendor/php-http/httplug/src/HttpAsyncClient.php +++ /dev/null @@ -1,25 +0,0 @@ - - */ -interface HttpAsyncClient -{ - /** - * Sends a PSR-7 request in an asynchronous way. - * - * Exceptions related to processing the request are available from the returned Promise. - * - * @return Promise resolves a PSR-7 Response or fails with an Http\Client\Exception - * - * @throws \Exception If processing the request is impossible (eg. bad configuration). - */ - public function sendAsyncRequest(RequestInterface $request); -} diff --git a/app/vendor/php-http/httplug/src/HttpClient.php b/app/vendor/php-http/httplug/src/HttpClient.php deleted file mode 100644 index 22b94aaf7..000000000 --- a/app/vendor/php-http/httplug/src/HttpClient.php +++ /dev/null @@ -1,17 +0,0 @@ -response = $response; - } - - public function then(?callable $onFulfilled = null, ?callable $onRejected = null) - { - if (null === $onFulfilled) { - return $this; - } - - try { - return new self($onFulfilled($this->response)); - } catch (Exception $e) { - return new HttpRejectedPromise($e); - } - } - - public function getState() - { - return Promise::FULFILLED; - } - - public function wait($unwrap = true) - { - if ($unwrap) { - return $this->response; - } - } -} diff --git a/app/vendor/php-http/httplug/src/Promise/HttpRejectedPromise.php b/app/vendor/php-http/httplug/src/Promise/HttpRejectedPromise.php deleted file mode 100644 index a489ad4f7..000000000 --- a/app/vendor/php-http/httplug/src/Promise/HttpRejectedPromise.php +++ /dev/null @@ -1,49 +0,0 @@ -exception = $exception; - } - - public function then(?callable $onFulfilled = null, ?callable $onRejected = null) - { - if (null === $onRejected) { - return $this; - } - - try { - $result = $onRejected($this->exception); - if ($result instanceof Promise) { - return $result; - } - - return new HttpFulfilledPromise($result); - } catch (Exception $e) { - return new self($e); - } - } - - public function getState() - { - return Promise::REJECTED; - } - - public function wait($unwrap = true) - { - if ($unwrap) { - throw $this->exception; - } - } -} diff --git a/app/vendor/php-http/message/.php-cs-fixer.dist.php b/app/vendor/php-http/message/.php-cs-fixer.dist.php deleted file mode 100644 index 55bd8ed1f..000000000 --- a/app/vendor/php-http/message/.php-cs-fixer.dist.php +++ /dev/null @@ -1,19 +0,0 @@ -in(__DIR__.'/src') - ->in(__DIR__.'/spec') - ->name('*.php') -; - -$config = new PhpCsFixer\Config(); - -return $config - ->setRiskyAllowed(true) - ->setRules([ - '@Symfony' => true, - 'single_line_throw' => false, - 'trailing_comma_in_multiline' => false, // for methods this is incompatible with PHP 7 - ]) - ->setFinder($finder) -; diff --git a/app/vendor/php-http/message/CHANGELOG.md b/app/vendor/php-http/message/CHANGELOG.md deleted file mode 100644 index 24575c988..000000000 --- a/app/vendor/php-http/message/CHANGELOG.md +++ /dev/null @@ -1,278 +0,0 @@ -# Changelog - - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). - -## [1.16.1] - 2024-03-07 - -- Adjust phpdoc to avoid warnings about return types. - -## [1.16.0] - 2023-05-17 - -- Remove direct dependency on `php-http/message-factory` as it is only needed for the deprecated Httplug factories. - Upgrade to PSR-17 message factories provided by your HTTP client implementation. - If you need the Httplug factories for the time being, you can `composer require php-http/message-factory` in your application. - -## [1.15.0] - 2023-05-10 - -**If you use the decorator classes, you might need to adjust your code to the parameter and return type declarations added in PSR-7** - -- Actually make compatible with PSR-7 1.1 and 2.0 -- Drop support for PHP 7.1 - -## [1.14.0] - 2023-04-14 (broken) - -**This release is not actually compatible with PSR-7 1.1 or 2.0** - -- Allow installation with http-message (PSR-7) version 2 in addition to version 1. -- Support for PHP 8.2 - -## [1.13.0] - 2022-02-11 - -- Added `Formatter::formatResponseForRequest()` to allow the formatter to get context from the request to decide what of the response to output. -- Deprecated `Formatter::formatResponse()` in favor of the new `formatResponseForRequest` method. - -## [1.12.0] - 2021-08-29 - -- Added support for adjusting binary detection regex in FullHttpMessageFormatter. - -## [1.11.2] - 2021-08-03 - -- Support GuzzleHttp/Psr7 version 2.0 in the (deprecated) GuzzleStreamFactory. - -## [1.11.1] - 2021-05-24 - -- Support GuzzleHttp/Psr7 version 2.0 in the (deprecated) GuzzleUriFactory. - -## [1.11.0] - 2020-02-01 - -- Migrated from `zendframework/zend-diactoros` to `laminas/laminas-diactoros`. - Users are encouraged to update their dependencies by simply replacing the Zend package with the Laminas package. - Due to the [laminas-zendframework-brige](https://github.com/laminas/laminas-zendframework-bridge), BC changes - are not expected and legacy code does not need to be refactored (though it is - [recommended and simple](https://docs.laminas.dev/migration/)). -- The diactoros factories of `php-http/message` will return objects from the `Laminas\Diactoros\` namespace, if - the respective classes are available via autoloading, but continue to return objects from `Zend\Diactoros\` - namespace otherwise. - -- Allow to specify the hashing algorithm for WSSE authentication. - -## [1.10.0] - 2020-11-11 - -- Added support for PHP 8.0. - -## [1.9.1] - 2020-10-13 - -- Improved detection of binary stream to not consider newlines, carriage return or tabs as binary. - -## [1.9.0] - 2020-08-17 - -- Omitted binary body in FullHttpMessageFormatter and CurlCommandFormatter. - `[binary stream omitted]` will be shown instead. - -### Added - -- New Header authentication method for arbitrary header authentication. - -## [1.8.0] - 2019-08-05 - -### Changed - -- Raised minimum PHP version to 7.1 - -### Fixed - -- Fatal error on `CurlCommandFormatter` when body is larger than `escapeshellarg` allowed length. -- Do not read stream in message formatter if stream is not seekable. - -## [1.7.2] - 2018-10-30 - -### Fixed - -- FilteredStream uses `@trigger_error` instead of throwing exceptions to not - break careless users. You still need to fix your stream code to respect - `isSeekable`. Seeking does not work as expected, and we will add exceptions - in version 2. - -## [1.7.1] - 2018-10-29 - -### Fixed - -- FilteredStream is not actually seekable - - -## [1.7.0] - 2018-08-15 - -### Fixed - -- Fix CurlCommandFormatter for binary request payloads -- Fix QueryParam authentication to assemble proper URL regardless of PHP `arg_separator.output` directive -- Do not pass `null` parameters to `Clue\StreamFilter\fun` - -### Changed - -- Dropped tests on HHVM - - -## [1.6.0] - 2017-07-05 - -### Added - -- CookieUtil::parseDate to create a date from cookie date string - -### Fixed - -- Fix curl command of CurlFormatter when there is an user-agent header - - -## [1.5.0] - 2017-02-14 - -### Added - -- Check for empty string in Stream factories -- Cookie::createWithoutValidation Static constructor to create a cookie. Will not perform any attribute validation during instantiation. -- Cookie::isValid Method to check if cookie attributes are valid. - -### Fixed - -- FilteredStream::getSize returns null because the contents size is unknown. -- Stream factories does not rewinds streams. The previous behavior was not coherent between factories and inputs. - -### Deprecated - -- FilteredStream::getReadFilter The read filter is internal and should never be used by consuming code. -- FilteredStream::getWriteFilter We did not implement writing to the streams at all. And if we do, the filter is an internal information and should not be used by consuming code. - - -## [1.4.1] - 2016-12-16 - -### Fixed - -- Cookie::matchPath Cookie with root path (`/`) will not match sub path (e.g. `/cookie`). - - -## [1.4.0] - 2016-10-20 - -### Added - -- Message, stream and URI factories for [Slim Framework](https://github.com/slimphp/Slim) -- BufferedStream that allow you to decorate a non-seekable stream with a seekable one. -- cUrlFormatter to be able to redo the request with a cURL command - - -## [1.3.1] - 2016-07-15 - -### Fixed - -- FullHttpMessageFormatter will not read from streams that you cannot rewind (non-seekable) -- FullHttpMessageFormatter will not read from the stream if $maxBodyLength is zero -- FullHttpMessageFormatter rewinds streams after they are read - - -## [1.3.0] - 2016-07-14 - -### Added - -- FullHttpMessageFormatter to include headers and body in the formatted message - -### Fixed - -- #41: Response builder broke header value - - -## [1.2.0] - 2016-03-29 - -### Added - -- The RequestMatcher is built after the Symfony RequestMatcher and separates - scheme, host and path expressions and provides an option to filter on the - method -- New RequestConditional authentication method using request matchers -- Add automatic basic auth info detection based on the URL - -### Changed - -- Improved ResponseBuilder - -### Deprecated - -- RegexRequestMatcher, use RequestMatcher instead -- Matching authenitcation method, use RequestConditional instead - - -## [1.1.0] - 2016-02-25 - -### Added - - - Add a request matcher interface and regex implementation - - Add a callback request matcher implementation - - Add a ResponseBuilder, to create PSR7 Response from a string - -### Fixed - - - Fix casting string on a FilteredStream not filtering the output - - -## [1.0.0] - 2016-01-27 - - -## [0.2.0] - 2015-12-29 - -### Added - -- Autoregistration of stream filters using Composer autoload -- Cookie -- [Apigen](http://www.apigen.org/) configuration - - -## [0.1.2] - 2015-12-26 - -### Added - -- Request and response factory bindings - -### Fixed - -- Chunk filter namespace in Dechunk stream - - -## [0.1.1] - 2015-12-25 - -### Added - -- Formatter - - -## 0.1.0 - 2015-12-24 - -### Added - -- Authentication -- Encoding -- Message decorator -- Message factory (Guzzle, Diactoros) - - -[Unreleased]: https://github.com/php-http/message/compare/1.10.0...HEAD -[1.10.0]: https://github.com/php-http/message/compare/1.9.1...1.10.0 -[1.9.1]: https://github.com/php-http/message/compare/1.9.0...1.9.1 -[1.9.0]: https://github.com/php-http/message/compare/1.8.0...1.9.0 -[1.8.0]: https://github.com/php-http/message/compare/1.7.2...1.8.0 -[1.7.2]: https://github.com/php-http/message/compare/v1.7.1...1.7.2 -[1.7.1]: https://github.com/php-http/message/compare/1.7.0...v1.7.1 -[1.7.0]: https://github.com/php-http/message/compare/1.6.0...1.7.0 -[1.6.0]: https://github.com/php-http/message/compare/1.5.0...1.6.0 -[1.5.0]: https://github.com/php-http/message/compare/v1.4.1...1.5.0 -[1.4.1]: https://github.com/php-http/message/compare/v1.4.0...v1.4.1 -[1.4.0]: https://github.com/php-http/message/compare/v1.3.1...v1.4.0 -[1.3.1]: https://github.com/php-http/message/compare/v1.3.0...v1.3.1 -[1.3.0]: https://github.com/php-http/message/compare/v1.2.0...v1.3.0 -[1.2.0]: https://github.com/php-http/message/compare/v1.1.0...v1.2.0 -[1.1.0]: https://github.com/php-http/message/compare/v1.0.0...v1.1.0 -[1.0.0]: https://github.com/php-http/message/compare/0.2.0...v1.0.0 -[0.2.0]: https://github.com/php-http/message/compare/v0.1.2...0.2.0 -[0.1.2]: https://github.com/php-http/message/compare/v0.1.1...v0.1.2 -[0.1.1]: https://github.com/php-http/message/compare/v0.1.0...v0.1.1 diff --git a/app/vendor/php-http/message/LICENSE b/app/vendor/php-http/message/LICENSE deleted file mode 100644 index 4558d6f06..000000000 --- a/app/vendor/php-http/message/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2016 PHP HTTP Team - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/php-http/message/README.md b/app/vendor/php-http/message/README.md deleted file mode 100644 index f1d79f7cd..000000000 --- a/app/vendor/php-http/message/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# HTTP Message - -[![Latest Version](https://img.shields.io/github/release/php-http/message.svg?style=flat-square)](https://github.com/php-http/message/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![tests](https://img.shields.io/github/actions/workflow/status/php-http/message/tests.yml?branch=1.x&label=tests&style=flat-square)](https://github.com/php-http/message/actions/workflows/tests.yml) -[![Total Downloads](https://img.shields.io/packagist/dt/php-http/message.svg?style=flat-square)](https://packagist.org/packages/php-http/message) - -**HTTP Message related tools.** - - -## Install - -Via Composer - -``` bash -$ composer require php-http/message -``` - - -## Intro - -This package contains various PSR-7 tools which might be useful in an HTTP workflow: - -- Authentication method implementations -- Various Stream encoding tools -- Message decorators -- Message factory implementations for Guzzle PSR-7 and Diactoros -- Cookie implementation -- Request matchers - - -## Documentation - -Please see the [official documentation](http://docs.php-http.org/en/latest/message.html). - - -## Testing - -``` bash -$ composer test -``` - - -## Credits - -Thanks to [Cuzzle](https://github.com/namshi/cuzzle) for inpiration for the `CurlCommandFormatter`. - - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/php-http/message/apigen.neon b/app/vendor/php-http/message/apigen.neon deleted file mode 100644 index 0ba1a1850..000000000 --- a/app/vendor/php-http/message/apigen.neon +++ /dev/null @@ -1,6 +0,0 @@ -source: - - src/ - -destination: build/api/ - -templateTheme: bootstrap diff --git a/app/vendor/php-http/message/composer.json b/app/vendor/php-http/message/composer.json deleted file mode 100644 index 37a86a70e..000000000 --- a/app/vendor/php-http/message/composer.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "php-http/message", - "description": "HTTP Message related tools", - "keywords": [ - "message", - "http", - "psr-7" - ], - "homepage": "http://php-http.org", - "license": "MIT", - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "require": { - "php": "^7.2 || ^8.0", - "clue/stream-filter": "^1.5", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0" - }, - "require-dev": { - "ext-zlib": "*", - "ergebnis/composer-normalize": "^2.6", - "guzzlehttp/psr7": "^1.0 || ^2.0", - "php-http/message-factory": "^1.0.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "slim/slim": "^3.0", - "laminas/laminas-diactoros": "^2.0 || ^3.0" - }, - "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "laminas/laminas-diactoros": "Used with Diactoros Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation" - }, - "config": { - "sort-packages": true, - "allow-plugins": { - "ergebnis/composer-normalize": true - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\": "src/" - }, - "files": [ - "src/filters.php" - ] - }, - "autoload-dev": { - "psr-4": { - "spec\\Http\\Message\\": "spec/" - } - }, - "scripts": { - "test": "vendor/bin/phpspec run", - "test-ci": "vendor/bin/phpspec run -c phpspec.ci.yml" - } -} diff --git a/app/vendor/php-http/message/puli.json b/app/vendor/php-http/message/puli.json deleted file mode 100644 index 024a85d9e..000000000 --- a/app/vendor/php-http/message/puli.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "version": "1.0", - "name": "php-http/message", - "bindings": { - "064d003d-78a1-48c4-8f3b-1f92ff25da69": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\DiactorosMessageFactory", - "type": "Http\\Message\\MessageFactory", - "parameters": { - "depends": "Zend\\Diactoros\\Request" - } - }, - "0836751e-6558-4d1b-8993-4a52012947c3": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\SlimMessageFactory", - "type": "Http\\Message\\ResponseFactory" - }, - "1d127622-dc61-4bfa-b9da-d221548d72c3": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\SlimMessageFactory", - "type": "Http\\Message\\RequestFactory" - }, - "2438c2d0-0658-441f-8855-ddaf0f87d54d": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\GuzzleMessageFactory", - "type": "Http\\Message\\MessageFactory", - "parameters": { - "depends": "GuzzleHttp\\Psr7\\Request" - } - }, - "253aa08c-d705-46e7-b1d2-e28c97eef792": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\GuzzleMessageFactory", - "type": "Http\\Message\\RequestFactory", - "parameters": { - "depends": "GuzzleHttp\\Psr7\\Request" - } - }, - "273a34f9-62f4-4ba1-9801-b1284d49ff89": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\StreamFactory\\GuzzleStreamFactory", - "type": "Http\\Message\\StreamFactory", - "parameters": { - "depends": "GuzzleHttp\\Psr7\\Stream" - } - }, - "304b83db-b594-4d83-ae75-1f633adf92f7": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\UriFactory\\GuzzleUriFactory", - "type": "Http\\Message\\UriFactory", - "parameters": { - "depends": "GuzzleHttp\\Psr7\\Uri" - } - }, - "3f4bc1cd-aa95-4702-9fa7-65408e471691": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\UriFactory\\DiactorosUriFactory", - "type": "Http\\Message\\UriFactory", - "parameters": { - "depends": "Zend\\Diactoros\\Uri" - } - }, - "4672a6ee-ad9e-4109-a5d1-b7d46f26c7a1": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\SlimMessageFactory", - "type": "Http\\Message\\MessageFactory" - }, - "6234e947-d3bd-43eb-97d5-7f9e22e6bb1b": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\DiactorosMessageFactory", - "type": "Http\\Message\\ResponseFactory", - "parameters": { - "depends": "Zend\\Diactoros\\Response" - } - }, - "6a9ad6ce-d82c-470f-8e30-60f21d9d95bf": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\UriFactory\\SlimUriFactory", - "type": "Http\\Message\\UriFactory" - }, - "72c2afa0-ea56-4d03-adb6-a9f241a8a734": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\StreamFactory\\SlimStreamFactory", - "type": "Http\\Message\\StreamFactory" - }, - "95c1be8f-39fe-4abd-8351-92cb14379a75": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\StreamFactory\\DiactorosStreamFactory", - "type": "Http\\Message\\StreamFactory", - "parameters": { - "depends": "Zend\\Diactoros\\Stream" - } - }, - "a018af27-7590-4dcf-83a1-497f95604cd6": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\GuzzleMessageFactory", - "type": "Http\\Message\\ResponseFactory", - "parameters": { - "depends": "GuzzleHttp\\Psr7\\Response" - } - }, - "c07955b1-de46-43db-923b-d07fae9382cb": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Message\\MessageFactory\\DiactorosMessageFactory", - "type": "Http\\Message\\RequestFactory", - "parameters": { - "depends": "Zend\\Diactoros\\Request" - } - } - } -} diff --git a/app/vendor/php-http/message/src/Authentication.php b/app/vendor/php-http/message/src/Authentication.php deleted file mode 100644 index 0fe0cb3ab..000000000 --- a/app/vendor/php-http/message/src/Authentication.php +++ /dev/null @@ -1,25 +0,0 @@ - - */ -interface Authentication -{ - /** - * Alter the request to add the authentication credentials. - * - * To do that, the implementation might use pre-stored credentials or do - * separate HTTP requests to obtain a valid token. - * - * @param RequestInterface $request The request without authentication information - * - * @return RequestInterface The request with added authentication information - */ - public function authenticate(RequestInterface $request); -} diff --git a/app/vendor/php-http/message/src/Authentication/AutoBasicAuth.php b/app/vendor/php-http/message/src/Authentication/AutoBasicAuth.php deleted file mode 100644 index 6120016f2..000000000 --- a/app/vendor/php-http/message/src/Authentication/AutoBasicAuth.php +++ /dev/null @@ -1,45 +0,0 @@ - - */ -final class AutoBasicAuth implements Authentication -{ - /** - * Whether user info should be removed from the URI. - * - * @var bool - */ - private $shouldRemoveUserInfo; - - /** - * @param bool|true $shouldRremoveUserInfo - */ - public function __construct($shouldRremoveUserInfo = true) - { - $this->shouldRemoveUserInfo = (bool) $shouldRremoveUserInfo; - } - - public function authenticate(RequestInterface $request) - { - $uri = $request->getUri(); - $userInfo = $uri->getUserInfo(); - - if (!empty($userInfo)) { - if ($this->shouldRemoveUserInfo) { - $request = $request->withUri($uri->withUserInfo('')); - } - - $request = $request->withHeader('Authorization', sprintf('Basic %s', base64_encode($userInfo))); - } - - return $request; - } -} diff --git a/app/vendor/php-http/message/src/Authentication/BasicAuth.php b/app/vendor/php-http/message/src/Authentication/BasicAuth.php deleted file mode 100644 index 85b13a2e1..000000000 --- a/app/vendor/php-http/message/src/Authentication/BasicAuth.php +++ /dev/null @@ -1,41 +0,0 @@ - - */ -final class BasicAuth implements Authentication -{ - /** - * @var string - */ - private $username; - - /** - * @var string - */ - private $password; - - /** - * @param string $username - * @param string $password - */ - public function __construct($username, $password) - { - $this->username = $username; - $this->password = $password; - } - - public function authenticate(RequestInterface $request) - { - $header = sprintf('Basic %s', base64_encode(sprintf('%s:%s', $this->username, $this->password))); - - return $request->withHeader('Authorization', $header); - } -} diff --git a/app/vendor/php-http/message/src/Authentication/Bearer.php b/app/vendor/php-http/message/src/Authentication/Bearer.php deleted file mode 100644 index 287de2d54..000000000 --- a/app/vendor/php-http/message/src/Authentication/Bearer.php +++ /dev/null @@ -1,34 +0,0 @@ - - */ -final class Bearer implements Authentication -{ - /** - * @var string - */ - private $token; - - /** - * @param string $token - */ - public function __construct($token) - { - $this->token = $token; - } - - public function authenticate(RequestInterface $request) - { - $header = sprintf('Bearer %s', $this->token); - - return $request->withHeader('Authorization', $header); - } -} diff --git a/app/vendor/php-http/message/src/Authentication/Chain.php b/app/vendor/php-http/message/src/Authentication/Chain.php deleted file mode 100644 index d1d36d52d..000000000 --- a/app/vendor/php-http/message/src/Authentication/Chain.php +++ /dev/null @@ -1,44 +0,0 @@ - - */ -final class Chain implements Authentication -{ - /** - * @var Authentication[] - */ - private $authenticationChain = []; - - /** - * @param Authentication[] $authenticationChain - */ - public function __construct(array $authenticationChain = []) - { - foreach ($authenticationChain as $authentication) { - if (!$authentication instanceof Authentication) { - throw new \InvalidArgumentException( - 'Members of the authentication chain must be of type Http\Message\Authentication' - ); - } - } - - $this->authenticationChain = $authenticationChain; - } - - public function authenticate(RequestInterface $request) - { - foreach ($this->authenticationChain as $authentication) { - $request = $authentication->authenticate($request); - } - - return $request; - } -} diff --git a/app/vendor/php-http/message/src/Authentication/Header.php b/app/vendor/php-http/message/src/Authentication/Header.php deleted file mode 100644 index 5b1b2e09e..000000000 --- a/app/vendor/php-http/message/src/Authentication/Header.php +++ /dev/null @@ -1,33 +0,0 @@ -name = $name; - $this->value = $value; - } - - public function authenticate(RequestInterface $request) - { - return $request->withHeader($this->name, $this->value); - } -} diff --git a/app/vendor/php-http/message/src/Authentication/Matching.php b/app/vendor/php-http/message/src/Authentication/Matching.php deleted file mode 100644 index cbef52ef2..000000000 --- a/app/vendor/php-http/message/src/Authentication/Matching.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * @deprecated since since version 1.2, and will be removed in 2.0. Use {@link RequestConditional} instead. - */ -final class Matching implements Authentication -{ - /** - * @var Authentication - */ - private $authentication; - - /** - * @var CallbackRequestMatcher - */ - private $matcher; - - public function __construct(Authentication $authentication, ?callable $matcher = null) - { - if (is_null($matcher)) { - $matcher = function () { - return true; - }; - } - - $this->authentication = $authentication; - $this->matcher = new CallbackRequestMatcher($matcher); - } - - public function authenticate(RequestInterface $request) - { - if ($this->matcher->matches($request)) { - return $this->authentication->authenticate($request); - } - - return $request; - } - - /** - * Creates a matching authentication for an URL. - * - * @param string $url - * - * @return self - */ - public static function createUrlMatcher(Authentication $authentication, $url) - { - $matcher = function (RequestInterface $request) use ($url) { - return preg_match($url, $request->getRequestTarget()); - }; - - return new static($authentication, $matcher); - } -} diff --git a/app/vendor/php-http/message/src/Authentication/QueryParam.php b/app/vendor/php-http/message/src/Authentication/QueryParam.php deleted file mode 100644 index bc7b02085..000000000 --- a/app/vendor/php-http/message/src/Authentication/QueryParam.php +++ /dev/null @@ -1,44 +0,0 @@ - - */ -final class QueryParam implements Authentication -{ - /** - * @var array - */ - private $params = []; - - public function __construct(array $params) - { - $this->params = $params; - } - - public function authenticate(RequestInterface $request) - { - $uri = $request->getUri(); - $query = $uri->getQuery(); - $params = []; - - parse_str($query, $params); - - $params = array_merge($params, $this->params); - - $query = http_build_query($params, '', '&'); - - $uri = $uri->withQuery($query); - - return $request->withUri($uri); - } -} diff --git a/app/vendor/php-http/message/src/Authentication/RequestConditional.php b/app/vendor/php-http/message/src/Authentication/RequestConditional.php deleted file mode 100644 index fefe44e7c..000000000 --- a/app/vendor/php-http/message/src/Authentication/RequestConditional.php +++ /dev/null @@ -1,40 +0,0 @@ - - */ -final class RequestConditional implements Authentication -{ - /** - * @var RequestMatcher - */ - private $requestMatcher; - - /** - * @var Authentication - */ - private $authentication; - - public function __construct(RequestMatcher $requestMatcher, Authentication $authentication) - { - $this->requestMatcher = $requestMatcher; - $this->authentication = $authentication; - } - - public function authenticate(RequestInterface $request) - { - if ($this->requestMatcher->matches($request)) { - return $this->authentication->authenticate($request); - } - - return $request; - } -} diff --git a/app/vendor/php-http/message/src/Authentication/Wsse.php b/app/vendor/php-http/message/src/Authentication/Wsse.php deleted file mode 100644 index 9191efe9f..000000000 --- a/app/vendor/php-http/message/src/Authentication/Wsse.php +++ /dev/null @@ -1,64 +0,0 @@ - - */ -final class Wsse implements Authentication -{ - /** - * @var string - */ - private $username; - - /** - * @var string - */ - private $password; - - /** - * @var string - */ - private $hashAlgorithm; - - /** - * @param string $username - * @param string $password - * @param string $hashAlgorithm To use a better hashing algorithm than the weak sha1, pass the algorithm to use, e.g. "sha512" - */ - public function __construct($username, $password, $hashAlgorithm = 'sha1') - { - $this->username = $username; - $this->password = $password; - if (false === in_array($hashAlgorithm, hash_algos())) { - throw new \InvalidArgumentException(sprintf('Unaccepted hashing algorithm: %s', $hashAlgorithm)); - } - $this->hashAlgorithm = $hashAlgorithm; - } - - public function authenticate(RequestInterface $request) - { - $nonce = substr(md5(uniqid(uniqid().'_', true)), 0, 16); - $created = date('c'); - $digest = base64_encode(hash($this->hashAlgorithm, base64_decode($nonce).$created.$this->password, true)); - - $wsse = sprintf( - 'UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"', - $this->username, - $digest, - $nonce, - $created - ); - - return $request - ->withHeader('Authorization', 'WSSE profile="UsernameToken"') - ->withHeader('X-WSSE', $wsse) - ; - } -} diff --git a/app/vendor/php-http/message/src/Builder/ResponseBuilder.php b/app/vendor/php-http/message/src/Builder/ResponseBuilder.php deleted file mode 100644 index 4c3ecfc4f..000000000 --- a/app/vendor/php-http/message/src/Builder/ResponseBuilder.php +++ /dev/null @@ -1,146 +0,0 @@ -response = $response; - } - - /** - * Return response. - * - * @return ResponseInterface - */ - public function getResponse() - { - return $this->response; - } - - /** - * Add headers represented by an array of header lines. - * - * @param string[] $headers response headers as array of header lines - * - * @return $this - * - * @throws \UnexpectedValueException for invalid header values - * @throws \InvalidArgumentException for invalid status code arguments - */ - public function setHeadersFromArray(array $headers) - { - $status = array_shift($headers); - $this->setStatus($status); - - foreach ($headers as $headerLine) { - $headerLine = trim($headerLine); - if ('' === $headerLine) { - continue; - } - - $this->addHeader($headerLine); - } - - return $this; - } - - /** - * Add headers represented by a single string. - * - * @param string $headers response headers as single string - * - * @return $this - * - * @throws \InvalidArgumentException if $headers is not a string on object with __toString() - * @throws \UnexpectedValueException for invalid header values - */ - public function setHeadersFromString($headers) - { - if (!(is_string($headers) - || (is_object($headers) && method_exists($headers, '__toString'))) - ) { - throw new \InvalidArgumentException( - sprintf( - '%s expects parameter 1 to be a string, %s given', - __METHOD__, - is_object($headers) ? get_class($headers) : gettype($headers) - ) - ); - } - - $this->setHeadersFromArray(explode("\r\n", $headers)); - - return $this; - } - - /** - * Set response status from a status string. - * - * @param string $statusLine response status as a string - * - * @return $this - * - * @throws \InvalidArgumentException for invalid status line - */ - public function setStatus($statusLine) - { - $parts = explode(' ', $statusLine, 3); - if (count($parts) < 2 || 0 !== strpos(strtolower($parts[0]), 'http/')) { - throw new \InvalidArgumentException( - sprintf('"%s" is not a valid HTTP status line', $statusLine) - ); - } - - $reasonPhrase = count($parts) > 2 ? $parts[2] : ''; - $this->response = $this->response - ->withStatus((int) $parts[1], $reasonPhrase) - ->withProtocolVersion(substr($parts[0], 5)); - - return $this; - } - - /** - * Add header represented by a string. - * - * @param string $headerLine response header as a string - * - * @return $this - * - * @throws \InvalidArgumentException for invalid header names or values - */ - public function addHeader($headerLine) - { - $parts = explode(':', $headerLine, 2); - if (2 !== count($parts)) { - throw new \InvalidArgumentException( - sprintf('"%s" is not a valid HTTP header line', $headerLine) - ); - } - $name = trim($parts[0]); - $value = trim($parts[1]); - if ($this->response->hasHeader($name)) { - $this->response = $this->response->withAddedHeader($name, $value); - } else { - $this->response = $this->response->withHeader($name, $value); - } - - return $this; - } -} diff --git a/app/vendor/php-http/message/src/Cookie.php b/app/vendor/php-http/message/src/Cookie.php deleted file mode 100644 index b79fe0ace..000000000 --- a/app/vendor/php-http/message/src/Cookie.php +++ /dev/null @@ -1,524 +0,0 @@ - - * - * @see http://tools.ietf.org/search/rfc6265 - */ -final class Cookie -{ - /** - * @var string - */ - private $name; - - /** - * @var string|null - */ - private $value; - - /** - * @var int|null - */ - private $maxAge; - - /** - * @var string|null - */ - private $domain; - - /** - * @var string - */ - private $path; - - /** - * @var bool - */ - private $secure; - - /** - * @var bool - */ - private $httpOnly; - - /** - * Expires attribute is HTTP 1.0 only and should be avoided. - * - * @var \DateTime|null - */ - private $expires; - - /** - * @param string $name - * @param string|null $value - * @param int|null $maxAge - * @param string|null $domain - * @param string|null $path - * @param bool $secure - * @param bool $httpOnly - * @param \DateTime|null $expires Expires attribute is HTTP 1.0 only and should be avoided. - * - * @throws \InvalidArgumentException if name, value or max age is not valid - */ - public function __construct( - $name, - $value = null, - $maxAge = null, - $domain = null, - $path = null, - $secure = false, - $httpOnly = false, - ?\DateTime $expires = null - ) { - $this->validateName($name); - $this->validateValue($value); - $this->validateMaxAge($maxAge); - - $this->name = $name; - $this->value = $value; - $this->maxAge = $maxAge; - $this->expires = $expires; - $this->domain = $this->normalizeDomain($domain); - $this->path = $this->normalizePath($path); - $this->secure = (bool) $secure; - $this->httpOnly = (bool) $httpOnly; - } - - /** - * Creates a new cookie without any attribute validation. - * - * @param string $name - * @param string|null $value - * @param int $maxAge - * @param string|null $domain - * @param string|null $path - * @param bool $secure - * @param bool $httpOnly - * @param \DateTime|null $expires Expires attribute is HTTP 1.0 only and should be avoided. - */ - public static function createWithoutValidation( - $name, - $value = null, - $maxAge = null, - $domain = null, - $path = null, - $secure = false, - $httpOnly = false, - ?\DateTime $expires = null - ) { - $cookie = new self('name', null, null, $domain, $path, $secure, $httpOnly, $expires); - $cookie->name = $name; - $cookie->value = $value; - $cookie->maxAge = $maxAge; - - return $cookie; - } - - /** - * Returns the name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns the value. - * - * @return string|null - */ - public function getValue() - { - return $this->value; - } - - /** - * Checks if there is a value. - * - * @return bool - */ - public function hasValue() - { - return isset($this->value); - } - - /** - * Sets the value. - * - * @param string|null $value - * - * @return Cookie - */ - public function withValue($value) - { - $this->validateValue($value); - - $new = clone $this; - $new->value = $value; - - return $new; - } - - /** - * Returns the max age. - * - * @return int|null - */ - public function getMaxAge() - { - return $this->maxAge; - } - - /** - * Checks if there is a max age. - * - * @return bool - */ - public function hasMaxAge() - { - return isset($this->maxAge); - } - - /** - * Sets the max age. - * - * @param int|null $maxAge - * - * @return Cookie - */ - public function withMaxAge($maxAge) - { - $this->validateMaxAge($maxAge); - - $new = clone $this; - $new->maxAge = $maxAge; - - return $new; - } - - /** - * Returns the expiration time. - * - * @return \DateTime|null - */ - public function getExpires() - { - return $this->expires; - } - - /** - * Checks if there is an expiration time. - * - * @return bool - */ - public function hasExpires() - { - return isset($this->expires); - } - - /** - * Sets the expires. - * - * @return Cookie - */ - public function withExpires(?\DateTime $expires = null) - { - $new = clone $this; - $new->expires = $expires; - - return $new; - } - - /** - * Checks if the cookie is expired. - * - * @return bool - */ - public function isExpired() - { - return isset($this->expires) and $this->expires < new \DateTime(); - } - - /** - * Returns the domain. - * - * @return string|null - */ - public function getDomain() - { - return $this->domain; - } - - /** - * Checks if there is a domain. - * - * @return bool - */ - public function hasDomain() - { - return isset($this->domain); - } - - /** - * Sets the domain. - * - * @param string|null $domain - * - * @return Cookie - */ - public function withDomain($domain) - { - $new = clone $this; - $new->domain = $this->normalizeDomain($domain); - - return $new; - } - - /** - * Checks whether this cookie is meant for this domain. - * - * @see http://tools.ietf.org/html/rfc6265#section-5.1.3 - * - * @param string $domain - * - * @return bool - */ - public function matchDomain($domain) - { - // Domain is not set or exact match - if (!$this->hasDomain() || 0 === strcasecmp($domain, $this->domain)) { - return true; - } - - // Domain is not an IP address - if (filter_var($domain, FILTER_VALIDATE_IP)) { - return false; - } - - return (bool) preg_match(sprintf('/\b%s$/i', preg_quote($this->domain)), $domain); - } - - /** - * Returns the path. - * - * @return string - */ - public function getPath() - { - return $this->path; - } - - /** - * Sets the path. - * - * @param string|null $path - * - * @return Cookie - */ - public function withPath($path) - { - $new = clone $this; - $new->path = $this->normalizePath($path); - - return $new; - } - - /** - * Checks whether this cookie is meant for this path. - * - * @see http://tools.ietf.org/html/rfc6265#section-5.1.4 - * - * @param string $path - * - * @return bool - */ - public function matchPath($path) - { - return $this->path === $path || (0 === strpos($path, rtrim($this->path, '/').'/')); - } - - /** - * Checks whether this cookie may only be sent over HTTPS. - * - * @return bool - */ - public function isSecure() - { - return $this->secure; - } - - /** - * Sets whether this cookie should only be sent over HTTPS. - * - * @param bool $secure - * - * @return Cookie - */ - public function withSecure($secure) - { - $new = clone $this; - $new->secure = (bool) $secure; - - return $new; - } - - /** - * Check whether this cookie may not be accessed through Javascript. - * - * @return bool - */ - public function isHttpOnly() - { - return $this->httpOnly; - } - - /** - * Sets whether this cookie may not be accessed through Javascript. - * - * @param bool $httpOnly - * - * @return Cookie - */ - public function withHttpOnly($httpOnly) - { - $new = clone $this; - $new->httpOnly = (bool) $httpOnly; - - return $new; - } - - /** - * Checks if this cookie represents the same cookie as $cookie. - * - * This does not compare the values, only name, domain and path. - * - * @return bool - */ - public function match(self $cookie) - { - return $this->name === $cookie->name && $this->domain === $cookie->domain and $this->path === $cookie->path; - } - - /** - * Validates cookie attributes. - * - * @return bool - */ - public function isValid() - { - try { - $this->validateName($this->name); - $this->validateValue($this->value); - $this->validateMaxAge($this->maxAge); - } catch (\InvalidArgumentException $e) { - return false; - } - - return true; - } - - /** - * Validates the name attribute. - * - * @see http://tools.ietf.org/search/rfc2616#section-2.2 - * - * @param string $name - * - * @throws \InvalidArgumentException if the name is empty or contains invalid characters - */ - private function validateName($name) - { - if (strlen($name) < 1) { - throw new \InvalidArgumentException('The name cannot be empty'); - } - - // Name attribute is a token as per spec in RFC 2616 - if (preg_match('/[\x00-\x20\x22\x28-\x29\x2C\x2F\x3A-\x40\x5B-\x5D\x7B\x7D\x7F]/', $name)) { - throw new \InvalidArgumentException(sprintf('The cookie name "%s" contains invalid characters.', $name)); - } - } - - /** - * Validates a value. - * - * @see http://tools.ietf.org/html/rfc6265#section-4.1.1 - * - * @param string|null $value - * - * @throws \InvalidArgumentException if the value contains invalid characters - */ - private function validateValue($value) - { - if (isset($value)) { - if (preg_match('/[^\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]/', $value)) { - throw new \InvalidArgumentException(sprintf('The cookie value "%s" contains invalid characters.', $value)); - } - } - } - - /** - * Validates a Max-Age attribute. - * - * @param int|null $maxAge - * - * @throws \InvalidArgumentException if the Max-Age is not an empty or integer value - */ - private function validateMaxAge($maxAge) - { - if (isset($maxAge)) { - if (!is_int($maxAge)) { - throw new \InvalidArgumentException('Max-Age must be integer'); - } - } - } - - /** - * Remove the leading '.' and lowercase the domain as per spec in RFC 6265. - * - * @see http://tools.ietf.org/html/rfc6265#section-4.1.2.3 - * @see http://tools.ietf.org/html/rfc6265#section-5.1.3 - * @see http://tools.ietf.org/html/rfc6265#section-5.2.3 - * - * @param string|null $domain - * - * @return string - */ - private function normalizeDomain($domain) - { - if (isset($domain)) { - $domain = ltrim(strtolower($domain), '.'); - } - - return $domain; - } - - /** - * Processes path as per spec in RFC 6265. - * - * @see http://tools.ietf.org/html/rfc6265#section-5.1.4 - * @see http://tools.ietf.org/html/rfc6265#section-5.2.4 - * - * @param string|null $path - * - * @return string - */ - private function normalizePath($path) - { - if (null !== $path) { - $path = rtrim($path, '/'); - } - - if (empty($path) or '/' !== substr($path, 0, 1)) { - $path = '/'; - } - - return $path; - } -} diff --git a/app/vendor/php-http/message/src/CookieJar.php b/app/vendor/php-http/message/src/CookieJar.php deleted file mode 100644 index 159a99f05..000000000 --- a/app/vendor/php-http/message/src/CookieJar.php +++ /dev/null @@ -1,206 +0,0 @@ - - */ -final class CookieJar implements \Countable, \IteratorAggregate -{ - /** - * @var \SplObjectStorage - */ - private $cookies; - - public function __construct() - { - $this->cookies = new \SplObjectStorage(); - } - - /** - * Checks if there is a cookie. - * - * @return bool - */ - public function hasCookie(Cookie $cookie) - { - return $this->cookies->contains($cookie); - } - - /** - * Adds a cookie. - */ - public function addCookie(Cookie $cookie) - { - if (!$this->hasCookie($cookie)) { - $cookies = $this->getMatchingCookies($cookie); - - foreach ($cookies as $matchingCookie) { - if ($cookie->getValue() !== $matchingCookie->getValue() || $cookie->getMaxAge() > $matchingCookie->getMaxAge()) { - $this->removeCookie($matchingCookie); - - continue; - } - } - - if ($cookie->hasValue()) { - $this->cookies->attach($cookie); - } - } - } - - /** - * Removes a cookie. - */ - public function removeCookie(Cookie $cookie) - { - $this->cookies->detach($cookie); - } - - /** - * Returns the cookies. - * - * @return Cookie[] - */ - public function getCookies() - { - $match = function ($matchCookie) { - return true; - }; - - return $this->findMatchingCookies($match); - } - - /** - * Returns all matching cookies. - * - * @return Cookie[] - */ - public function getMatchingCookies(Cookie $cookie) - { - $match = function ($matchCookie) use ($cookie) { - return $matchCookie->match($cookie); - }; - - return $this->findMatchingCookies($match); - } - - /** - * Finds matching cookies based on a callable. - * - * @return Cookie[] - */ - private function findMatchingCookies(callable $match) - { - $cookies = []; - - foreach ($this->cookies as $cookie) { - if ($match($cookie)) { - $cookies[] = $cookie; - } - } - - return $cookies; - } - - /** - * Checks if there are cookies. - * - * @return bool - */ - public function hasCookies() - { - return $this->cookies->count() > 0; - } - - /** - * Sets the cookies and removes any previous one. - * - * @param Cookie[] $cookies - */ - public function setCookies(array $cookies) - { - $this->clear(); - $this->addCookies($cookies); - } - - /** - * Adds some cookies. - * - * @param Cookie[] $cookies - */ - public function addCookies(array $cookies) - { - foreach ($cookies as $cookie) { - $this->addCookie($cookie); - } - } - - /** - * Removes some cookies. - * - * @param Cookie[] $cookies - */ - public function removeCookies(array $cookies) - { - foreach ($cookies as $cookie) { - $this->removeCookie($cookie); - } - } - - /** - * Removes cookies which match the given parameters. - * - * Null means that parameter should not be matched - * - * @param string|null $name - * @param string|null $domain - * @param string|null $path - */ - public function removeMatchingCookies($name = null, $domain = null, $path = null) - { - $match = function ($cookie) use ($name, $domain, $path) { - $match = true; - - if (isset($name)) { - $match = $match && ($cookie->getName() === $name); - } - - if (isset($domain)) { - $match = $match && $cookie->matchDomain($domain); - } - - if (isset($path)) { - $match = $match && $cookie->matchPath($path); - } - - return $match; - }; - - $cookies = $this->findMatchingCookies($match); - - $this->removeCookies($cookies); - } - - /** - * Removes all cookies. - */ - public function clear() - { - $this->cookies = new \SplObjectStorage(); - } - - #[\ReturnTypeWillChange] - public function count() - { - return $this->cookies->count(); - } - - #[\ReturnTypeWillChange] - public function getIterator() - { - return clone $this->cookies; - } -} diff --git a/app/vendor/php-http/message/src/CookieUtil.php b/app/vendor/php-http/message/src/CookieUtil.php deleted file mode 100644 index 44c53145e..000000000 --- a/app/vendor/php-http/message/src/CookieUtil.php +++ /dev/null @@ -1,53 +0,0 @@ - - */ -trait MessageDecorator -{ - /** - * @var MessageInterface - */ - private $message; - - /** - * Returns the decorated message. - * - * Since the underlying Message is immutable as well - * exposing it is not an issue, because it's state cannot be altered - */ - public function getMessage(): MessageInterface - { - return $this->message; - } - - public function getProtocolVersion(): string - { - return $this->message->getProtocolVersion(); - } - - public function withProtocolVersion(string $version): MessageInterface - { - $new = clone $this; - $new->message = $this->message->withProtocolVersion($version); - - return $new; - } - - public function getHeaders(): array - { - return $this->message->getHeaders(); - } - - public function hasHeader(string $header): bool - { - return $this->message->hasHeader($header); - } - - public function getHeader(string $header): array - { - return $this->message->getHeader($header); - } - - public function getHeaderLine(string $header): string - { - return $this->message->getHeaderLine($header); - } - - public function withHeader(string $header, $value): MessageInterface - { - $new = clone $this; - $new->message = $this->message->withHeader($header, $value); - - return $new; - } - - public function withAddedHeader(string $header, $value): MessageInterface - { - $new = clone $this; - $new->message = $this->message->withAddedHeader($header, $value); - - return $new; - } - - public function withoutHeader(string $header): MessageInterface - { - $new = clone $this; - $new->message = $this->message->withoutHeader($header); - - return $new; - } - - public function getBody(): StreamInterface - { - return $this->message->getBody(); - } - - public function withBody(StreamInterface $body): MessageInterface - { - $new = clone $this; - $new->message = $this->message->withBody($body); - - return $new; - } -} diff --git a/app/vendor/php-http/message/src/Decorator/RequestDecorator.php b/app/vendor/php-http/message/src/Decorator/RequestDecorator.php deleted file mode 100644 index 1392a7606..000000000 --- a/app/vendor/php-http/message/src/Decorator/RequestDecorator.php +++ /dev/null @@ -1,66 +0,0 @@ - - */ -trait RequestDecorator -{ - use MessageDecorator { - getMessage as getRequest; - } - - /** - * Exchanges the underlying request with another. - */ - public function withRequest(RequestInterface $request): RequestInterface - { - $new = clone $this; - $new->message = $request; - - return $new; - } - - public function getRequestTarget(): string - { - return $this->message->getRequestTarget(); - } - - public function withRequestTarget(string $requestTarget): RequestInterface - { - $new = clone $this; - $new->message = $this->message->withRequestTarget($requestTarget); - - return $new; - } - - public function getMethod(): string - { - return $this->message->getMethod(); - } - - public function withMethod(string $method): RequestInterface - { - $new = clone $this; - $new->message = $this->message->withMethod($method); - - return $new; - } - - public function getUri(): UriInterface - { - return $this->message->getUri(); - } - - public function withUri(UriInterface $uri, bool $preserveHost = false): RequestInterface - { - $new = clone $this; - $new->message = $this->message->withUri($uri, $preserveHost); - - return $new; - } -} diff --git a/app/vendor/php-http/message/src/Decorator/ResponseDecorator.php b/app/vendor/php-http/message/src/Decorator/ResponseDecorator.php deleted file mode 100644 index 0b75438de..000000000 --- a/app/vendor/php-http/message/src/Decorator/ResponseDecorator.php +++ /dev/null @@ -1,44 +0,0 @@ - - */ -trait ResponseDecorator -{ - use MessageDecorator { - getMessage as getResponse; - } - - /** - * Exchanges the underlying response with another. - */ - public function withResponse(ResponseInterface $response): ResponseInterface - { - $new = clone $this; - $new->message = $response; - - return $new; - } - - public function getStatusCode(): int - { - return $this->message->getStatusCode(); - } - - public function withStatus(int $code, string $reasonPhrase = ''): ResponseInterface - { - $new = clone $this; - $new->message = $this->message->withStatus($code, $reasonPhrase); - - return $new; - } - - public function getReasonPhrase(): string - { - return $this->message->getReasonPhrase(); - } -} diff --git a/app/vendor/php-http/message/src/Decorator/StreamDecorator.php b/app/vendor/php-http/message/src/Decorator/StreamDecorator.php deleted file mode 100644 index 90d93b4d4..000000000 --- a/app/vendor/php-http/message/src/Decorator/StreamDecorator.php +++ /dev/null @@ -1,93 +0,0 @@ - - */ -trait StreamDecorator -{ - /** - * @var StreamInterface - */ - protected $stream; - - public function __toString(): string - { - return $this->stream->__toString(); - } - - public function close(): void - { - $this->stream->close(); - } - - public function detach() - { - return $this->stream->detach(); - } - - public function getSize(): ?int - { - return $this->stream->getSize(); - } - - public function tell(): int - { - return $this->stream->tell(); - } - - public function eof(): bool - { - return $this->stream->eof(); - } - - public function isSeekable(): bool - { - return $this->stream->isSeekable(); - } - - public function seek(int $offset, int $whence = SEEK_SET): void - { - $this->stream->seek($offset, $whence); - } - - public function rewind(): void - { - $this->stream->rewind(); - } - - public function isWritable(): bool - { - return $this->stream->isWritable(); - } - - public function write(string $string): int - { - return $this->stream->write($string); - } - - public function isReadable(): bool - { - return $this->stream->isReadable(); - } - - public function read(int $length): string - { - return $this->stream->read($length); - } - - public function getContents(): string - { - return $this->stream->getContents(); - } - - public function getMetadata(?string $key = null) - { - return $this->stream->getMetadata($key); - } -} diff --git a/app/vendor/php-http/message/src/Encoding/ChunkStream.php b/app/vendor/php-http/message/src/Encoding/ChunkStream.php deleted file mode 100644 index 362ed7803..000000000 --- a/app/vendor/php-http/message/src/Encoding/ChunkStream.php +++ /dev/null @@ -1,30 +0,0 @@ - - */ -class ChunkStream extends FilteredStream -{ - protected function readFilter(): string - { - return 'chunk'; - } - - protected function writeFilter(): string - { - return 'dechunk'; - } - - protected function fill(): void - { - parent::fill(); - - if ($this->stream->eof()) { - $this->buffer .= "0\r\n\r\n"; - } - } -} diff --git a/app/vendor/php-http/message/src/Encoding/CompressStream.php b/app/vendor/php-http/message/src/Encoding/CompressStream.php deleted file mode 100644 index 7e893887a..000000000 --- a/app/vendor/php-http/message/src/Encoding/CompressStream.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ -class CompressStream extends FilteredStream -{ - /** - * @param int $level - */ - public function __construct(StreamInterface $stream, $level = -1) - { - if (!extension_loaded('zlib')) { - throw new \RuntimeException('The zlib extension must be enabled to use this stream'); - } - - parent::__construct($stream, ['window' => 15, 'level' => $level]); - - // @deprecated will be removed in 2.0 - $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => 15]); - } - - protected function readFilter(): string - { - return 'zlib.deflate'; - } - - protected function writeFilter(): string - { - return 'zlib.inflate'; - } -} diff --git a/app/vendor/php-http/message/src/Encoding/DechunkStream.php b/app/vendor/php-http/message/src/Encoding/DechunkStream.php deleted file mode 100644 index c1fe3a621..000000000 --- a/app/vendor/php-http/message/src/Encoding/DechunkStream.php +++ /dev/null @@ -1,23 +0,0 @@ - - */ -class DechunkStream extends FilteredStream -{ - protected function readFilter(): string - { - return 'dechunk'; - } - - protected function writeFilter(): string - { - return 'chunk'; - } -} diff --git a/app/vendor/php-http/message/src/Encoding/DecompressStream.php b/app/vendor/php-http/message/src/Encoding/DecompressStream.php deleted file mode 100644 index aa3fdf0fa..000000000 --- a/app/vendor/php-http/message/src/Encoding/DecompressStream.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ -class DecompressStream extends FilteredStream -{ - /** - * @param int $level - */ - public function __construct(StreamInterface $stream, $level = -1) - { - if (!extension_loaded('zlib')) { - throw new \RuntimeException('The zlib extension must be enabled to use this stream'); - } - - parent::__construct($stream, ['window' => 15]); - - // @deprecated will be removed in 2.0 - $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => 15, 'level' => $level]); - } - - protected function readFilter(): string - { - return 'zlib.inflate'; - } - - protected function writeFilter(): string - { - return 'zlib.deflate'; - } -} diff --git a/app/vendor/php-http/message/src/Encoding/DeflateStream.php b/app/vendor/php-http/message/src/Encoding/DeflateStream.php deleted file mode 100644 index d8d8a8a11..000000000 --- a/app/vendor/php-http/message/src/Encoding/DeflateStream.php +++ /dev/null @@ -1,35 +0,0 @@ - - */ -class DeflateStream extends FilteredStream -{ - /** - * @param int $level - */ - public function __construct(StreamInterface $stream, $level = -1) - { - parent::__construct($stream, ['window' => -15, 'level' => $level]); - - // @deprecated will be removed in 2.0 - $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => -15]); - } - - protected function readFilter(): string - { - return 'zlib.deflate'; - } - - protected function writeFilter(): string - { - return 'zlib.inflate'; - } -} diff --git a/app/vendor/php-http/message/src/Encoding/Filter/Chunk.php b/app/vendor/php-http/message/src/Encoding/Filter/Chunk.php deleted file mode 100644 index 7a9e18f5b..000000000 --- a/app/vendor/php-http/message/src/Encoding/Filter/Chunk.php +++ /dev/null @@ -1,27 +0,0 @@ - - */ -class Chunk extends \php_user_filter -{ - public function filter($in, $out, &$consumed, $closing): int - { - while ($bucket = stream_bucket_make_writeable($in)) { - $lenbucket = stream_bucket_new($this->stream, dechex($bucket->datalen)."\r\n"); - stream_bucket_append($out, $lenbucket); - - $consumed += $bucket->datalen; - stream_bucket_append($out, $bucket); - - $lenbucket = stream_bucket_new($this->stream, "\r\n"); - stream_bucket_append($out, $lenbucket); - } - - return PSFS_PASS_ON; - } -} diff --git a/app/vendor/php-http/message/src/Encoding/FilteredStream.php b/app/vendor/php-http/message/src/Encoding/FilteredStream.php deleted file mode 100644 index 4bc44a6ee..000000000 --- a/app/vendor/php-http/message/src/Encoding/FilteredStream.php +++ /dev/null @@ -1,214 +0,0 @@ - - */ -abstract class FilteredStream implements StreamInterface -{ - use StreamDecorator { - rewind as private doRewind; - seek as private doSeek; - } - public const BUFFER_SIZE = 8192; - - /** - * @var callable - */ - protected $readFilterCallback; - - /** - * @var resource - * - * @deprecated since version 1.5, will be removed in 2.0 - */ - protected $readFilter; - - /** - * @var callable - * - * @deprecated since version 1.5, will be removed in 2.0 - */ - protected $writeFilterCallback; - - /** - * @var resource - * - * @deprecated since version 1.5, will be removed in 2.0 - */ - protected $writeFilter; - - /** - * Internal buffer. - * - * @var string - */ - protected $buffer = ''; - - /** - * @param mixed|null $readFilterOptions - * @param mixed|null $writeFilterOptions deprecated since 1.5, will be removed in 2.0 - */ - public function __construct(StreamInterface $stream, $readFilterOptions = null, $writeFilterOptions = null) - { - if (null !== $readFilterOptions) { - $this->readFilterCallback = Filter\fun($this->readFilter(), $readFilterOptions); - } else { - $this->readFilterCallback = Filter\fun($this->readFilter()); - } - - if (null !== $writeFilterOptions) { - $this->writeFilterCallback = Filter\fun($this->writeFilter(), $writeFilterOptions); - - @trigger_error('The $writeFilterOptions argument is deprecated since version 1.5 and will be removed in 2.0.', E_USER_DEPRECATED); - } else { - $this->writeFilterCallback = Filter\fun($this->writeFilter()); - } - - $this->stream = $stream; - } - - public function read(int $length): string - { - if (strlen($this->buffer) >= $length) { - $read = substr($this->buffer, 0, $length); - $this->buffer = substr($this->buffer, $length); - - return $read; - } - - if ($this->stream->eof()) { - $buffer = $this->buffer; - $this->buffer = ''; - - return $buffer; - } - - $read = $this->buffer; - $this->buffer = ''; - $this->fill(); - - return $read.$this->read($length - strlen($read)); - } - - public function eof(): bool - { - return $this->stream->eof() && '' === $this->buffer; - } - - /** - * Buffer is filled by reading underlying stream. - * - * Callback is reading once more even if the stream is ended. - * This allow to get last data in the PHP buffer otherwise this - * bug is present : https://bugs.php.net/bug.php?id=48725 - */ - protected function fill(): void - { - $readFilterCallback = $this->readFilterCallback; - $this->buffer .= $readFilterCallback($this->stream->read(self::BUFFER_SIZE)); - - if ($this->stream->eof()) { - $this->buffer .= $readFilterCallback(); - } - } - - public function getContents(): string - { - $buffer = ''; - - while (!$this->eof()) { - $buf = $this->read(self::BUFFER_SIZE); - // Using a loose equality here to match on '' and false. - if (null == $buf) { - break; - } - - $buffer .= $buf; - } - - return $buffer; - } - - /** - * Always returns null because we can't tell the size of a stream when we filter. - */ - public function getSize(): ?int - { - return null; - } - - public function __toString(): string - { - return $this->getContents(); - } - - /** - * Filtered streams are not seekable. - * - * We would need to buffer and process everything to allow seeking. - */ - public function isSeekable(): bool - { - return false; - } - - /** - * Filtered streams are not seekable and can thus not be rewound. - */ - public function rewind(): void - { - @trigger_error('Filtered streams are not seekable. This method will start raising an exception in the next major version', E_USER_DEPRECATED); - $this->doRewind(); - } - - /** - * Filtered streams are not seekable. - */ - public function seek(int $offset, int $whence = SEEK_SET): void - { - @trigger_error('Filtered streams are not seekable. This method will start raising an exception in the next major version', E_USER_DEPRECATED); - $this->doSeek($offset, $whence); - } - - /** - * Returns the read filter name. - * - * @deprecated since version 1.5, will be removed in 2.0 - */ - public function getReadFilter(): string - { - @trigger_error('The '.__CLASS__.'::'.__METHOD__.' method is deprecated since version 1.5 and will be removed in 2.0.', E_USER_DEPRECATED); - - return $this->readFilter(); - } - - /** - * Returns the write filter name. - */ - abstract protected function readFilter(): string; - - /** - * Returns the write filter name. - * - * @deprecated since version 1.5, will be removed in 2.0 - */ - public function getWriteFilter(): string - { - @trigger_error('The '.__CLASS__.'::'.__METHOD__.' method is deprecated since version 1.5 and will be removed in 2.0.', E_USER_DEPRECATED); - - return $this->writeFilter(); - } - - /** - * Returns the write filter name. - */ - abstract protected function writeFilter(): string; -} diff --git a/app/vendor/php-http/message/src/Encoding/GzipDecodeStream.php b/app/vendor/php-http/message/src/Encoding/GzipDecodeStream.php deleted file mode 100644 index 78ecc840f..000000000 --- a/app/vendor/php-http/message/src/Encoding/GzipDecodeStream.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ -class GzipDecodeStream extends FilteredStream -{ - /** - * @param int $level - */ - public function __construct(StreamInterface $stream, $level = -1) - { - if (!extension_loaded('zlib')) { - throw new \RuntimeException('The zlib extension must be enabled to use this stream'); - } - - parent::__construct($stream, ['window' => 31]); - - // @deprecated will be removed in 2.0 - $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => 31, 'level' => $level]); - } - - protected function readFilter(): string - { - return 'zlib.inflate'; - } - - protected function writeFilter(): string - { - return 'zlib.deflate'; - } -} diff --git a/app/vendor/php-http/message/src/Encoding/GzipEncodeStream.php b/app/vendor/php-http/message/src/Encoding/GzipEncodeStream.php deleted file mode 100644 index 7ffa49994..000000000 --- a/app/vendor/php-http/message/src/Encoding/GzipEncodeStream.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ -class GzipEncodeStream extends FilteredStream -{ - /** - * @param int $level - */ - public function __construct(StreamInterface $stream, $level = -1) - { - if (!extension_loaded('zlib')) { - throw new \RuntimeException('The zlib extension must be enabled to use this stream'); - } - - parent::__construct($stream, ['window' => 31, 'level' => $level]); - - // @deprecated will be removed in 2.0 - $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => 31]); - } - - protected function readFilter(): string - { - return 'zlib.deflate'; - } - - protected function writeFilter(): string - { - return 'zlib.inflate'; - } -} diff --git a/app/vendor/php-http/message/src/Encoding/InflateStream.php b/app/vendor/php-http/message/src/Encoding/InflateStream.php deleted file mode 100644 index 1abe88e21..000000000 --- a/app/vendor/php-http/message/src/Encoding/InflateStream.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ -class InflateStream extends FilteredStream -{ - /** - * @param int $level - */ - public function __construct(StreamInterface $stream, $level = -1) - { - if (!extension_loaded('zlib')) { - throw new \RuntimeException('The zlib extension must be enabled to use this stream'); - } - - parent::__construct($stream, ['window' => -15]); - - // @deprecated will be removed in 2.0 - $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => -15, 'level' => $level]); - } - - protected function readFilter(): string - { - return 'zlib.inflate'; - } - - protected function writeFilter(): string - { - return 'zlib.deflate'; - } -} diff --git a/app/vendor/php-http/message/src/Exception.php b/app/vendor/php-http/message/src/Exception.php deleted file mode 100644 index 80d4cd9de..000000000 --- a/app/vendor/php-http/message/src/Exception.php +++ /dev/null @@ -1,10 +0,0 @@ - - * - * The formatResponseForRequest method will be added to this interface in the next major version, replacing the formatRequest method. - * Meanwhile, callers SHOULD check the formatter for the existence of formatResponseForRequest and call that if available. - * - * @method string formatResponseForRequest(ResponseInterface $response, RequestInterface $request) Formats a response in context of its request. - */ -interface Formatter -{ - /** - * Formats a request. - * - * @return string - */ - public function formatRequest(RequestInterface $request); - - /** - * @deprecated since 1.13, use formatResponseForRequest() instead - * - * Formats a response. - * - * @return string - */ - public function formatResponse(ResponseInterface $response); -} diff --git a/app/vendor/php-http/message/src/Formatter/CurlCommandFormatter.php b/app/vendor/php-http/message/src/Formatter/CurlCommandFormatter.php deleted file mode 100644 index 1878cadc9..000000000 --- a/app/vendor/php-http/message/src/Formatter/CurlCommandFormatter.php +++ /dev/null @@ -1,97 +0,0 @@ - - */ -class CurlCommandFormatter implements Formatter -{ - public function formatRequest(RequestInterface $request) - { - $command = sprintf('curl %s', escapeshellarg((string) $request->getUri()->withFragment(''))); - if ('1.0' === $request->getProtocolVersion()) { - $command .= ' --http1.0'; - } elseif ('2.0' === $request->getProtocolVersion()) { - $command .= ' --http2'; - } - - $method = strtoupper($request->getMethod()); - if ('HEAD' === $method) { - $command .= ' --head'; - } elseif ('GET' !== $method) { - $command .= ' --request '.$method; - } - - $command .= $this->getHeadersAsCommandOptions($request); - - $body = $request->getBody(); - if ($body->getSize() > 0) { - // escapeshellarg argument max length on Windows, but longer body in curl command would be impractical anyways - if ($body->getSize() > 8192) { - $data = '[too long stream omitted]'; - } elseif ($body->isSeekable()) { - $data = $body->__toString(); - $body->rewind(); - // all non-printable ASCII characters and except for \t, \r, \n - if (preg_match('/([\x00-\x09\x0C\x0E-\x1F\x7F])/', $data)) { - $data = '[binary stream omitted]'; - } - } else { - $data = '[non-seekable stream omitted]'; - } - $escapedData = @escapeshellarg($data); - if (empty($escapedData)) { - $escapedData = 'We couldn\'t not escape the data properly'; - } - - $command .= sprintf(' --data %s', $escapedData); - } - - return $command; - } - - public function formatResponse(ResponseInterface $response) - { - return ''; - } - - /** - * Formats a response in context of its request. - * - * @return string - */ - public function formatResponseForRequest(ResponseInterface $response, RequestInterface $request) - { - return $this->formatResponse($response); - } - - /** - * @return string - */ - private function getHeadersAsCommandOptions(RequestInterface $request) - { - $command = ''; - foreach ($request->getHeaders() as $name => $values) { - if ('host' === strtolower($name) && $values[0] === $request->getUri()->getHost()) { - continue; - } - - if ('user-agent' === strtolower($name)) { - $command .= sprintf(' -A %s', escapeshellarg($values[0])); - - continue; - } - - $command .= sprintf(' -H %s', escapeshellarg($name.': '.$request->getHeaderLine($name))); - } - - return $command; - } -} diff --git a/app/vendor/php-http/message/src/Formatter/FullHttpMessageFormatter.php b/app/vendor/php-http/message/src/Formatter/FullHttpMessageFormatter.php deleted file mode 100644 index 116b2dd83..000000000 --- a/app/vendor/php-http/message/src/Formatter/FullHttpMessageFormatter.php +++ /dev/null @@ -1,110 +0,0 @@ - - */ -class FullHttpMessageFormatter implements Formatter -{ - /** - * The maximum length of the body. - * - * @var int|null - */ - private $maxBodyLength; - - /** - * @var string - */ - private $binaryDetectionRegex; - - /** - * @param int|null $maxBodyLength - * @param string $binaryDetectionRegex By default, this is all non-printable ASCII characters and except for \t, \r, \n - */ - public function __construct($maxBodyLength = 1000, string $binaryDetectionRegex = '/([\x00-\x09\x0C\x0E-\x1F\x7F])/') - { - $this->maxBodyLength = $maxBodyLength; - $this->binaryDetectionRegex = $binaryDetectionRegex; - } - - public function formatRequest(RequestInterface $request) - { - $message = sprintf( - "%s %s HTTP/%s\n", - $request->getMethod(), - $request->getRequestTarget(), - $request->getProtocolVersion() - ); - - foreach ($request->getHeaders() as $name => $values) { - $message .= $name.': '.implode(', ', $values)."\n"; - } - - return $this->addBody($request, $message); - } - - public function formatResponse(ResponseInterface $response) - { - $message = sprintf( - "HTTP/%s %s %s\n", - $response->getProtocolVersion(), - $response->getStatusCode(), - $response->getReasonPhrase() - ); - - foreach ($response->getHeaders() as $name => $values) { - $message .= $name.': '.implode(', ', $values)."\n"; - } - - return $this->addBody($response, $message); - } - - /** - * Formats a response in context of its request. - * - * @return string - */ - public function formatResponseForRequest(ResponseInterface $response, RequestInterface $request) - { - return $this->formatResponse($response); - } - - /** - * Add the message body if the stream is seekable. - * - * @param string $message - * - * @return string - */ - private function addBody(MessageInterface $request, $message) - { - $message .= "\n"; - $stream = $request->getBody(); - if (!$stream->isSeekable() || 0 === $this->maxBodyLength) { - // Do not read the stream - return $message; - } - - $data = $stream->__toString(); - $stream->rewind(); - - if (preg_match($this->binaryDetectionRegex, $data)) { - return $message.'[binary stream omitted]'; - } - - if (null === $this->maxBodyLength) { - return $message.$data; - } - - return $message.mb_substr($data, 0, $this->maxBodyLength); - } -} diff --git a/app/vendor/php-http/message/src/Formatter/SimpleFormatter.php b/app/vendor/php-http/message/src/Formatter/SimpleFormatter.php deleted file mode 100644 index c8b045005..000000000 --- a/app/vendor/php-http/message/src/Formatter/SimpleFormatter.php +++ /dev/null @@ -1,46 +0,0 @@ - - * @author Márk Sági-Kazár - */ -class SimpleFormatter implements Formatter -{ - public function formatRequest(RequestInterface $request) - { - return sprintf( - '%s %s %s', - $request->getMethod(), - $request->getUri()->__toString(), - $request->getProtocolVersion() - ); - } - - public function formatResponse(ResponseInterface $response) - { - return sprintf( - '%s %s %s', - $response->getStatusCode(), - $response->getReasonPhrase(), - $response->getProtocolVersion() - ); - } - - /** - * Formats a response in context of its request. - * - * @return string - */ - public function formatResponseForRequest(ResponseInterface $response, RequestInterface $request) - { - return $this->formatResponse($response); - } -} diff --git a/app/vendor/php-http/message/src/MessageFactory/DiactorosMessageFactory.php b/app/vendor/php-http/message/src/MessageFactory/DiactorosMessageFactory.php deleted file mode 100644 index c13f57383..000000000 --- a/app/vendor/php-http/message/src/MessageFactory/DiactorosMessageFactory.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Diactoros PSR-17 factory - */ -final class DiactorosMessageFactory implements MessageFactory -{ - /** - * @var DiactorosStreamFactory - */ - private $streamFactory; - - public function __construct() - { - $this->streamFactory = new DiactorosStreamFactory(); - } - - public function createRequest( - $method, - $uri, - array $headers = [], - $body = null, - $protocolVersion = '1.1' - ) { - if (class_exists(LaminasRequest::class)) { - return (new LaminasRequest( - $uri, - $method, - $this->streamFactory->createStream($body), - $headers - ))->withProtocolVersion($protocolVersion); - } - - return (new ZendRequest( - $uri, - $method, - $this->streamFactory->createStream($body), - $headers - ))->withProtocolVersion($protocolVersion); - } - - public function createResponse( - $statusCode = 200, - $reasonPhrase = null, - array $headers = [], - $body = null, - $protocolVersion = '1.1' - ) { - if (class_exists(LaminasResponse::class)) { - return (new LaminasResponse( - $this->streamFactory->createStream($body), - $statusCode, - $headers - ))->withProtocolVersion($protocolVersion); - } - - return (new ZendResponse( - $this->streamFactory->createStream($body), - $statusCode, - $headers - ))->withProtocolVersion($protocolVersion); - } -} diff --git a/app/vendor/php-http/message/src/MessageFactory/GuzzleMessageFactory.php b/app/vendor/php-http/message/src/MessageFactory/GuzzleMessageFactory.php deleted file mode 100644 index 8844f7487..000000000 --- a/app/vendor/php-http/message/src/MessageFactory/GuzzleMessageFactory.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Guzzle PSR-17 factory - */ -final class GuzzleMessageFactory implements MessageFactory -{ - public function createRequest( - $method, - $uri, - array $headers = [], - $body = null, - $protocolVersion = '1.1' - ) { - return new Request( - $method, - $uri, - $headers, - $body, - $protocolVersion - ); - } - - public function createResponse( - $statusCode = 200, - $reasonPhrase = null, - array $headers = [], - $body = null, - $protocolVersion = '1.1' - ) { - return new Response( - $statusCode, - $headers, - $body, - $protocolVersion, - $reasonPhrase - ); - } -} diff --git a/app/vendor/php-http/message/src/MessageFactory/SlimMessageFactory.php b/app/vendor/php-http/message/src/MessageFactory/SlimMessageFactory.php deleted file mode 100644 index 118799c0a..000000000 --- a/app/vendor/php-http/message/src/MessageFactory/SlimMessageFactory.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Slim PSR-17 factory - */ -final class SlimMessageFactory implements MessageFactory -{ - /** - * @var SlimStreamFactory - */ - private $streamFactory; - - /** - * @var SlimUriFactory - */ - private $uriFactory; - - public function __construct() - { - $this->streamFactory = new SlimStreamFactory(); - $this->uriFactory = new SlimUriFactory(); - } - - public function createRequest( - $method, - $uri, - array $headers = [], - $body = null, - $protocolVersion = '1.1' - ) { - return (new Request( - $method, - $this->uriFactory->createUri($uri), - new Headers($headers), - [], - [], - $this->streamFactory->createStream($body), - [] - ))->withProtocolVersion($protocolVersion); - } - - public function createResponse( - $statusCode = 200, - $reasonPhrase = null, - array $headers = [], - $body = null, - $protocolVersion = '1.1' - ) { - return (new Response( - $statusCode, - new Headers($headers), - $this->streamFactory->createStream($body) - ))->withProtocolVersion($protocolVersion); - } -} diff --git a/app/vendor/php-http/message/src/RequestMatcher.php b/app/vendor/php-http/message/src/RequestMatcher.php deleted file mode 100644 index 94fe53240..000000000 --- a/app/vendor/php-http/message/src/RequestMatcher.php +++ /dev/null @@ -1,26 +0,0 @@ - - */ -interface RequestMatcher -{ - /** - * Decides whether the rule(s) implemented by the strategy matches the supplied request. - * - * @param RequestInterface $request The PSR7 request to check for a match - * - * @return bool true if the request matches, false otherwise - */ - public function matches(RequestInterface $request); -} diff --git a/app/vendor/php-http/message/src/RequestMatcher/CallbackRequestMatcher.php b/app/vendor/php-http/message/src/RequestMatcher/CallbackRequestMatcher.php deleted file mode 100644 index 659e6e319..000000000 --- a/app/vendor/php-http/message/src/RequestMatcher/CallbackRequestMatcher.php +++ /dev/null @@ -1,29 +0,0 @@ - - */ -final class CallbackRequestMatcher implements RequestMatcher -{ - /** - * @var callable - */ - private $callback; - - public function __construct(callable $callback) - { - $this->callback = $callback; - } - - public function matches(RequestInterface $request) - { - return (bool) call_user_func($this->callback, $request); - } -} diff --git a/app/vendor/php-http/message/src/RequestMatcher/RegexRequestMatcher.php b/app/vendor/php-http/message/src/RequestMatcher/RegexRequestMatcher.php deleted file mode 100644 index 253d9bcec..000000000 --- a/app/vendor/php-http/message/src/RequestMatcher/RegexRequestMatcher.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * @deprecated since version 1.2 and will be removed in 2.0. Use {@link RequestMatcher} instead. - */ -final class RegexRequestMatcher implements RequestMatcher -{ - /** - * Matching regex. - * - * @var string - */ - private $regex; - - /** - * @param string $regex - */ - public function __construct($regex) - { - $this->regex = $regex; - } - - public function matches(RequestInterface $request) - { - return (bool) preg_match($this->regex, (string) $request->getUri()); - } -} diff --git a/app/vendor/php-http/message/src/RequestMatcher/RequestMatcher.php b/app/vendor/php-http/message/src/RequestMatcher/RequestMatcher.php deleted file mode 100644 index 4b28cccdf..000000000 --- a/app/vendor/php-http/message/src/RequestMatcher/RequestMatcher.php +++ /dev/null @@ -1,76 +0,0 @@ - - * @author Joel Wurtz - */ -final class RequestMatcher implements RequestMatcherInterface -{ - /** - * @var string - */ - private $path; - - /** - * @var string - */ - private $host; - - /** - * @var array - */ - private $methods = []; - - /** - * @var string[] - */ - private $schemes = []; - - /** - * The regular expressions used for path or host must be specified without delimiter. - * You do not need to escape the forward slash / to match it. - * - * @param string|null $path Regular expression for the path - * @param string|null $host Regular expression for the hostname - * @param string|string[]|null $methods Method or list of methods to match - * @param string|string[]|null $schemes Scheme or list of schemes to match (e.g. http or https) - */ - public function __construct($path = null, $host = null, $methods = [], $schemes = []) - { - $this->path = $path; - $this->host = $host; - $this->methods = array_map('strtoupper', (array) $methods); - $this->schemes = array_map('strtolower', (array) $schemes); - } - - /** - * @api - */ - public function matches(RequestInterface $request) - { - if ($this->schemes && !in_array($request->getUri()->getScheme(), $this->schemes)) { - return false; - } - - if ($this->methods && !in_array($request->getMethod(), $this->methods)) { - return false; - } - - if (null !== $this->path && !preg_match('{'.$this->path.'}', rawurldecode($request->getUri()->getPath()))) { - return false; - } - - if (null !== $this->host && !preg_match('{'.$this->host.'}i', $request->getUri()->getHost())) { - return false; - } - - return true; - } -} diff --git a/app/vendor/php-http/message/src/Stream/BufferedStream.php b/app/vendor/php-http/message/src/Stream/BufferedStream.php deleted file mode 100644 index 289ff8cf1..000000000 --- a/app/vendor/php-http/message/src/Stream/BufferedStream.php +++ /dev/null @@ -1,237 +0,0 @@ -stream = $stream; - $this->size = $stream->getSize(); - - if ($useFileBuffer) { - $this->resource = fopen('php://temp/maxmemory:'.$memoryBuffer, 'rw+'); - } else { - $this->resource = fopen('php://memory', 'rw+'); - } - - if (false === $this->resource) { - throw new \RuntimeException('Cannot create a resource over temp or memory implementation'); - } - } - - public function __toString(): string - { - try { - $this->rewind(); - - return $this->getContents(); - } catch (\Throwable $throwable) { - return ''; - } - } - - public function close(): void - { - if (null === $this->resource) { - throw new \RuntimeException('Cannot close on a detached stream'); - } - - $this->stream->close(); - fclose($this->resource); - } - - public function detach() - { - if (null === $this->resource) { - return null; - } - - // Force reading the remaining data of the stream - $this->getContents(); - - $resource = $this->resource; - $this->stream->close(); - $this->stream = null; - $this->resource = null; - - return $resource; - } - - public function getSize(): ?int - { - if (null === $this->resource) { - return null; - } - - if (null === $this->size && $this->stream->eof()) { - return $this->written; - } - - return $this->size; - } - - public function tell(): int - { - if (null === $this->resource) { - throw new \RuntimeException('Cannot tell on a detached stream'); - } - - $tell = ftell($this->resource); - if (false === $tell) { - throw new \RuntimeException('ftell failed'); - } - - return $tell; - } - - public function eof(): bool - { - if (null === $this->resource) { - throw new \RuntimeException('Cannot call eof on a detached stream'); - } - - // We are at the end only when both our resource and underlying stream are at eof - return $this->stream->eof() && (ftell($this->resource) === $this->written); - } - - public function isSeekable(): bool - { - return null !== $this->resource; - } - - public function seek(int $offset, int $whence = SEEK_SET): void - { - if (null === $this->resource) { - throw new \RuntimeException('Cannot seek on a detached stream'); - } - - fseek($this->resource, $offset, $whence); - } - - public function rewind(): void - { - if (null === $this->resource) { - throw new \RuntimeException('Cannot rewind on a detached stream'); - } - - rewind($this->resource); - } - - public function isWritable(): bool - { - return false; - } - - public function write(string $string): int - { - throw new \RuntimeException('Cannot write on this stream'); - } - - public function isReadable(): bool - { - return null !== $this->resource; - } - - public function read(int $length): string - { - if (null === $this->resource) { - throw new \RuntimeException('Cannot read on a detached stream'); - } - if ($length < 0) { - throw new \InvalidArgumentException('Can not read a negative amount of bytes'); - } - if (0 === $length) { - return ''; - } - - $read = ''; - - // First read from the resource - if (ftell($this->resource) !== $this->written) { - $read = fread($this->resource, $length); - } - if (false === $read) { - throw new \RuntimeException('Failed to read from resource'); - } - - $bytesRead = strlen($read); - - if ($bytesRead < $length) { - $streamRead = $this->stream->read($length - $bytesRead); - - // Write on the underlying stream what we read - $this->written += fwrite($this->resource, $streamRead); - $read .= $streamRead; - } - - return $read; - } - - public function getContents(): string - { - if (null === $this->resource) { - throw new \RuntimeException('Cannot read on a detached stream'); - } - - $read = ''; - - while (!$this->eof()) { - $read .= $this->read(8192); - } - - return $read; - } - - public function getMetadata(?string $key = null) - { - if (null === $this->resource) { - if (null === $key) { - return []; - } - - return null; - } - - $metadata = stream_get_meta_data($this->resource); - - if (null === $key) { - return $metadata; - } - - if (!array_key_exists($key, $metadata)) { - return null; - } - - return $metadata[$key]; - } -} diff --git a/app/vendor/php-http/message/src/StreamFactory/DiactorosStreamFactory.php b/app/vendor/php-http/message/src/StreamFactory/DiactorosStreamFactory.php deleted file mode 100644 index 1b8c6f494..000000000 --- a/app/vendor/php-http/message/src/StreamFactory/DiactorosStreamFactory.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Diactoros PSR-17 factory - */ -final class DiactorosStreamFactory implements StreamFactory -{ - public function createStream($body = null) - { - if ($body instanceof StreamInterface) { - return $body; - } - - if (is_resource($body)) { - if (class_exists(LaminasStream::class)) { - return new LaminasStream($body); - } - - return new ZendStream($body); - } - - if (class_exists(LaminasStream::class)) { - $stream = new LaminasStream('php://memory', 'rw'); - } else { - $stream = new ZendStream('php://memory', 'rw'); - } - - if (null !== $body && '' !== $body) { - $stream->write((string) $body); - } - - return $stream; - } -} diff --git a/app/vendor/php-http/message/src/StreamFactory/GuzzleStreamFactory.php b/app/vendor/php-http/message/src/StreamFactory/GuzzleStreamFactory.php deleted file mode 100644 index f74bc5bb4..000000000 --- a/app/vendor/php-http/message/src/StreamFactory/GuzzleStreamFactory.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Guzzle PSR-17 factory - */ -final class GuzzleStreamFactory implements StreamFactory -{ - public function createStream($body = null) - { - if (class_exists(Utils::class)) { - return Utils::streamFor($body); - } - - // legacy support for guzzle/psr7 1.* - return \GuzzleHttp\Psr7\stream_for($body); - } -} diff --git a/app/vendor/php-http/message/src/StreamFactory/SlimStreamFactory.php b/app/vendor/php-http/message/src/StreamFactory/SlimStreamFactory.php deleted file mode 100644 index 4cfa9ae42..000000000 --- a/app/vendor/php-http/message/src/StreamFactory/SlimStreamFactory.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Slim PSR-17 factory - */ -final class SlimStreamFactory implements StreamFactory -{ - public function createStream($body = null) - { - if ($body instanceof StreamInterface) { - return $body; - } - - if (is_resource($body)) { - return new Stream($body); - } - - $resource = fopen('php://memory', 'r+'); - $stream = new Stream($resource); - if (null !== $body && '' !== $body) { - $stream->write((string) $body); - } - - return $stream; - } -} diff --git a/app/vendor/php-http/message/src/UriFactory/DiactorosUriFactory.php b/app/vendor/php-http/message/src/UriFactory/DiactorosUriFactory.php deleted file mode 100644 index 84d5397c9..000000000 --- a/app/vendor/php-http/message/src/UriFactory/DiactorosUriFactory.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Diactoros PSR-17 factory - */ -final class DiactorosUriFactory implements UriFactory -{ - public function createUri($uri) - { - if ($uri instanceof UriInterface) { - return $uri; - } elseif (is_string($uri)) { - if (class_exists(LaminasUri::class)) { - return new LaminasUri($uri); - } - - return new ZendUri($uri); - } - - throw new \InvalidArgumentException('URI must be a string or UriInterface'); - } -} diff --git a/app/vendor/php-http/message/src/UriFactory/GuzzleUriFactory.php b/app/vendor/php-http/message/src/UriFactory/GuzzleUriFactory.php deleted file mode 100644 index deac2307c..000000000 --- a/app/vendor/php-http/message/src/UriFactory/GuzzleUriFactory.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Guzzle PSR-17 factory - */ -final class GuzzleUriFactory implements UriFactory -{ - public function createUri($uri) - { - if (class_exists(Utils::class)) { - return Utils::uriFor($uri); - } - - return uri_for($uri); - } -} diff --git a/app/vendor/php-http/message/src/UriFactory/SlimUriFactory.php b/app/vendor/php-http/message/src/UriFactory/SlimUriFactory.php deleted file mode 100644 index e4ff079b0..000000000 --- a/app/vendor/php-http/message/src/UriFactory/SlimUriFactory.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * @deprecated This will be removed in php-http/message2.0. Consider using the official Slim PSR-17 factory - */ -final class SlimUriFactory implements UriFactory -{ - public function createUri($uri) - { - if ($uri instanceof UriInterface) { - return $uri; - } - - if (is_string($uri)) { - return Uri::createFromString($uri); - } - - throw new \InvalidArgumentException('URI must be a string or UriInterface'); - } -} diff --git a/app/vendor/php-http/message/src/filters.php b/app/vendor/php-http/message/src/filters.php deleted file mode 100644 index 15ed73de7..000000000 --- a/app/vendor/php-http/message/src/filters.php +++ /dev/null @@ -1,6 +0,0 @@ - - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/php-http/multipart-stream-builder/README.md b/app/vendor/php-http/multipart-stream-builder/README.md deleted file mode 100644 index a1c30fa75..000000000 --- a/app/vendor/php-http/multipart-stream-builder/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# PSR-7 Multipart Stream Builder - -[![Latest Version](https://img.shields.io/github/release/php-http/multipart-stream-builder.svg?style=flat-square)](https://github.com/php-http/multipart-stream-builder/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![Build Status](https://github.com/php-http/multipart-stream-builder/actions/workflows/tests.yml/badge.svg)](https://github.com/php-http/multipart-stream-builder/actions/workflows/tests.yml) -[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/php-http/multipart-stream-builder.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/multipart-stream-builder) -[![Quality Score](https://img.shields.io/scrutinizer/g/php-http/multipart-stream-builder.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/multipart-stream-builder) -[![Total Downloads](https://img.shields.io/packagist/dt/php-http/multipart-stream-builder.svg?style=flat-square)](https://packagist.org/packages/php-http/multipart-stream-builder) - -**A builder for Multipart PSR-7 Streams. The builder create streams independenly form any PSR-7 implementation.** - - -## Install - -Via Composer - -``` bash -$ composer require php-http/multipart-stream-builder -``` - -## Documentation - -Please see the [official documentation](http://php-http.readthedocs.org/en/latest/components/multipart-stream-builder.html). - - -## Contributing - -Please see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details. - - -## Security - -If you discover any security related issues, please contact us at [security@php-http.org](mailto:security@php-http.org). - - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/php-http/multipart-stream-builder/composer.json b/app/vendor/php-http/multipart-stream-builder/composer.json deleted file mode 100644 index 1aebe6188..000000000 --- a/app/vendor/php-http/multipart-stream-builder/composer.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "php-http/multipart-stream-builder", - "description": "A builder class that help you create a multipart stream", - "license": "MIT", - "keywords": ["http", "factory", "message", "stream", "multipart stream"], - "homepage": "http://php-http.org", - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "require": { - "php": "^7.1 || ^8.0", - "php-http/discovery": "^1.15", - "psr/http-factory-implementation": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3", - "php-http/message": "^1.5", - "php-http/message-factory": "^1.0.2", - "nyholm/psr7": "^1.0" - }, - "autoload": { - "psr-4": { - "Http\\Message\\MultipartStream\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "tests\\Http\\Message\\MultipartStream\\": "tests/" - } - }, - "scripts": { - "test": "vendor/bin/phpunit", - "test-ci": "vendor/bin/phpunit --coverage-text --coverage-clover=build/coverage.xml" - }, - "config": { - "allow-plugins": { - "php-http/discovery": false - } - } -} diff --git a/app/vendor/php-http/multipart-stream-builder/src/ApacheMimetypeHelper.php b/app/vendor/php-http/multipart-stream-builder/src/ApacheMimetypeHelper.php deleted file mode 100644 index 45298e378..000000000 --- a/app/vendor/php-http/multipart-stream-builder/src/ApacheMimetypeHelper.php +++ /dev/null @@ -1,143 +0,0 @@ - - */ -class ApacheMimetypeHelper implements MimetypeHelper -{ - /** - * {@inheritdoc} - * - * @see http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types - */ - public function getMimetypeFromFilename($filename) - { - return $this->getMimetypeFromExtension(pathinfo($filename, PATHINFO_EXTENSION)); - } - - /** - * {@inheritdoc} - * - * @see http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types - */ - public function getMimetypeFromExtension($extension) - { - static $mimetypes = [ - '7z' => 'application/x-7z-compressed', - 'aac' => 'audio/x-aac', - 'ai' => 'application/postscript', - 'aif' => 'audio/x-aiff', - 'asc' => 'text/plain', - 'asf' => 'video/x-ms-asf', - 'atom' => 'application/atom+xml', - 'avi' => 'video/x-msvideo', - 'bmp' => 'image/bmp', - 'bz2' => 'application/x-bzip2', - 'cer' => 'application/pkix-cert', - 'crl' => 'application/pkix-crl', - 'crt' => 'application/x-x509-ca-cert', - 'css' => 'text/css', - 'csv' => 'text/csv', - 'cu' => 'application/cu-seeme', - 'deb' => 'application/x-debian-package', - 'doc' => 'application/msword', - 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'dvi' => 'application/x-dvi', - 'eot' => 'application/vnd.ms-fontobject', - 'eps' => 'application/postscript', - 'epub' => 'application/epub+zip', - 'etx' => 'text/x-setext', - 'flac' => 'audio/flac', - 'flv' => 'video/x-flv', - 'gif' => 'image/gif', - 'gz' => 'application/gzip', - 'htm' => 'text/html', - 'html' => 'text/html', - 'ico' => 'image/x-icon', - 'ics' => 'text/calendar', - 'ini' => 'text/plain', - 'iso' => 'application/x-iso9660-image', - 'jar' => 'application/java-archive', - 'jpe' => 'image/jpeg', - 'jpeg' => 'image/jpeg', - 'jpg' => 'image/jpeg', - 'js' => 'text/javascript', - 'json' => 'application/json', - 'latex' => 'application/x-latex', - 'log' => 'text/plain', - 'm4a' => 'audio/mp4', - 'm4v' => 'video/mp4', - 'mid' => 'audio/midi', - 'midi' => 'audio/midi', - 'mov' => 'video/quicktime', - 'mp3' => 'audio/mpeg', - 'mp4' => 'video/mp4', - 'mp4a' => 'audio/mp4', - 'mp4v' => 'video/mp4', - 'mpe' => 'video/mpeg', - 'mpeg' => 'video/mpeg', - 'mpg' => 'video/mpeg', - 'mpg4' => 'video/mp4', - 'oga' => 'audio/ogg', - 'ogg' => 'audio/ogg', - 'ogv' => 'video/ogg', - 'ogx' => 'application/ogg', - 'pbm' => 'image/x-portable-bitmap', - 'pdf' => 'application/pdf', - 'pgm' => 'image/x-portable-graymap', - 'png' => 'image/png', - 'pnm' => 'image/x-portable-anymap', - 'ppm' => 'image/x-portable-pixmap', - 'ppt' => 'application/vnd.ms-powerpoint', - 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'ps' => 'application/postscript', - 'qt' => 'video/quicktime', - 'rar' => 'application/x-rar-compressed', - 'ras' => 'image/x-cmu-raster', - 'rss' => 'application/rss+xml', - 'rtf' => 'application/rtf', - 'sgm' => 'text/sgml', - 'sgml' => 'text/sgml', - 'svg' => 'image/svg+xml', - 'swf' => 'application/x-shockwave-flash', - 'tar' => 'application/x-tar', - 'tif' => 'image/tiff', - 'tiff' => 'image/tiff', - 'torrent' => 'application/x-bittorrent', - 'ttf' => 'application/x-font-ttf', - 'txt' => 'text/plain', - 'wav' => 'audio/x-wav', - 'webp' => 'image/webp', - 'webm' => 'video/webm', - 'wma' => 'audio/x-ms-wma', - 'wmv' => 'video/x-ms-wmv', - 'woff' => 'application/x-font-woff', - 'wsdl' => 'application/wsdl+xml', - 'xbm' => 'image/x-xbitmap', - 'xls' => 'application/vnd.ms-excel', - 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'xml' => 'application/xml', - 'xpm' => 'image/x-xpixmap', - 'xwd' => 'image/x-xwindowdump', - 'yaml' => 'text/yaml', - 'yml' => 'text/yaml', - 'zip' => 'application/zip', - - // Non-Apache standard - 'pkpass' => 'application/vnd.apple.pkpass', - 'msg' => 'application/vnd.ms-outlook', - ]; - - $extension = strtolower($extension); - - return isset($mimetypes[$extension]) - ? $mimetypes[$extension] - : null; - } -} diff --git a/app/vendor/php-http/multipart-stream-builder/src/CustomMimetypeHelper.php b/app/vendor/php-http/multipart-stream-builder/src/CustomMimetypeHelper.php deleted file mode 100644 index 9f3f0d921..000000000 --- a/app/vendor/php-http/multipart-stream-builder/src/CustomMimetypeHelper.php +++ /dev/null @@ -1,51 +0,0 @@ - - */ -class CustomMimetypeHelper extends ApacheMimetypeHelper -{ - /** - * @var array - */ - private $mimetypes = []; - - /** - * @param array $mimetypes should be of type extension => mimetype - */ - public function __construct(array $mimetypes = []) - { - $this->mimetypes = $mimetypes; - } - - /** - * @param string $extension - * @param string $mimetype - * - * @return $this - */ - public function addMimetype($extension, $mimetype) - { - $this->mimetypes[$extension] = $mimetype; - - return $this; - } - - /** - * {@inheritdoc} - * - * Check if we have any defined mimetypes and of not fallback to ApacheMimetypeHelper - */ - public function getMimetypeFromExtension($extension) - { - $extension = strtolower($extension); - - return isset($this->mimetypes[$extension]) - ? $this->mimetypes[$extension] - : parent::getMimetypeFromExtension($extension); - } -} diff --git a/app/vendor/php-http/multipart-stream-builder/src/MimetypeHelper.php b/app/vendor/php-http/multipart-stream-builder/src/MimetypeHelper.php deleted file mode 100644 index 7b5917ff5..000000000 --- a/app/vendor/php-http/multipart-stream-builder/src/MimetypeHelper.php +++ /dev/null @@ -1,27 +0,0 @@ - - */ -interface MimetypeHelper -{ - /** - * Determines the mimetype of a file by looking at its extension. - * - * @param string $filename - * - * @return string|null - */ - public function getMimetypeFromFilename($filename); - - /** - * Maps a file extensions to a mimetype. - * - * @param string $extension The file extension - * - * @return string|null - */ - public function getMimetypeFromExtension($extension); -} diff --git a/app/vendor/php-http/multipart-stream-builder/src/MultipartStreamBuilder.php b/app/vendor/php-http/multipart-stream-builder/src/MultipartStreamBuilder.php deleted file mode 100644 index 2576c9b0c..000000000 --- a/app/vendor/php-http/multipart-stream-builder/src/MultipartStreamBuilder.php +++ /dev/null @@ -1,347 +0,0 @@ - - */ -class MultipartStreamBuilder -{ - /** - * @var HttplugStreamFactory|StreamFactoryInterface - */ - private $streamFactory; - - /** - * @var MimetypeHelper - */ - private $mimetypeHelper; - - /** - * @var string - */ - private $boundary; - - /** - * @var array Element where each Element is an array with keys ['contents', 'headers'] - */ - private $data = []; - - /** - * @param HttplugStreamFactory|StreamFactoryInterface|null $streamFactory - */ - public function __construct($streamFactory = null) - { - if ($streamFactory instanceof StreamFactoryInterface || $streamFactory instanceof HttplugStreamFactory) { - $this->streamFactory = $streamFactory; - - return; - } - - if (null !== $streamFactory) { - throw new \LogicException(sprintf( - 'First arguemnt to the constructor of "%s" must be of type "%s", "%s" or null. Got %s', - __CLASS__, - StreamFactoryInterface::class, - HttplugStreamFactory::class, - \is_object($streamFactory) ? \get_class($streamFactory) : \gettype($streamFactory) - )); - } - - // Try to find a stream factory. - try { - $this->streamFactory = Psr17FactoryDiscovery::findStreamFactory(); - } catch (NotFoundException $psr17Exception) { - try { - $this->streamFactory = StreamFactoryDiscovery::find(); - } catch (NotFoundException $httplugException) { - // we could not find any factory. - throw $psr17Exception; - } - } - } - - /** - * Add a resource to the Multipart Stream. - * - * @param string|resource|\Psr\Http\Message\StreamInterface $resource the filepath, resource or StreamInterface of the data - * @param array $headers additional headers array: ['header-name' => 'header-value'] - * - * @return MultipartStreamBuilder - */ - public function addData($resource, array $headers = []) - { - $stream = $this->createStream($resource); - $this->data[] = ['contents' => $stream, 'headers' => $headers]; - - return $this; - } - - /** - * Add a resource to the Multipart Stream. - * - * @param string $name the formpost name - * @param string|resource|StreamInterface $resource - * @param array{headers?: array, filename?: string} $options - * - * Options: - * - headers: additional headers as hashmap ['header-name' => 'header-value'] - * - filename: used to determine the mime type - * - * @return MultipartStreamBuilder - */ - public function addResource($name, $resource, array $options = []) - { - $stream = $this->createStream($resource); - - // validate options['headers'] exists - if (!isset($options['headers'])) { - $options['headers'] = []; - } - - // Try to add filename if it is missing - if (empty($options['filename'])) { - $options['filename'] = null; - $uri = $stream->getMetadata('uri'); - if ('php://' !== substr($uri, 0, 6) && 'data://' !== substr($uri, 0, 7)) { - $options['filename'] = $uri; - } - } - - $this->prepareHeaders($name, $stream, $options['filename'], $options['headers']); - - return $this->addData($stream, $options['headers']); - } - - /** - * Build the stream. - * - * @return StreamInterface - */ - public function build() - { - // Open a temporary read-write stream as buffer. - // If the size is less than predefined limit, things will stay in memory. - // If the size is more than that, things will be stored in temp file. - $buffer = fopen('php://temp', 'r+'); - foreach ($this->data as $data) { - // Add start and headers - fwrite($buffer, "--{$this->getBoundary()}\r\n". - $this->getHeaders($data['headers'])."\r\n"); - - /** @var $contentStream StreamInterface */ - $contentStream = $data['contents']; - - // Read stream into buffer - if ($contentStream->isSeekable()) { - $contentStream->rewind(); // rewind to beginning. - } - if ($contentStream->isReadable()) { - while (!$contentStream->eof()) { - // Read 1MB chunk into buffer until reached EOF. - fwrite($buffer, $contentStream->read(1048576)); - } - } else { - fwrite($buffer, $contentStream->__toString()); - } - fwrite($buffer, "\r\n"); - } - - // Append end - fwrite($buffer, "--{$this->getBoundary()}--\r\n"); - - // Rewind to starting position for reading. - fseek($buffer, 0); - - return $this->createStream($buffer); - } - - /** - * Add extra headers if they are missing. - * - * @param string $name - * @param string $filename - */ - private function prepareHeaders($name, StreamInterface $stream, $filename, array &$headers) - { - $hasFilename = '0' === $filename || $filename; - - // Set a default content-disposition header if one was not provided - if (!$this->hasHeader($headers, 'content-disposition')) { - $headers['Content-Disposition'] = sprintf('form-data; name="%s"', $name); - if ($hasFilename) { - $headers['Content-Disposition'] .= sprintf('; filename="%s"', $this->basename($filename)); - } - } - - // Set a default Content-Type if one was not provided - if (!$this->hasHeader($headers, 'content-type') && $hasFilename) { - if ($type = $this->getMimetypeHelper()->getMimetypeFromFilename($filename)) { - $headers['Content-Type'] = $type; - } - } - } - - /** - * Get the headers formatted for the HTTP message. - * - * @return string - */ - private function getHeaders(array $headers) - { - $str = ''; - foreach ($headers as $key => $value) { - $str .= sprintf("%s: %s\r\n", $key, $value); - } - - return $str; - } - - /** - * Check if header exist. - * - * @param string $key case insensitive - * - * @return bool - */ - private function hasHeader(array $headers, $key) - { - $lowercaseHeader = strtolower($key); - foreach ($headers as $k => $v) { - if (strtolower($k) === $lowercaseHeader) { - return true; - } - } - - return false; - } - - /** - * Get the boundary that separates the streams. - * - * @return string - */ - public function getBoundary() - { - if (null === $this->boundary) { - $this->boundary = uniqid('', true); - } - - return $this->boundary; - } - - /** - * @param string $boundary - * - * @return MultipartStreamBuilder - */ - public function setBoundary($boundary) - { - $this->boundary = $boundary; - - return $this; - } - - /** - * @return MimetypeHelper - */ - private function getMimetypeHelper() - { - if (null === $this->mimetypeHelper) { - $this->mimetypeHelper = new ApacheMimetypeHelper(); - } - - return $this->mimetypeHelper; - } - - /** - * If you have custom file extension you may overwrite the default MimetypeHelper with your own. - * - * @return MultipartStreamBuilder - */ - public function setMimetypeHelper(MimetypeHelper $mimetypeHelper) - { - $this->mimetypeHelper = $mimetypeHelper; - - return $this; - } - - /** - * Reset and clear all stored data. This allows you to use builder for a subsequent request. - * - * @return MultipartStreamBuilder - */ - public function reset() - { - $this->data = []; - $this->boundary = null; - - return $this; - } - - /** - * Gets the filename from a given path. - * - * PHP's basename() does not properly support streams or filenames beginning with a non-US-ASCII character. - * - * @author Drupal 8.2 - * - * @param string $path - * - * @return string - */ - private function basename($path) - { - $separators = '/'; - if (DIRECTORY_SEPARATOR != '/') { - // For Windows OS add special separator. - $separators .= DIRECTORY_SEPARATOR; - } - - // Remove right-most slashes when $path points to directory. - $path = rtrim($path, $separators); - - // Returns the trailing part of the $path starting after one of the directory separators. - $filename = preg_match('@[^'.preg_quote($separators, '@').']+$@', $path, $matches) ? $matches[0] : ''; - - return $filename; - } - - /** - * @param string|resource|StreamInterface $resource - * - * @return StreamInterface - */ - private function createStream($resource) - { - if ($resource instanceof StreamInterface) { - return $resource; - } - - if ($this->streamFactory instanceof HttplugStreamFactory) { - return $this->streamFactory->createStream($resource); - } - - // Assert: We are using a PSR17 stream factory. - if (\is_string($resource)) { - return $this->streamFactory->createStream($resource); - } - - if (\is_resource($resource)) { - return $this->streamFactory->createStreamFromResource($resource); - } - - throw new \InvalidArgumentException(sprintf('First argument to "%s::createStream()" must be a string, resource or StreamInterface.', __CLASS__)); - } -} diff --git a/app/vendor/php-http/promise/CHANGELOG.md b/app/vendor/php-http/promise/CHANGELOG.md deleted file mode 100644 index b6233683c..000000000 --- a/app/vendor/php-http/promise/CHANGELOG.md +++ /dev/null @@ -1,70 +0,0 @@ -# Change Log - -## 1.3.1 - 2024-03-15 - -- Made nullable parameter types explicit (PHP 8.4 compatibility) - -## 1.3.0 - 2024-01-04 - -### Fixed - -- Reverted generic annotations on promise - as `then` returns another promise, there seems no way to properly document this. - -## 1.2.1 - 2023-11-08 - -### Added - -- Fixed PHPDoc for `wait()` and `then()`'s `onRejected` callable - -## 1.2.0 - 2023-10-24 - -### Added - -- Generic annotations - -## 1.1.0 - 2020-07-07 - -### Added - -- Test with PHP 7.1, 7.2, 7.3, 7.4 and 8.0 - -### Removed - -- PHP 5 and 7.0 support - -### Fixed - -- Fixed PHPDoc for `Promise::then` - -## 1.0.0 - 2016-01-26 - -### Removed - -- PSR-7 dependency - - -## 1.0.0-RC1 - 2016-01-12 - -### Added - -- Tests for full coverage - -## Changed - -- Updated package files -- Clarified wait method behavior -- Contributing guide moved to the documentation - - -## 0.1.1 - 2015-12-24 - -## Added - -- Fulfilled and Rejected promise implementations - - -## 0.1.0 - 2015-12-13 - -## Added - -- Promise interface diff --git a/app/vendor/php-http/promise/LICENSE b/app/vendor/php-http/promise/LICENSE deleted file mode 100644 index 4558d6f06..000000000 --- a/app/vendor/php-http/promise/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2016 PHP HTTP Team - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/php-http/promise/README.md b/app/vendor/php-http/promise/README.md deleted file mode 100644 index 8ee4aa641..000000000 --- a/app/vendor/php-http/promise/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Promise - -[![Latest Version](https://img.shields.io/github/release/php-http/promise.svg?style=flat-square)](https://github.com/php-http/promise/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![Build Status](https://github.com/php-http/promise/actions/workflows/tests.yml/badge.svg?branch=1.x)](https://github.com/php-http/promise/actions/workflows/tests.yml) -[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/php-http/promise.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/promise) -[![Quality Score](https://img.shields.io/scrutinizer/g/php-http/promise.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/promise) -[![Total Downloads](https://img.shields.io/packagist/dt/php-http/promise.svg?style=flat-square)](https://packagist.org/packages/php-http/promise) - -**Promise used for asynchronous HTTP requests.** - -**Note:** This will eventually be removed/deprecated and replaced with the upcoming Promise PSR. - - -## Install - -Via Composer - -``` bash -$ composer require php-http/promise -``` - - -## Documentation - -Please see the [official documentation](http://docs.php-http.org/en/latest/components/promise.html). - - -## Testing - -``` bash -$ composer test -``` - - -## Contributing - -Please see our [contributing guide](http://docs.php-http.org/en/latest/development/contributing.html). - - -## Security - -If you discover any security related issues, please contact us at [security@php-http.org](mailto:security@php-http.org). - - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/php-http/promise/composer.json b/app/vendor/php-http/promise/composer.json deleted file mode 100644 index 184fd60ec..000000000 --- a/app/vendor/php-http/promise/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "php-http/promise", - "description": "Promise used for asynchronous HTTP requests", - "license": "MIT", - "keywords": ["promise"], - "homepage": "http://httplug.io", - "authors": [ - { - "name": "Joel Wurtz", - "email": "joel.wurtz@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "require": { - "php" : "^7.1 || ^8.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage" : "^4.3.2 || ^6.3", - "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" - }, - "autoload": { - "psr-4": { - "Http\\Promise\\": "src/" - } - }, - "scripts": { - "test": "vendor/bin/phpspec run", - "test-ci": "vendor/bin/phpspec run -c phpspec.yml.ci" - } -} diff --git a/app/vendor/php-http/promise/phpstan.neon.dist b/app/vendor/php-http/promise/phpstan.neon.dist deleted file mode 100644 index f8b94cf5f..000000000 --- a/app/vendor/php-http/promise/phpstan.neon.dist +++ /dev/null @@ -1,6 +0,0 @@ -parameters: - level: max - checkMissingIterableValueType: false - treatPhpDocTypesAsCertain: false - paths: - - src diff --git a/app/vendor/php-http/promise/src/FulfilledPromise.php b/app/vendor/php-http/promise/src/FulfilledPromise.php deleted file mode 100644 index ed77d469f..000000000 --- a/app/vendor/php-http/promise/src/FulfilledPromise.php +++ /dev/null @@ -1,51 +0,0 @@ - - */ -final class FulfilledPromise implements Promise -{ - /** - * @var mixed - */ - private $result; - - /** - * @param mixed $result - */ - public function __construct($result) - { - $this->result = $result; - } - - public function then(?callable $onFulfilled = null, ?callable $onRejected = null) - { - if (null === $onFulfilled) { - return $this; - } - - try { - return new self($onFulfilled($this->result)); - } catch (\Exception $e) { - return new RejectedPromise($e); - } - } - - public function getState() - { - return Promise::FULFILLED; - } - - public function wait($unwrap = true) - { - if ($unwrap) { - return $this->result; - } - - return null; - } -} diff --git a/app/vendor/php-http/promise/src/Promise.php b/app/vendor/php-http/promise/src/Promise.php deleted file mode 100644 index e24031145..000000000 --- a/app/vendor/php-http/promise/src/Promise.php +++ /dev/null @@ -1,69 +0,0 @@ - - * @author Márk Sági-Kazár - */ -interface Promise -{ - /** - * Promise has not been fulfilled or rejected. - */ - const PENDING = 'pending'; - - /** - * Promise has been fulfilled. - */ - const FULFILLED = 'fulfilled'; - - /** - * Promise has been rejected. - */ - const REJECTED = 'rejected'; - - /** - * Adds behavior for when the promise is resolved or rejected (response will be available, or error happens). - * - * If you do not care about one of the cases, you can set the corresponding callable to null - * The callback will be called when the value arrived and never more than once. - * - * @param callable|null $onFulfilled called when a response will be available - * @param callable|null $onRejected called when an exception occurs - * - * @return Promise a new resolved promise with value of the executed callback (onFulfilled / onRejected) - */ - public function then(?callable $onFulfilled = null, ?callable $onRejected = null); - - /** - * Returns the state of the promise, one of PENDING, FULFILLED or REJECTED. - * - * @return string - */ - public function getState(); - - /** - * Wait for the promise to be fulfilled or rejected. - * - * When this method returns, the request has been resolved and if callables have been - * specified, the appropriate one has terminated. - * - * When $unwrap is true (the default), the response is returned, or the exception thrown - * on failure. Otherwise, nothing is returned or thrown. - * - * @param bool $unwrap Whether to return resolved value / throw reason or not - * - * @return ($unwrap is true ? mixed : null) Resolved value, null if $unwrap is set to false - * - * @throws \Throwable the rejection reason if $unwrap is set to true and the request failed - */ - public function wait($unwrap = true); -} diff --git a/app/vendor/php-http/promise/src/RejectedPromise.php b/app/vendor/php-http/promise/src/RejectedPromise.php deleted file mode 100644 index 8c046ce28..000000000 --- a/app/vendor/php-http/promise/src/RejectedPromise.php +++ /dev/null @@ -1,48 +0,0 @@ - - */ -final class RejectedPromise implements Promise -{ - /** - * @var \Throwable - */ - private $exception; - - public function __construct(\Throwable $exception) - { - $this->exception = $exception; - } - - public function then(?callable $onFulfilled = null, ?callable $onRejected = null) - { - if (null === $onRejected) { - return $this; - } - - try { - return new FulfilledPromise($onRejected($this->exception)); - } catch (\Exception $e) { - return new self($e); - } - } - - public function getState() - { - return Promise::REJECTED; - } - - public function wait($unwrap = true) - { - if ($unwrap) { - throw $this->exception; - } - - return null; - } -} diff --git a/app/vendor/php-http/socket-client/.github/CONTRIBUTING.md b/app/vendor/php-http/socket-client/.github/CONTRIBUTING.md deleted file mode 100644 index fb288d916..000000000 --- a/app/vendor/php-http/socket-client/.github/CONTRIBUTING.md +++ /dev/null @@ -1,3 +0,0 @@ -# Contributing - -Please see our [contributing guide](http://docs.php-http.org/en/latest/development/contributing.html). diff --git a/app/vendor/php-http/socket-client/.github/ISSUE_TEMPLATE.md b/app/vendor/php-http/socket-client/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index d4ecf20f3..000000000 --- a/app/vendor/php-http/socket-client/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,27 +0,0 @@ -| Q | A -| ------------ | --- -| Bug? | no|yes -| New Feature? | no|yes -| Version | Specific version or SHA of a commit - - -#### Actual Behavior - -What is the actual behavior? - - -#### Expected Behavior - -What is the behavior you expect? - - -#### Steps to Reproduce - -What are the steps to reproduce this bug? Please add code examples, -screenshots or links to GitHub repositories that reproduce the problem. - - -#### Possible Solutions - -If you have already ideas how to solve the issue, add them here. -(remove this section if not needed) diff --git a/app/vendor/php-http/socket-client/.github/PULL_REQUEST_TEMPLATE.md b/app/vendor/php-http/socket-client/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 323987b53..000000000 --- a/app/vendor/php-http/socket-client/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,43 +0,0 @@ -| Q | A -| --------------- | --- -| Bug fix? | no|yes -| New feature? | no|yes -| BC breaks? | no|yes -| Deprecations? | no|yes -| Related tickets | fixes #X, partially #Y, mentioned in #Z -| Documentation | if this is a new feature, link to pull request in https://github.com/php-http/documentation that adds relevant documentation -| License | MIT - - -#### What's in this PR? - -Explain what the changes in this PR do. - - -#### Why? - -Which problem does the PR fix? (remove this section if you linked an issue above) - - -#### Example Usage - -``` php -// If you added new features, show examples of how to use them here -// (remove this section if not a new feature) - -$foo = new Foo(); - -// Now we can do -$foo->doSomething(); -``` - - -#### Checklist - -- [ ] Updated CHANGELOG.md to describe BC breaks / deprecations | new feature | bugfix -- [ ] Documentation pull request created (if not simply a bugfix) - - -#### To Do - -- [ ] If the PR is not complete but you want to discuss the approach, list what remains to be done here diff --git a/app/vendor/php-http/socket-client/.github/workflows/checks.yml b/app/vendor/php-http/socket-client/.github/workflows/checks.yml deleted file mode 100644 index 8e3f23e71..000000000 --- a/app/vendor/php-http/socket-client/.github/workflows/checks.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Checks - -on: - push: - branches: - - 2.x - pull_request: - -jobs: - composer-normalize: - name: Composer Normalize - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Composer normalize - uses: docker://ergebnis/composer-normalize-action - diff --git a/app/vendor/php-http/socket-client/.github/workflows/ci.yml b/app/vendor/php-http/socket-client/.github/workflows/ci.yml deleted file mode 100644 index 5208683d5..000000000 --- a/app/vendor/php-http/socket-client/.github/workflows/ci.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: CI - -on: - push: - branches: - - '[0-9]+.x' - - '[0-9]+.[0-9]+' - - '[0-9]+.[0-9]+.x' - pull_request: - -jobs: - supported-versions-matrix: - name: Supported Versions Matrix - runs-on: ubuntu-latest - outputs: - version: ${{ steps.supported-versions-matrix.outputs.version }} - steps: - - uses: actions/checkout@v4 - - id: supported-versions-matrix - uses: WyriHaximus/github-action-composer-php-versions-in-range@v1 - latest: - name: PHP ${{ matrix.php }} Latest - runs-on: ubuntu-latest - needs: - - supported-versions-matrix - strategy: - fail-fast: false - matrix: - php: ${{ fromJson(needs.supported-versions-matrix.outputs.version) }} - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - tools: composer - coverage: none - - - name: Install dependencies - run: composer update --prefer-dist --no-interaction --no-progress - - - name: generate ssl - run: cd ./tests/server/ssl && ./generate.sh && pwd && ls -la && cd ../../../ - - - name: boot test server - run: vendor/bin/http_test_server > /dev/null 2>&1 & - - - name: Execute tests - run: composer test - - lowest: - name: PHP ${{ matrix.php }} Lowest - runs-on: ubuntu-latest - needs: - - supported-versions-matrix - strategy: - fail-fast: false - matrix: - php: ${{ fromJson(needs.supported-versions-matrix.outputs.version) }} - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - tools: composer - coverage: none - - - name: Install dependencies - run: composer update --prefer-dist --prefer-stable --prefer-lowest --no-interaction --no-progress - - - name: generate ssl - run: cd ./tests/server/ssl && ./generate.sh && pwd && ls -la && cd ../../../ - - - name: boot test server - run: vendor/bin/http_test_server > /dev/null 2>&1 & - - - name: Execute tests - run: composer test diff --git a/app/vendor/php-http/socket-client/.github/workflows/static.yml b/app/vendor/php-http/socket-client/.github/workflows/static.yml deleted file mode 100644 index cfa74b1cc..000000000 --- a/app/vendor/php-http/socket-client/.github/workflows/static.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Static analysis - -on: - push: - branches: - - 2.x - pull_request: - -jobs: - phpstan: - name: PHPStan - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: PHPStan - uses: docker://oskarstark/phpstan-ga - env: - REQUIRE_DEV: true - with: - args: analyze --no-progress - - php-cs-fixer: - name: PHP-CS-Fixer - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: PHP-CS-Fixer - uses: docker://oskarstark/php-cs-fixer-ga - with: - args: --dry-run --diff diff --git a/app/vendor/php-http/socket-client/.php-cs-fixer.dist.php b/app/vendor/php-http/socket-client/.php-cs-fixer.dist.php deleted file mode 100644 index bcb9a6988..000000000 --- a/app/vendor/php-http/socket-client/.php-cs-fixer.dist.php +++ /dev/null @@ -1,16 +0,0 @@ -exclude('vendor') - ->in(__DIR__) -; - -$config = (new PhpCsFixer\Config()) - ->setRiskyAllowed(true) - ->setRules([ - '@Symfony' => true, - ]) - ->setFinder($finder) -; - -return $config; diff --git a/app/vendor/php-http/socket-client/CHANGELOG.md b/app/vendor/php-http/socket-client/CHANGELOG.md deleted file mode 100644 index cdec69bec..000000000 --- a/app/vendor/php-http/socket-client/CHANGELOG.md +++ /dev/null @@ -1,68 +0,0 @@ -# Change Log - -## 2.4.0 - -* Allow installation with Symfony 8. -* Cleaned up testing and use the integration tests version 4. - -## 2.3.0 - - * Fixed compatibility with `psr/http-message` v2 - * The `Http\Client\Socket\Stream` has BC breaks if you extended it. It is not meant to be extended, declaring it as `@internal` now. - -## 2.2.0 - - * Allow installation with Symfony 7 - -## 2.1.1 - - * Fixed constructor to work nicely with version 1 style arguments (e.g. HttplugBundle) - * Fixed PHP 8 compatibility for stream timeouts - * Renamed `master` branch to `2.x` for semantic branch naming. - * Add Symfony 6 compatibility - -## 2.1.0 - - * Add php 8 compatibility - -## 2.0.2 - - * Fixed composer "provide" section to say that we provide `psr/http-client-implementation` - -## 2.0.1 - - * Fix wrong call to trigger_error - -## 2.0.0 - - * Remove response and stream factory, use direct implementation of nyholm/psr7 - * PSR18 and HTTPlug 2 support - * Remove support for php 5.5, 5.6, 7.0 and 7.1 - * SSL Method now defaults to `STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT` - -## 1.4.0 - - * Support for Symfony 4 - -## 1.3.0 - - * Make sure `Stream::__toString` never throws exception - * Added more exception - * `BrokenPipeException` - * `ConnectionException` - * `InvalidRequestException` - * `SSLConnectionException` - -## 1.2.0 - - * Dropped PHP 5.4 support - * Using stable version of `php-http/discovery` - -## 1.1.0 - - * Added discovery as hard dependency - * Reading more bytes than expected in a stream now returns the remaining content instead of throwing an Error - -## 1.0.0 - -Initial release diff --git a/app/vendor/php-http/socket-client/LICENSE b/app/vendor/php-http/socket-client/LICENSE deleted file mode 100644 index 4558d6f06..000000000 --- a/app/vendor/php-http/socket-client/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2016 PHP HTTP Team - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/php-http/socket-client/README.md b/app/vendor/php-http/socket-client/README.md deleted file mode 100644 index 27be40057..000000000 --- a/app/vendor/php-http/socket-client/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Socket Client for PHP HTTP - -[![Latest Version](https://img.shields.io/github/release/php-http/socket-client.svg?style=flat-square)](https://github.com/php-http/socket-client/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) -[![Build Status](https://github.com/php-http/socket-client/actions/workflows/ci.yml/badge.svg?branch=2.x)](https://github.com/php-http/socket-client/actions/workflows/ci.yml) -[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/php-http/socket-client.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/socket-client) -[![Quality Score](https://img.shields.io/scrutinizer/g/php-http/socket-client.svg?style=flat-square)](https://scrutinizer-ci.com/g/php-http/socket-client) -[![Total Downloads](https://img.shields.io/packagist/dt/php-http/socket-client.svg?style=flat-square)](https://packagist.org/packages/php-http/socket-client) - -The socket client use the stream extension from PHP, which is integrated into the core. - -## Features - - * TCP Socket Domain (tcp://hostname:port) - * UNIX Socket Domain (unix:///path/to/socket.sock) - * TLS / SSL Encyrption - * Client Certificate (only for php > 5.6) - -## Installation and Usage - -[Read the documentation at http://docs.php-http.org/en/latest/clients/socket-client.html](http://docs.php-http.org/en/latest/clients/socket-client.html) - -## Testing - -First launch the http server: - -```bash -$ ./vendor/bin/http_test_server > /dev/null 2>&1 & -``` - -Then generate SSL certificates: - -```bash -$ composer gen-ssl -``` - -Note: If you are running this on macOS and get the following error: "Error opening CA Private Key privkey.pem", check [this](ssl-macOS.md) file. - -Now run the test suite: - -``` bash -$ composer test -``` - - -## Contributing - -Please see our [contributing guide](http://docs.php-http.org/en/latest/development/contributing.html). - - -## Security - -If you discover any security related issues, please contact us at [security@php-http.org](mailto:security@php-http.org). - - -## License - -The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/app/vendor/php-http/socket-client/composer.json b/app/vendor/php-http/socket-client/composer.json deleted file mode 100644 index 2cba77c8a..000000000 --- a/app/vendor/php-http/socket-client/composer.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "php-http/socket-client", - "description": "Socket client for PHP-HTTP", - "license": "MIT", - "authors": [ - { - "name": "Joel Wurtz", - "email": "jwurtz@jolicode.com" - } - ], - "require": { - "php": "^8.1", - "nyholm/psr7": "^1.8.1", - "php-http/httplug": "^2.4", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "^2.6 || ^3.4 || ^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0" - }, - "require-dev": { - "ext-openssl": "*", - "friendsofphp/php-cs-fixer": "^3.51", - "php-http/client-integration-tests": "^4.0", - "php-http/message": "^1.16", - "php-http/client-common": "^2.7", - "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", - "php-http/message-factory": "^1.1" - }, - "conflict": { - "guzzlehttp/psr7": "<2.0" - }, - "provide": { - "php-http/client-implementation": "1.0", - "psr/http-client-implementation": "1.0" - }, - "autoload": { - "psr-4": { - "Http\\Client\\Socket\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Http\\Client\\Socket\\Tests\\": "tests/" - } - }, - "scripts": { - "cs-check": "vendor/bin/php-cs-fixer fix --dry-run", - "cs-fix": "vendor/bin/php-cs-fixer fix", - "test": "vendor/bin/phpunit", - "test-ci": "vendor/bin/phpunit --coverage-clover build/coverage.xml", - "gen-ssl": "tests/server/ssl/generate.sh" - }, - "prefer-stable": true, - "minimum-stability": "dev" -} diff --git a/app/vendor/php-http/socket-client/phpstan.neon.dist b/app/vendor/php-http/socket-client/phpstan.neon.dist deleted file mode 100644 index f88ed86f0..000000000 --- a/app/vendor/php-http/socket-client/phpstan.neon.dist +++ /dev/null @@ -1,25 +0,0 @@ -parameters: - level: max - paths: - - src - ignoreErrors: - # phpstan seems confused by passing a variable by reference to stream_select - - - message: '#^Negated boolean expression is always false.$#' - count: 1 - path: src/RequestWriter.php - - - - message: "#^Method Http\\\\Client\\\\Socket\\\\Client\\:\\:configure\\(\\) should return array\\{remote_socket\\: string\\|null, timeout\\: int, stream_context\\: resource, stream_context_options\\: array\\, stream_context_param\\: array\\, ssl\\: bool\\|null, write_buffer_size\\: int, ssl_method\\: int\\} but returns array\\.$#" - count: 1 - path: src/Client.php - - - - message: "#^Parameter \\#1 \\$options of function stream_context_create expects array\\|null, mixed given\\.$#" - count: 1 - path: src/Client.php - - - - message: "#^Parameter \\#2 \\$params of function stream_context_create expects array\\|null, mixed given\\.$#" - count: 1 - path: src/Client.php diff --git a/app/vendor/php-http/socket-client/puli.json b/app/vendor/php-http/socket-client/puli.json deleted file mode 100644 index 8c00ffe4b..000000000 --- a/app/vendor/php-http/socket-client/puli.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "version": "1.0", - "name": "php-http/socket-client", - "bindings": { - "bbd41ece-94a0-4ddc-942d-a1491d74c5fc": { - "_class": "Puli\\Discovery\\Binding\\ClassBinding", - "class": "Http\\Client\\Socket\\Client", - "type": "Http\\Client\\HttpClient" - } - } -} diff --git a/app/vendor/php-http/socket-client/src/Client.php b/app/vendor/php-http/socket-client/src/Client.php deleted file mode 100644 index d3cd14a38..000000000 --- a/app/vendor/php-http/socket-client/src/Client.php +++ /dev/null @@ -1,223 +0,0 @@ - - * - * @final - */ -class Client implements HttpClient -{ - use RequestWriter; - use ResponseReader; - - /** - * @var array{remote_socket: string|null, timeout: int, stream_context: resource, stream_context_options: array, stream_context_param: array, ssl: ?bool, write_buffer_size: int, ssl_method: int} - */ - private $config; - - /** - * Constructor. - * - * @param array{remote_socket?: string|null, timeout?: int, stream_context?: resource, stream_context_options?: array, stream_context_param?: array, ssl?: ?bool, write_buffer_size?: int, ssl_method?: int}|ResponseFactoryInterface $config1 - * @param array{remote_socket?: string|null, timeout?: int, stream_context?: resource, stream_context_options?: array, stream_context_param?: array, ssl?: ?bool, write_buffer_size?: int, ssl_method?: int}|null $config2 Mistake when refactoring the constructor from version 1 to version 2 - used as $config if set and $configOrResponseFactory is a response factory instance - * @param array{remote_socket?: string|null, timeout?: int, stream_context?: resource, stream_context_options?: array, stream_context_param?: array, ssl?: ?bool, write_buffer_size?: int, ssl_method?: int} $config intended for version 1 BC, used as $config if $config2 is not set and $configOrResponseFactory is a response factory instance - * - * string|null remote_socket Remote entrypoint (can be a tcp or unix domain address) - * int timeout Timeout before canceling request - * stream resource The initialized stream context, if not set the context is created from the options and param. - * array stream_context_options Context options as defined in the PHP documentation - * array stream_context_param Context params as defined in the PHP documentation - * boolean ssl Use ssl, default to scheme from request, false if not present - * int write_buffer_size Buffer when writing the request body, defaults to 8192 - * int ssl_method Crypto method for ssl/tls, see PHP doc, defaults to STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT - */ - public function __construct($config1 = [], $config2 = null, array $config = []) - { - if (\is_array($config1)) { - $this->config = $this->configure($config1); - - return; - } - - @trigger_error('Passing a Psr\Http\Message\ResponseFactoryInterface to SocketClient is deprecated, and will be removed in 3.0, you should only pass config options.', E_USER_DEPRECATED); - - $this->config = $this->configure($config2 ?: $config); - } - - public function sendRequest(RequestInterface $request): ResponseInterface - { - $remote = $this->config['remote_socket']; - $useSsl = $this->config['ssl']; - - if (!$request->hasHeader('Connection')) { - $request = $request->withHeader('Connection', 'close'); - } - - if (null === $remote) { - $remote = $this->determineRemoteFromRequest($request); - } - - if (null === $useSsl) { - $useSsl = ('https' === $request->getUri()->getScheme()); - } - - $socket = $this->createSocket($request, $remote, $useSsl); - - try { - $this->writeRequest($socket, $request, $this->config['write_buffer_size']); - $response = $this->readResponse($request, $socket); - } catch (\Exception $e) { - $this->closeSocket($socket); - - throw $e; - } - - return $response; - } - - /** - * Create the socket to write request and read response on it. - * - * @param RequestInterface $request Request for - * @param string $remote Entrypoint for the connection - * @param bool $useSsl Whether to use ssl or not - * - * @return resource Socket resource - * - * @throws ConnectionException|SSLConnectionException When the connection fail - */ - protected function createSocket(RequestInterface $request, string $remote, bool $useSsl) - { - $errNo = null; - $errMsg = null; - $socket = @stream_socket_client($remote, $errNo, $errMsg, floor($this->config['timeout'] / 1000), STREAM_CLIENT_CONNECT, $this->config['stream_context']); - - if (false === $socket) { - $errMsg = $errMsg ?: '[no message set]'; - if (110 === $errNo) { - throw new TimeoutException($errMsg, $request); - } - - throw new ConnectionException($errMsg, $request); - } - - stream_set_timeout($socket, (int) floor($this->config['timeout'] / 1000), $this->config['timeout'] % 1000); - - if ($useSsl && false === @stream_socket_enable_crypto($socket, true, $this->config['ssl_method'])) { - $errorMessage = error_get_last()['message'] ?? 'no error reported'; - $opensslErrors = $this->collectOpenSslErrors(); - if ('' !== $opensslErrors) { - $errorMessage .= '; '.$opensslErrors; - } - - throw new SSLConnectionException(sprintf('Cannot enable tls method %s: %s', $this->config['ssl_method'], $errorMessage), $request); - } - - return $socket; - } - - /** - * Close the socket, used when having an error. - * - * @param resource $socket - * - * @return void - */ - protected function closeSocket($socket) - { - fclose($socket); - } - - /** - * Collect and format OpenSSL error queue entries, if available. - */ - private function collectOpenSslErrors(): string - { - $errors = []; - while (false !== ($error = openssl_error_string())) { - $errors[] = $error; - } - - return implode(' | ', $errors); - } - - /** - * Return configuration for the socket client. - * - * @param array{remote_socket?: string|null, timeout?: int, stream_context?: resource, stream_context_options?: array, stream_context_param?: array, ssl?: ?bool, write_buffer_size?: int, ssl_method?: int} $config - * - * @return array{remote_socket: string|null, timeout: int, stream_context: resource, stream_context_options: array, stream_context_param: array, ssl: ?bool, write_buffer_size: int, ssl_method: int} - */ - protected function configure(array $config = []) - { - $resolver = new OptionsResolver(); - $resolver->setDefaults([ - 'remote_socket' => null, - 'timeout' => null, - 'stream_context_options' => [], - 'stream_context_param' => [], - 'ssl' => null, - 'write_buffer_size' => 8192, - 'ssl_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, - ]); - $resolver->setDefault('stream_context', function (Options $options) { - return stream_context_create($options['stream_context_options'], $options['stream_context_param']); - }); - $resolver->setDefault('timeout', ((int) ini_get('default_socket_timeout')) * 1000); - - $resolver->setAllowedTypes('stream_context_options', 'array'); - $resolver->setAllowedTypes('stream_context_param', 'array'); - $resolver->setAllowedTypes('stream_context', 'resource'); - $resolver->setAllowedTypes('ssl', ['bool', 'null']); - - $configuration = $resolver->resolve($config); - if ($configuration['ssl'] && !function_exists('openssl_error_string')) { - throw new InvalidOptionsException('You can not enable ssl when ext-openssl is not installed'); - } - - return $configuration; - } - - /** - * Return remote socket from the request. - * - * @return string - * - * @throws InvalidRequestException When no remote can be determined from the request - */ - private function determineRemoteFromRequest(RequestInterface $request) - { - if (!$request->hasHeader('Host') && '' === $request->getUri()->getHost()) { - throw new InvalidRequestException('Remote is not defined and we cannot determine a connection endpoint for this request (no Host header)', $request); - } - - $host = $request->getUri()->getHost(); - $port = $request->getUri()->getPort() ?: ('https' === $request->getUri()->getScheme() ? 443 : 80); - $endpoint = sprintf('%s:%s', $host, $port); - - // If use the host header if present for the endpoint - if (empty($host) && $request->hasHeader('Host')) { - $endpoint = $request->getHeaderLine('Host'); - } - - return sprintf('tcp://%s', $endpoint); - } -} diff --git a/app/vendor/php-http/socket-client/src/Exception/BrokenPipeException.php b/app/vendor/php-http/socket-client/src/Exception/BrokenPipeException.php deleted file mode 100644 index 4cf4b62fa..000000000 --- a/app/vendor/php-http/socket-client/src/Exception/BrokenPipeException.php +++ /dev/null @@ -1,7 +0,0 @@ -request = $request; - - parent::__construct($message, 0, $previous); - } - - public function getRequest(): RequestInterface - { - return $this->request; - } -} diff --git a/app/vendor/php-http/socket-client/src/Exception/SSLConnectionException.php b/app/vendor/php-http/socket-client/src/Exception/SSLConnectionException.php deleted file mode 100644 index b1f85ef8a..000000000 --- a/app/vendor/php-http/socket-client/src/Exception/SSLConnectionException.php +++ /dev/null @@ -1,7 +0,0 @@ - - */ -trait RequestWriter -{ - /** - * Write a request to a socket. - * - * @param resource $socket - * - * @return void - * - * @throws BrokenPipeException - */ - protected function writeRequest($socket, RequestInterface $request, int $bufferSize = 8192) - { - if (false === $this->fwrite($socket, $this->transformRequestHeadersToString($request))) { - throw new BrokenPipeException('Failed to send request, underlying socket not accessible, (BROKEN EPIPE)', $request); - } - - if ($request->getBody()->isReadable()) { - $this->writeBody($socket, $request, $bufferSize); - } - } - - /** - * Write Body of the request. - * - * @param resource $socket - * - * @return void - * - * @throws BrokenPipeException - */ - protected function writeBody($socket, RequestInterface $request, int $bufferSize = 8192) - { - $body = $request->getBody(); - - if ($body->isSeekable()) { - $body->rewind(); - } - - while (!$body->eof()) { - $buffer = $body->read($bufferSize); - - if (false === $this->fwrite($socket, $buffer)) { - throw new BrokenPipeException('An error occur when writing request to client (BROKEN EPIPE)', $request); - } - } - } - - /** - * Produce the header of request as a string based on a PSR Request. - */ - protected function transformRequestHeadersToString(RequestInterface $request): string - { - $message = vsprintf('%s %s HTTP/%s', [ - strtoupper($request->getMethod()), - $request->getRequestTarget(), - $request->getProtocolVersion(), - ])."\r\n"; - - foreach ($request->getHeaders() as $name => $values) { - $message .= $name.': '.implode(', ', $values)."\r\n"; - } - - $message .= "\r\n"; - - return $message; - } - - /** - * Replace fwrite behavior as api is broken in PHP. - * - * @see https://secure.phabricator.com/rPHU69490c53c9c2ef2002bc2dd4cecfe9a4b080b497 - * - * @param resource $stream The stream resource - * - * @return bool|int false if pipe is broken, number of bytes written otherwise - */ - private function fwrite($stream, string $bytes) - { - if (!strlen($bytes)) { - return 0; - } - $result = @fwrite($stream, $bytes); - if (0 !== $result) { - // In cases where some bytes are witten (`$result > 0`) or - // an error occurs (`$result === false`), the behavior of fwrite() is - // correct. We can return the value as-is. - return $result; - } - // If we make it here, we performed a 0-length write. Try to distinguish - // between EAGAIN and EPIPE. To do this, we're going to `stream_select()` - // the stream, write to it again if PHP claims that it's writable, and - // consider the pipe broken if the write fails. - $read = []; - $write = [$stream]; - $except = []; - @stream_select($read, $write, $except, 0); - if (!$write) { - // The stream isn't writable, so we conclude that it probably really is - // blocked and the underlying error was EAGAIN. Return 0 to indicate that - // no data could be written yet. - return 0; - } - // If we make it here, PHP **just** claimed that this stream is writable, so - // perform a write. If the write also fails, conclude that these failures are - // EPIPE or some other permanent failure. - $result = @fwrite($stream, $bytes); - if (0 !== $result) { - // The write worked or failed explicitly. This value is fine to return. - return $result; - } - - // We performed a 0-length write, were told that the stream was writable, and - // then immediately performed another 0-length write. Conclude that the pipe - // is broken and return `false`. - return false; - } -} diff --git a/app/vendor/php-http/socket-client/src/ResponseReader.php b/app/vendor/php-http/socket-client/src/ResponseReader.php deleted file mode 100644 index 7dc5c5997..000000000 --- a/app/vendor/php-http/socket-client/src/ResponseReader.php +++ /dev/null @@ -1,98 +0,0 @@ - - */ -trait ResponseReader -{ - /** - * Read a response from a socket. - * - * @param resource $socket - * - * @throws TimeoutException When the socket timed out - * @throws BrokenPipeException When the response cannot be read - */ - protected function readResponse(RequestInterface $request, $socket): ResponseInterface - { - $headers = []; - $reason = null; - - while (false !== ($line = fgets($socket))) { - if ('' === rtrim($line)) { - break; - } - $headers[] = trim($line); - } - - $metadatas = stream_get_meta_data($socket); - - if ($metadatas['timed_out']) { - throw new TimeoutException('Error while reading response, stream timed out', $request, null); - } - $header = array_shift($headers); - $parts = null !== $header ? explode(' ', $header, 3) : []; - - if (count($parts) <= 1) { - throw new BrokenPipeException('Cannot read the response', $request); - } - - $protocol = substr($parts[0], -3); - $status = $parts[1]; - - if (isset($parts[2])) { - $reason = $parts[2]; - } - - // Set the size on the stream if it was returned in the response - $responseHeaders = []; - - foreach ($headers as $header) { - $headerParts = explode(':', $header, 2); - - if (!array_key_exists(trim($headerParts[0]), $responseHeaders)) { - $responseHeaders[trim($headerParts[0])] = []; - } - - $responseHeaders[trim($headerParts[0])][] = isset($headerParts[1]) - ? trim($headerParts[1]) - : ''; - } - - $response = new Response((int) $status, $responseHeaders, null, $protocol, $reason); - $stream = $this->createStream($socket, $request, $response); - - return $response->withBody($stream); - } - - /** - * Create the stream. - * - * @param resource $socket - */ - protected function createStream($socket, RequestInterface $request, ResponseInterface $response): Stream - { - $size = null; - - if ($response->hasHeader('Content-Length')) { - $size = (int) $response->getHeaderLine('Content-Length'); - } - if ($size < 0) { - $size = null; - } - - return new Stream($request, $socket, $size); - } -} diff --git a/app/vendor/php-http/socket-client/src/Stream.php b/app/vendor/php-http/socket-client/src/Stream.php deleted file mode 100644 index e49844a29..000000000 --- a/app/vendor/php-http/socket-client/src/Stream.php +++ /dev/null @@ -1,241 +0,0 @@ - - */ -class Stream implements StreamInterface -{ - /** @var resource|null Underlying socket */ - private $socket; - - /** - * @var bool Is stream detached - */ - private $isDetached = false; - - /** - * @var int<0, max>|null Size of the stream, so we know what we must read, null if not available (i.e. a chunked stream) - */ - private $size; - - /** - * @var int<0, max> Size of the stream readed, to avoid reading more than available and have the user blocked - */ - private $readed = 0; - - /** - * @var RequestInterface request associated to this stream - */ - private $request; - - /** - * Create the stream. - * - * @param resource $socket - * @param int<0, max>|null $size - */ - public function __construct(RequestInterface $request, $socket, ?int $size = null) - { - $this->socket = $socket; - $this->size = $size; - $this->request = $request; - } - - public function __toString(): string - { - try { - return $this->getContents(); - } catch (\Exception $e) { - return ''; - } - } - - public function close(): void - { - if ($this->isDetached || null === $this->socket) { - throw new StreamException('Stream is detached'); - } - fclose($this->socket); - } - - public function detach() - { - if ($this->isDetached) { - return null; - } - $this->isDetached = true; - $socket = $this->socket; - $this->socket = null; - - return $socket; - } - - /** - * @return int<0, max>|null - */ - public function getSize(): ?int - { - return $this->size; - } - - public function tell(): int - { - if ($this->isDetached || null === $this->socket) { - throw new StreamException('Stream is detached'); - } - $tell = ftell($this->socket); - if (false === $tell) { - throw new StreamException('ftell returned false'); - } - - return $tell; - } - - public function eof(): bool - { - if ($this->isDetached || null === $this->socket) { - throw new StreamException('Stream is detached'); - } - - return feof($this->socket); - } - - public function isSeekable(): bool - { - return false; - } - - public function seek($offset, $whence = SEEK_SET): void - { - throw new StreamException('This stream is not seekable'); - } - - public function rewind(): void - { - throw new StreamException('This stream is not seekable'); - } - - public function isWritable(): bool - { - return false; - } - - public function write($string): int - { - throw new StreamException('This stream is not writable'); - } - - public function isReadable(): bool - { - return true; - } - - /** - * @param int<0, max> $length - */ - public function read($length): string - { - if (0 === $length) { - return ''; - } - - if ($this->isDetached || null === $this->socket) { - throw new StreamException('Stream is detached'); - } - - if (null === $this->getSize()) { - $read = fread($this->socket, $length); - if (false === $read) { - throw new StreamException('Failed to read from stream'); - } - - return $read; - } - - if ($this->getSize() === $this->readed) { - return ''; - } - - // Even if we request a length a non blocking stream can return less data than asked - $read = fread($this->socket, $length); - if (false === $read) { - // PHP 8 - if ($this->getMetadata('timed_out')) { - throw new TimeoutException('Stream timed out while reading data', $this->request); - } - throw new StreamException('Failed to read from stream'); - } - - // PHP 7: fread does not return false when timing out - if ($this->getMetadata('timed_out')) { - throw new TimeoutException('Stream timed out while reading data', $this->request); - } - - $this->readed += strlen($read); - - return $read; - } - - public function getContents(): string - { - if ($this->isDetached || null === $this->socket) { - throw new StreamException('Stream is detached'); - } - - if (null === $this->getSize()) { - $contents = stream_get_contents($this->socket); - if (false === $contents) { - throw new StreamException('failed to get contents of stream'); - } - - return $contents; - } - - $contents = ''; - - $toread = $this->getSize() - $this->readed; - while ($toread > 0) { - $contents .= $this->read($toread); - $toread = $this->getSize() - $this->readed; - } - - return $contents; - } - - public function getMetadata($key = null) - { - if ($this->isDetached || null === $this->socket) { - throw new StreamException('Stream is detached'); - } - - $meta = stream_get_meta_data($this->socket); - - if (null === $key) { - return $meta; - } - - return $meta[$key]; - } -} diff --git a/app/vendor/php-http/socket-client/ssl-macOS.md b/app/vendor/php-http/socket-client/ssl-macOS.md deleted file mode 100644 index c37468d49..000000000 --- a/app/vendor/php-http/socket-client/ssl-macOS.md +++ /dev/null @@ -1,58 +0,0 @@ -# Generating SSL Certificates on macOS - -When generating SSL Certificates on macOS, you must ensure that you're using brew's openssl binary and not the one provided by the OS. - -To do that, find out where your openssl is installed by running: - -```bash -$ brew info openssl -``` - -You should see something like this: - -``` -openssl@1.1: stable 1.1.1i (bottled) [keg-only] -Cryptography and SSL/TLS Toolkit -https://openssl.org/ -/usr/local/Cellar/openssl@1.1/1.1.1i (8,067 files, 18.5MB) - Poured from bottle on 2020-12-11 at 11:31:46 -From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openssl@1.1.rb -License: OpenSSL -==> Caveats -A CA file has been bootstrapped using certificates from the system -keychain. To add additional certificates, place .pem files in - /usr/local/etc/openssl@1.1/certs - -and run - /usr/local/opt/openssl@1.1/bin/c_rehash - -openssl@1.1 is keg-only, which means it was not symlinked into /usr/local, -because macOS provides LibreSSL. - -If you need to have openssl@1.1 first in your PATH run: - echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> /Users/flavio/.bash_profile - -For compilers to find openssl@1.1 you may need to set: - export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" - export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include" - -For pkg-config to find openssl@1.1 you may need to set: - export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig" - -==> Analytics -install: 855,315 (30 days), 2,356,331 (90 days), 7,826,269 (365 days) -install-on-request: 139,236 (30 days), 373,801 (90 days), 1,120,685 (365 days) -build-error: 0 (30 days) -``` - -The important part is this: - -> echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> /Users/flavio/.bash_profile - -Instead of running `./tests/server/ssl/generate.sh`, you should instead run: - -```bash -$ PATH="/usr/local/opt/openssl@1.1/bin ./tests/server/ssl/generate.sh -``` - -You should now be good to go. diff --git a/app/vendor/php-jsonpointer/php-jsonpointer/composer.json b/app/vendor/php-jsonpointer/php-jsonpointer/composer.json deleted file mode 100755 index 6ce93b1f3..000000000 --- a/app/vendor/php-jsonpointer/php-jsonpointer/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "php-jsonpointer/php-jsonpointer", - "description": "Implementation of JSON Pointer (http://tools.ietf.org/html/rfc6901)", - "keywords": ["json", "json pointer", "json traversal"], - "homepage": "https://github.com/raphaelstolt/php-jsonpointer", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Raphael Stolt", - "email": "raphael.stolt@gmail.com", - "homepage": "http://raphaelstolt.blogspot.com/" - } - ], - "support": { - "issues": "https://github.com/raphaelstolt/php-jsonpointer/issues" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "phpunit/phpunit": "8.*", - "friendsofphp/php-cs-fixer": "^3.0" - }, - "autoload": { - "psr-0": { - "Rs\\Json": "src/" - } - }, - "scripts": { - "test": "phpunit", - "cs-fix": "php-cs-fixer fix . -vv || true", - "cs-lint": "php-cs-fixer fix --diff --stop-on-violation --verbose --dry-run" - }, - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - } -} diff --git a/app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer.php b/app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer.php deleted file mode 100755 index 0abb1a016..000000000 --- a/app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer.php +++ /dev/null @@ -1,168 +0,0 @@ -json = json_decode($json); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new InvalidJsonException('Cannot operate on invalid Json.'); - } - - if (!$this->isWalkableJson()) { - throw new NonWalkableJsonException('Non walkable Json to point through'); - } - } - - /** - * @param string $pointer The Json Pointer. - * @throws \Rs\Json\Pointer\InvalidPointerException - * @throws \Rs\Json\Pointer\NonexistentValueReferencedException - * - * @return mixed - */ - public function get($pointer) - { - if ($pointer === '') { - $output = json_encode($this->json, JSON_UNESCAPED_UNICODE); - // workaround for https://bugs.php.net/bug.php?id=46600 - return str_replace('"_empty_"', '""', $output); - } - - $this->validatePointer($pointer); - - $this->pointer = $pointer; - - $plainPointerParts = array_slice( - array_map('urldecode', explode('/', $pointer)), - 1 - ); - return $this->traverse($this->json, $this->evaluatePointerParts($plainPointerParts)); - } - - /** - * @return string - */ - public function getPointer() - { - return $this->pointer; - } - - /** - * @param array|\stdClass $json The json_decoded Json structure. - * @param array $pointerParts The parts of the fed pointer. - * - * @throws \Rs\Json\Pointer\NonexistentValueReferencedException - * - * @return mixed - */ - private function traverse(&$json, array $pointerParts) - { - $pointerPart = array_shift($pointerParts); - - if (is_array($json) && isset($json[$pointerPart])) { - if (count($pointerParts) === 0) { - return $json[$pointerPart]; - } - if ((is_array($json[$pointerPart]) || is_object($json[$pointerPart])) && is_array($pointerParts)) { - return $this->traverse($json[$pointerPart], $pointerParts); - } - } elseif (is_object($json) && in_array($pointerPart, array_keys(get_object_vars($json)))) { - if (count($pointerParts) === 0) { - return $json->{$pointerPart}; - } - if ((is_object($json->{$pointerPart}) || is_array($json->{$pointerPart})) && is_array($pointerParts)) { - return $this->traverse($json->{$pointerPart}, $pointerParts); - } - } elseif (is_object($json) && empty($pointerPart) && array_key_exists('_empty_', get_object_vars($json))) { - $pointerPart = '_empty_'; - if (count($pointerParts) === 0) { - return $json->{$pointerPart}; - } - if ((is_object($json->{$pointerPart}) || is_array($json->{$pointerPart})) && is_array($pointerParts)) { - return $this->traverse($json->{$pointerPart}, $pointerParts); - } - } elseif ($pointerPart === self::LAST_ARRAY_ELEMENT_CHAR && is_array($json)) { - return end($json); - } elseif (is_array($json) && count($json) < $pointerPart) { - // Do nothing, let Exception bubble up - } elseif (is_array($json) && array_key_exists($pointerPart, $json) && $json[$pointerPart] === null) { - return $json[$pointerPart]; - } - $exceptionMessage = sprintf( - "Json Pointer '%s' references a nonexistent value", - $this->getPointer() - ); - throw new NonexistentValueReferencedException($exceptionMessage); - } - - /** - * @return boolean - */ - private function isWalkableJson() - { - if ($this->json !== null && (is_array($this->json) || $this->json instanceof \stdClass)) { - return true; - } - return false; - } - - /** - * @param string $pointer The Json Pointer to validate. - * @throws \Rs\Json\Pointer\InvalidPointerException - */ - private function validatePointer($pointer) - { - if ($pointer !== '' && !is_string($pointer)) { - throw new InvalidPointerException('Pointer is not a string'); - } - - $firstPointerCharacter = substr($pointer, 0, 1); - - if ($firstPointerCharacter !== self::POINTER_CHAR) { - throw new InvalidPointerException('Pointer starts with invalid character'); - } - } - - /** - * @param array $pointerParts The Json Pointer parts to evaluate. - * - * @return array - */ - private function evaluatePointerParts(array $pointerParts) - { - $searchables = array('~1', '~0'); - $evaluations = array('/', '~'); - - $parts = array(); - array_filter($pointerParts, function ($v) use (&$parts, &$searchables, &$evaluations) { - return $parts[] = str_replace($searchables, $evaluations, $v); - }); - return $parts; - } -} diff --git a/app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer/InvalidJsonException.php b/app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer/InvalidJsonException.php deleted file mode 100755 index c672d0db0..000000000 --- a/app/vendor/php-jsonpointer/php-jsonpointer/src/Rs/Json/Pointer/InvalidJsonException.php +++ /dev/null @@ -1,6 +0,0 @@ -compare(...)); + usort($actual, $this->compare(...)); } $remaining = $actual; @@ -140,10 +139,10 @@ private function indent(string $lines): string return trim(str_replace("\n", "\n ", $lines)); } - private static function compare(mixed $a, mixed $b): int + private function compare(mixed $a, mixed $b): int { - $typeOrderA = self::typeOrder($a); - $typeOrderB = self::typeOrder($b); + $typeOrderA = $this->typeOrder($a); + $typeOrderB = $this->typeOrder($b); if ($typeOrderA !== $typeOrderB) { return $typeOrderA <=> $typeOrderB; @@ -156,7 +155,13 @@ private static function compare(mixed $a, mixed $b): int return $classComparison; } - return spl_object_id($a) <=> spl_object_id($b); + try { + $this->factory()->getComparatorFor($a, $b)->assertEquals($a, $b); + + return 0; + } catch (ComparisonFailure) { + return serialize($a) <=> serialize($b); + } } if (is_array($a) && is_array($b)) { @@ -166,7 +171,7 @@ private static function compare(mixed $a, mixed $b): int return $a <=> $b; } - private static function typeOrder(mixed $value): int + private function typeOrder(mixed $value): int { if ($value === null) { return 0; diff --git a/app/vendor/sebastian/comparator/src/NumberComparator.php b/app/vendor/sebastian/comparator/src/NumberComparator.php index 8c606a757..d100d6a03 100644 --- a/app/vendor/sebastian/comparator/src/NumberComparator.php +++ b/app/vendor/sebastian/comparator/src/NumberComparator.php @@ -39,17 +39,18 @@ public function accepts(mixed $expected, mixed $actual): bool public function assertEquals(mixed $expected, mixed $actual, float $delta = 0.0, bool $canonicalize = false, bool $ignoreCase = false, array &$processed = []): void { if (!$expected instanceof Number) { - assert(is_string($expected) || is_int($expected)); + assert((is_string($expected) && is_numeric($expected)) || is_int($expected)); $expected = new Number($expected); } if (!$actual instanceof Number) { - assert(is_string($actual) || is_int($actual)); + assert((is_string($actual) && is_numeric($actual)) || is_int($actual)); $actual = new Number($actual); } + /** @phpstan-ignore argument.type */ $deltaNumber = new Number(number_format($delta, max($expected->scale, $actual->scale))); if ($actual < $expected - $deltaNumber || $actual > $expected + $deltaNumber) { diff --git a/app/vendor/symfony/options-resolver/CHANGELOG.md b/app/vendor/symfony/options-resolver/CHANGELOG.md deleted file mode 100644 index 5bdc9e3f5..000000000 --- a/app/vendor/symfony/options-resolver/CHANGELOG.md +++ /dev/null @@ -1,103 +0,0 @@ -CHANGELOG -========= - -7.3 ---- - - * Support union type in `OptionResolver::setAllowedTypes()` method - * Add `OptionsResolver::setOptions()` and `OptionConfigurator::options()` methods - * Deprecate defining nested options via `setDefault()`, use `setOptions()` instead - -6.4 ---- - - * Improve message with full path on invalid type in nested option - -6.3 ---- - - * Add `OptionsResolver::setIgnoreUndefined()` and `OptionConfigurator::ignoreUndefined()` to ignore not defined options while resolving - -6.0 ---- - - * Remove `OptionsResolverIntrospector::getDeprecationMessage()` - -5.3 ---- - - * Add prototype definition for nested options - -5.1.0 ------ - - * added fluent configuration of options using `OptionResolver::define()` - * added `setInfo()` and `getInfo()` methods - * updated the signature of method `OptionsResolver::setDeprecated()` to `OptionsResolver::setDeprecation(string $option, string $package, string $version, $message)` - * deprecated `OptionsResolverIntrospector::getDeprecationMessage()`, use `OptionsResolverIntrospector::getDeprecation()` instead - -5.0.0 ------ - - * added argument `$triggerDeprecation` to `OptionsResolver::offsetGet()` - -4.3.0 ------ - - * added `OptionsResolver::addNormalizer` method - -4.2.0 ------ - - * added support for nested options definition - * added `setDeprecated` and `isDeprecated` methods - -3.4.0 ------ - - * added `OptionsResolverIntrospector` to inspect options definitions inside an `OptionsResolver` instance - * added array of types support in allowed types (e.g int[]) - -2.6.0 ------ - - * deprecated OptionsResolverInterface - * [BC BREAK] removed "array" type hint from OptionsResolverInterface methods - setRequired(), setAllowedValues(), addAllowedValues(), setAllowedTypes() and - addAllowedTypes() - * added OptionsResolver::setDefault() - * added OptionsResolver::hasDefault() - * added OptionsResolver::setNormalizer() - * added OptionsResolver::isRequired() - * added OptionsResolver::getRequiredOptions() - * added OptionsResolver::isMissing() - * added OptionsResolver::getMissingOptions() - * added OptionsResolver::setDefined() - * added OptionsResolver::isDefined() - * added OptionsResolver::getDefinedOptions() - * added OptionsResolver::remove() - * added OptionsResolver::clear() - * deprecated OptionsResolver::replaceDefaults() - * deprecated OptionsResolver::setOptional() in favor of setDefined() - * deprecated OptionsResolver::isKnown() in favor of isDefined() - * [BC BREAK] OptionsResolver::isRequired() returns true now if a required - option has a default value set - * [BC BREAK] merged Options into OptionsResolver and turned Options into an - interface - * deprecated Options::overload() (now in OptionsResolver) - * deprecated Options::set() (now in OptionsResolver) - * deprecated Options::get() (now in OptionsResolver) - * deprecated Options::has() (now in OptionsResolver) - * deprecated Options::replace() (now in OptionsResolver) - * [BC BREAK] Options::get() (now in OptionsResolver) can only be used within - lazy option/normalizer closures now - * [BC BREAK] removed Traversable interface from Options since using within - lazy option/normalizer closures resulted in exceptions - * [BC BREAK] removed Options::all() since using within lazy option/normalizer - closures resulted in exceptions - * [BC BREAK] OptionDefinitionException now extends LogicException instead of - RuntimeException - * [BC BREAK] normalizers are not executed anymore for unset options - * normalizers are executed after validating the options now - * [BC BREAK] an UndefinedOptionsException is now thrown instead of an - InvalidOptionsException when non-existing options are passed diff --git a/app/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php b/app/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php deleted file mode 100644 index 304a1a4ae..000000000 --- a/app/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php +++ /dev/null @@ -1,114 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Debug; - -use Symfony\Component\OptionsResolver\Exception\NoConfigurationException; -use Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException; -use Symfony\Component\OptionsResolver\OptionsResolver; - -/** - * @author Maxime Steinhausser - * - * @final - */ -class OptionsResolverIntrospector -{ - private \Closure $get; - - public function __construct(OptionsResolver $optionsResolver) - { - $this->get = \Closure::bind(function ($property, $option, $message) { - /** @var OptionsResolver $this */ - if (!$this->isDefined($option)) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist.', $option)); - } - - if (!\array_key_exists($option, $this->{$property})) { - throw new NoConfigurationException($message); - } - - return $this->{$property}[$option]; - }, $optionsResolver, $optionsResolver); - } - - /** - * @throws NoConfigurationException on no configured value - */ - public function getDefault(string $option): mixed - { - return ($this->get)('defaults', $option, \sprintf('No default value was set for the "%s" option.', $option)); - } - - /** - * @return \Closure[] - * - * @throws NoConfigurationException on no configured closures - */ - public function getLazyClosures(string $option): array - { - return ($this->get)('lazy', $option, \sprintf('No lazy closures were set for the "%s" option.', $option)); - } - - /** - * @return string[] - * - * @throws NoConfigurationException on no configured types - */ - public function getAllowedTypes(string $option): array - { - return ($this->get)('allowedTypes', $option, \sprintf('No allowed types were set for the "%s" option.', $option)); - } - - /** - * @return mixed[] - * - * @throws NoConfigurationException on no configured values - */ - public function getAllowedValues(string $option): array - { - return ($this->get)('allowedValues', $option, \sprintf('No allowed values were set for the "%s" option.', $option)); - } - - /** - * @throws NoConfigurationException on no configured normalizer - */ - public function getNormalizer(string $option): \Closure - { - return current($this->getNormalizers($option)); - } - - /** - * @throws NoConfigurationException when no normalizer is configured - */ - public function getNormalizers(string $option): array - { - return ($this->get)('normalizers', $option, \sprintf('No normalizer was set for the "%s" option.', $option)); - } - - /** - * @throws NoConfigurationException on no configured deprecation - */ - public function getDeprecation(string $option): array - { - return ($this->get)('deprecated', $option, \sprintf('No deprecation was set for the "%s" option.', $option)); - } - - /** - * @return \Closure[] - * - * @throws NoConfigurationException when no nested option is configured - */ - public function getNestedOptions(string $option): array - { - return ($this->get)('nested', $option, \sprintf('No nested option was set for the "%s" option.', $option)); - } -} diff --git a/app/vendor/symfony/options-resolver/Exception/AccessException.php b/app/vendor/symfony/options-resolver/Exception/AccessException.php deleted file mode 100644 index c12b68064..000000000 --- a/app/vendor/symfony/options-resolver/Exception/AccessException.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -/** - * Thrown when trying to read an option outside of or write it inside of - * {@link \Symfony\Component\OptionsResolver\Options::resolve()}. - * - * @author Bernhard Schussek - */ -class AccessException extends \LogicException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/options-resolver/Exception/ExceptionInterface.php b/app/vendor/symfony/options-resolver/Exception/ExceptionInterface.php deleted file mode 100644 index ea99d050e..000000000 --- a/app/vendor/symfony/options-resolver/Exception/ExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -/** - * Marker interface for all exceptions thrown by the OptionsResolver component. - * - * @author Bernhard Schussek - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/app/vendor/symfony/options-resolver/Exception/InvalidArgumentException.php b/app/vendor/symfony/options-resolver/Exception/InvalidArgumentException.php deleted file mode 100644 index 6d421d68b..000000000 --- a/app/vendor/symfony/options-resolver/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -/** - * Thrown when an argument is invalid. - * - * @author Bernhard Schussek - */ -class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/options-resolver/Exception/InvalidOptionsException.php b/app/vendor/symfony/options-resolver/Exception/InvalidOptionsException.php deleted file mode 100644 index 6fd4f125f..000000000 --- a/app/vendor/symfony/options-resolver/Exception/InvalidOptionsException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -/** - * Thrown when the value of an option does not match its validation rules. - * - * You should make sure a valid value is passed to the option. - * - * @author Bernhard Schussek - */ -class InvalidOptionsException extends InvalidArgumentException -{ -} diff --git a/app/vendor/symfony/options-resolver/Exception/MissingOptionsException.php b/app/vendor/symfony/options-resolver/Exception/MissingOptionsException.php deleted file mode 100644 index faa487f16..000000000 --- a/app/vendor/symfony/options-resolver/Exception/MissingOptionsException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -/** - * Exception thrown when a required option is missing. - * - * Add the option to the passed options array. - * - * @author Bernhard Schussek - */ -class MissingOptionsException extends InvalidArgumentException -{ -} diff --git a/app/vendor/symfony/options-resolver/Exception/NoConfigurationException.php b/app/vendor/symfony/options-resolver/Exception/NoConfigurationException.php deleted file mode 100644 index 6693ec14d..000000000 --- a/app/vendor/symfony/options-resolver/Exception/NoConfigurationException.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -use Symfony\Component\OptionsResolver\Debug\OptionsResolverIntrospector; - -/** - * Thrown when trying to introspect an option definition property - * for which no value was configured inside the OptionsResolver instance. - * - * @see OptionsResolverIntrospector - * - * @author Maxime Steinhausser - */ -class NoConfigurationException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/options-resolver/Exception/NoSuchOptionException.php b/app/vendor/symfony/options-resolver/Exception/NoSuchOptionException.php deleted file mode 100644 index 4c3280f4c..000000000 --- a/app/vendor/symfony/options-resolver/Exception/NoSuchOptionException.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -/** - * Thrown when trying to read an option that has no value set. - * - * When accessing optional options from within a lazy option or normalizer you should first - * check whether the optional option is set. You can do this with `isset($options['optional'])`. - * In contrast to the {@link UndefinedOptionsException}, this is a runtime exception that can - * occur when evaluating lazy options. - * - * @author Tobias Schultze - */ -class NoSuchOptionException extends \OutOfBoundsException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/options-resolver/Exception/OptionDefinitionException.php b/app/vendor/symfony/options-resolver/Exception/OptionDefinitionException.php deleted file mode 100644 index e8e339d44..000000000 --- a/app/vendor/symfony/options-resolver/Exception/OptionDefinitionException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -/** - * Thrown when two lazy options have a cyclic dependency. - * - * @author Bernhard Schussek - */ -class OptionDefinitionException extends \LogicException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/options-resolver/Exception/UndefinedOptionsException.php b/app/vendor/symfony/options-resolver/Exception/UndefinedOptionsException.php deleted file mode 100644 index 6ca3fce47..000000000 --- a/app/vendor/symfony/options-resolver/Exception/UndefinedOptionsException.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver\Exception; - -/** - * Exception thrown when an undefined option is passed. - * - * You should remove the options in question from your code or define them - * beforehand. - * - * @author Bernhard Schussek - */ -class UndefinedOptionsException extends InvalidArgumentException -{ -} diff --git a/app/vendor/symfony/options-resolver/LICENSE b/app/vendor/symfony/options-resolver/LICENSE deleted file mode 100644 index 0138f8f07..000000000 --- a/app/vendor/symfony/options-resolver/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-present Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/symfony/options-resolver/OptionConfigurator.php b/app/vendor/symfony/options-resolver/OptionConfigurator.php deleted file mode 100644 index 891b26587..000000000 --- a/app/vendor/symfony/options-resolver/OptionConfigurator.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver; - -use Symfony\Component\OptionsResolver\Exception\AccessException; - -final class OptionConfigurator -{ - public function __construct( - private string $name, - private OptionsResolver $resolver, - ) { - $this->resolver->setDefined($name); - } - - /** - * Adds allowed types for this option. - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function allowedTypes(string ...$types): static - { - $this->resolver->setAllowedTypes($this->name, $types); - - return $this; - } - - /** - * Sets allowed values for this option. - * - * @param mixed ...$values One or more acceptable values/closures - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function allowedValues(mixed ...$values): static - { - $this->resolver->setAllowedValues($this->name, $values); - - return $this; - } - - /** - * Sets the default value for this option. - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function default(mixed $value): static - { - $this->resolver->setDefault($this->name, $value); - - return $this; - } - - /** - * Defines an option configurator with the given name. - */ - public function define(string $option): self - { - return $this->resolver->define($option); - } - - /** - * Marks this option as deprecated. - * - * @param string $package The name of the composer package that is triggering the deprecation - * @param string $version The version of the package that introduced the deprecation - * @param string|\Closure $message The deprecation message to use - * - * @return $this - */ - public function deprecated(string $package, string $version, string|\Closure $message = 'The option "%name%" is deprecated.'): static - { - $this->resolver->setDeprecated($this->name, $package, $version, $message); - - return $this; - } - - /** - * Sets the normalizer for this option. - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function normalize(\Closure $normalizer): static - { - $this->resolver->setNormalizer($this->name, $normalizer); - - return $this; - } - - /** - * Marks this option as required. - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function required(): static - { - $this->resolver->setRequired($this->name); - - return $this; - } - - /** - * Sets an info message for an option. - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function info(string $info): static - { - $this->resolver->setInfo($this->name, $info); - - return $this; - } - - /** - * Sets whether ignore undefined options. - * - * @return $this - */ - public function ignoreUndefined(bool $ignore = true): static - { - $this->resolver->setIgnoreUndefined($ignore); - - return $this; - } - - /** - * Defines nested options. - * - * @param \Closure(OptionsResolver $resolver, Options $parent): void $nested - * - * @return $this - */ - public function options(\Closure $nested): static - { - $this->resolver->setOptions($this->name, $nested); - - return $this; - } -} diff --git a/app/vendor/symfony/options-resolver/Options.php b/app/vendor/symfony/options-resolver/Options.php deleted file mode 100644 index d444ec423..000000000 --- a/app/vendor/symfony/options-resolver/Options.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver; - -/** - * Contains resolved option values. - * - * @author Bernhard Schussek - * @author Tobias Schultze - */ -interface Options extends \ArrayAccess, \Countable -{ -} diff --git a/app/vendor/symfony/options-resolver/OptionsResolver.php b/app/vendor/symfony/options-resolver/OptionsResolver.php deleted file mode 100644 index 1fca581a1..000000000 --- a/app/vendor/symfony/options-resolver/OptionsResolver.php +++ /dev/null @@ -1,1399 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\OptionsResolver; - -use Symfony\Component\OptionsResolver\Exception\AccessException; -use Symfony\Component\OptionsResolver\Exception\InvalidArgumentException; -use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException; -use Symfony\Component\OptionsResolver\Exception\MissingOptionsException; -use Symfony\Component\OptionsResolver\Exception\NoSuchOptionException; -use Symfony\Component\OptionsResolver\Exception\OptionDefinitionException; -use Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException; - -/** - * Validates options and merges them with default values. - * - * @author Bernhard Schussek - * @author Tobias Schultze - */ -class OptionsResolver implements Options -{ - private const VALIDATION_FUNCTIONS = [ - 'bool' => 'is_bool', - 'boolean' => 'is_bool', - 'int' => 'is_int', - 'integer' => 'is_int', - 'long' => 'is_int', - 'float' => 'is_float', - 'double' => 'is_float', - 'real' => 'is_float', - 'numeric' => 'is_numeric', - 'string' => 'is_string', - 'scalar' => 'is_scalar', - 'array' => 'is_array', - 'iterable' => 'is_iterable', - 'countable' => 'is_countable', - 'callable' => 'is_callable', - 'object' => 'is_object', - 'resource' => 'is_resource', - ]; - - /** - * The names of all defined options. - */ - private array $defined = []; - - /** - * The default option values. - */ - private array $defaults = []; - - /** - * A list of closure for nested options. - * - * @var \Closure[][] - */ - private array $nested = []; - - /** - * BC layer. Remove in Symfony 8.0. - * - * @var array - */ - private array $deprecatedNestedOptions = []; - - /** - * The names of required options. - */ - private array $required = []; - - /** - * The resolved option values. - */ - private array $resolved = []; - - /** - * A list of normalizer closures. - * - * @var \Closure[][] - */ - private array $normalizers = []; - - /** - * A list of accepted values for each option. - */ - private array $allowedValues = []; - - /** - * A list of accepted types for each option. - */ - private array $allowedTypes = []; - - /** - * A list of info messages for each option. - */ - private array $info = []; - - /** - * A list of closures for evaluating lazy options. - */ - private array $lazy = []; - - /** - * A list of lazy options whose closure is currently being called. - * - * This list helps detecting circular dependencies between lazy options. - */ - private array $calling = []; - - /** - * A list of deprecated options. - */ - private array $deprecated = []; - - /** - * The list of options provided by the user. - */ - private array $given = []; - - /** - * Whether the instance is locked for reading. - * - * Once locked, the options cannot be changed anymore. This is - * necessary in order to avoid inconsistencies during the resolving - * process. If any option is changed after being read, all evaluated - * lazy options that depend on this option would become invalid. - */ - private bool $locked = false; - - private array $parentsOptions = []; - - /** - * Whether the whole options definition is marked as array prototype. - */ - private ?bool $prototype = null; - - /** - * The prototype array's index that is being read. - */ - private int|string|null $prototypeIndex = null; - - /** - * Whether to ignore undefined options. - */ - private bool $ignoreUndefined = false; - - /** - * Sets the default value of a given option. - * - * If the default value should be set based on other options, you can pass - * a closure with the following signature: - * - * function (Options $options) { - * // ... - * } - * - * The closure will be evaluated when {@link resolve()} is called. The - * closure has access to the resolved values of other options through the - * passed {@link Options} instance: - * - * function (Options $options) { - * if (isset($options['port'])) { - * // ... - * } - * } - * - * If you want to access the previously set default value, add a second - * argument to the closure's signature: - * - * $options->setDefault('name', 'Default Name'); - * - * $options->setDefault('name', function (Options $options, $previousValue) { - * // 'Default Name' === $previousValue - * }); - * - * This is mostly useful if the configuration of the {@link Options} object - * is spread across different locations of your code, such as base and - * sub-classes. - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function setDefault(string $option, mixed $value): static - { - // Setting is not possible once resolving starts, because then lazy - // options could manipulate the state of the object, leading to - // inconsistent results. - if ($this->locked) { - throw new AccessException('Default values cannot be set from a lazy option or normalizer.'); - } - - // If an option is a closure that should be evaluated lazily, store it - // in the "lazy" property. - if ($value instanceof \Closure) { - $reflClosure = new \ReflectionFunction($value); - $params = $reflClosure->getParameters(); - - if (isset($params[0]) && Options::class === $this->getParameterClassName($params[0])) { - // Initialize the option if no previous value exists - if (!isset($this->defaults[$option])) { - $this->defaults[$option] = null; - } - - // Ignore previous lazy options if the closure has no second parameter - if (!isset($this->lazy[$option]) || !isset($params[1])) { - $this->lazy[$option] = []; - } - - // Store closure for later evaluation - $this->lazy[$option][] = $value; - $this->defined[$option] = true; - - // Make sure the option is processed - unset($this->resolved[$option]); - - // BC layer. Remove in Symfony 8.0. - if (isset($this->deprecatedNestedOptions[$option])) { - unset($this->nested[$option]); - } - - return $this; - } - - // Remove in Symfony 8.0. - if (isset($params[0]) && ($type = $params[0]->getType()) instanceof \ReflectionNamedType && self::class === $type->getName() && (!isset($params[1]) || (($type = $params[1]->getType()) instanceof \ReflectionNamedType && Options::class === $type->getName()))) { - trigger_deprecation('symfony/options-resolver', '7.3', 'Defining nested options via "%s()" is deprecated and will be removed in Symfony 8.0, use "setOptions()" method instead.', __METHOD__); - $this->deprecatedNestedOptions[$option] = true; - - // Store closure for later evaluation - $this->nested[$option][] = $value; - $this->defaults[$option] = []; - $this->defined[$option] = true; - - // Make sure the option is processed and is not lazy anymore - unset($this->resolved[$option], $this->lazy[$option]); - - return $this; - } - } - - // This option is not lazy anymore - unset($this->lazy[$option]); - - // BC layer. Remove in Symfony 8.0. - if (isset($this->deprecatedNestedOptions[$option])) { - unset($this->nested[$option]); - } - - // Yet undefined options can be marked as resolved, because we only need - // to resolve options with lazy closures, normalizers or validation - // rules, none of which can exist for undefined options - // If the option was resolved before, update the resolved value - if (!isset($this->defined[$option]) || \array_key_exists($option, $this->resolved)) { - $this->resolved[$option] = $value; - } - - $this->defaults[$option] = $value; - $this->defined[$option] = true; - - return $this; - } - - /** - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function setDefaults(array $defaults): static - { - foreach ($defaults as $option => $value) { - $this->setDefault($option, $value); - } - - return $this; - } - - /** - * Returns whether a default value is set for an option. - * - * Returns true if {@link setDefault()} was called for this option. - * An option is also considered set if it was set to null. - */ - public function hasDefault(string $option): bool - { - return \array_key_exists($option, $this->defaults); - } - - /** - * Marks one or more options as required. - * - * @param string|string[] $optionNames One or more option names - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function setRequired(string|array $optionNames): static - { - if ($this->locked) { - throw new AccessException('Options cannot be made required from a lazy option or normalizer.'); - } - - foreach ((array) $optionNames as $option) { - $this->defined[$option] = true; - $this->required[$option] = true; - } - - return $this; - } - - /** - * Returns whether an option is required. - * - * An option is required if it was passed to {@link setRequired()}. - */ - public function isRequired(string $option): bool - { - return isset($this->required[$option]); - } - - /** - * Returns the names of all required options. - * - * @return string[] - * - * @see isRequired() - */ - public function getRequiredOptions(): array - { - return array_keys($this->required); - } - - /** - * Returns whether an option is missing a default value. - * - * An option is missing if it was passed to {@link setRequired()}, but not - * to {@link setDefault()}. This option must be passed explicitly to - * {@link resolve()}, otherwise an exception will be thrown. - */ - public function isMissing(string $option): bool - { - return isset($this->required[$option]) && !\array_key_exists($option, $this->defaults); - } - - /** - * Returns the names of all options missing a default value. - * - * @return string[] - */ - public function getMissingOptions(): array - { - return array_keys(array_diff_key($this->required, $this->defaults)); - } - - /** - * Defines a valid option name. - * - * Defines an option name without setting a default value. The option will - * be accepted when passed to {@link resolve()}. When not passed, the - * option will not be included in the resolved options. - * - * @param string|string[] $optionNames One or more option names - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function setDefined(string|array $optionNames): static - { - if ($this->locked) { - throw new AccessException('Options cannot be defined from a lazy option or normalizer.'); - } - - foreach ((array) $optionNames as $option) { - $this->defined[$option] = true; - } - - return $this; - } - - /** - * Returns whether an option is defined. - * - * Returns true for any option passed to {@link setDefault()}, - * {@link setRequired()} or {@link setDefined()}. - */ - public function isDefined(string $option): bool - { - return isset($this->defined[$option]); - } - - /** - * Returns the names of all defined options. - * - * @return string[] - * - * @see isDefined() - */ - public function getDefinedOptions(): array - { - return array_keys($this->defined); - } - - /** - * Defines nested options. - * - * @param \Closure(self $resolver, Options $parent): void $nested - * - * @return $this - */ - public function setOptions(string $option, \Closure $nested): static - { - if ($this->locked) { - throw new AccessException('Nested options cannot be defined from a lazy option or normalizer.'); - } - - // Store closure for later evaluation - $this->nested[$option][] = $nested; - $this->defaults[$option] = []; - $this->defined[$option] = true; - - // Make sure the option is processed - unset($this->resolved[$option]); - - return $this; - } - - public function isNested(string $option): bool - { - return isset($this->nested[$option]); - } - - /** - * Deprecates an option, allowed types or values. - * - * Instead of passing the message, you may also pass a closure with the - * following signature: - * - * function (Options $options, $value): string { - * // ... - * } - * - * The closure receives the value as argument and should return a string. - * Return an empty string to ignore the option deprecation. - * - * The closure is invoked when {@link resolve()} is called. The parameter - * passed to the closure is the value of the option after validating it - * and before normalizing it. - * - * @param string $package The name of the composer package that is triggering the deprecation - * @param string $version The version of the package that introduced the deprecation - * @param string|\Closure $message The deprecation message to use - * - * @return $this - */ - public function setDeprecated(string $option, string $package, string $version, string|\Closure $message = 'The option "%name%" is deprecated.'): static - { - if ($this->locked) { - throw new AccessException('Options cannot be deprecated from a lazy option or normalizer.'); - } - - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist, defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - if (!\is_string($message) && !$message instanceof \Closure) { - throw new InvalidArgumentException(\sprintf('Invalid type for deprecation message argument, expected string or \Closure, but got "%s".', get_debug_type($message))); - } - - // ignore if empty string - if ('' === $message) { - return $this; - } - - $this->deprecated[$option] = [ - 'package' => $package, - 'version' => $version, - 'message' => $message, - ]; - - // Make sure the option is processed - unset($this->resolved[$option]); - - return $this; - } - - public function isDeprecated(string $option): bool - { - return isset($this->deprecated[$option]); - } - - /** - * Sets the normalizer for an option. - * - * The normalizer should be a closure with the following signature: - * - * function (Options $options, $value) { - * // ... - * } - * - * The closure is invoked when {@link resolve()} is called. The closure - * has access to the resolved values of other options through the passed - * {@link Options} instance. - * - * The second parameter passed to the closure is the value of - * the option. - * - * The resolved option value is set to the return value of the closure. - * - * @return $this - * - * @throws UndefinedOptionsException If the option is undefined - * @throws AccessException If called from a lazy option or normalizer - */ - public function setNormalizer(string $option, \Closure $normalizer): static - { - if ($this->locked) { - throw new AccessException('Normalizers cannot be set from a lazy option or normalizer.'); - } - - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - $this->normalizers[$option] = [$normalizer]; - - // Make sure the option is processed - unset($this->resolved[$option]); - - return $this; - } - - /** - * Adds a normalizer for an option. - * - * The normalizer should be a closure with the following signature: - * - * function (Options $options, $value): mixed { - * // ... - * } - * - * The closure is invoked when {@link resolve()} is called. The closure - * has access to the resolved values of other options through the passed - * {@link Options} instance. - * - * The second parameter passed to the closure is the value of - * the option. - * - * The resolved option value is set to the return value of the closure. - * - * @return $this - * - * @throws UndefinedOptionsException If the option is undefined - * @throws AccessException If called from a lazy option or normalizer - */ - public function addNormalizer(string $option, \Closure $normalizer, bool $forcePrepend = false): static - { - if ($this->locked) { - throw new AccessException('Normalizers cannot be set from a lazy option or normalizer.'); - } - - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - if ($forcePrepend) { - $this->normalizers[$option] ??= []; - array_unshift($this->normalizers[$option], $normalizer); - } else { - $this->normalizers[$option][] = $normalizer; - } - - // Make sure the option is processed - unset($this->resolved[$option]); - - return $this; - } - - /** - * Sets allowed values for an option. - * - * Instead of passing values, you may also pass a closures with the - * following signature: - * - * function ($value) { - * // return true or false - * } - * - * The closure receives the value as argument and should return true to - * accept the value and false to reject the value. - * - * @param mixed $allowedValues One or more acceptable values/closures - * - * @return $this - * - * @throws UndefinedOptionsException If the option is undefined - * @throws AccessException If called from a lazy option or normalizer - */ - public function setAllowedValues(string $option, mixed $allowedValues): static - { - if ($this->locked) { - throw new AccessException('Allowed values cannot be set from a lazy option or normalizer.'); - } - - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - $this->allowedValues[$option] = \is_array($allowedValues) ? $allowedValues : [$allowedValues]; - - // Make sure the option is processed - unset($this->resolved[$option]); - - return $this; - } - - /** - * Adds allowed values for an option. - * - * The values are merged with the allowed values defined previously. - * - * Instead of passing values, you may also pass a closures with the - * following signature: - * - * function ($value) { - * // return true or false - * } - * - * The closure receives the value as argument and should return true to - * accept the value and false to reject the value. - * - * @param mixed $allowedValues One or more acceptable values/closures - * - * @return $this - * - * @throws UndefinedOptionsException If the option is undefined - * @throws AccessException If called from a lazy option or normalizer - */ - public function addAllowedValues(string $option, mixed $allowedValues): static - { - if ($this->locked) { - throw new AccessException('Allowed values cannot be added from a lazy option or normalizer.'); - } - - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - if (!\is_array($allowedValues)) { - $allowedValues = [$allowedValues]; - } - - if (!isset($this->allowedValues[$option])) { - $this->allowedValues[$option] = $allowedValues; - } else { - $this->allowedValues[$option] = array_merge($this->allowedValues[$option], $allowedValues); - } - - // Make sure the option is processed - unset($this->resolved[$option]); - - return $this; - } - - /** - * Sets allowed types for an option. - * - * Any type for which a corresponding is_() function exists is - * acceptable. Additionally, fully-qualified class or interface names may - * be passed. - * - * @param string|string[] $allowedTypes One or more accepted types - * - * @return $this - * - * @throws UndefinedOptionsException If the option is undefined - * @throws AccessException If called from a lazy option or normalizer - */ - public function setAllowedTypes(string $option, string|array $allowedTypes): static - { - if ($this->locked) { - throw new AccessException('Allowed types cannot be set from a lazy option or normalizer.'); - } - - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - $this->allowedTypes[$option] = (array) $allowedTypes; - - // Make sure the option is processed - unset($this->resolved[$option]); - - return $this; - } - - /** - * Adds allowed types for an option. - * - * The types are merged with the allowed types defined previously. - * - * Any type for which a corresponding is_() function exists is - * acceptable. Additionally, fully-qualified class or interface names may - * be passed. - * - * @param string|string[] $allowedTypes One or more accepted types - * - * @return $this - * - * @throws UndefinedOptionsException If the option is undefined - * @throws AccessException If called from a lazy option or normalizer - */ - public function addAllowedTypes(string $option, string|array $allowedTypes): static - { - if ($this->locked) { - throw new AccessException('Allowed types cannot be added from a lazy option or normalizer.'); - } - - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - if (!isset($this->allowedTypes[$option])) { - $this->allowedTypes[$option] = (array) $allowedTypes; - } else { - $this->allowedTypes[$option] = array_merge($this->allowedTypes[$option], (array) $allowedTypes); - } - - // Make sure the option is processed - unset($this->resolved[$option]); - - return $this; - } - - /** - * Defines an option configurator with the given name. - */ - public function define(string $option): OptionConfigurator - { - if (isset($this->defined[$option])) { - throw new OptionDefinitionException(\sprintf('The option "%s" is already defined.', $option)); - } - - return new OptionConfigurator($option, $this); - } - - /** - * Sets an info message for an option. - * - * @return $this - * - * @throws UndefinedOptionsException If the option is undefined - * @throws AccessException If called from a lazy option or normalizer - */ - public function setInfo(string $option, string $info): static - { - if ($this->locked) { - throw new AccessException('The Info message cannot be set from a lazy option or normalizer.'); - } - - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - $this->info[$option] = $info; - - return $this; - } - - /** - * Gets the info message for an option. - */ - public function getInfo(string $option): ?string - { - if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - return $this->info[$option] ?? null; - } - - /** - * Marks the whole options definition as array prototype. - * - * @return $this - * - * @throws AccessException If called from a lazy option, a normalizer or a root definition - */ - public function setPrototype(bool $prototype): static - { - if ($this->locked) { - throw new AccessException('The prototype property cannot be set from a lazy option or normalizer.'); - } - - if (null === $this->prototype && $prototype) { - throw new AccessException('The prototype property cannot be set from a root definition.'); - } - - $this->prototype = $prototype; - - return $this; - } - - public function isPrototype(): bool - { - return $this->prototype ?? false; - } - - /** - * Removes the option with the given name. - * - * Undefined options are ignored. - * - * @param string|string[] $optionNames One or more option names - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function remove(string|array $optionNames): static - { - if ($this->locked) { - throw new AccessException('Options cannot be removed from a lazy option or normalizer.'); - } - - foreach ((array) $optionNames as $option) { - unset($this->defined[$option], $this->defaults[$option], $this->required[$option], $this->resolved[$option]); - unset($this->lazy[$option], $this->normalizers[$option], $this->allowedTypes[$option], $this->allowedValues[$option], $this->info[$option], $this->deprecated[$option]); - } - - return $this; - } - - /** - * Removes all options. - * - * @return $this - * - * @throws AccessException If called from a lazy option or normalizer - */ - public function clear(): static - { - if ($this->locked) { - throw new AccessException('Options cannot be cleared from a lazy option or normalizer.'); - } - - $this->defined = []; - $this->defaults = []; - $this->nested = []; - $this->required = []; - $this->resolved = []; - $this->lazy = []; - $this->normalizers = []; - $this->allowedTypes = []; - $this->allowedValues = []; - $this->deprecated = []; - $this->info = []; - - return $this; - } - - /** - * Merges options with the default values stored in the container and - * validates them. - * - * Exceptions are thrown if: - * - * - Undefined options are passed; - * - Required options are missing; - * - Options have invalid types; - * - Options have invalid values. - * - * @throws UndefinedOptionsException If an option name is undefined - * @throws InvalidOptionsException If an option doesn't fulfill the - * specified validation rules - * @throws MissingOptionsException If a required option is missing - * @throws OptionDefinitionException If there is a cyclic dependency between - * lazy options and/or normalizers - * @throws NoSuchOptionException If a lazy option reads an unavailable option - * @throws AccessException If called from a lazy option or normalizer - */ - public function resolve(array $options = []): array - { - if ($this->locked) { - throw new AccessException('Options cannot be resolved from a lazy option or normalizer.'); - } - - // Allow this method to be called multiple times - $clone = clone $this; - - // Make sure that no unknown options are passed - $diff = $this->ignoreUndefined ? [] : array_diff_key($options, $clone->defined); - - if (\count($diff) > 0) { - ksort($clone->defined); - ksort($diff); - - throw new UndefinedOptionsException(\sprintf((\count($diff) > 1 ? 'The options "%s" do not exist.' : 'The option "%s" does not exist.').' Defined options are: "%s".', $this->formatOptions(array_keys($diff)), implode('", "', array_keys($clone->defined)))); - } - - // Override options set by the user - foreach ($options as $option => $value) { - if ($this->ignoreUndefined && !isset($clone->defined[$option])) { - continue; - } - - $clone->given[$option] = true; - $clone->defaults[$option] = $value; - unset($clone->resolved[$option], $clone->lazy[$option]); - } - - // Check whether any required option is missing - $diff = array_diff_key($clone->required, $clone->defaults); - - if (\count($diff) > 0) { - ksort($diff); - - throw new MissingOptionsException(\sprintf(\count($diff) > 1 ? 'The required options "%s" are missing.' : 'The required option "%s" is missing.', $this->formatOptions(array_keys($diff)))); - } - - // Lock the container - $clone->locked = true; - - // Now process the individual options. Use offsetGet(), which resolves - // the option itself and any options that the option depends on - foreach ($clone->defaults as $option => $_) { - $clone->offsetGet($option); - } - - return $clone->resolved; - } - - /** - * Returns the resolved value of an option. - * - * @param bool $triggerDeprecation Whether to trigger the deprecation or not (true by default) - * - * @throws AccessException If accessing this method outside of - * {@link resolve()} - * @throws NoSuchOptionException If the option is not set - * @throws InvalidOptionsException If the option doesn't fulfill the - * specified validation rules - * @throws OptionDefinitionException If there is a cyclic dependency between - * lazy options and/or normalizers - */ - public function offsetGet(mixed $option, bool $triggerDeprecation = true): mixed - { - if (!$this->locked) { - throw new AccessException('Array access is only supported within closures of lazy options and normalizers.'); - } - - // Shortcut for resolved options - if (isset($this->resolved[$option]) || \array_key_exists($option, $this->resolved)) { - if ($triggerDeprecation && isset($this->deprecated[$option]) && (isset($this->given[$option]) || $this->calling) && \is_string($this->deprecated[$option]['message'])) { - trigger_deprecation($this->deprecated[$option]['package'], $this->deprecated[$option]['version'], strtr($this->deprecated[$option]['message'], ['%name%' => $option])); - } - - return $this->resolved[$option]; - } - - // Check whether the option is set at all - if (!isset($this->defaults[$option]) && !\array_key_exists($option, $this->defaults)) { - if (!isset($this->defined[$option])) { - throw new NoSuchOptionException(\sprintf('The option "%s" does not exist. Defined options are: "%s".', $this->formatOptions([$option]), implode('", "', array_keys($this->defined)))); - } - - throw new NoSuchOptionException(\sprintf('The optional option "%s" has no value set. You should make sure it is set with "isset" before reading it.', $this->formatOptions([$option]))); - } - - $value = $this->defaults[$option]; - - // Resolve the option if the default value is lazily evaluated - if (isset($this->lazy[$option])) { - // If the closure is already being called, we have a cyclic dependency - if (isset($this->calling[$option])) { - throw new OptionDefinitionException(\sprintf('The options "%s" have a cyclic dependency.', $this->formatOptions(array_keys($this->calling)))); - } - - $this->calling[$option] = true; - try { - foreach ($this->lazy[$option] as $closure) { - $value = $closure($this, $value); - } - } finally { - unset($this->calling[$option]); - } - } - - // Resolve the option if it is a nested definition - if (isset($this->nested[$option])) { - // If the closure is already being called, we have a cyclic dependency - if (isset($this->calling[$option])) { - throw new OptionDefinitionException(\sprintf('The options "%s" have a cyclic dependency.', $this->formatOptions(array_keys($this->calling)))); - } - - if (!\is_array($value)) { - throw new InvalidOptionsException(\sprintf('The nested option "%s" with value %s is expected to be of type array, but is of type "%s".', $this->formatOptions([$option]), $this->formatValue($value), get_debug_type($value))); - } - - $this->calling[$option] = true; - try { - $resolver = new self(); - $resolver->prototype = false; - $resolver->parentsOptions = $this->parentsOptions; - - if ($this->prototype && null !== $this->prototypeIndex && null !== ($parentOptionKey = array_key_last($resolver->parentsOptions))) { - $resolver->parentsOptions[$parentOptionKey] .= \sprintf('[%s]', $this->prototypeIndex); - } - - $resolver->parentsOptions[] = $option; - foreach ($this->nested[$option] as $closure) { - $closure($resolver, $this); - } - - if ($resolver->prototype) { - $values = []; - foreach ($value as $index => $prototypeValue) { - if (!\is_array($prototypeValue)) { - throw new InvalidOptionsException(\sprintf('The value of the option "%s" is expected to be of type array of array, but is of type array of "%s".', $this->formatOptions([$option]), get_debug_type($prototypeValue))); - } - - $resolver->prototypeIndex = $index; - $values[$index] = $resolver->resolve($prototypeValue); - } - $value = $values; - } else { - $value = $resolver->resolve($value); - } - } finally { - $resolver->prototypeIndex = null; - unset($this->calling[$option]); - } - } - - // Validate the type of the resolved option - if (isset($this->allowedTypes[$option])) { - $valid = true; - $invalidTypes = []; - - foreach ($this->allowedTypes[$option] as $type) { - if ($valid = $this->verifyTypes($type, $value, $invalidTypes)) { - break; - } - } - - if (!$valid) { - $fmtActualValue = $this->formatValue($value); - $fmtAllowedTypes = implode('" or "', $this->allowedTypes[$option]); - $fmtProvidedTypes = implode('|', array_keys($invalidTypes)); - $allowedContainsArrayType = \count(array_filter($this->allowedTypes[$option], static fn ($item) => str_ends_with($item, '[]'))) > 0; - - if (\is_array($value) && $allowedContainsArrayType) { - throw new InvalidOptionsException(\sprintf('The option "%s" with value %s is expected to be of type "%s", but one of the elements is of type "%s".', $this->formatOptions([$option]), $fmtActualValue, $fmtAllowedTypes, $fmtProvidedTypes)); - } - - throw new InvalidOptionsException(\sprintf('The option "%s" with value %s is expected to be of type "%s", but is of type "%s".', $this->formatOptions([$option]), $fmtActualValue, $fmtAllowedTypes, $fmtProvidedTypes)); - } - } - - // Validate the value of the resolved option - if (isset($this->allowedValues[$option])) { - $success = false; - $printableAllowedValues = []; - - foreach ($this->allowedValues[$option] as $allowedValue) { - if ($allowedValue instanceof \Closure) { - if ($allowedValue($value)) { - $success = true; - break; - } - - // Don't include closures in the exception message - continue; - } - - if ($value === $allowedValue) { - $success = true; - break; - } - - $printableAllowedValues[] = $allowedValue; - } - - if (!$success) { - $message = \sprintf( - 'The option "%s" with value %s is invalid.', - $this->formatOptions([$option]), - $this->formatValue($value) - ); - - if (\count($printableAllowedValues) > 0) { - $message .= \sprintf( - ' Accepted values are: %s.', - $this->formatValues($printableAllowedValues) - ); - } - - if (isset($this->info[$option])) { - $message .= \sprintf(' Info: %s.', $this->info[$option]); - } - - throw new InvalidOptionsException($message); - } - } - - // Check whether the option is deprecated - // and it is provided by the user or is being called from a lazy evaluation - if ($triggerDeprecation && isset($this->deprecated[$option]) && (isset($this->given[$option]) || ($this->calling && \is_string($this->deprecated[$option]['message'])))) { - $deprecation = $this->deprecated[$option]; - $message = $this->deprecated[$option]['message']; - - if ($message instanceof \Closure) { - // If the closure is already being called, we have a cyclic dependency - if (isset($this->calling[$option])) { - throw new OptionDefinitionException(\sprintf('The options "%s" have a cyclic dependency.', $this->formatOptions(array_keys($this->calling)))); - } - - $this->calling[$option] = true; - try { - if (!\is_string($message = $message($this, $value))) { - throw new InvalidOptionsException(\sprintf('Invalid type for deprecation message, expected string but got "%s", return an empty string to ignore.', get_debug_type($message))); - } - } finally { - unset($this->calling[$option]); - } - } - - if ('' !== $message) { - trigger_deprecation($deprecation['package'], $deprecation['version'], strtr($message, ['%name%' => $option])); - } - } - - // Normalize the validated option - if (isset($this->normalizers[$option])) { - // If the closure is already being called, we have a cyclic - // dependency - if (isset($this->calling[$option])) { - throw new OptionDefinitionException(\sprintf('The options "%s" have a cyclic dependency.', $this->formatOptions(array_keys($this->calling)))); - } - - // The following section must be protected from cyclic - // calls. Set $calling for the current $option to detect a cyclic - // dependency - // BEGIN - $this->calling[$option] = true; - try { - foreach ($this->normalizers[$option] as $normalizer) { - $value = $normalizer($this, $value); - } - } finally { - unset($this->calling[$option]); - } - // END - } - - // Mark as resolved - $this->resolved[$option] = $value; - - return $value; - } - - private function verifyTypes(string $type, mixed $value, ?array &$invalidTypes = null, int $level = 0): bool - { - $type = trim($type); - $allowedTypes = $this->splitOutsideParenthesis($type); - if (\count($allowedTypes) > 1) { - foreach ($allowedTypes as $allowedType) { - if ($this->verifyTypes($allowedType, $value)) { - return true; - } - } - - if (\is_array($invalidTypes) && (!$invalidTypes || $level > 0)) { - $invalidTypes[get_debug_type($value)] = true; - } - - return false; - } - - $type = $allowedTypes[0]; - if (str_starts_with($type, '(') && str_ends_with($type, ')')) { - return $this->verifyTypes(substr($type, 1, -1), $value, $invalidTypes, $level); - } - - if (\is_array($value) && str_ends_with($type, '[]')) { - $type = substr($type, 0, -2); - $valid = true; - - foreach ($value as $val) { - if (!$this->verifyTypes($type, $val, $invalidTypes, $level + 1)) { - $valid = false; - } - } - - return $valid; - } - - if (('null' === $type && null === $value) || (isset(self::VALIDATION_FUNCTIONS[$type]) ? self::VALIDATION_FUNCTIONS[$type]($value) : $value instanceof $type)) { - return true; - } - - if (\is_array($invalidTypes) && (!$invalidTypes || $level > 0)) { - $invalidTypes[get_debug_type($value)] = true; - } - - return false; - } - - /** - * @return list - */ - private function splitOutsideParenthesis(string $type): array - { - return preg_split(<<<'EOF' - / - # Define a recursive subroutine for matching balanced parentheses - (?(DEFINE) - (? - \( # Match an opening parenthesis - (?: # Start a non-capturing group for the contents - [^()] # Match any character that is not a parenthesis - | # OR - (?&balanced) # Recursively match a nested balanced group - )* # Repeat the group for all contents - \) # Match the final closing parenthesis - ) - ) - - # Match any balanced parenthetical group, then skip it - (?&balanced)(*SKIP)(*FAIL) # Use the defined subroutine and discard the match - - | # OR - - \| # Match the pipe delimiter (only if not inside a skipped group) - /x - EOF, - $type - ); - } - - /** - * Returns whether a resolved option with the given name exists. - * - * @throws AccessException If accessing this method outside of {@link resolve()} - * - * @see \ArrayAccess::offsetExists() - */ - public function offsetExists(mixed $option): bool - { - if (!$this->locked) { - throw new AccessException('Array access is only supported within closures of lazy options and normalizers.'); - } - - return \array_key_exists($option, $this->defaults); - } - - /** - * Not supported. - * - * @throws AccessException - */ - public function offsetSet(mixed $option, mixed $value): void - { - throw new AccessException('Setting options via array access is not supported. Use setDefault() instead.'); - } - - /** - * Not supported. - * - * @throws AccessException - */ - public function offsetUnset(mixed $option): void - { - throw new AccessException('Removing options via array access is not supported. Use remove() instead.'); - } - - /** - * Returns the number of set options. - * - * This may be only a subset of the defined options. - * - * @throws AccessException If accessing this method outside of {@link resolve()} - * - * @see \Countable::count() - */ - public function count(): int - { - if (!$this->locked) { - throw new AccessException('Counting is only supported within closures of lazy options and normalizers.'); - } - - return \count($this->defaults); - } - - /** - * Sets whether ignore undefined options. - * - * @return $this - */ - public function setIgnoreUndefined(bool $ignore = true): static - { - $this->ignoreUndefined = $ignore; - - return $this; - } - - /** - * Returns a string representation of the value. - * - * This method returns the equivalent PHP tokens for most scalar types - * (i.e. "false" for false, "1" for 1 etc.). Strings are always wrapped - * in double quotes ("). - */ - private function formatValue(mixed $value): string - { - if (\is_object($value)) { - return $value::class; - } - - if (\is_array($value)) { - return 'array'; - } - - if (\is_string($value)) { - return '"'.$value.'"'; - } - - if (\is_resource($value)) { - return 'resource'; - } - - if (null === $value) { - return 'null'; - } - - if (false === $value) { - return 'false'; - } - - if (true === $value) { - return 'true'; - } - - return (string) $value; - } - - /** - * Returns a string representation of a list of values. - * - * Each of the values is converted to a string using - * {@link formatValue()}. The values are then concatenated with commas. - * - * @see formatValue() - */ - private function formatValues(array $values): string - { - foreach ($values as $key => $value) { - $values[$key] = $this->formatValue($value); - } - - return implode(', ', $values); - } - - private function formatOptions(array $options): string - { - if ($this->parentsOptions) { - $prefix = array_shift($this->parentsOptions); - if ($this->parentsOptions) { - $prefix .= \sprintf('[%s]', implode('][', $this->parentsOptions)); - } - - if ($this->prototype && null !== $this->prototypeIndex) { - $prefix .= \sprintf('[%s]', $this->prototypeIndex); - } - - $options = array_map(static fn (string $option): string => \sprintf('%s[%s]', $prefix, $option), $options); - } - - return implode('", "', $options); - } - - private function getParameterClassName(\ReflectionParameter $parameter): ?string - { - if (!($type = $parameter->getType()) instanceof \ReflectionNamedType || $type->isBuiltin()) { - return null; - } - - return $type->getName(); - } -} diff --git a/app/vendor/symfony/options-resolver/README.md b/app/vendor/symfony/options-resolver/README.md deleted file mode 100644 index c63b9005e..000000000 --- a/app/vendor/symfony/options-resolver/README.md +++ /dev/null @@ -1,15 +0,0 @@ -OptionsResolver Component -========================= - -The OptionsResolver component is `array_replace` on steroids. It allows you to -create an options system with required options, defaults, validation (type, -value), normalization and more. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/options_resolver.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/app/vendor/symfony/options-resolver/composer.json b/app/vendor/symfony/options-resolver/composer.json deleted file mode 100644 index e70640d64..000000000 --- a/app/vendor/symfony/options-resolver/composer.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "symfony/options-resolver", - "type": "library", - "description": "Provides an improved replacement for the array_replace PHP function", - "keywords": ["options", "config", "configuration"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\OptionsResolver\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev" -} diff --git a/app/vendor/symfony/serializer/Annotation/Context.php b/app/vendor/symfony/serializer/Annotation/Context.php deleted file mode 100644 index d5c110d2e..000000000 --- a/app/vendor/symfony/serializer/Annotation/Context.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Annotation; - -// do not deprecate in 6.4/7.0, to make it easier for the ecosystem to support 6.4, 7.4 and 8.0 simultaneously - -class_exists(\Symfony\Component\Serializer\Attribute\Context::class); - -if (false) { - /** - * @deprecated since Symfony 7.4, use {@see \Symfony\Component\Serializer\Attribute\Context} instead - */ - #[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] - class Context extends \Symfony\Component\Serializer\Attribute\Context - { - } -} diff --git a/app/vendor/symfony/serializer/Annotation/DiscriminatorMap.php b/app/vendor/symfony/serializer/Annotation/DiscriminatorMap.php deleted file mode 100644 index 08849f77a..000000000 --- a/app/vendor/symfony/serializer/Annotation/DiscriminatorMap.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Annotation; - -class_exists(\Symfony\Component\Serializer\Attribute\DiscriminatorMap::class); - -if (false) { - /** - * @deprecated since Symfony 7.4, use {@see \Symfony\Component\Serializer\Attribute\DiscriminatorMap} instead - */ - #[\Attribute(\Attribute::TARGET_CLASS)] - class DiscriminatorMap extends \Symfony\Component\Serializer\Attribute\DiscriminatorMap - { - } -} diff --git a/app/vendor/symfony/serializer/Annotation/Groups.php b/app/vendor/symfony/serializer/Annotation/Groups.php deleted file mode 100644 index bca28df10..000000000 --- a/app/vendor/symfony/serializer/Annotation/Groups.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Annotation; - -class_exists(\Symfony\Component\Serializer\Attribute\Groups::class); - -if (false) { - /** - * @deprecated since Symfony 7.4, use {@see \Symfony\Component\Serializer\Attribute\Groups} instead - */ - #[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_CLASS)] - class Groups extends \Symfony\Component\Serializer\Attribute\Groups - { - } -} diff --git a/app/vendor/symfony/serializer/Annotation/Ignore.php b/app/vendor/symfony/serializer/Annotation/Ignore.php deleted file mode 100644 index 32c0a985c..000000000 --- a/app/vendor/symfony/serializer/Annotation/Ignore.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Annotation; - -class_exists(\Symfony\Component\Serializer\Attribute\Ignore::class); - -if (false) { - /** - * @deprecated since Symfony 7.4, use {@see \Symfony\Component\Serializer\Attribute\Ignore} instead - */ - #[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] - class Ignore extends \Symfony\Component\Serializer\Attribute\Ignore - { - } -} diff --git a/app/vendor/symfony/serializer/Annotation/MaxDepth.php b/app/vendor/symfony/serializer/Annotation/MaxDepth.php deleted file mode 100644 index 55b764e49..000000000 --- a/app/vendor/symfony/serializer/Annotation/MaxDepth.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Annotation; - -class_exists(\Symfony\Component\Serializer\Attribute\MaxDepth::class); - -if (false) { - /** - * @deprecated since Symfony 7.4, use {@see \Symfony\Component\Serializer\Attribute\MaxDepth} instead - */ - #[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] - class MaxDepth extends \Symfony\Component\Serializer\Attribute\MaxDepth - { - } -} diff --git a/app/vendor/symfony/serializer/Annotation/SerializedName.php b/app/vendor/symfony/serializer/Annotation/SerializedName.php deleted file mode 100644 index 9f897961f..000000000 --- a/app/vendor/symfony/serializer/Annotation/SerializedName.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Annotation; - -class_exists(\Symfony\Component\Serializer\Attribute\SerializedName::class); - -if (false) { - /** - * @deprecated since Symfony 7.4, use {@see \Symfony\Component\Serializer\Attribute\SerializedName} instead - */ - #[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] - class SerializedName extends \Symfony\Component\Serializer\Attribute\SerializedName - { - } -} diff --git a/app/vendor/symfony/serializer/Annotation/SerializedPath.php b/app/vendor/symfony/serializer/Annotation/SerializedPath.php deleted file mode 100644 index 37fffe1cc..000000000 --- a/app/vendor/symfony/serializer/Annotation/SerializedPath.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Annotation; - -class_exists(\Symfony\Component\Serializer\Attribute\SerializedPath::class); - -if (false) { - /** - * @deprecated since Symfony 7.4, use {@see \Symfony\Component\Serializer\Attribute\SerializedPath} instead - */ - #[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] - class SerializedPath extends \Symfony\Component\Serializer\Attribute\SerializedPath - { - } -} diff --git a/app/vendor/symfony/serializer/Attribute/Context.php b/app/vendor/symfony/serializer/Attribute/Context.php deleted file mode 100644 index 25c7011b3..000000000 --- a/app/vendor/symfony/serializer/Attribute/Context.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Attribute; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; - -/** - * @author Maxime Steinhausser - */ -#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Context -{ - public readonly array $groups; - - /** - * @param array $context The common context to use when serializing or deserializing - * @param array $normalizationContext The context to use when serializing - * @param array $denormalizationContext The context to use when deserializing - * @param string|string[] $groups The groups to use when serializing or deserializing - * - * @throws InvalidArgumentException - */ - public function __construct( - public readonly array $context = [], - public readonly array $normalizationContext = [], - public readonly array $denormalizationContext = [], - string|array $groups = [], - ) { - if (!$context && !$normalizationContext && !$denormalizationContext) { - throw new InvalidArgumentException(\sprintf('At least one of the "context", "normalizationContext", or "denormalizationContext" options must be provided as a non-empty array to "%s".', static::class)); - } - - $this->groups = (array) $groups; - - foreach ($this->groups as $group) { - if (!\is_string($group)) { - throw new InvalidArgumentException(\sprintf('Parameter "groups" given to "%s" must be a string or an array of strings, "%s" given.', static::class, get_debug_type($group))); - } - } - } - - #[\Deprecated('Use the "context" property instead', 'symfony/serializer:7.4')] - public function getContext(): array - { - return $this->context; - } - - #[\Deprecated('Use the "normalizationContext" property instead', 'symfony/serializer:7.4')] - public function getNormalizationContext(): array - { - return $this->normalizationContext; - } - - #[\Deprecated('Use the "denormalizationContext" property instead', 'symfony/serializer:7.4')] - public function getDenormalizationContext(): array - { - return $this->denormalizationContext; - } - - #[\Deprecated('Use the "groups" property instead', 'symfony/serializer:7.4')] - public function getGroups(): array - { - return $this->groups; - } -} - -if (!class_exists(\Symfony\Component\Serializer\Annotation\Context::class, false)) { - class_alias(Context::class, \Symfony\Component\Serializer\Annotation\Context::class); -} diff --git a/app/vendor/symfony/serializer/Attribute/DiscriminatorMap.php b/app/vendor/symfony/serializer/Attribute/DiscriminatorMap.php deleted file mode 100644 index 2dd10df36..000000000 --- a/app/vendor/symfony/serializer/Attribute/DiscriminatorMap.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Attribute; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; - -/** - * @author Samuel Roze - */ -#[\Attribute(\Attribute::TARGET_CLASS)] -class DiscriminatorMap -{ - /** - * @param string $typeProperty The property holding the type discriminator - * @param array $mapping The mapping between types and classes (i.e. ['admin_user' => AdminUser::class]) - * @param ?string $defaultType The fallback value if nothing specified by $typeProperty - * - * @throws InvalidArgumentException - */ - public function __construct( - public readonly string $typeProperty, - public readonly array $mapping, - public readonly ?string $defaultType = null, - ) { - if (!$typeProperty) { - throw new InvalidArgumentException(\sprintf('Parameter "typeProperty" given to "%s" cannot be empty.', static::class)); - } - - if (!$mapping) { - throw new InvalidArgumentException(\sprintf('Parameter "mapping" given to "%s" cannot be empty.', static::class)); - } - - if (null !== $this->defaultType && !\array_key_exists($this->defaultType, $this->mapping)) { - throw new InvalidArgumentException(\sprintf('Default type "%s" given to "%s" must be present in "mapping" types.', $this->defaultType, static::class)); - } - } - - #[\Deprecated('Use the "typeProperty" property instead', 'symfony/serializer:7.4')] - public function getTypeProperty(): string - { - return $this->typeProperty; - } - - #[\Deprecated('Use the "mapping" property instead', 'symfony/serializer:7.4')] - public function getMapping(): array - { - return $this->mapping; - } - - #[\Deprecated('Use the "defaultType" property instead', 'symfony/serializer:7.4')] - public function getDefaultType(): ?string - { - return $this->defaultType; - } -} - -if (!class_exists(\Symfony\Component\Serializer\Annotation\DiscriminatorMap::class, false)) { - class_alias(DiscriminatorMap::class, \Symfony\Component\Serializer\Annotation\DiscriminatorMap::class); -} diff --git a/app/vendor/symfony/serializer/Attribute/ExtendsSerializationFor.php b/app/vendor/symfony/serializer/Attribute/ExtendsSerializationFor.php deleted file mode 100644 index d8aa88e05..000000000 --- a/app/vendor/symfony/serializer/Attribute/ExtendsSerializationFor.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Attribute; - -/** - * Declares that serialization attributes listed on the current class should be added to the given class. - * - * Classes that use this attribute should contain only properties and methods that - * exist on the target class (not necessarily all of them). - * - * @author Nicolas Grekas - */ -#[\Attribute(\Attribute::TARGET_CLASS)] -final class ExtendsSerializationFor -{ - /** - * @param class-string $class - */ - public function __construct( - public string $class, - ) { - } -} diff --git a/app/vendor/symfony/serializer/Attribute/Groups.php b/app/vendor/symfony/serializer/Attribute/Groups.php deleted file mode 100644 index 4e10f11ef..000000000 --- a/app/vendor/symfony/serializer/Attribute/Groups.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Attribute; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; - -/** - * @author Kévin Dunglas - */ -#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_CLASS)] -class Groups -{ - /** - * @var string[] - */ - public readonly array $groups; - - /** - * @param string|string[] $groups The groups to define on the attribute target - */ - public function __construct(string|array $groups) - { - $this->groups = (array) $groups; - - if (!$this->groups) { - throw new InvalidArgumentException(\sprintf('Parameter given to "%s" cannot be empty.', static::class)); - } - - foreach ($this->groups as $group) { - if (!\is_string($group) || '' === $group) { - throw new InvalidArgumentException(\sprintf('Parameter given to "%s" must be a string or an array of non-empty strings.', static::class)); - } - } - } - - /** - * @return string[] - */ - #[\Deprecated('Use the "groups" property instead', 'symfony/serializer:7.4')] - public function getGroups(): array - { - return $this->groups; - } -} - -if (!class_exists(\Symfony\Component\Serializer\Annotation\Groups::class, false)) { - class_alias(Groups::class, \Symfony\Component\Serializer\Annotation\Groups::class); -} diff --git a/app/vendor/symfony/serializer/Attribute/Ignore.php b/app/vendor/symfony/serializer/Attribute/Ignore.php deleted file mode 100644 index bfc48b71e..000000000 --- a/app/vendor/symfony/serializer/Attribute/Ignore.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Attribute; - -/** - * @author Kévin Dunglas - */ -#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] -class Ignore -{ -} - -if (!class_exists(\Symfony\Component\Serializer\Annotation\Ignore::class, false)) { - class_alias(Ignore::class, \Symfony\Component\Serializer\Annotation\Ignore::class); -} diff --git a/app/vendor/symfony/serializer/Attribute/MaxDepth.php b/app/vendor/symfony/serializer/Attribute/MaxDepth.php deleted file mode 100644 index 9b2dbf157..000000000 --- a/app/vendor/symfony/serializer/Attribute/MaxDepth.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Attribute; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; - -/** - * @author Kévin Dunglas - */ -#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] -class MaxDepth -{ - /** - * @param int $maxDepth The maximum serialization depth - */ - public function __construct( - public readonly int $maxDepth, - ) { - if ($maxDepth <= 0) { - throw new InvalidArgumentException(\sprintf('Parameter given to "%s" must be a positive integer.', static::class)); - } - } - - #[\Deprecated('Use the "maxdepth" property instead', 'symfony/serializer:7.4')] - public function getMaxDepth(): int - { - return $this->maxDepth; - } -} - -if (!class_exists(\Symfony\Component\Serializer\Annotation\MaxDepth::class, false)) { - class_alias(MaxDepth::class, \Symfony\Component\Serializer\Annotation\MaxDepth::class); -} diff --git a/app/vendor/symfony/serializer/Attribute/SerializedName.php b/app/vendor/symfony/serializer/Attribute/SerializedName.php deleted file mode 100644 index 4a4362f32..000000000 --- a/app/vendor/symfony/serializer/Attribute/SerializedName.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Attribute; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; - -/** - * @author Fabien Bourigault - */ -#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] -class SerializedName -{ - /** - * @param string $serializedName The name of the property as it will be serialized - */ - public function __construct( - public readonly string $serializedName, - ) { - if ('' === $serializedName) { - throw new InvalidArgumentException(\sprintf('Parameter given to "%s" must be a non-empty string.', self::class)); - } - } - - #[\Deprecated('Use the "serializedName" property instead', 'symfony/serializer:7.4')] - public function getSerializedName(): string - { - return $this->serializedName; - } -} - -if (!class_exists(\Symfony\Component\Serializer\Annotation\SerializedName::class, false)) { - class_alias(SerializedName::class, \Symfony\Component\Serializer\Annotation\SerializedName::class); -} diff --git a/app/vendor/symfony/serializer/Attribute/SerializedPath.php b/app/vendor/symfony/serializer/Attribute/SerializedPath.php deleted file mode 100644 index 1ab412910..000000000 --- a/app/vendor/symfony/serializer/Attribute/SerializedPath.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Attribute; - -use Symfony\Component\PropertyAccess\Exception\InvalidPropertyPathException; -use Symfony\Component\PropertyAccess\PropertyPath; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; - -/** - * @author Tobias Bönner - */ -#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] -class SerializedPath -{ - public readonly PropertyPath $serializedPath; - - /** - * @param string $serializedPath A path using a valid PropertyAccess syntax where the value is stored in a normalized representation - */ - public function __construct(string $serializedPath) - { - try { - $this->serializedPath = new PropertyPath($serializedPath); - } catch (InvalidPropertyPathException) { - throw new InvalidArgumentException(\sprintf('Parameter given to "%s" must be a valid property path.', self::class)); - } - } - - #[\Deprecated('Use the "serializedPath" property instead', 'symfony/serializer:7.4')] - public function getSerializedPath(): PropertyPath - { - return $this->serializedPath; - } -} - -if (!class_exists(\Symfony\Component\Serializer\Annotation\SerializedPath::class, false)) { - class_alias(SerializedPath::class, \Symfony\Component\Serializer\Annotation\SerializedPath::class); -} diff --git a/app/vendor/symfony/serializer/CHANGELOG.md b/app/vendor/symfony/serializer/CHANGELOG.md deleted file mode 100644 index 7a3b97e40..000000000 --- a/app/vendor/symfony/serializer/CHANGELOG.md +++ /dev/null @@ -1,384 +0,0 @@ -CHANGELOG -========= - -7.4 ---- - - * Add `#[ExtendsSerializationFor]` to declare new serialization attributes for a class - * Add `AttributeMetadataPass` to declare compile-time constraint metadata using attributes - * Add `CDATA_WRAPPING_NAME_PATTERN` support to `XmlEncoder` - * Add support for `can*()` methods to `AttributeLoader` - * Make `AttributeMetadata` and `ClassMetadata` final - * Add `XmlEncoder::PRESERVE_NUMERIC_KEYS` context option - * Deprecate class aliases in the `Annotation` namespace, use attributes instead - * Deprecate getters in attribute classes in favor of public properties - * Deprecate `ClassMetadataFactoryCompiler` - * Add `FORCE_TIMEZONE_KEY` to `DateTimeNormalizer` to force the timezone during denormalization - -7.3 ---- - - * Deprecate the `CompiledClassMetadataFactory` and `CompiledClassMetadataCacheWarmer` classes - * Register `NormalizerInterface` and `DenormalizerInterface` aliases for named serializers - * Add `NumberNormalizer` to normalize `BcMath\Number` and `GMP` as `string` - * Add `defaultType` to `DiscriminatorMap` - -7.2 ---- - - * Deprecate the `csv_escape_char` context option of `CsvEncoder` and the `CsvEncoder::ESCAPE_CHAR_KEY` constant - * Deprecate `CsvEncoderContextBuilder::withEscapeChar()` method - * Add `SnakeCaseToCamelCaseNameConverter` - * Support subclasses of `\DateTime` and `\DateTimeImmutable` for denormalization - * Add the `UidNormalizer::NORMALIZATION_FORMAT_RFC9562` constant - * Add support for configuring multiple serializer instances with different - default contexts, name converters, sets of normalizers and encoders - * Add support for collection profiles of multiple serializer instances - * Deprecate `AdvancedNameConverterInterface`, use `NameConverterInterface` instead - -7.1 ---- - - * Add arguments `$class`, `$format` and `$context` to `NameConverterInterface::normalize()` and `NameConverterInterface::denormalize()` - * Add `DateTimeNormalizer::CAST_KEY` context option - * Add `Default` and "class name" default groups - * Add `AbstractNormalizer::FILTER_BOOL` context option - * Add `CamelCaseToSnakeCaseNameConverter::REQUIRE_SNAKE_CASE_PROPERTIES` context option - * Deprecate `AbstractNormalizerContextBuilder::withDefaultContructorArguments(?array $defaultContructorArguments)`, use `withDefaultConstructorArguments(?array $defaultConstructorArguments)` instead (note the missing `s` character in Constructor word in deprecated method) - * Add `XmlEncoder::CDATA_WRAPPING_PATTERN` context option - -7.0 ---- - - * Add method `getSupportedTypes()` to `DenormalizerInterface` and `NormalizerInterface` - * Remove denormalization support for `AbstractUid` in `UidNormalizer`, use one of `AbstractUid` child class instead - * Denormalizing to an abstract class in `UidNormalizer` now throws an `\Error` - * Remove `ContextAwareDenormalizerInterface`, use `DenormalizerInterface` instead - * Remove `ContextAwareNormalizerInterface`, use `NormalizerInterface` instead - * Remove `CacheableSupportsMethodInterface`, use `NormalizerInterface` and `DenormalizerInterface` instead - * Require explicit argument when calling `AttributeMetadata::setSerializedName()` and `ClassMetadata::setClassDiscriminatorMapping()` - * Add argument `$context` to `NormalizerInterface::supportsNormalization()` and `DenormalizerInterface::supportsDenormalization()` - * Remove Doctrine annotations support in favor of native attributes - * Remove `AnnotationLoader`, use `AttributeLoader` instead - -6.4 ---- - - * Add `TranslatableNormalizer` - * Allow `Context` attribute to target classes - * Deprecate Doctrine annotations support in favor of native attributes - * Allow the `Groups` attribute/annotation on classes - * JsonDecode: Add `json_decode_detailed_errors` option - * Make `ProblemNormalizer` give details about Messenger's `ValidationFailedException` - * Add `XmlEncoder::CDATA_WRAPPING` context option - * Deprecate `AnnotationLoader`, use `AttributeLoader` instead - * Add aliases for all classes in the `Annotation` namespace to `Attribute` - -6.3 ---- - - * Add `AbstractNormalizer::REQUIRE_ALL_PROPERTIES` context flag to require all properties to be listed in the input instead of falling back to null for nullable ones - * Add `XmlEncoder::SAVE_OPTIONS` context option - * Add `BackedEnumNormalizer::ALLOW_INVALID_VALUES` context option - * Add `UnsupportedFormatException` which is thrown when there is no decoder for a given format - * Add method `getSupportedTypes(?string $format)` to `NormalizerInterface` and `DenormalizerInterface` - * Make `ProblemNormalizer` give details about `ValidationFailedException` and `PartialDenormalizationException` - * Deprecate `CacheableSupportsMethodInterface` in favor of the new `getSupportedTypes(?string $format)` methods - * The following Normalizer classes will become final in 7.0: - * `ConstraintViolationListNormalizer` - * `CustomNormalizer` - * `DataUriNormalizer` - * `DateIntervalNormalizer` - * `DateTimeNormalizer` - * `DateTimeZoneNormalizer` - * `GetSetMethodNormalizer` - * `JsonSerializableNormalizer` - * `ObjectNormalizer` - * `PropertyNormalizer` - -6.2 ---- - - * Add support for constructor promoted properties to `Context` attribute - * Add context option `PropertyNormalizer::NORMALIZE_VISIBILITY` with bitmask flags `PropertyNormalizer::NORMALIZE_PUBLIC`, `PropertyNormalizer::NORMALIZE_PROTECTED`, `PropertyNormalizer::NORMALIZE_PRIVATE` - * Add method `withNormalizeVisibility` to `PropertyNormalizerContextBuilder` - * Deprecate calling `AttributeMetadata::setSerializedName()`, `ClassMetadata::setClassDiscriminatorMapping()` without arguments - * Change the signature of `AttributeMetadataInterface::setSerializedName()` to `setSerializedName(?string)` - * Change the signature of `ClassMetadataInterface::setClassDiscriminatorMapping()` to `setClassDiscriminatorMapping(?ClassDiscriminatorMapping)` - * Add option YamlEncoder::YAML_INDENTATION to YamlEncoder constructor options to configure additional indentation for each level of nesting. This allows configuring indentation in the service configuration. - * Add `SerializedPath` annotation to flatten nested attributes - -6.1 ---- - - * Add `TraceableSerializer`, `TraceableNormalizer`, `TraceableEncoder` and `SerializerDataCollector` to integrate with the web profiler - * Add the ability to create contexts using context builders - * Set `Context` annotation as not final - * Deprecate `ContextAwareNormalizerInterface`, use `NormalizerInterface` instead - * Deprecate `ContextAwareDenormalizerInterface`, use `DenormalizerInterface` instead - * Deprecate supporting denormalization for `AbstractUid` in `UidNormalizer`, use one of `AbstractUid` child class instead - * Deprecate denormalizing to an abstract class in `UidNormalizer` - * Add support for `can*()` methods to `ObjectNormalizer` - -6.0 ---- - - * Remove `ArrayDenormalizer::setSerializer()`, call `setDenormalizer()` instead - * Remove the ability to create instances of the annotation classes by passing an array of parameters, use named arguments instead - -5.4 ---- - - * Add support of PHP backed enumerations - * Add support for serializing empty array as object - * Return empty collections as `ArrayObject` from `Serializer::normalize()` when `PRESERVE_EMPTY_OBJECTS` is set - * Add support for collecting type errors during denormalization - * Add missing arguments in `MissingConstructorArgumentsException` - -5.3 ---- - - * Add the ability to provide (de)normalization context using metadata (e.g. `@Symfony\Component\Serializer\Annotation\Context`) - * Deprecate `ArrayDenormalizer::setSerializer()`, call `setDenormalizer()` instead - * Add normalization formats to `UidNormalizer` - * Add `CsvEncoder::END_OF_LINE` context option - * Deprecate creating instances of the annotation classes by passing an array of parameters, use named arguments instead - -5.2.0 ------ - - * added `CompiledClassMetadataFactory` and `ClassMetadataFactoryCompiler` for faster metadata loading. - * added `UidNormalizer` - * added `FormErrorNormalizer` - * added `MimeMessageNormalizer` - * serializer mapping can be configured using php attributes - -5.1.0 ------ - - * added support for scalar values denormalization - * added support for `\stdClass` to `ObjectNormalizer` - * added the ability to ignore properties using metadata (e.g. `@Symfony\Component\Serializer\Annotation\Ignore`) - * added an option to serialize constraint violations payloads (e.g. severity) - -5.0.0 ------ - - * throw an exception when creating a `Serializer` with normalizers which neither implement `NormalizerInterface` nor `DenormalizerInterface` - * throw an exception when creating a `Serializer` with encoders which neither implement `EncoderInterface` nor `DecoderInterface` - * changed the default value of the `CsvEncoder` "as_collection" option to `true` - * removed `AbstractNormalizer::$circularReferenceLimit`, `AbstractNormalizer::$circularReferenceHandler`, - `AbstractNormalizer::$callbacks`, `AbstractNormalizer::$ignoredAttributes`, - `AbstractNormalizer::$camelizedAttributes`, `AbstractNormalizer::setCircularReferenceLimit()`, - `AbstractNormalizer::setCircularReferenceHandler()`, `AbstractNormalizer::setCallbacks()` and - `AbstractNormalizer::setIgnoredAttributes()`, use the default context instead. - * removed `AbstractObjectNormalizer::$maxDepthHandler` and `AbstractObjectNormalizer::setMaxDepthHandler()`, - use the default context instead. - * removed `XmlEncoder::setRootNodeName()` & `XmlEncoder::getRootNodeName()`, use the default context instead. - * removed individual encoders/normalizers options as constructor arguments. - * removed support for instantiating a `DataUriNormalizer` with a default MIME type guesser when the `symfony/mime` component isn't installed. - * removed the `XmlEncoder::TYPE_CASE_ATTRIBUTES` constant. Use `XmlEncoder::TYPE_CAST_ATTRIBUTES` instead. - -4.4.0 ------ - - * deprecated the `XmlEncoder::TYPE_CASE_ATTRIBUTES` constant, use `XmlEncoder::TYPE_CAST_ATTRIBUTES` instead - * added option to output a UTF-8 BOM in CSV encoder via `CsvEncoder::OUTPUT_UTF8_BOM_KEY` context option - * added `ProblemNormalizer` to normalize errors according to the API Problem spec (RFC 7807) - -4.3.0 ------ - - * added the list of constraint violations' parameters in `ConstraintViolationListNormalizer` - * added support for serializing `DateTimeZone` objects - * added a `deep_object_to_populate` context option to recursive denormalize on `object_to_populate` object. - -4.2.0 ------ - - * using the default context is the new recommended way to configure normalizers and encoders - * added a `skip_null_values` context option to not serialize properties with a `null` values - * `AbstractNormalizer::handleCircularReference` is now final and receives - two optional extra arguments: the format and the context - * added support for XML comment encoding (encoding `['#comment' => ' foo ']` results ``) - * added optional `int[] $encoderIgnoredNodeTypes` argument to `XmlEncoder::__construct` - to configure node types to be ignored during encoding - * added `AdvancedNameConverterInterface` to access the class, - the format and the context in a name converter - * the `AbstractNormalizer::handleCircularReference()` method will have two new `$format` - and `$context` arguments in version 5.0, not defining them is deprecated - * deprecated creating a `Serializer` with normalizers which do not implement - either `NormalizerInterface` or `DenormalizerInterface` - * deprecated creating a `Serializer` with normalizers which do not implement - either `NormalizerInterface` or `DenormalizerInterface` - * deprecated creating a `Serializer` with encoders which do not implement - either `EncoderInterface` or `DecoderInterface` - * added the optional `$objectClassResolver` argument in `AbstractObjectNormalizer` - and `ObjectNormalizer` constructor - * added `MetadataAwareNameConverter` to configure the serialized name of properties through metadata - * `YamlEncoder` now handles the `.yml` extension too - * `AbstractNormalizer::$circularReferenceLimit`, `AbstractNormalizer::$circularReferenceHandler`, - `AbstractNormalizer::$callbacks`, `AbstractNormalizer::$ignoredAttributes`, - `AbstractNormalizer::$camelizedAttributes`, `AbstractNormalizer::setCircularReferenceLimit()`, - `AbstractNormalizer::setCircularReferenceHandler()`, `AbstractNormalizer::setCallbacks()` and - `AbstractNormalizer::setIgnoredAttributes()` are deprecated, use the default context instead. - * `AbstractObjectNormalizer::$maxDepthHandler` and `AbstractObjectNormalizer::setMaxDepthHandler()` - are deprecated, use the default context instead. - * passing configuration options directly to the constructor of `CsvEncoder`, `JsonDecode` and - `XmlEncoder` is deprecated since Symfony 4.2, use the default context instead. - -4.1.0 ------ - - * added `CacheableSupportsMethodInterface` for normalizers and denormalizers that use - only the type and the format in their `supports*()` methods - * added `MissingConstructorArgumentsException` new exception for deserialization failure - of objects that needs data insertion in constructor - * added an optional `default_constructor_arguments` option of context to specify a default data in - case the object is not initializable by its constructor because of data missing - * added optional `bool $escapeFormulas = false` argument to `CsvEncoder::__construct` - * added `AbstractObjectNormalizer::setMaxDepthHandler` to set a handler to call when the configured - maximum depth is reached - * added optional `int[] $ignoredNodeTypes` argument to `XmlEncoder::__construct`. XML decoding now - ignores comment node types by default. - * added `ConstraintViolationListNormalizer` - -4.0.0 ------ - - * removed the `SerializerAwareEncoder` and `SerializerAwareNormalizer` classes, - use the `SerializerAwareTrait` instead - * removed the `Serializer::$normalizerCache` and `Serializer::$denormalizerCache` - properties - * added an optional `string $format = null` argument to `AbstractNormalizer::instantiateObject` - * added an optional `array $context = []` to `Serializer::supportsNormalization`, `Serializer::supportsDenormalization`, - `Serializer::supportsEncoding` and `Serializer::supportsDecoding` - -3.4.0 ------ - - * added `AbstractObjectNormalizer::DISABLE_TYPE_ENFORCEMENT` context option - to disable throwing an `UnexpectedValueException` on a type mismatch - * added support for serializing `DateInterval` objects - * added getter for extra attributes in `ExtraAttributesException` - * improved `CsvEncoder` to handle variable nested structures - * CSV headers can be passed to the `CsvEncoder` via the `csv_headers` serialization context variable - * added `$context` when checking for encoding, decoding and normalizing in `Serializer` - -3.3.0 ------ - - * added `SerializerPass` - -3.1.0 ------ - - * added support for serializing objects that implement `JsonSerializable` - * added the `DenormalizerAwareTrait` and `NormalizerAwareTrait` traits to - support normalizer/denormalizer awareness - * added the `DenormalizerAwareInterface` and `NormalizerAwareInterface` - interfaces to support normalizer/denormalizer awareness - * added a PSR-6 compatible adapter for caching metadata - * added a `MaxDepth` option to limit the depth of the object graph when - serializing objects - * added support for serializing `SplFileInfo` objects - * added support for serializing objects that implement `DateTimeInterface` - * added `AbstractObjectNormalizer` as a base class for normalizers that deal - with objects - * added support to relation deserialization - -2.7.0 ------ - - * added support for serialization and deserialization groups including - annotations, XML and YAML mapping. - * added `AbstractNormalizer` to factorise code and ease normalizers development - * added circular references handling for `PropertyNormalizer` - * added support for a context key called `object_to_populate` in `AbstractNormalizer` - to reuse existing objects in the deserialization process - * added `NameConverterInterface` and `CamelCaseToSnakeCaseNameConverter` - * [DEPRECATION] `GetSetMethodNormalizer::setCamelizedAttributes()` and - `PropertyNormalizer::setCamelizedAttributes()` are replaced by - `CamelCaseToSnakeCaseNameConverter` - * [DEPRECATION] the `Exception` interface has been renamed to `ExceptionInterface` - * added `ObjectNormalizer` leveraging the `PropertyAccess` component to normalize - objects containing both properties and getters / setters / issers / hassers methods. - * added `xml_type_cast_attributes` context option for allowing users to opt-out of typecasting - xml attributes. - -2.6.0 ------ - - * added a new serializer: `PropertyNormalizer`. Like `GetSetMethodNormalizer`, - this normalizer will map an object's properties to an array. - * added circular references handling for `GetSetMethodNormalizer` - -2.5.0 ------ - - * added support for `is.*` getters in `GetSetMethodNormalizer` - -2.4.0 ------ - - * added `$context` support for XMLEncoder. - * [DEPRECATION] JsonEncode and JsonDecode where modified to throw - an exception if error found. No need for `get*Error()` functions - -2.3.0 ------ - - * added `GetSetMethodNormalizer::setCamelizedAttributes` to allow calling - camel cased methods for underscored properties - -2.2.0 ------ - - * [BC BREAK] All Serializer, Normalizer and Encoder interfaces have been - modified to include an optional `$context` array parameter. - * The XML Root name can now be configured with the `xml_root_name` - parameter in the context option to the `XmlEncoder`. - * Options to `json_encode` and `json_decode` can be passed through - the context options of `JsonEncode` and `JsonDecode` encoder/decoders. - -2.1.0 ------ - - * added DecoderInterface::supportsDecoding(), - EncoderInterface::supportsEncoding() - * removed NormalizableInterface::denormalize(), - NormalizerInterface::denormalize(), - NormalizerInterface::supportsDenormalization() - * removed normalize() denormalize() encode() decode() supportsSerialization() - supportsDeserialization() supportsEncoding() supportsDecoding() - getEncoder() from SerializerInterface - * Serializer now implements NormalizerInterface, DenormalizerInterface, - EncoderInterface, DecoderInterface in addition to SerializerInterface - * added DenormalizableInterface and DenormalizerInterface - * [BC BREAK] changed `GetSetMethodNormalizer`'s key names from all lowercased - to camelCased (e.g. `mypropertyvalue` to `myPropertyValue`) - * [BC BREAK] convert the `item` XML tag to an array - - ``` xml - - - <![CDATA[title1]]><![CDATA[title2]]> - - ``` - - Before: - - Array() - - After: - - Array( - [item] => Array( - [0] => Array( - [title] => title1 - ) - [1] => Array( - [title] => title2 - ) - ) - ) diff --git a/app/vendor/symfony/serializer/CacheWarmer/CompiledClassMetadataCacheWarmer.php b/app/vendor/symfony/serializer/CacheWarmer/CompiledClassMetadataCacheWarmer.php deleted file mode 100644 index 1bd085024..000000000 --- a/app/vendor/symfony/serializer/CacheWarmer/CompiledClassMetadataCacheWarmer.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\CacheWarmer; - -use Symfony\Component\Filesystem\Filesystem; -use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface; -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryCompiler; -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; - -trigger_deprecation('symfony/serializer', '7.3', 'The "%s" class is deprecated.', CompiledClassMetadataCacheWarmer::class); - -/** - * @author Fabien Bourigault - * - * @deprecated since Symfony 7.3 - */ -final class CompiledClassMetadataCacheWarmer implements CacheWarmerInterface -{ - public function __construct( - private readonly array $classesToCompile, - private readonly ClassMetadataFactoryInterface $classMetadataFactory, - private readonly ClassMetadataFactoryCompiler $classMetadataFactoryCompiler, - private readonly Filesystem $filesystem, - ) { - } - - public function warmUp(string $cacheDir, ?string $buildDir = null): array - { - $metadatas = []; - - foreach ($this->classesToCompile as $classToCompile) { - $metadatas[] = $this->classMetadataFactory->getMetadataFor($classToCompile); - } - - $code = $this->classMetadataFactoryCompiler->compile($metadatas); - - $this->filesystem->dumpFile("{$cacheDir}/serializer.class.metadata.php", $code); - - return []; - } - - public function isOptional(): bool - { - return true; - } -} diff --git a/app/vendor/symfony/serializer/Command/DebugCommand.php b/app/vendor/symfony/serializer/Command/DebugCommand.php deleted file mode 100644 index c49b20f95..000000000 --- a/app/vendor/symfony/serializer/Command/DebugCommand.php +++ /dev/null @@ -1,120 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Command; - -use Symfony\Component\Console\Attribute\AsCommand; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Helper\Dumper; -use Symfony\Component\Console\Helper\Table; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Style\SymfonyStyle; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; - -/** - * A console command to debug Serializer information. - * - * @author Loïc Frémont - */ -#[AsCommand(name: 'debug:serializer', description: 'Display serialization information for classes')] -class DebugCommand extends Command -{ - public function __construct(private readonly ClassMetadataFactoryInterface $serializer) - { - parent::__construct(); - } - - protected function configure(): void - { - $this - ->addArgument('class', InputArgument::REQUIRED, 'A fully qualified class name') - ->setHelp("The %command.name% 'App\Entity\Dummy' command dumps the serializer groups for the dummy class.") - ; - } - - protected function execute(InputInterface $input, OutputInterface $output): int - { - $class = $input->getArgument('class'); - - if (!class_exists($class)) { - $io = new SymfonyStyle($input, $output); - $io->error(\sprintf('Class "%s" was not found.', $class)); - - return Command::FAILURE; - } - - $this->dumpSerializerDataForClass($input, $output, $class); - - return Command::SUCCESS; - } - - private function dumpSerializerDataForClass(InputInterface $input, OutputInterface $output, string $class): void - { - $io = new SymfonyStyle($input, $output); - $title = \sprintf('%s', $class); - $rows = []; - $dump = new Dumper($output); - - $classMetadata = $this->serializer->getMetadataFor($class); - - foreach ($this->getAttributesData($classMetadata) as $propertyName => $data) { - $rows[] = [ - $propertyName, - $dump($data), - ]; - } - - $io->section($title); - - if (!$rows) { - $io->text('No Serializer data were found for this class.'); - - return; - } - - $table = new Table($output); - $table->setHeaders(['Property', 'Options']); - $table->setRows($rows); - $table->render(); - } - - /** - * @return array> - */ - private function getAttributesData(ClassMetadataInterface $classMetadata): array - { - $data = []; - - $mapping = $classMetadata->getClassDiscriminatorMapping(); - $typeProperty = $mapping?->getTypeProperty(); - - foreach ($classMetadata->getAttributesMetadata() as $attributeMetadata) { - $data[$attributeMetadata->getName()] = [ - 'groups' => $attributeMetadata->getGroups(), - 'maxDepth' => $attributeMetadata->getMaxDepth(), - 'serializedName' => $attributeMetadata->getSerializedName(), - 'serializedPath' => $attributeMetadata->getSerializedPath() ? (string) $attributeMetadata->getSerializedPath() : null, - 'ignore' => $attributeMetadata->isIgnored(), - 'normalizationContexts' => $attributeMetadata->getNormalizationContexts(), - 'denormalizationContexts' => $attributeMetadata->getDenormalizationContexts(), - ]; - - if ($mapping && $typeProperty === $attributeMetadata->getName()) { - $data[$attributeMetadata->getName()]['discriminatorMap'] = $mapping->getTypesMapping(); - } - } - - return $data; - } -} diff --git a/app/vendor/symfony/serializer/Context/ContextBuilderInterface.php b/app/vendor/symfony/serializer/Context/ContextBuilderInterface.php deleted file mode 100644 index 4366d07bc..000000000 --- a/app/vendor/symfony/serializer/Context/ContextBuilderInterface.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context; - -/** - * Common interface for context builders. - * - * @author Mathias Arlaud - * @author Robin Chalas - */ -interface ContextBuilderInterface -{ - /** - * @param self|array $context - */ - public function withContext(self|array $context): static; - - /** - * @return array - */ - public function toArray(): array; -} diff --git a/app/vendor/symfony/serializer/Context/ContextBuilderTrait.php b/app/vendor/symfony/serializer/Context/ContextBuilderTrait.php deleted file mode 100644 index d7ce5becf..000000000 --- a/app/vendor/symfony/serializer/Context/ContextBuilderTrait.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context; - -/** - * @author Mathias Arlaud - */ -trait ContextBuilderTrait -{ - /** - * @var array - */ - private array $context = []; - - protected function with(string $key, mixed $value): static - { - $instance = new static(); - $instance->context = array_merge($this->context, [$key => $value]); - - return $instance; - } - - /** - * @param ContextBuilderInterface|array $context - */ - public function withContext(ContextBuilderInterface|array $context): static - { - if ($context instanceof ContextBuilderInterface) { - $context = $context->toArray(); - } - - $instance = new static(); - $instance->context = array_merge($this->context, $context); - - return $instance; - } - - /** - * @return array - */ - public function toArray(): array - { - return $this->context; - } -} diff --git a/app/vendor/symfony/serializer/Context/Encoder/CsvEncoderContextBuilder.php b/app/vendor/symfony/serializer/Context/Encoder/CsvEncoderContextBuilder.php deleted file mode 100644 index 9f0d6da6f..000000000 --- a/app/vendor/symfony/serializer/Context/Encoder/CsvEncoderContextBuilder.php +++ /dev/null @@ -1,139 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Encoder; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Encoder\CsvEncoder; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; - -/** - * A helper providing autocompletion for available CsvEncoder options. - * - * @author Mathias Arlaud - */ -final class CsvEncoderContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures the column delimiter character. - * - * Must be a single character. - * - * @throws InvalidArgumentException - */ - public function withDelimiter(?string $delimiter): static - { - if (null !== $delimiter && 1 !== \strlen($delimiter)) { - throw new InvalidArgumentException(\sprintf('The "%s" delimiter must be a single character.', $delimiter)); - } - - return $this->with(CsvEncoder::DELIMITER_KEY, $delimiter); - } - - /** - * Configures the field enclosure character. - * - * Must be a single character. - * - * @throws InvalidArgumentException - */ - public function withEnclosure(?string $enclosure): static - { - if (null !== $enclosure && 1 !== \strlen($enclosure)) { - throw new InvalidArgumentException(\sprintf('The "%s" enclosure must be a single character.', $enclosure)); - } - - return $this->with(CsvEncoder::ENCLOSURE_KEY, $enclosure); - } - - /** - * Configures the escape character. - * - * Must be empty or a single character. - * - * @deprecated since Symfony 7.2, to be removed in 8.0 - * - * @throws InvalidArgumentException - */ - public function withEscapeChar(?string $escapeChar): static - { - trigger_deprecation('symfony/serializer', '7.2', 'The "%s" method is deprecated. It will be removed in 8.0.', __METHOD__); - - if (null !== $escapeChar && \strlen($escapeChar) > 1) { - throw new InvalidArgumentException(\sprintf('The "%s" escape character must be empty or a single character.', $escapeChar)); - } - - return $this->with(CsvEncoder::ESCAPE_CHAR_KEY, $escapeChar); - } - - /** - * Configures the key separator when (un)flattening arrays. - */ - public function withKeySeparator(?string $keySeparator): static - { - return $this->with(CsvEncoder::KEY_SEPARATOR_KEY, $keySeparator); - } - - /** - * Configures the headers. - * - * @param list|null $headers - */ - public function withHeaders(?array $headers): static - { - return $this->with(CsvEncoder::HEADERS_KEY, $headers); - } - - /** - * Configures whether formulas should be escaped. - */ - public function withEscapedFormulas(?bool $escapedFormulas): static - { - return $this->with(CsvEncoder::ESCAPE_FORMULAS_KEY, $escapedFormulas); - } - - /** - * Configures whether the decoded result should be considered as a collection - * or as a single element. - */ - public function withAsCollection(?bool $asCollection): static - { - return $this->with(CsvEncoder::AS_COLLECTION_KEY, $asCollection); - } - - /** - * Configures whether the input (or output) is containing (or will contain) headers. - */ - public function withNoHeaders(?bool $noHeaders): static - { - return $this->with(CsvEncoder::NO_HEADERS_KEY, $noHeaders); - } - - /** - * Configures the end of line characters. - */ - public function withEndOfLine(?string $endOfLine): static - { - return $this->with(CsvEncoder::END_OF_LINE, $endOfLine); - } - - /** - * Configures whether to add the UTF-8 Byte Order Mark (BOM) - * at the beginning of the encoded result or not. - */ - public function withOutputUtf8Bom(?bool $outputUtf8Bom): static - { - return $this->with(CsvEncoder::OUTPUT_UTF8_BOM_KEY, $outputUtf8Bom); - } -} diff --git a/app/vendor/symfony/serializer/Context/Encoder/JsonEncoderContextBuilder.php b/app/vendor/symfony/serializer/Context/Encoder/JsonEncoderContextBuilder.php deleted file mode 100644 index 8920dddb3..000000000 --- a/app/vendor/symfony/serializer/Context/Encoder/JsonEncoderContextBuilder.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Encoder; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Encoder\JsonDecode; -use Symfony\Component\Serializer\Encoder\JsonEncode; - -/** - * A helper providing autocompletion for available JsonEncoder options. - * - * @author Mathias Arlaud - */ -final class JsonEncoderContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures the json_encode flags bitmask. - * - * @see https://php.net/json.constants - * - * @param positive-int|null $options - */ - public function withEncodeOptions(?int $options): static - { - return $this->with(JsonEncode::OPTIONS, $options); - } - - /** - * Configures the json_decode flags bitmask. - * - * @see https://php.net/json.constants - * - * @param positive-int|null $options - */ - public function withDecodeOptions(?int $options): static - { - return $this->with(JsonDecode::OPTIONS, $options); - } - - /** - * Configures whether decoded objects will be given as - * associative arrays or as nested stdClass. - */ - public function withAssociative(?bool $associative): static - { - return $this->with(JsonDecode::ASSOCIATIVE, $associative); - } - - /** - * Configures the maximum recursion depth. - * - * Must be strictly positive. - * - * @param positive-int|null $recursionDepth - */ - public function withRecursionDepth(?int $recursionDepth): static - { - return $this->with(JsonDecode::RECURSION_DEPTH, $recursionDepth); - } -} diff --git a/app/vendor/symfony/serializer/Context/Encoder/XmlEncoderContextBuilder.php b/app/vendor/symfony/serializer/Context/Encoder/XmlEncoderContextBuilder.php deleted file mode 100644 index ece1c6514..000000000 --- a/app/vendor/symfony/serializer/Context/Encoder/XmlEncoderContextBuilder.php +++ /dev/null @@ -1,179 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Encoder; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Encoder\XmlEncoder; - -/** - * A helper providing autocompletion for available XmlEncoder options. - * - * @author Mathias Arlaud - */ -final class XmlEncoderContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures whether the decoded result should be considered as a collection - * or as a single element. - */ - public function withAsCollection(?bool $asCollection): static - { - return $this->with(XmlEncoder::AS_COLLECTION, $asCollection); - } - - /** - * Configures node types to ignore while decoding. - * - * @see https://php.net/dom.constants - * - * @param list|null $decoderIgnoredNodeTypes - */ - public function withDecoderIgnoredNodeTypes(?array $decoderIgnoredNodeTypes): static - { - return $this->with(XmlEncoder::DECODER_IGNORED_NODE_TYPES, $decoderIgnoredNodeTypes); - } - - /** - * Configures node types to ignore while encoding. - * - * @see https://php.net/dom.constants - * - * @param list|null $encoderIgnoredNodeTypes - */ - public function withEncoderIgnoredNodeTypes(?array $encoderIgnoredNodeTypes): static - { - return $this->with(XmlEncoder::ENCODER_IGNORED_NODE_TYPES, $encoderIgnoredNodeTypes); - } - - /** - * Configures the DOMDocument encoding. - * - * @see https://php.net/class.domdocument#domdocument.props.encoding - */ - public function withEncoding(?string $encoding): static - { - return $this->with(XmlEncoder::ENCODING, $encoding); - } - - /** - * Configures whether to encode with indentation and extra space. - * - * @see https://php.net/class.domdocument#domdocument.props.formatoutput - */ - public function withFormatOutput(?bool $formatOutput): static - { - return $this->with(XmlEncoder::FORMAT_OUTPUT, $formatOutput); - } - - /** - * Configures the DOMDocument::loadXml options bitmask. - * - * @see https://php.net/libxml.constants - * - * @param positive-int|null $loadOptions - */ - public function withLoadOptions(?int $loadOptions): static - { - return $this->with(XmlEncoder::LOAD_OPTIONS, $loadOptions); - } - - /** - * Configures the DOMDocument::saveXml options bitmask. - * - * @see https://php.net/libxml.constants - * - * @param positive-int|null $saveOptions - */ - public function withSaveOptions(?int $saveOptions): static - { - return $this->with(XmlEncoder::SAVE_OPTIONS, $saveOptions); - } - - /** - * Configures whether to keep empty nodes. - */ - public function withRemoveEmptyTags(?bool $removeEmptyTags): static - { - return $this->with(XmlEncoder::REMOVE_EMPTY_TAGS, $removeEmptyTags); - } - - /** - * Configures name of the root node. - */ - public function withRootNodeName(?string $rootNodeName): static - { - return $this->with(XmlEncoder::ROOT_NODE_NAME, $rootNodeName); - } - - /** - * Configures whether the document will be standalone. - * - * @see https://php.net/class.domdocument#domdocument.props.xmlstandalone - */ - public function withStandalone(?bool $standalone): static - { - return $this->with(XmlEncoder::STANDALONE, $standalone); - } - - /** - * Configures whether casting numeric string attributes to integers or floats. - */ - public function withTypeCastAttributes(?bool $typeCastAttributes): static - { - return $this->with(XmlEncoder::TYPE_CAST_ATTRIBUTES, $typeCastAttributes); - } - - /** - * Configures the version number of the document. - * - * @see https://php.net/class.domdocument#domdocument.props.xmlversion - */ - public function withVersion(?string $version): static - { - return $this->with(XmlEncoder::VERSION, $version); - } - - /** - * Configures whether to wrap strings within CDATA sections. - */ - public function withCdataWrapping(?bool $cdataWrapping): static - { - return $this->with(XmlEncoder::CDATA_WRAPPING, $cdataWrapping); - } - - /** - * Configures the pattern used to evaluate if a CDATA section should be added. - */ - public function withCdataWrappingPattern(?string $cdataWrappingPattern): static - { - return $this->with(XmlEncoder::CDATA_WRAPPING_PATTERN, $cdataWrappingPattern); - } - - /** - * Configures whether to ignore empty attributes. - */ - public function withIgnoreEmptyAttributes(?bool $ignoreEmptyAttributes): static - { - return $this->with(XmlEncoder::IGNORE_EMPTY_ATTRIBUTES, $ignoreEmptyAttributes); - } - - /** - * Configures whether to preserve numeric keys in array. - */ - public function withPreserveNumericKeys(?bool $preserveNumericKeys): static - { - return $this->with(XmlEncoder::PRESERVE_NUMERIC_KEYS, $preserveNumericKeys); - } -} diff --git a/app/vendor/symfony/serializer/Context/Encoder/YamlEncoderContextBuilder.php b/app/vendor/symfony/serializer/Context/Encoder/YamlEncoderContextBuilder.php deleted file mode 100644 index cc28fe9f3..000000000 --- a/app/vendor/symfony/serializer/Context/Encoder/YamlEncoderContextBuilder.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Encoder; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Encoder\YamlEncoder; -use Symfony\Component\Yaml\Yaml; - -/** - * A helper providing autocompletion for available YamlEncoder options. - * - * Note that the "indentation" setting is not offered in this builder because - * it can only be set during the construction of the YamlEncoder, but not per - * call. - * - * @author Mathias Arlaud - */ -final class YamlEncoderContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures the threshold to switch to inline YAML. - */ - public function withInlineThreshold(?int $inlineThreshold): static - { - return $this->with(YamlEncoder::YAML_INLINE, $inlineThreshold); - } - - /** - * Configures the indentation level. - * - * Must be positive. - * - * @param int<0, max>|null $indentLevel - */ - public function withIndentLevel(?int $indentLevel): static - { - return $this->with(YamlEncoder::YAML_INDENT, $indentLevel); - } - - /** - * Configures \Symfony\Component\Yaml\Dumper::dump flags bitmask. - * - * @see Yaml - */ - public function withFlags(?int $flags): static - { - return $this->with(YamlEncoder::YAML_FLAGS, $flags); - } - - /** - * Configures whether to preserve empty objects "{}" or to convert them to null. - */ - public function withPreservedEmptyObjects(?bool $preserveEmptyObjects): static - { - return $this->with(YamlEncoder::PRESERVE_EMPTY_OBJECTS, $preserveEmptyObjects); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/AbstractNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/AbstractNormalizerContextBuilder.php deleted file mode 100644 index a63e1a507..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/AbstractNormalizerContextBuilder.php +++ /dev/null @@ -1,188 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Normalizer\AbstractNormalizer; - -/** - * A helper providing autocompletion for available AbstractNormalizer options. - * - * @author Mathias Arlaud - */ -abstract class AbstractNormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures how many loops of circular reference to allow while normalizing. - * - * The value 1 means that when we encounter the same object a - * second time, we consider that a circular reference. - * - * You can raise this value for special cases, e.g. in combination with the - * max depth setting of the object normalizer. - * - * Must be strictly positive. - * - * @param positive-int|null $circularReferenceLimit - */ - public function withCircularReferenceLimit(?int $circularReferenceLimit): static - { - return $this->with(AbstractNormalizer::CIRCULAR_REFERENCE_LIMIT, $circularReferenceLimit); - } - - /** - * Configures an object to be updated instead of creating a new instance. - * - * If you have a nested structure, child objects will be overwritten with - * new instances unless you set AbstractObjectNormalizer::DEEP_OBJECT_TO_POPULATE to true. - */ - public function withObjectToPopulate(?object $objectToPopulate): static - { - return $this->with(AbstractNormalizer::OBJECT_TO_POPULATE, $objectToPopulate); - } - - /** - * Configures groups containing attributes to (de)normalize. - * - * Eg: ['group1', 'group2'] - * - * @param list|string|null $groups - */ - public function withGroups(array|string|null $groups): static - { - if (null === $groups) { - return $this->with(AbstractNormalizer::GROUPS, null); - } - - return $this->with(AbstractNormalizer::GROUPS, (array) $groups); - } - - /** - * Configures attributes to (de)normalize. - * - * For nested structures, this list needs to reflect the object tree. - * - * Eg: ['foo', 'bar', 'object' => ['baz']] - * - * @param array|null $attributes - * - * @throws InvalidArgumentException - */ - public function withAttributes(?array $attributes): static - { - $it = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($attributes ?? []), \RecursiveIteratorIterator::LEAVES_ONLY); - - foreach ($it as $attribute) { - if (!\is_string($attribute)) { - throw new InvalidArgumentException(\sprintf('Each attribute must be a string, "%s" given.', get_debug_type($attribute))); - } - } - - return $this->with(AbstractNormalizer::ATTRIBUTES, $attributes); - } - - /** - * If AbstractNormalizer::ATTRIBUTES are specified, and the source has fields that are not part of that list, - * configures whether to ignore those attributes or throw an ExtraAttributesException. - */ - public function withAllowExtraAttributes(?bool $allowExtraAttributes): static - { - return $this->with(AbstractNormalizer::ALLOW_EXTRA_ATTRIBUTES, $allowExtraAttributes); - } - - /** - * @deprecated since Symfony 7.1, use withDefaultConstructorArguments(?array $defaultConstructorArguments)" instead - * - * @param array>|null $defaultContructorArguments - */ - public function withDefaultContructorArguments(?array $defaultContructorArguments): static - { - trigger_deprecation('symfony/serializer', '7.1', 'The "%s()" method is deprecated, use "withDefaultConstructorArguments(?array $defaultConstructorArguments)" instead.', __METHOD__); - - return self::withDefaultConstructorArguments($defaultContructorArguments); - } - - /** - * Configures a hashmap of classes containing hashmaps of constructor argument => default value. - * - * The names need to match the parameter names in the constructor arguments. - * - * Eg: [Foo::class => ['foo' => true, 'bar' => 0]] - * - * @param array>|null $defaultConstructorArguments - */ - public function withDefaultConstructorArguments(?array $defaultConstructorArguments): static - { - return $this->with(AbstractNormalizer::DEFAULT_CONSTRUCTOR_ARGUMENTS, $defaultConstructorArguments); - } - - /** - * Configures an hashmap of field name => callable to normalize this field. - * - * The callable is called if the field is encountered with the arguments: - * - * - mixed $attributeValue value of this field - * - object $object the whole object being normalized - * - string $attributeName name of the attribute being normalized - * - string $format the requested format - * - array $context the serialization context - * - * @param array|null $callbacks - */ - public function withCallbacks(?array $callbacks): static - { - return $this->with(AbstractNormalizer::CALLBACKS, $callbacks); - } - - /** - * Configures an handler to call when a circular reference has been detected. - * - * If no handler is specified, a CircularReferenceException is thrown. - * - * The method will be called with ($object, $format, $context) and its - * return value is returned as the result of the normalize call. - */ - public function withCircularReferenceHandler(?callable $circularReferenceHandler): static - { - return $this->with(AbstractNormalizer::CIRCULAR_REFERENCE_HANDLER, $circularReferenceHandler); - } - - /** - * Configures attributes to be skipped when normalizing an object tree. - * - * This list is applied to each element of nested structures. - * - * Eg: ['foo', 'bar'] - * - * Note: The behaviour for nested structures is different from ATTRIBUTES - * for historical reason. Aligning the behaviour would be a BC break. - * - * @param list|null $ignoredAttributes - */ - public function withIgnoredAttributes(?array $ignoredAttributes): static - { - return $this->with(AbstractNormalizer::IGNORED_ATTRIBUTES, $ignoredAttributes); - } - - /** - * Configures requiring all properties to be listed in the input instead - * of falling back to null for nullable ones. - */ - public function withRequireAllProperties(?bool $requireAllProperties = true): static - { - return $this->with(AbstractNormalizer::REQUIRE_ALL_PROPERTIES, $requireAllProperties); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/AbstractObjectNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/AbstractObjectNormalizerContextBuilder.php deleted file mode 100644 index 45b47bc1b..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/AbstractObjectNormalizerContextBuilder.php +++ /dev/null @@ -1,131 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer; - -/** - * A helper providing autocompletion for available AbstractObjectNormalizer options. - * - * @author Mathias Arlaud - */ -abstract class AbstractObjectNormalizerContextBuilder extends AbstractNormalizerContextBuilder -{ - /** - * Configures whether to respect the max depth metadata on fields. - */ - public function withEnableMaxDepth(?bool $enableMaxDepth): static - { - return $this->with(AbstractObjectNormalizer::ENABLE_MAX_DEPTH, $enableMaxDepth); - } - - /** - * Configures a pattern to keep track of the current depth. - * - * Must contain exactly two string placeholders. - * - * @throws InvalidArgumentException - */ - public function withDepthKeyPattern(?string $depthKeyPattern): static - { - if (null === $depthKeyPattern) { - return $this->with(AbstractObjectNormalizer::DEPTH_KEY_PATTERN, null); - } - - // This will match every occurrences of sprintf specifiers - $matches = []; - preg_match_all('/(?[a-z])/', $depthKeyPattern, $matches); - - if (2 !== \count($matches['specifier']) || 's' !== $matches['specifier'][0] || 's' !== $matches['specifier'][1]) { - throw new InvalidArgumentException(\sprintf('The depth key pattern "%s" is not valid. You must set exactly two string placeholders.', $depthKeyPattern)); - } - - return $this->with(AbstractObjectNormalizer::DEPTH_KEY_PATTERN, $depthKeyPattern); - } - - /** - * Configures whether verifying types match during denormalization. - */ - public function withDisableTypeEnforcement(?bool $disableTypeEnforcement): static - { - return $this->with(AbstractObjectNormalizer::DISABLE_TYPE_ENFORCEMENT, $disableTypeEnforcement); - } - - /** - * Configures whether fields with the value `null` should be output during normalization. - */ - public function withSkipNullValues(?bool $skipNullValues): static - { - return $this->with(AbstractObjectNormalizer::SKIP_NULL_VALUES, $skipNullValues); - } - - /** - * Configures whether uninitialized typed class properties should be excluded during normalization. - */ - public function withSkipUninitializedValues(?bool $skipUninitializedValues): static - { - return $this->with(AbstractObjectNormalizer::SKIP_UNINITIALIZED_VALUES, $skipUninitializedValues); - } - - /** - * Configures a callback to allow to set a value for an attribute when the max depth has - * been reached. - * - * If no callback is given, the attribute is skipped. If a callable is - * given, its return value is used (even if null). - * - * The arguments are: - * - * - mixed $attributeValue value of this field - * - object $object the whole object being normalized - * - string $attributeName name of the attribute being normalized - * - string $format the requested format - * - array $context the serialization context - */ - public function withMaxDepthHandler(?callable $maxDepthHandler): static - { - return $this->with(AbstractObjectNormalizer::MAX_DEPTH_HANDLER, $maxDepthHandler); - } - - /** - * Configures which context key are not relevant to determine which attributes - * of an object to (de)normalize. - * - * @param list|null $excludeFromCacheKeys - */ - public function withExcludeFromCacheKeys(?array $excludeFromCacheKeys): static - { - return $this->with(AbstractObjectNormalizer::EXCLUDE_FROM_CACHE_KEY, $excludeFromCacheKeys); - } - - /** - * Configures whether to tell the denormalizer to also populate existing objects on - * attributes of the main object. - * - * Setting this to true is only useful if you also specify the root object - * in AbstractNormalizer::OBJECT_TO_POPULATE. - */ - public function withDeepObjectToPopulate(?bool $deepObjectToPopulate): static - { - return $this->with(AbstractObjectNormalizer::DEEP_OBJECT_TO_POPULATE, $deepObjectToPopulate); - } - - /** - * Configures whether an empty object should be kept as an object (in - * JSON: {}) or converted to a list (in JSON: []). - */ - public function withPreserveEmptyObjects(?bool $preserveEmptyObjects): static - { - return $this->with(AbstractObjectNormalizer::PRESERVE_EMPTY_OBJECTS, $preserveEmptyObjects); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/BackedEnumNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/BackedEnumNormalizerContextBuilder.php deleted file mode 100644 index ca1a4f50a..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/BackedEnumNormalizerContextBuilder.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Normalizer\BackedEnumNormalizer; - -/** - * A helper providing autocompletion for available BackedEnumNormalizer options. - * - * @author Nicolas PHILIPPE - */ -final class BackedEnumNormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures if invalid values are allowed in denormalization. - * They will be denormalized into `null` values. - */ - public function withAllowInvalidValues(bool $allowInvalidValues): static - { - return $this->with(BackedEnumNormalizer::ALLOW_INVALID_VALUES, $allowInvalidValues); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/ConstraintViolationListNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/ConstraintViolationListNormalizerContextBuilder.php deleted file mode 100644 index fd1d7c4f5..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/ConstraintViolationListNormalizerContextBuilder.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Normalizer\ConstraintViolationListNormalizer; - -/** - * A helper providing autocompletion for available ConstraintViolationList options. - * - * @author Mathias Arlaud - */ -final class ConstraintViolationListNormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configure the instance field of normalized data. - */ - public function withInstance(mixed $instance): static - { - return $this->with(ConstraintViolationListNormalizer::INSTANCE, $instance); - } - - /** - * Configure the status field of normalized data. - */ - public function withStatus(?int $status): static - { - return $this->with(ConstraintViolationListNormalizer::STATUS, $status); - } - - /** - * Configure the title field of normalized data. - */ - public function withTitle(?string $title): static - { - return $this->with(ConstraintViolationListNormalizer::TITLE, $title); - } - - /** - * Configure the type field of normalized data. - */ - public function withType(?string $type): static - { - return $this->with(ConstraintViolationListNormalizer::TYPE, $type); - } - - /** - * Configures the payload fields which will act as an allowlist - * for the payload field of normalized data. - * - * Eg: ['foo', 'bar'] - * - * @param list|null $payloadFields - */ - public function withPayloadFields(?array $payloadFields): static - { - return $this->with(ConstraintViolationListNormalizer::PAYLOAD_FIELDS, $payloadFields); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/DateIntervalNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/DateIntervalNormalizerContextBuilder.php deleted file mode 100644 index 98636577a..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/DateIntervalNormalizerContextBuilder.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer; - -/** - * A helper providing autocompletion for available DateIntervalNormalizer options. - * - * @author Mathias Arlaud - */ -final class DateIntervalNormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures the format of the interval. - * - * @see https://php.net/manual/en/dateinterval.format.php - */ - public function withFormat(?string $format): static - { - return $this->with(DateIntervalNormalizer::FORMAT_KEY, $format); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/DateTimeNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/DateTimeNormalizerContextBuilder.php deleted file mode 100644 index 2a763f549..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/DateTimeNormalizerContextBuilder.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer; - -/** - * A helper providing autocompletion for available DateTimeNormalizer options. - * - * @author Mathias Arlaud - */ -final class DateTimeNormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures the format of the date. - * - * @see https://secure.php.net/manual/en/datetime.format.php - */ - public function withFormat(?string $format): static - { - return $this->with(DateTimeNormalizer::FORMAT_KEY, $format); - } - - /** - * Configures the timezone of the date. - * - * It could be either a \DateTimeZone or a string - * that will be used to construct the \DateTimeZone - * - * @see https://secure.php.net/manual/en/class.datetimezone.php - * - * @param ?bool $force Whether to enforce the timezone during denormalization - * - * @throws InvalidArgumentException - */ - public function withTimezone(\DateTimeZone|string|null $timezone, ?bool $force = null): static - { - if (null === $timezone) { - return $this->with(DateTimeNormalizer::TIMEZONE_KEY, null)->with(DateTimeNormalizer::FORCE_TIMEZONE_KEY, $force); - } - - if (\is_string($timezone)) { - try { - $timezone = new \DateTimeZone($timezone); - } catch (\Exception $e) { - throw new InvalidArgumentException(\sprintf('The "%s" timezone is invalid.', $timezone), previous: $e); - } - } - - return $this->with(DateTimeNormalizer::TIMEZONE_KEY, $timezone)->with(DateTimeNormalizer::FORCE_TIMEZONE_KEY, $force); - } - - /** - * @param 'int'|'float'|null $cast - */ - public function withCast(?string $cast): static - { - return $this->with(DateTimeNormalizer::CAST_KEY, $cast); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/FormErrorNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/FormErrorNormalizerContextBuilder.php deleted file mode 100644 index 4cd2ddb88..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/FormErrorNormalizerContextBuilder.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Normalizer\FormErrorNormalizer; - -/** - * A helper providing autocompletion for available FormErrorNormalizer options. - * - * @author Mathias Arlaud - */ -final class FormErrorNormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures the title of the normalized data. - */ - public function withTitle(?string $title): static - { - return $this->with(FormErrorNormalizer::TITLE, $title); - } - - /** - * Configures the type of the normalized data. - */ - public function withType(?string $type): static - { - return $this->with(FormErrorNormalizer::TYPE, $type); - } - - /** - * Configures the code of the normalized data. - */ - public function withStatusCode(?int $statusCode): static - { - return $this->with(FormErrorNormalizer::CODE, $statusCode); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/GetSetMethodNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/GetSetMethodNormalizerContextBuilder.php deleted file mode 100644 index a7d2f8244..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/GetSetMethodNormalizerContextBuilder.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -/** - * A helper providing autocompletion for available GetSetMethodNormalizer options. - * - * @author Mathias Arlaud - */ -final class GetSetMethodNormalizerContextBuilder extends AbstractObjectNormalizerContextBuilder -{ -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/JsonSerializableNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/JsonSerializableNormalizerContextBuilder.php deleted file mode 100644 index 249e74ff0..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/JsonSerializableNormalizerContextBuilder.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -/** - * A helper providing autocompletion for available JsonSerializableNormalizer options. - * - * @author Mathias Arlaud - */ -final class JsonSerializableNormalizerContextBuilder extends AbstractNormalizerContextBuilder -{ -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/ObjectNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/ObjectNormalizerContextBuilder.php deleted file mode 100644 index eb8d15710..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/ObjectNormalizerContextBuilder.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -/** - * A helper providing autocompletion for available ObjectNormalizer options. - * - * @author Mathias Arlaud - */ -final class ObjectNormalizerContextBuilder extends AbstractObjectNormalizerContextBuilder -{ -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/ProblemNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/ProblemNormalizerContextBuilder.php deleted file mode 100644 index b525a91ad..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/ProblemNormalizerContextBuilder.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Normalizer\ProblemNormalizer; - -/** - * A helper providing autocompletion for available ProblemNormalizer options. - * - * @author Mathias Arlaud - */ -final class ProblemNormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configure the title field of normalized data. - */ - public function withTitle(?string $title): static - { - return $this->with(ProblemNormalizer::TITLE, $title); - } - - /** - * Configure the type field of normalized data. - */ - public function withType(?string $type): static - { - return $this->with(ProblemNormalizer::TYPE, $type); - } - - /** - * Configure the status field of normalized data. - */ - public function withStatusCode(int|string|null $statusCode): static - { - return $this->with(ProblemNormalizer::STATUS, $statusCode); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/PropertyNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/PropertyNormalizerContextBuilder.php deleted file mode 100644 index 71d5ed045..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/PropertyNormalizerContextBuilder.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Normalizer\PropertyNormalizer; - -/** - * A helper providing autocompletion for available PropertyNormalizer options. - * - * @author Mathias Arlaud - */ -final class PropertyNormalizerContextBuilder extends AbstractObjectNormalizerContextBuilder -{ - /** - * Configures whether fields should be output based on visibility. - */ - public function withNormalizeVisibility(int $normalizeVisibility): static - { - return $this->with(PropertyNormalizer::NORMALIZE_VISIBILITY, $normalizeVisibility); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/UidNormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/UidNormalizerContextBuilder.php deleted file mode 100644 index b809fe3eb..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/UidNormalizerContextBuilder.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Normalizer\UidNormalizer; - -/** - * A helper providing autocompletion for available UidNormalizer options. - * - * @author Mathias Arlaud - */ -final class UidNormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures the uuid format for normalization. - * - * @throws InvalidArgumentException - */ - public function withNormalizationFormat(?string $normalizationFormat): static - { - if (null !== $normalizationFormat && !\in_array($normalizationFormat, UidNormalizer::NORMALIZATION_FORMATS, true)) { - throw new InvalidArgumentException(\sprintf('The "%s" normalization format is not valid.', $normalizationFormat)); - } - - return $this->with(UidNormalizer::NORMALIZATION_FORMAT_KEY, $normalizationFormat); - } -} diff --git a/app/vendor/symfony/serializer/Context/Normalizer/UnwrappingDenormalizerContextBuilder.php b/app/vendor/symfony/serializer/Context/Normalizer/UnwrappingDenormalizerContextBuilder.php deleted file mode 100644 index 2945cb961..000000000 --- a/app/vendor/symfony/serializer/Context/Normalizer/UnwrappingDenormalizerContextBuilder.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context\Normalizer; - -use Symfony\Component\PropertyAccess\Exception\InvalidPropertyPathException; -use Symfony\Component\PropertyAccess\PropertyPath; -use Symfony\Component\Serializer\Context\ContextBuilderInterface; -use Symfony\Component\Serializer\Context\ContextBuilderTrait; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Normalizer\UnwrappingDenormalizer; - -/** - * A helper providing autocompletion for available UnwrappingDenormalizer options. - * - * @author Mathias Arlaud - */ -final class UnwrappingDenormalizerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures the path of wrapped data during denormalization. - * - * Eg: [foo].bar[bar] - * - * @see https://symfony.com/doc/current/components/property_access.html - * - * @throws InvalidArgumentException - */ - public function withUnwrapPath(?string $unwrapPath): static - { - if (null === $unwrapPath) { - return $this->with(UnwrappingDenormalizer::UNWRAP_PATH, null); - } - - try { - new PropertyPath($unwrapPath); - } catch (InvalidPropertyPathException $e) { - throw new InvalidArgumentException(\sprintf('The "%s" property path is not valid.', $unwrapPath), previous: $e); - } - - return $this->with(UnwrappingDenormalizer::UNWRAP_PATH, $unwrapPath); - } -} diff --git a/app/vendor/symfony/serializer/Context/SerializerContextBuilder.php b/app/vendor/symfony/serializer/Context/SerializerContextBuilder.php deleted file mode 100644 index a6359be98..000000000 --- a/app/vendor/symfony/serializer/Context/SerializerContextBuilder.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Context; - -use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; -use Symfony\Component\Serializer\Serializer; - -/** - * A helper providing autocompletion for available Serializer options. - * - * @author Mathias Arlaud - */ -final class SerializerContextBuilder implements ContextBuilderInterface -{ - use ContextBuilderTrait; - - /** - * Configures whether an empty array should be transformed to an - * object (in JSON: {}) or to a list (in JSON: []). - */ - public function withEmptyArrayAsObject(?bool $emptyArrayAsObject): static - { - return $this->with(Serializer::EMPTY_ARRAY_AS_OBJECT, $emptyArrayAsObject); - } - - public function withCollectDenormalizationErrors(?bool $collectDenormalizationErrors): static - { - return $this->with(DenormalizerInterface::COLLECT_DENORMALIZATION_ERRORS, $collectDenormalizationErrors); - } -} diff --git a/app/vendor/symfony/serializer/DataCollector/SerializerDataCollector.php b/app/vendor/symfony/serializer/DataCollector/SerializerDataCollector.php deleted file mode 100644 index e87c51ca1..000000000 --- a/app/vendor/symfony/serializer/DataCollector/SerializerDataCollector.php +++ /dev/null @@ -1,259 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\DataCollector; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\DataCollector\DataCollector; -use Symfony\Component\HttpKernel\DataCollector\LateDataCollectorInterface; -use Symfony\Component\Serializer\Debug\TraceableSerializer; -use Symfony\Component\VarDumper\Cloner\Data; - -/** - * @author Mathias Arlaud - * - * @final - */ -class SerializerDataCollector extends DataCollector implements LateDataCollectorInterface -{ - private const DATA_TEMPLATE = [ - 'serialize' => [], - 'deserialize' => [], - 'normalize' => [], - 'denormalize' => [], - 'encode' => [], - 'decode' => [], - ]; - - private array $dataGroupedByName; - private array $collected = []; - - public function reset(): void - { - $this->data = []; - unset($this->dataGroupedByName); - $this->collected = []; - } - - public function collect(Request $request, Response $response, ?\Throwable $exception = null): void - { - // Everything is collected during the request, and formatted on kernel terminate. - } - - public function getName(): string - { - return 'serializer'; - } - - public function getData(?string $name = null): Data|array - { - return null === $name ? $this->data : $this->getDataGroupedByName()[$name]; - } - - public function getHandledCount(?string $name = null): int - { - return array_sum(array_map('count', $this->getData($name))); - } - - public function getTotalTime(): float - { - $totalTime = 0; - - foreach ($this->data as $handled) { - $totalTime += array_sum(array_map(fn (array $el): float => $el['time'], $handled)); - } - - return $totalTime; - } - - public function getSerializerNames(): array - { - return array_keys($this->getDataGroupedByName()); - } - - public function collectSerialize(string $traceId, mixed $data, string $format, array $context, float $time, array $caller, string $name): void - { - unset($context[TraceableSerializer::DEBUG_TRACE_ID]); - - $this->collected[$traceId] = array_merge( - $this->collected[$traceId] ?? [], - compact('data', 'format', 'context', 'time', 'caller', 'name'), - ['method' => 'serialize'], - ); - } - - public function collectDeserialize(string $traceId, mixed $data, string $type, string $format, array $context, float $time, array $caller, string $name): void - { - unset($context[TraceableSerializer::DEBUG_TRACE_ID]); - - $this->collected[$traceId] = array_merge( - $this->collected[$traceId] ?? [], - compact('data', 'format', 'type', 'context', 'time', 'caller', 'name'), - ['method' => 'deserialize'], - ); - } - - public function collectNormalize(string $traceId, mixed $data, ?string $format, array $context, float $time, array $caller, string $name): void - { - unset($context[TraceableSerializer::DEBUG_TRACE_ID]); - - $this->collected[$traceId] = array_merge( - $this->collected[$traceId] ?? [], - compact('data', 'format', 'context', 'time', 'caller', 'name'), - ['method' => 'normalize'], - ); - } - - public function collectDenormalize(string $traceId, mixed $data, string $type, ?string $format, array $context, float $time, array $caller, string $name): void - { - unset($context[TraceableSerializer::DEBUG_TRACE_ID]); - - $this->collected[$traceId] = array_merge( - $this->collected[$traceId] ?? [], - compact('data', 'format', 'type', 'context', 'time', 'caller', 'name'), - ['method' => 'denormalize'], - ); - } - - public function collectEncode(string $traceId, mixed $data, ?string $format, array $context, float $time, array $caller, string $name): void - { - unset($context[TraceableSerializer::DEBUG_TRACE_ID]); - - $this->collected[$traceId] = array_merge( - $this->collected[$traceId] ?? [], - compact('data', 'format', 'context', 'time', 'caller', 'name'), - ['method' => 'encode'], - ); - } - - public function collectDecode(string $traceId, mixed $data, ?string $format, array $context, float $time, array $caller, string $name): void - { - unset($context[TraceableSerializer::DEBUG_TRACE_ID]); - - $this->collected[$traceId] = array_merge( - $this->collected[$traceId] ?? [], - compact('data', 'format', 'context', 'time', 'caller', 'name'), - ['method' => 'decode'], - ); - } - - public function collectNormalization(string $traceId, string $normalizer, float $time, string $name): void - { - $method = 'normalize'; - - $this->collected[$traceId]['normalization'][] = compact('normalizer', 'method', 'time', 'name'); - } - - public function collectDenormalization(string $traceId, string $normalizer, float $time, string $name): void - { - $method = 'denormalize'; - - $this->collected[$traceId]['normalization'][] = compact('normalizer', 'method', 'time', 'name'); - } - - public function collectEncoding(string $traceId, string $encoder, float $time, string $name): void - { - $method = 'encode'; - - $this->collected[$traceId]['encoding'][] = compact('encoder', 'method', 'time', 'name'); - } - - public function collectDecoding(string $traceId, string $encoder, float $time, string $name): void - { - $method = 'decode'; - - $this->collected[$traceId]['encoding'][] = compact('encoder', 'method', 'time', 'name'); - } - - public function lateCollect(): void - { - $this->data = self::DATA_TEMPLATE; - - foreach ($this->collected as $collected) { - if (!isset($collected['data'])) { - continue; - } - - $data = [ - 'data' => $this->cloneVar($collected['data']), - 'dataType' => get_debug_type($collected['data']), - 'type' => $collected['type'] ?? null, - 'format' => $collected['format'], - 'time' => $collected['time'], - 'context' => $this->cloneVar($collected['context']), - 'normalization' => [], - 'encoding' => [], - 'caller' => $collected['caller'] ?? null, - 'name' => $collected['name'], - ]; - - if (isset($collected['normalization'])) { - $mainNormalization = array_pop($collected['normalization']); - - $data['normalizer'] = ['time' => $mainNormalization['time']] + $this->getMethodLocation($mainNormalization['normalizer'], $mainNormalization['method']); - - foreach ($collected['normalization'] as $normalization) { - if (!isset($data['normalization'][$normalization['normalizer']])) { - $data['normalization'][$normalization['normalizer']] = ['time' => 0, 'calls' => 0] + $this->getMethodLocation($normalization['normalizer'], $normalization['method']); - } - - ++$data['normalization'][$normalization['normalizer']]['calls']; - $data['normalization'][$normalization['normalizer']]['time'] += $normalization['time']; - } - } - - if (isset($collected['encoding'])) { - $mainEncoding = array_pop($collected['encoding']); - - $data['encoder'] = ['time' => $mainEncoding['time']] + $this->getMethodLocation($mainEncoding['encoder'], $mainEncoding['method']); - - foreach ($collected['encoding'] as $encoding) { - if (!isset($data['encoding'][$encoding['encoder']])) { - $data['encoding'][$encoding['encoder']] = ['time' => 0, 'calls' => 0] + $this->getMethodLocation($encoding['encoder'], $encoding['method']); - } - - ++$data['encoding'][$encoding['encoder']]['calls']; - $data['encoding'][$encoding['encoder']]['time'] += $encoding['time']; - } - } - - $this->data[$collected['method']][] = $data; - } - } - - private function getDataGroupedByName(): array - { - if (!isset($this->dataGroupedByName)) { - $this->dataGroupedByName = []; - - foreach ($this->data as $method => $items) { - foreach ($items as $item) { - $this->dataGroupedByName[$item['name']] ??= self::DATA_TEMPLATE; - $this->dataGroupedByName[$item['name']][$method][] = $item; - } - } - } - - return $this->dataGroupedByName; - } - - private function getMethodLocation(string $class, string $method): array - { - $reflection = new \ReflectionClass($class); - - return [ - 'class' => $reflection->getShortName(), - 'file' => $reflection->getFileName(), - 'line' => $reflection->getMethod($method)->getStartLine(), - ]; - } -} diff --git a/app/vendor/symfony/serializer/Debug/TraceableEncoder.php b/app/vendor/symfony/serializer/Debug/TraceableEncoder.php deleted file mode 100644 index 39e75e34f..000000000 --- a/app/vendor/symfony/serializer/Debug/TraceableEncoder.php +++ /dev/null @@ -1,110 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Debug; - -use Symfony\Component\Serializer\DataCollector\SerializerDataCollector; -use Symfony\Component\Serializer\Encoder\DecoderInterface; -use Symfony\Component\Serializer\Encoder\EncoderInterface; -use Symfony\Component\Serializer\Encoder\NormalizationAwareInterface; -use Symfony\Component\Serializer\SerializerAwareInterface; -use Symfony\Component\Serializer\SerializerInterface; - -/** - * Collects some data about encoding. - * - * @author Mathias Arlaud - * - * @final - */ -class TraceableEncoder implements EncoderInterface, DecoderInterface, SerializerAwareInterface -{ - public function __construct( - private EncoderInterface|DecoderInterface $encoder, - private SerializerDataCollector $dataCollector, - private readonly string $serializerName = 'default', - ) { - } - - public function encode(mixed $data, string $format, array $context = []): string - { - if (!$this->encoder instanceof EncoderInterface) { - throw new \BadMethodCallException(\sprintf('The "%s()" method cannot be called as nested encoder doesn\'t implements "%s".', __METHOD__, EncoderInterface::class)); - } - - $startTime = microtime(true); - $encoded = $this->encoder->encode($data, $format, $context); - $time = microtime(true) - $startTime; - - if ($traceId = ($context[TraceableSerializer::DEBUG_TRACE_ID] ?? null)) { - $this->dataCollector->collectEncoding($traceId, $this->encoder::class, $time, $this->serializerName); - } - - return $encoded; - } - - public function supportsEncoding(string $format, array $context = []): bool - { - if (!$this->encoder instanceof EncoderInterface) { - return false; - } - - return $this->encoder->supportsEncoding($format, $context); - } - - public function decode(string $data, string $format, array $context = []): mixed - { - if (!$this->encoder instanceof DecoderInterface) { - throw new \BadMethodCallException(\sprintf('The "%s()" method cannot be called as nested encoder doesn\'t implements "%s".', __METHOD__, DecoderInterface::class)); - } - - $startTime = microtime(true); - $encoded = $this->encoder->decode($data, $format, $context); - $time = microtime(true) - $startTime; - - if ($traceId = ($context[TraceableSerializer::DEBUG_TRACE_ID] ?? null)) { - $this->dataCollector->collectDecoding($traceId, $this->encoder::class, $time, $this->serializerName); - } - - return $encoded; - } - - public function supportsDecoding(string $format, array $context = []): bool - { - if (!$this->encoder instanceof DecoderInterface) { - return false; - } - - return $this->encoder->supportsDecoding($format, $context); - } - - public function setSerializer(SerializerInterface $serializer): void - { - if (!$this->encoder instanceof SerializerAwareInterface) { - return; - } - - $this->encoder->setSerializer($serializer); - } - - public function needsNormalization(): bool - { - return !$this->encoder instanceof NormalizationAwareInterface; - } - - /** - * Proxies all method calls to the original encoder. - */ - public function __call(string $method, array $arguments): mixed - { - return $this->encoder->{$method}(...$arguments); - } -} diff --git a/app/vendor/symfony/serializer/Debug/TraceableNormalizer.php b/app/vendor/symfony/serializer/Debug/TraceableNormalizer.php deleted file mode 100644 index d737f5b36..000000000 --- a/app/vendor/symfony/serializer/Debug/TraceableNormalizer.php +++ /dev/null @@ -1,129 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Debug; - -use Symfony\Component\Serializer\DataCollector\SerializerDataCollector; -use Symfony\Component\Serializer\Normalizer\DenormalizerAwareInterface; -use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; -use Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface; -use Symfony\Component\Serializer\Normalizer\NormalizerInterface; -use Symfony\Component\Serializer\SerializerAwareInterface; -use Symfony\Component\Serializer\SerializerInterface; - -/** - * Collects some data about normalization. - * - * @author Mathias Arlaud - * - * @final - */ -class TraceableNormalizer implements NormalizerInterface, DenormalizerInterface, SerializerAwareInterface, NormalizerAwareInterface, DenormalizerAwareInterface -{ - public function __construct( - private NormalizerInterface|DenormalizerInterface $normalizer, - private SerializerDataCollector $dataCollector, - private readonly string $serializerName = 'default', - ) { - } - - public function getSupportedTypes(?string $format): array - { - return $this->normalizer->getSupportedTypes($format); - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - if (!$this->normalizer instanceof NormalizerInterface) { - throw new \BadMethodCallException(\sprintf('The "%s()" method cannot be called as nested normalizer doesn\'t implements "%s".', __METHOD__, NormalizerInterface::class)); - } - - $startTime = microtime(true); - $normalized = $this->normalizer->normalize($data, $format, $context); - $time = microtime(true) - $startTime; - - if ($traceId = ($context[TraceableSerializer::DEBUG_TRACE_ID] ?? null)) { - $this->dataCollector->collectNormalization($traceId, $this->normalizer::class, $time, $this->serializerName); - } - - return $normalized; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - if (!$this->normalizer instanceof NormalizerInterface) { - return false; - } - - return $this->normalizer->supportsNormalization($data, $format, $context); - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - if (!$this->normalizer instanceof DenormalizerInterface) { - throw new \BadMethodCallException(\sprintf('The "%s()" method cannot be called as nested normalizer doesn\'t implements "%s".', __METHOD__, DenormalizerInterface::class)); - } - - $startTime = microtime(true); - $denormalized = $this->normalizer->denormalize($data, $type, $format, $context); - $time = microtime(true) - $startTime; - - if ($traceId = ($context[TraceableSerializer::DEBUG_TRACE_ID] ?? null)) { - $this->dataCollector->collectDenormalization($traceId, $this->normalizer::class, $time, $this->serializerName); - } - - return $denormalized; - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - if (!$this->normalizer instanceof DenormalizerInterface) { - return false; - } - - return $this->normalizer->supportsDenormalization($data, $type, $format, $context); - } - - public function setSerializer(SerializerInterface $serializer): void - { - if (!$this->normalizer instanceof SerializerAwareInterface) { - return; - } - - $this->normalizer->setSerializer($serializer); - } - - public function setNormalizer(NormalizerInterface $normalizer): void - { - if (!$this->normalizer instanceof NormalizerAwareInterface) { - return; - } - - $this->normalizer->setNormalizer($normalizer); - } - - public function setDenormalizer(DenormalizerInterface $denormalizer): void - { - if (!$this->normalizer instanceof DenormalizerAwareInterface) { - return; - } - - $this->normalizer->setDenormalizer($denormalizer); - } - - /** - * Proxies all method calls to the original normalizer. - */ - public function __call(string $method, array $arguments): mixed - { - return $this->normalizer->{$method}(...$arguments); - } -} diff --git a/app/vendor/symfony/serializer/Debug/TraceableSerializer.php b/app/vendor/symfony/serializer/Debug/TraceableSerializer.php deleted file mode 100644 index 60cb2ec49..000000000 --- a/app/vendor/symfony/serializer/Debug/TraceableSerializer.php +++ /dev/null @@ -1,186 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Debug; - -use Symfony\Component\Serializer\DataCollector\SerializerDataCollector; -use Symfony\Component\Serializer\Encoder\DecoderInterface; -use Symfony\Component\Serializer\Encoder\EncoderInterface; -use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; -use Symfony\Component\Serializer\Normalizer\NormalizerInterface; -use Symfony\Component\Serializer\SerializerInterface; - -/** - * Collects some data about serialization. - * - * @author Mathias Arlaud - * - * @final - */ -class TraceableSerializer implements SerializerInterface, NormalizerInterface, DenormalizerInterface, EncoderInterface, DecoderInterface -{ - public const DEBUG_TRACE_ID = 'debug_trace_id'; - - public function __construct( - private SerializerInterface&NormalizerInterface&DenormalizerInterface&EncoderInterface&DecoderInterface $serializer, - private SerializerDataCollector $dataCollector, - private readonly string $serializerName = 'default', - ) { - } - - public function serialize(mixed $data, string $format, array $context = []): string - { - $context[self::DEBUG_TRACE_ID] = $traceId = bin2hex(random_bytes(4)); - - $startTime = microtime(true); - $result = $this->serializer->serialize($data, $format, $context); - $time = microtime(true) - $startTime; - - $caller = $this->getCaller(__FUNCTION__, SerializerInterface::class); - - $this->dataCollector->collectSerialize($traceId, $data, $format, $context, $time, $caller, $this->serializerName); - - return $result; - } - - public function deserialize(mixed $data, string $type, string $format, array $context = []): mixed - { - $context[self::DEBUG_TRACE_ID] = $traceId = bin2hex(random_bytes(4)); - - $startTime = microtime(true); - $result = $this->serializer->deserialize($data, $type, $format, $context); - $time = microtime(true) - $startTime; - - $caller = $this->getCaller(__FUNCTION__, SerializerInterface::class); - - $this->dataCollector->collectDeserialize($traceId, $data, $type, $format, $context, $time, $caller, $this->serializerName); - - return $result; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $context[self::DEBUG_TRACE_ID] = $traceId = bin2hex(random_bytes(4)); - - $startTime = microtime(true); - $result = $this->serializer->normalize($data, $format, $context); - $time = microtime(true) - $startTime; - - $caller = $this->getCaller(__FUNCTION__, NormalizerInterface::class); - - $this->dataCollector->collectNormalize($traceId, $data, $format, $context, $time, $caller, $this->serializerName); - - return $result; - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - $context[self::DEBUG_TRACE_ID] = $traceId = bin2hex(random_bytes(4)); - - $startTime = microtime(true); - $result = $this->serializer->denormalize($data, $type, $format, $context); - $time = microtime(true) - $startTime; - - $caller = $this->getCaller(__FUNCTION__, DenormalizerInterface::class); - - $this->dataCollector->collectDenormalize($traceId, $data, $type, $format, $context, $time, $caller, $this->serializerName); - - return $result; - } - - public function encode(mixed $data, string $format, array $context = []): string - { - $context[self::DEBUG_TRACE_ID] = $traceId = bin2hex(random_bytes(4)); - - $startTime = microtime(true); - $result = $this->serializer->encode($data, $format, $context); - $time = microtime(true) - $startTime; - - $caller = $this->getCaller(__FUNCTION__, EncoderInterface::class); - - $this->dataCollector->collectEncode($traceId, $data, $format, $context, $time, $caller, $this->serializerName); - - return $result; - } - - public function decode(string $data, string $format, array $context = []): mixed - { - $context[self::DEBUG_TRACE_ID] = $traceId = bin2hex(random_bytes(4)); - - $startTime = microtime(true); - $result = $this->serializer->decode($data, $format, $context); - $time = microtime(true) - $startTime; - - $caller = $this->getCaller(__FUNCTION__, DecoderInterface::class); - - $this->dataCollector->collectDecode($traceId, $data, $format, $context, $time, $caller, $this->serializerName); - - return $result; - } - - public function getSupportedTypes(?string $format): array - { - return $this->serializer->getSupportedTypes($format); - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $this->serializer->supportsNormalization($data, $format, $context); - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return $this->serializer->supportsDenormalization($data, $type, $format, $context); - } - - public function supportsEncoding(string $format, array $context = []): bool - { - return $this->serializer->supportsEncoding($format, $context); - } - - public function supportsDecoding(string $format, array $context = []): bool - { - return $this->serializer->supportsDecoding($format, $context); - } - - /** - * Proxies all method calls to the original serializer. - */ - public function __call(string $method, array $arguments): mixed - { - return $this->serializer->{$method}(...$arguments); - } - - private function getCaller(string $method, string $interface): array - { - $trace = debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS, 8); - - $file = $trace[0]['file']; - $line = $trace[0]['line']; - - for ($i = 1; $i < 8; ++$i) { - if (isset($trace[$i]['class'], $trace[$i]['function']) - && $method === $trace[$i]['function'] - && is_a($trace[$i]['class'], $interface, true) - ) { - $file = $trace[$i]['file'] ?? $trace[$i + 1]['file']; - $line = $trace[$i]['line'] ?? $trace[$i + 1]['line']; - - break; - } - } - - $name = str_replace('\\', '/', $file); - $name = substr($name, strrpos($name, '/') + 1); - - return compact('name', 'file', 'line'); - } -} diff --git a/app/vendor/symfony/serializer/DependencyInjection/AttributeMetadataPass.php b/app/vendor/symfony/serializer/DependencyInjection/AttributeMetadataPass.php deleted file mode 100644 index 545ce8cff..000000000 --- a/app/vendor/symfony/serializer/DependencyInjection/AttributeMetadataPass.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\Serializer\Exception\MappingException; - -/** - * @author Nicolas Grekas - */ -final class AttributeMetadataPass implements CompilerPassInterface -{ - public function process(ContainerBuilder $container): void - { - if (!$container->hasDefinition('serializer.mapping.attribute_loader')) { - return; - } - - $resolve = $container->getParameterBag()->resolveValue(...); - $taggedClasses = []; - foreach ($container->getDefinitions() as $id => $definition) { - if (!$definition->hasTag('serializer.attribute_metadata')) { - continue; - } - $class = $resolve($definition->getClass()); - foreach ($definition->getTag('serializer.attribute_metadata') as $attributes) { - if ($class !== $for = $attributes['for'] ?? $class) { - $this->checkSourceMapsToTarget($container, $class, $for); - } - - $taggedClasses[$for][$class] = true; - } - } - - if (!$taggedClasses) { - return; - } - - ksort($taggedClasses); - - $container->getDefinition('serializer.mapping.attribute_loader') - ->replaceArgument(1, array_map('array_keys', $taggedClasses)); - } - - private function checkSourceMapsToTarget(ContainerBuilder $container, string $source, string $target): void - { - $source = $container->getReflectionClass($source); - $target = $container->getReflectionClass($target); - - foreach ($source->getProperties() as $p) { - if ($p->class === $source->name && !($target->hasProperty($p->name) && $target->getProperty($p->name)->class === $target->name)) { - throw new MappingException(\sprintf('The property "%s" on "%s" is not present on "%s".', $p->name, $source->name, $target->name)); - } - } - - foreach ($source->getMethods() as $m) { - if ($m->class === $source->name && !($target->hasMethod($m->name) && $target->getMethod($m->name)->class === $target->name)) { - throw new MappingException(\sprintf('The method "%s" on "%s" is not present on "%s".', $m->name, $source->name, $target->name)); - } - } - } -} diff --git a/app/vendor/symfony/serializer/DependencyInjection/SerializerPass.php b/app/vendor/symfony/serializer/DependencyInjection/SerializerPass.php deleted file mode 100644 index 3f2a4ec72..000000000 --- a/app/vendor/symfony/serializer/DependencyInjection/SerializerPass.php +++ /dev/null @@ -1,244 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\DependencyInjection; - -use Symfony\Component\DependencyInjection\Argument\BoundArgument; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Exception\RuntimeException; -use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\Serializer\Debug\TraceableEncoder; -use Symfony\Component\Serializer\Debug\TraceableNormalizer; -use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; -use Symfony\Component\Serializer\Normalizer\NormalizerInterface; -use Symfony\Component\Serializer\Normalizer\ObjectNormalizer; -use Symfony\Component\Serializer\SerializerInterface; - -/** - * Adds all services with the tags "serializer.encoder" and "serializer.normalizer" as - * encoders and normalizers to the "serializer" service. - * - * @author Javier Lopez - * @author Robin Chalas - */ -class SerializerPass implements CompilerPassInterface -{ - use PriorityTaggedServiceTrait; - - private const NAME_CONVERTER_METADATA_AWARE_ID = 'serializer.name_converter.metadata_aware'; - - public function process(ContainerBuilder $container): void - { - if (!$container->hasDefinition('serializer')) { - return; - } - - $namedSerializers = $container->hasParameter('.serializer.named_serializers') - ? $container->getParameter('.serializer.named_serializers') : []; - - $this->createNamedSerializerTags($container, 'serializer.normalizer', 'include_built_in_normalizers', $namedSerializers); - $this->createNamedSerializerTags($container, 'serializer.encoder', 'include_built_in_encoders', $namedSerializers); - - if (!$normalizers = $this->findAndSortTaggedServices('serializer.normalizer.default', $container)) { - throw new RuntimeException('You must tag at least one service as "serializer.normalizer" to use the "serializer" service.'); - } - - if (!$encoders = $this->findAndSortTaggedServices('serializer.encoder.default', $container)) { - throw new RuntimeException('You must tag at least one service as "serializer.encoder" to use the "serializer" service.'); - } - - $defaultContext = []; - if ($container->hasParameter('serializer.default_context')) { - $defaultContext = $container->getParameter('serializer.default_context'); - $container->getParameterBag()->remove('serializer.default_context'); - $container->getDefinition('serializer')->setArgument('$defaultContext', $defaultContext); - } - - /** @var ?string $circularReferenceHandler */ - $circularReferenceHandler = $container->hasParameter('.serializer.circular_reference_handler') - ? $container->getParameter('.serializer.circular_reference_handler') : null; - - /** @var ?string $maxDepthHandler */ - $maxDepthHandler = $container->hasParameter('.serializer.max_depth_handler') - ? $container->getParameter('.serializer.max_depth_handler') : null; - - $this->bindDefaultContext($container, array_merge($normalizers, $encoders), $defaultContext, $circularReferenceHandler, $maxDepthHandler); - - $this->configureSerializer($container, 'serializer', $normalizers, $encoders, 'default'); - - if ($namedSerializers) { - $this->configureNamedSerializers($container, $circularReferenceHandler, $maxDepthHandler); - } - } - - private function createNamedSerializerTags(ContainerBuilder $container, string $tagName, string $configName, array $namedSerializers): void - { - $serializerNames = array_keys($namedSerializers); - $withBuiltIn = array_filter($serializerNames, fn (string $name) => $namedSerializers[$name][$configName] ?? false); - - foreach ($container->findTaggedServiceIds($tagName) as $serviceId => $tags) { - $definition = $container->getDefinition($serviceId); - - if (array_any($tags, $closure = fn (array $tag) => (bool) $tag)) { - $tags = array_filter($tags, $closure); - } - - foreach ($tags as $tag) { - $names = (array) ($tag['serializer'] ?? []); - - if (!$names) { - $names = ['default']; - } elseif (\in_array('*', $names, true)) { - $names = array_unique(['default', ...$serializerNames]); - } - - if ($tag['built_in'] ?? false) { - $names = array_unique(['default', ...$names, ...$withBuiltIn]); - } - - unset($tag['serializer'], $tag['built_in']); - - foreach ($names as $name) { - $definition->addTag($tagName.'.'.$name, $tag); - } - } - } - } - - private function bindDefaultContext(ContainerBuilder $container, array $services, array $defaultContext, ?string $circularReferenceHandler, ?string $maxDepthHandler): void - { - foreach ($services as $id) { - $definition = $container->getDefinition((string) $id); - - $context = $defaultContext; - if (is_a($definition->getClass(), ObjectNormalizer::class, true)) { - if (null !== $circularReferenceHandler) { - $context += ['circular_reference_handler' => new Reference($circularReferenceHandler)]; - } - if (null !== $maxDepthHandler) { - $context += ['max_depth_handler' => new Reference($maxDepthHandler)]; - } - } - - $definition->setBindings(['array $defaultContext' => new BoundArgument($context, false)] + $definition->getBindings()); - } - } - - private function configureSerializer(ContainerBuilder $container, string $id, array $normalizers, array $encoders, string $serializerName): void - { - if ($container->getParameter('kernel.debug') && $container->hasDefinition('serializer.data_collector')) { - foreach ($normalizers as $i => $normalizer) { - $normalizers[$i] = $container->register('.debug.serializer.normalizer.'.$normalizer, TraceableNormalizer::class) - ->setArguments([$normalizer, new Reference('serializer.data_collector'), $serializerName]); - } - - foreach ($encoders as $i => $encoder) { - $encoders[$i] = $container->register('.debug.serializer.encoder.'.$encoder, TraceableEncoder::class) - ->setArguments([$encoder, new Reference('serializer.data_collector'), $serializerName]); - } - } - - $serializerDefinition = $container->getDefinition($id); - $serializerDefinition->replaceArgument(0, $normalizers); - $serializerDefinition->replaceArgument(1, $encoders); - } - - private function configureNamedSerializers(ContainerBuilder $container, ?string $circularReferenceHandler, ?string $maxDepthHandler): void - { - $defaultSerializerNameConverter = $container->hasParameter('.serializer.name_converter') - ? $container->getParameter('.serializer.name_converter') : null; - - foreach ($container->getParameter('.serializer.named_serializers') as $serializerName => $config) { - $config += ['default_context' => [], 'name_converter' => null]; - $serializerId = 'serializer.'.$serializerName; - - if (!$normalizers = $this->findAndSortTaggedServices('serializer.normalizer.'.$serializerName, $container)) { - throw new RuntimeException(\sprintf('The named serializer "%1$s" requires at least one registered normalizer. Tag the normalizers as "serializer.normalizer" with the "serializer" attribute set to "%1$s".', $serializerName)); - } - - if (!$encoders = $this->findAndSortTaggedServices('serializer.encoder.'.$serializerName, $container)) { - throw new RuntimeException(\sprintf('The named serializer "%1$s" requires at least one registered encoder. Tag the encoders as "serializer.encoder" with the "serializer" attribute set to "%1$s".', $serializerName)); - } - - $config['name_converter'] = $defaultSerializerNameConverter !== $config['name_converter'] - ? $this->buildChildNameConverterDefinition($container, $config['name_converter']) - : self::NAME_CONVERTER_METADATA_AWARE_ID; - - $normalizers = $this->buildChildDefinitions($container, $serializerName, $normalizers, $config); - $encoders = $this->buildChildDefinitions($container, $serializerName, $encoders, $config); - - $this->bindDefaultContext($container, array_merge($normalizers, $encoders), $config['default_context'], $circularReferenceHandler, $maxDepthHandler); - - $container->registerChild($serializerId, 'serializer')->setArgument('$defaultContext', $config['default_context']); - $container->registerAliasForArgument($serializerId, SerializerInterface::class, $serializerName.'.serializer'); - $container->registerAliasForArgument($serializerId, SerializerInterface::class, $serializerName); - $container->registerAliasForArgument($serializerId, NormalizerInterface::class, $serializerName.'.normalizer'); - $container->registerAliasForArgument($serializerId, NormalizerInterface::class, $serializerName); - $container->registerAliasForArgument($serializerId, DenormalizerInterface::class, $serializerName.'.denormalizer'); - $container->registerAliasForArgument($serializerId, DenormalizerInterface::class, $serializerName); - - $this->configureSerializer($container, $serializerId, $normalizers, $encoders, $serializerName); - - if ($container->getParameter('kernel.debug') && $container->hasDefinition('debug.serializer')) { - $container->registerChild($debugId = 'debug.'.$serializerId, 'debug.serializer') - ->setDecoratedService($serializerId) - ->replaceArgument(0, new Reference($debugId.'.inner')) - ->replaceArgument(2, $serializerName); - } - } - } - - private function buildChildNameConverterDefinition(ContainerBuilder $container, ?string $nameConverter): ?string - { - $childId = self::NAME_CONVERTER_METADATA_AWARE_ID.'.'.ContainerBuilder::hash($nameConverter); - - if (!$container->hasDefinition($childId)) { - $childDefinition = $container->registerChild($childId, self::NAME_CONVERTER_METADATA_AWARE_ID.'.abstract'); - if (null !== $nameConverter) { - $childDefinition->addArgument(new Reference($nameConverter)); - } - } - - return $childId; - } - - private function buildChildDefinitions(ContainerBuilder $container, string $serializerName, array $services, array $config): array - { - foreach ($services as &$id) { - $childId = $id.'.'.$serializerName; - - $definition = $container->registerChild($childId, (string) $id) - ->setClass($container->getDefinition((string) $id)->getClass()) - ; - - if (null !== $nameConverterIndex = $this->findNameConverterIndex($container, (string) $id)) { - $definition->replaceArgument($nameConverterIndex, new Reference($config['name_converter'])); - } - - $id = new Reference($childId); - } - - return $services; - } - - private function findNameConverterIndex(ContainerBuilder $container, string $id): int|string|null - { - foreach ($container->getDefinition($id)->getArguments() as $index => $argument) { - if ($argument instanceof Reference && self::NAME_CONVERTER_METADATA_AWARE_ID === (string) $argument) { - return $index; - } - } - - return null; - } -} diff --git a/app/vendor/symfony/serializer/Encoder/ChainDecoder.php b/app/vendor/symfony/serializer/Encoder/ChainDecoder.php deleted file mode 100644 index 8df5cd8b8..000000000 --- a/app/vendor/symfony/serializer/Encoder/ChainDecoder.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Symfony\Component\Serializer\Exception\RuntimeException; - -/** - * Decoder delegating the decoding to a chain of decoders. - * - * @author Jordi Boggiano - * @author Johannes M. Schmitt - * @author Lukas Kahwe Smith - * - * @final - */ -class ChainDecoder implements ContextAwareDecoderInterface -{ - /** - * @var array - */ - private array $decoderByFormat = []; - - /** - * @param array $decoders - */ - public function __construct( - private readonly array $decoders = [], - ) { - } - - final public function decode(string $data, string $format, array $context = []): mixed - { - return $this->getDecoder($format, $context)->decode($data, $format, $context); - } - - public function supportsDecoding(string $format, array $context = []): bool - { - try { - $this->getDecoder($format, $context); - } catch (RuntimeException) { - return false; - } - - return true; - } - - /** - * Gets the decoder supporting the format. - * - * @throws RuntimeException if no decoder is found - */ - private function getDecoder(string $format, array $context): DecoderInterface - { - if (isset($this->decoderByFormat[$format]) - && isset($this->decoders[$this->decoderByFormat[$format]]) - ) { - return $this->decoders[$this->decoderByFormat[$format]]; - } - - $cache = true; - foreach ($this->decoders as $i => $decoder) { - $cache = $cache && !$decoder instanceof ContextAwareDecoderInterface; - if ($decoder->supportsDecoding($format, $context)) { - if ($cache) { - $this->decoderByFormat[$format] = $i; - } - - return $decoder; - } - } - - throw new RuntimeException(\sprintf('No decoder found for format "%s".', $format)); - } -} diff --git a/app/vendor/symfony/serializer/Encoder/ChainEncoder.php b/app/vendor/symfony/serializer/Encoder/ChainEncoder.php deleted file mode 100644 index 3621471b4..000000000 --- a/app/vendor/symfony/serializer/Encoder/ChainEncoder.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Symfony\Component\Serializer\Debug\TraceableEncoder; -use Symfony\Component\Serializer\Exception\RuntimeException; - -/** - * Encoder delegating the decoding to a chain of encoders. - * - * @author Jordi Boggiano - * @author Johannes M. Schmitt - * @author Lukas Kahwe Smith - * - * @final - */ -class ChainEncoder implements ContextAwareEncoderInterface -{ - /** - * @var array - */ - private array $encoderByFormat = []; - - /** - * @param array $encoders - */ - public function __construct( - private readonly array $encoders = [], - ) { - } - - final public function encode(mixed $data, string $format, array $context = []): string - { - return $this->getEncoder($format, $context)->encode($data, $format, $context); - } - - public function supportsEncoding(string $format, array $context = []): bool - { - try { - $this->getEncoder($format, $context); - } catch (RuntimeException) { - return false; - } - - return true; - } - - /** - * Checks whether the normalization is needed for the given format. - */ - public function needsNormalization(string $format, array $context = []): bool - { - $encoder = $this->getEncoder($format, $context); - - if ($encoder instanceof TraceableEncoder) { - return $encoder->needsNormalization(); - } - - if (!$encoder instanceof NormalizationAwareInterface) { - return true; - } - - if ($encoder instanceof self) { - return $encoder->needsNormalization($format, $context); - } - - return false; - } - - /** - * Gets the encoder supporting the format. - * - * @throws RuntimeException if no encoder is found - */ - private function getEncoder(string $format, array $context): EncoderInterface - { - if (isset($this->encoderByFormat[$format]) - && isset($this->encoders[$this->encoderByFormat[$format]]) - ) { - return $this->encoders[$this->encoderByFormat[$format]]; - } - - $cache = true; - foreach ($this->encoders as $i => $encoder) { - $cache = $cache && !$encoder instanceof ContextAwareEncoderInterface; - if ($encoder->supportsEncoding($format, $context)) { - if ($cache) { - $this->encoderByFormat[$format] = $i; - } - - return $encoder; - } - } - - throw new RuntimeException(\sprintf('No encoder found for format "%s".', $format)); - } -} diff --git a/app/vendor/symfony/serializer/Encoder/ContextAwareDecoderInterface.php b/app/vendor/symfony/serializer/Encoder/ContextAwareDecoderInterface.php deleted file mode 100644 index 4b63dbc03..000000000 --- a/app/vendor/symfony/serializer/Encoder/ContextAwareDecoderInterface.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -/** - * Adds the support of an extra $context parameter for the supportsDecoding method. - * - * @author Kévin Dunglas - */ -interface ContextAwareDecoderInterface extends DecoderInterface -{ - /** - * @param array $context options that decoders have access to - */ - public function supportsDecoding(string $format, array $context = []): bool; -} diff --git a/app/vendor/symfony/serializer/Encoder/ContextAwareEncoderInterface.php b/app/vendor/symfony/serializer/Encoder/ContextAwareEncoderInterface.php deleted file mode 100644 index 027cf8393..000000000 --- a/app/vendor/symfony/serializer/Encoder/ContextAwareEncoderInterface.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -/** - * Adds the support of an extra $context parameter for the supportsEncoding method. - * - * @author Kévin Dunglas - */ -interface ContextAwareEncoderInterface extends EncoderInterface -{ - /** - * @param array $context options that encoders have access to - */ - public function supportsEncoding(string $format, array $context = []): bool; -} diff --git a/app/vendor/symfony/serializer/Encoder/CsvEncoder.php b/app/vendor/symfony/serializer/Encoder/CsvEncoder.php deleted file mode 100644 index 188e699a3..000000000 --- a/app/vendor/symfony/serializer/Encoder/CsvEncoder.php +++ /dev/null @@ -1,296 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; - -/** - * Encodes CSV data. - * - * @author Kévin Dunglas - * @author Oliver Hoff - */ -class CsvEncoder implements EncoderInterface, DecoderInterface -{ - public const FORMAT = 'csv'; - public const DELIMITER_KEY = 'csv_delimiter'; - public const ENCLOSURE_KEY = 'csv_enclosure'; - /** - * @deprecated since Symfony 7.2, to be removed in 8.0 - */ - public const ESCAPE_CHAR_KEY = 'csv_escape_char'; - public const KEY_SEPARATOR_KEY = 'csv_key_separator'; - public const HEADERS_KEY = 'csv_headers'; - public const ESCAPE_FORMULAS_KEY = 'csv_escape_formulas'; - public const AS_COLLECTION_KEY = 'as_collection'; - public const NO_HEADERS_KEY = 'no_headers'; - public const END_OF_LINE = 'csv_end_of_line'; - public const OUTPUT_UTF8_BOM_KEY = 'output_utf8_bom'; - - private const UTF8_BOM = "\xEF\xBB\xBF"; - - private const FORMULAS_START_CHARACTERS = ['=', '-', '+', '@', "\t", "\r", "\n"]; - - private array $defaultContext = [ - self::DELIMITER_KEY => ',', - self::ENCLOSURE_KEY => '"', - self::ESCAPE_CHAR_KEY => '', - self::END_OF_LINE => "\n", - self::ESCAPE_FORMULAS_KEY => false, - self::HEADERS_KEY => [], - self::KEY_SEPARATOR_KEY => '.', - self::NO_HEADERS_KEY => false, - self::AS_COLLECTION_KEY => true, - self::OUTPUT_UTF8_BOM_KEY => false, - ]; - - public function __construct(array $defaultContext = []) - { - if (\array_key_exists(self::ESCAPE_CHAR_KEY, $defaultContext)) { - trigger_deprecation('symfony/serializer', '7.2', 'Setting the "csv_escape_char" option is deprecated. The option will be removed in 8.0.'); - } - - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - public function encode(mixed $data, string $format, array $context = []): string - { - $handle = fopen('php://temp,', 'w+'); - - if (!is_iterable($data)) { - $data = [[$data]]; - } elseif (!$data) { - $data = [[]]; - } else { - if ($data instanceof \Traversable) { - // Generators can only be iterated once — convert to array to allow multiple traversals - $data = iterator_to_array($data); - } - // Sequential arrays of arrays are considered as collections - $i = 0; - foreach ($data as $key => $value) { - if ($i !== $key || !\is_array($value)) { - $data = [$data]; - break; - } - - ++$i; - } - } - - [$delimiter, $enclosure, $escapeChar, $keySeparator, $headers, $escapeFormulas, $outputBom] = $this->getCsvOptions($context); - - foreach ($data as &$value) { - $flattened = []; - $this->flatten($value, $flattened, $keySeparator, '', $escapeFormulas); - $value = $flattened; - } - unset($value); - - $headers = array_merge(array_values($headers), array_diff($this->extractHeaders($data), $headers)); - $endOfLine = $context[self::END_OF_LINE] ?? $this->defaultContext[self::END_OF_LINE]; - - if (!($context[self::NO_HEADERS_KEY] ?? $this->defaultContext[self::NO_HEADERS_KEY])) { - fputcsv($handle, $headers, $delimiter, $enclosure, $escapeChar); - if ("\n" !== $endOfLine && 0 === fseek($handle, -1, \SEEK_CUR)) { - fwrite($handle, $endOfLine); - } - } - - $headers = array_fill_keys($headers, ''); - foreach ($data as $row) { - fputcsv($handle, array_replace($headers, $row), $delimiter, $enclosure, $escapeChar); - if ("\n" !== $endOfLine && 0 === fseek($handle, -1, \SEEK_CUR)) { - fwrite($handle, $endOfLine); - } - } - - rewind($handle); - $value = stream_get_contents($handle); - fclose($handle); - - if ($outputBom) { - if (!preg_match('//u', $value)) { - throw new UnexpectedValueException('You are trying to add a UTF-8 BOM to a non UTF-8 text.'); - } - - $value = self::UTF8_BOM.$value; - } - - return $value; - } - - public function supportsEncoding(string $format): bool - { - return self::FORMAT === $format; - } - - public function decode(string $data, string $format, array $context = []): mixed - { - $handle = fopen('php://temp', 'r+'); - fwrite($handle, $data); - rewind($handle); - - if (str_starts_with($data, self::UTF8_BOM)) { - fseek($handle, \strlen(self::UTF8_BOM)); - } - - $headers = null; - $nbHeaders = 0; - $headerCount = []; - $result = []; - - [$delimiter, $enclosure, $escapeChar, $keySeparator, , , , $asCollection] = $this->getCsvOptions($context); - - while (false !== ($cols = fgetcsv($handle, 0, $delimiter, $enclosure, $escapeChar))) { - $nbCols = \count($cols); - - if (null === $headers) { - $nbHeaders = $nbCols; - - if ($context[self::NO_HEADERS_KEY] ?? $this->defaultContext[self::NO_HEADERS_KEY]) { - for ($i = 0; $i < $nbCols; ++$i) { - $headers[] = [$i]; - } - $headerCount = array_fill(0, $nbCols, 1); - } else { - foreach ($cols as $col) { - $header = explode($keySeparator, $col ?? ''); - $headers[] = $header; - $headerCount[] = \count($header); - } - - continue; - } - } - - $item = []; - for ($i = 0; ($i < $nbCols) && ($i < $nbHeaders); ++$i) { - $depth = $headerCount[$i]; - $arr = &$item; - for ($j = 0; $j < $depth; ++$j) { - $headerName = $headers[$i][$j]; - - if ('' === $headerName) { - $headerName = $i; - } - - // Handle nested arrays - if ($j === ($depth - 1)) { - $arr[$headerName] = $cols[$i]; - - continue; - } - - if (!isset($arr[$headerName])) { - $arr[$headerName] = []; - } - - $arr = &$arr[$headerName]; - } - } - - $result[] = $item; - } - fclose($handle); - - if ($asCollection) { - return $result; - } - - if (!$result || isset($result[1])) { - return $result; - } - - // If there is only one data line in the document, return it (the line), the result is not considered as a collection - return $result[0]; - } - - public function supportsDecoding(string $format): bool - { - return self::FORMAT === $format; - } - - /** - * Flattens an array and generates keys including the path. - */ - private function flatten(iterable $array, array &$result, string $keySeparator, string $parentKey = '', bool $escapeFormulas = false): void - { - foreach ($array as $key => $value) { - if (is_iterable($value)) { - $this->flatten($value, $result, $keySeparator, $parentKey.$key.$keySeparator, $escapeFormulas); - } else { - if ($escapeFormulas && \in_array(substr((string) $value, 0, 1), self::FORMULAS_START_CHARACTERS, true)) { - $result[$parentKey.$key] = "'".$value; - } else { - // Ensures an actual value is used when dealing with true and false - $result[$parentKey.$key] = false === $value ? 0 : (true === $value ? 1 : $value); - } - } - } - } - - private function getCsvOptions(array $context): array - { - $delimiter = $context[self::DELIMITER_KEY] ?? $this->defaultContext[self::DELIMITER_KEY]; - $enclosure = $context[self::ENCLOSURE_KEY] ?? $this->defaultContext[self::ENCLOSURE_KEY]; - $escapeChar = $context[self::ESCAPE_CHAR_KEY] ?? $this->defaultContext[self::ESCAPE_CHAR_KEY]; - $keySeparator = $context[self::KEY_SEPARATOR_KEY] ?? $this->defaultContext[self::KEY_SEPARATOR_KEY]; - $headers = $context[self::HEADERS_KEY] ?? $this->defaultContext[self::HEADERS_KEY]; - $escapeFormulas = $context[self::ESCAPE_FORMULAS_KEY] ?? $this->defaultContext[self::ESCAPE_FORMULAS_KEY]; - $outputBom = $context[self::OUTPUT_UTF8_BOM_KEY] ?? $this->defaultContext[self::OUTPUT_UTF8_BOM_KEY]; - $asCollection = $context[self::AS_COLLECTION_KEY] ?? $this->defaultContext[self::AS_COLLECTION_KEY]; - - if (!\is_array($headers)) { - throw new InvalidArgumentException(\sprintf('The "%s" context variable must be an array or null, given "%s".', self::HEADERS_KEY, get_debug_type($headers))); - } - - return [$delimiter, $enclosure, $escapeChar, $keySeparator, $headers, $escapeFormulas, $outputBom, $asCollection]; - } - - /** - * @return string[] - */ - private function extractHeaders(iterable $data): array - { - $headers = []; - $flippedHeaders = []; - - foreach ($data as $row) { - $previousHeader = null; - - foreach ($row as $header => $_) { - if (isset($flippedHeaders[$header])) { - $previousHeader = $header; - continue; - } - - if (null === $previousHeader) { - $n = \count($headers); - } else { - $n = $flippedHeaders[$previousHeader] + 1; - - for ($j = \count($headers); $j > $n; --$j) { - ++$flippedHeaders[$headers[$j] = $headers[$j - 1]]; - } - } - - $headers[$n] = $header; - $flippedHeaders[$header] = $n; - $previousHeader = $header; - } - } - - return $headers; - } -} diff --git a/app/vendor/symfony/serializer/Encoder/DecoderInterface.php b/app/vendor/symfony/serializer/Encoder/DecoderInterface.php deleted file mode 100644 index 09ec9434d..000000000 --- a/app/vendor/symfony/serializer/Encoder/DecoderInterface.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Symfony\Component\Serializer\Exception\UnexpectedValueException; - -/** - * @author Jordi Boggiano - */ -interface DecoderInterface -{ - /** - * Decodes a string into PHP data. - * - * @param string $data Data to decode - * @param string $format Format name - * @param array $context Options that decoders have access to - * - * The format parameter specifies which format the data is in; valid values - * depend on the specific implementation. Authors implementing this interface - * are encouraged to document which formats they support in a non-inherited - * phpdoc comment. - * - * @throws UnexpectedValueException - */ - public function decode(string $data, string $format, array $context = []): mixed; - - /** - * Checks whether the deserializer can decode from given format. - * - * @param string $format Format name - */ - public function supportsDecoding(string $format): bool; -} diff --git a/app/vendor/symfony/serializer/Encoder/EncoderInterface.php b/app/vendor/symfony/serializer/Encoder/EncoderInterface.php deleted file mode 100644 index e0f303b1e..000000000 --- a/app/vendor/symfony/serializer/Encoder/EncoderInterface.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Symfony\Component\Serializer\Exception\UnexpectedValueException; - -/** - * @author Jordi Boggiano - */ -interface EncoderInterface -{ - /** - * Encodes data into the given format. - * - * @param mixed $data Data to encode - * @param string $format Format name - * @param array $context Options that normalizers/encoders have access to - * - * @throws UnexpectedValueException - */ - public function encode(mixed $data, string $format, array $context = []): string; - - /** - * Checks whether the serializer can encode to given format. - * - * @param string $format Format name - */ - public function supportsEncoding(string $format): bool; -} diff --git a/app/vendor/symfony/serializer/Encoder/JsonDecode.php b/app/vendor/symfony/serializer/Encoder/JsonDecode.php deleted file mode 100644 index b50538175..000000000 --- a/app/vendor/symfony/serializer/Encoder/JsonDecode.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Seld\JsonLint\JsonParser; -use Symfony\Component\Serializer\Exception\NotEncodableValueException; -use Symfony\Component\Serializer\Exception\UnsupportedException; - -/** - * Decodes JSON data. - * - * @author Sander Coolen - */ -class JsonDecode implements DecoderInterface -{ - /** - * True to return the result as an associative array, false for a nested stdClass hierarchy. - */ - public const ASSOCIATIVE = 'json_decode_associative'; - - /** - * True to enable seld/jsonlint as a source for more specific error messages when json_decode fails. - */ - public const DETAILED_ERROR_MESSAGES = 'json_decode_detailed_errors'; - - public const OPTIONS = 'json_decode_options'; - - /** - * Specifies the recursion depth. - */ - public const RECURSION_DEPTH = 'json_decode_recursion_depth'; - - private array $defaultContext = [ - self::ASSOCIATIVE => false, - self::DETAILED_ERROR_MESSAGES => false, - self::OPTIONS => 0, - self::RECURSION_DEPTH => 512, - ]; - - public function __construct(array $defaultContext = []) - { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - /** - * Decodes data. - * - * @param string $data The encoded JSON string to decode - * @param string $format Must be set to JsonEncoder::FORMAT - * @param array $context An optional set of options for the JSON decoder; see below - * - * The $context array is a simple key=>value array, with the following supported keys: - * - * json_decode_associative: boolean - * If true, returns the object as an associative array. - * If false, returns the object as nested stdClass - * If not specified, this method will use the default set in JsonDecode::__construct - * - * json_decode_recursion_depth: integer - * Specifies the maximum recursion depth - * If not specified, this method will use the default set in JsonDecode::__construct - * - * json_decode_options: integer - * Specifies additional options as per documentation for json_decode - * - * json_decode_detailed_errors: bool - * If true, enables seld/jsonlint as a source for more specific error messages when json_decode fails. - * If false or not specified, this method will use default error messages from PHP's json_decode - * - * @throws NotEncodableValueException - * - * @see https://php.net/json_decode - */ - public function decode(string $data, string $format, array $context = []): mixed - { - $associative = $context[self::ASSOCIATIVE] ?? $this->defaultContext[self::ASSOCIATIVE]; - $recursionDepth = $context[self::RECURSION_DEPTH] ?? $this->defaultContext[self::RECURSION_DEPTH]; - $options = $context[self::OPTIONS] ?? $this->defaultContext[self::OPTIONS]; - - try { - $decodedData = json_decode($data, $associative, $recursionDepth, $options); - } catch (\JsonException $e) { - throw new NotEncodableValueException($e->getMessage(), 0, $e); - } - - if (\JSON_THROW_ON_ERROR & $options) { - return $decodedData; - } - - if (\JSON_ERROR_NONE === json_last_error()) { - return $decodedData; - } - $errorMessage = json_last_error_msg(); - - if (!($context[self::DETAILED_ERROR_MESSAGES] ?? $this->defaultContext[self::DETAILED_ERROR_MESSAGES])) { - throw new NotEncodableValueException($errorMessage); - } - - if (!class_exists(JsonParser::class)) { - throw new UnsupportedException(\sprintf('Enabling "%s" serializer option requires seld/jsonlint. Try running "composer require seld/jsonlint".', self::DETAILED_ERROR_MESSAGES)); - } - - throw new NotEncodableValueException((new JsonParser())->lint($data)?->getMessage() ?: $errorMessage); - } - - public function supportsDecoding(string $format): bool - { - return JsonEncoder::FORMAT === $format; - } -} diff --git a/app/vendor/symfony/serializer/Encoder/JsonEncode.php b/app/vendor/symfony/serializer/Encoder/JsonEncode.php deleted file mode 100644 index 3e0ddced3..000000000 --- a/app/vendor/symfony/serializer/Encoder/JsonEncode.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Symfony\Component\Serializer\Exception\NotEncodableValueException; - -/** - * Encodes JSON data. - * - * @author Sander Coolen - */ -class JsonEncode implements EncoderInterface -{ - /** - * Configure the JSON flags bitmask. - */ - public const OPTIONS = 'json_encode_options'; - - private array $defaultContext = [ - self::OPTIONS => \JSON_PRESERVE_ZERO_FRACTION, - ]; - - public function __construct(array $defaultContext = []) - { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - public function encode(mixed $data, string $format, array $context = []): string - { - $options = $context[self::OPTIONS] ?? $this->defaultContext[self::OPTIONS]; - - try { - $encodedJson = json_encode($data, $options); - } catch (\JsonException $e) { - throw new NotEncodableValueException($e->getMessage(), 0, $e); - } - - if (\JSON_THROW_ON_ERROR & $options) { - return $encodedJson; - } - - if (\JSON_ERROR_NONE !== json_last_error() && (false === $encodedJson || !($options & \JSON_PARTIAL_OUTPUT_ON_ERROR))) { - throw new NotEncodableValueException(json_last_error_msg()); - } - - return $encodedJson; - } - - public function supportsEncoding(string $format): bool - { - return JsonEncoder::FORMAT === $format; - } -} diff --git a/app/vendor/symfony/serializer/Encoder/JsonEncoder.php b/app/vendor/symfony/serializer/Encoder/JsonEncoder.php deleted file mode 100644 index 5727e7be0..000000000 --- a/app/vendor/symfony/serializer/Encoder/JsonEncoder.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -/** - * Encodes JSON data. - * - * @author Jordi Boggiano - */ -class JsonEncoder implements EncoderInterface, DecoderInterface -{ - public const FORMAT = 'json'; - - protected JsonEncode $encodingImpl; - protected JsonDecode $decodingImpl; - - private array $defaultContext = [ - JsonDecode::ASSOCIATIVE => true, - ]; - - public function __construct(?JsonEncode $encodingImpl = null, ?JsonDecode $decodingImpl = null, array $defaultContext = []) - { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - $this->encodingImpl = $encodingImpl ?? new JsonEncode($this->defaultContext); - $this->decodingImpl = $decodingImpl ?? new JsonDecode($this->defaultContext); - } - - public function encode(mixed $data, string $format, array $context = []): string - { - $context = array_merge($this->defaultContext, $context); - - return $this->encodingImpl->encode($data, self::FORMAT, $context); - } - - public function decode(string $data, string $format, array $context = []): mixed - { - $context = array_merge($this->defaultContext, $context); - - return $this->decodingImpl->decode($data, self::FORMAT, $context); - } - - public function supportsEncoding(string $format): bool - { - return self::FORMAT === $format; - } - - public function supportsDecoding(string $format): bool - { - return self::FORMAT === $format; - } -} diff --git a/app/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php b/app/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php deleted file mode 100644 index c066bd7cd..000000000 --- a/app/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -/** - * Defines the interface of encoders that will normalize data themselves. - * - * Implementing this interface essentially just tells the Serializer that the - * data should not be pre-normalized before being passed to this Encoder. - * - * @author Jordi Boggiano - */ -interface NormalizationAwareInterface -{ -} diff --git a/app/vendor/symfony/serializer/Encoder/XmlEncoder.php b/app/vendor/symfony/serializer/Encoder/XmlEncoder.php deleted file mode 100644 index d9b7a5d15..000000000 --- a/app/vendor/symfony/serializer/Encoder/XmlEncoder.php +++ /dev/null @@ -1,540 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Symfony\Component\Serializer\Exception\BadMethodCallException; -use Symfony\Component\Serializer\Exception\NotEncodableValueException; -use Symfony\Component\Serializer\SerializerAwareInterface; -use Symfony\Component\Serializer\SerializerAwareTrait; - -/** - * @author Jordi Boggiano - * @author John Wards - * @author Fabian Vogler - * @author Kévin Dunglas - * @author Dany Maillard - */ -class XmlEncoder implements EncoderInterface, DecoderInterface, NormalizationAwareInterface, SerializerAwareInterface -{ - use SerializerAwareTrait; - - public const FORMAT = 'xml'; - - public const AS_COLLECTION = 'as_collection'; - - /** - * An array of ignored XML node types while decoding, each one of the DOM Predefined XML_* constants. - */ - public const DECODER_IGNORED_NODE_TYPES = 'decoder_ignored_node_types'; - - /** - * An array of ignored XML node types while encoding, each one of the DOM Predefined XML_* constants. - */ - public const ENCODER_IGNORED_NODE_TYPES = 'encoder_ignored_node_types'; - public const ENCODING = 'xml_encoding'; - public const FORMAT_OUTPUT = 'xml_format_output'; - - /** - * A bit field of LIBXML_* constants for loading XML documents. - */ - public const LOAD_OPTIONS = 'load_options'; - - /** - * A bit field of LIBXML_* constants for saving XML documents. - */ - public const SAVE_OPTIONS = 'save_options'; - - public const REMOVE_EMPTY_TAGS = 'remove_empty_tags'; - public const ROOT_NODE_NAME = 'xml_root_node_name'; - public const STANDALONE = 'xml_standalone'; - public const TYPE_CAST_ATTRIBUTES = 'xml_type_cast_attributes'; - public const VERSION = 'xml_version'; - public const CDATA_WRAPPING = 'cdata_wrapping'; - public const CDATA_WRAPPING_NAME_PATTERN = 'cdata_wrapping_name_pattern'; - public const CDATA_WRAPPING_PATTERN = 'cdata_wrapping_pattern'; - public const IGNORE_EMPTY_ATTRIBUTES = 'ignore_empty_attributes'; - public const PRESERVE_NUMERIC_KEYS = 'preserve_numeric_keys'; - - private array $defaultContext = [ - self::AS_COLLECTION => false, - self::DECODER_IGNORED_NODE_TYPES => [\XML_PI_NODE, \XML_COMMENT_NODE], - self::ENCODER_IGNORED_NODE_TYPES => [], - self::LOAD_OPTIONS => \LIBXML_NONET | \LIBXML_NOBLANKS, - self::SAVE_OPTIONS => 0, - self::REMOVE_EMPTY_TAGS => false, - self::ROOT_NODE_NAME => 'response', - self::TYPE_CAST_ATTRIBUTES => true, - self::CDATA_WRAPPING => true, - self::CDATA_WRAPPING_NAME_PATTERN => false, - self::CDATA_WRAPPING_PATTERN => '/[<>&]/', - self::IGNORE_EMPTY_ATTRIBUTES => false, - self::PRESERVE_NUMERIC_KEYS => false, - ]; - - public function __construct(array $defaultContext = []) - { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - public function encode(mixed $data, string $format, array $context = []): string - { - $encoderIgnoredNodeTypes = $context[self::ENCODER_IGNORED_NODE_TYPES] ?? $this->defaultContext[self::ENCODER_IGNORED_NODE_TYPES]; - $ignorePiNode = \in_array(\XML_PI_NODE, $encoderIgnoredNodeTypes, true); - if ($data instanceof \DOMDocument) { - return $this->saveXml($data, $ignorePiNode ? $data->documentElement : null); - } - - $xmlRootNodeName = $context[self::ROOT_NODE_NAME] ?? $this->defaultContext[self::ROOT_NODE_NAME]; - - $dom = $this->createDomDocument($context); - - if (null !== $data && !\is_scalar($data)) { - $root = $dom->createElement($xmlRootNodeName); - $dom->appendChild($root); - $this->buildXml($root, $data, $format, $context, $xmlRootNodeName); - } else { - $this->appendNode($dom, $data, $format, $context, $xmlRootNodeName); - } - - return $this->saveXml($dom, $ignorePiNode ? $dom->documentElement : null, $context[self::SAVE_OPTIONS] ?? $this->defaultContext[self::SAVE_OPTIONS]); - } - - public function decode(string $data, string $format, array $context = []): mixed - { - if ('' === trim($data)) { - throw new NotEncodableValueException('Invalid XML data, it cannot be empty.'); - } - - $internalErrors = libxml_use_internal_errors(true); - libxml_clear_errors(); - - $dom = new \DOMDocument(); - $dom->loadXML($data, $context[self::LOAD_OPTIONS] ?? $this->defaultContext[self::LOAD_OPTIONS]); - - libxml_use_internal_errors($internalErrors); - - if ($error = libxml_get_last_error()) { - libxml_clear_errors(); - - throw new NotEncodableValueException($error->message); - } - - $rootNode = null; - $decoderIgnoredNodeTypes = $context[self::DECODER_IGNORED_NODE_TYPES] ?? $this->defaultContext[self::DECODER_IGNORED_NODE_TYPES]; - foreach ($dom->childNodes as $child) { - if (\in_array($child->nodeType, $decoderIgnoredNodeTypes, true)) { - continue; - } - if (\XML_DOCUMENT_TYPE_NODE === $child->nodeType) { - throw new NotEncodableValueException('Document types are not allowed.'); - } - if (!$rootNode) { - $rootNode = $child; - } - } - - // todo: throw an exception if the root node name is not correctly configured (bc) - - if ($rootNode->hasChildNodes()) { - $data = $this->parseXml($rootNode, $context); - if (\is_array($data)) { - $data = $this->addXmlNamespaces($data, $rootNode, $dom); - } - - return $data; - } - - if (!$rootNode->hasAttributes()) { - return $rootNode->nodeValue; - } - - $data = array_merge($this->parseXmlAttributes($rootNode, $context), ['#' => $rootNode->nodeValue]); - - return $this->addXmlNamespaces($data, $rootNode, $dom); - } - - public function supportsEncoding(string $format): bool - { - return self::FORMAT === $format; - } - - public function supportsDecoding(string $format): bool - { - return self::FORMAT === $format; - } - - final protected function appendXMLString(\DOMNode $node, string $val): bool - { - if ('' !== $val) { - $frag = $node->ownerDocument->createDocumentFragment(); - $frag->appendXML($val); - $node->appendChild($frag); - - return true; - } - - return false; - } - - final protected function appendText(\DOMNode $node, string $val): bool - { - $nodeText = $node->ownerDocument->createTextNode($val); - $node->appendChild($nodeText); - - return true; - } - - final protected function appendCData(\DOMNode $node, string $val): bool - { - $nodeText = $node->ownerDocument->createCDATASection($val); - $node->appendChild($nodeText); - - return true; - } - - final protected function appendDocumentFragment(\DOMNode $node, \DOMDocumentFragment $fragment): bool - { - $node->appendChild($fragment); - - return true; - } - - final protected function appendComment(\DOMNode $node, string $data): bool - { - $node->appendChild($node->ownerDocument->createComment($data)); - - return true; - } - - /** - * Checks the name is a valid xml element name. - */ - final protected function isElementNameValid(string $name): bool - { - return $name - && !str_contains($name, ' ') - && preg_match('#^[\pL_][\pL0-9._:-]*$#ui', $name); - } - - /** - * Parse the input DOMNode into an array or a string. - */ - private function parseXml(\DOMNode $node, array $context = []): array|string - { - $data = $this->parseXmlAttributes($node, $context); - - $value = $this->parseXmlValue($node, $context); - - if (!\count($data)) { - return $value; - } - - if (!\is_array($value)) { - $data['#'] = $value; - - return $data; - } - - if (1 === \count($value) && key($value)) { - $data[key($value)] = current($value); - - return $data; - } - - foreach ($value as $key => $val) { - $data[$key] = $val; - } - - return $data; - } - - /** - * Parse the input DOMNode attributes into an array. - */ - private function parseXmlAttributes(\DOMNode $node, array $context = []): array - { - if (!$node->hasAttributes()) { - return []; - } - - $data = []; - $typeCastAttributes = (bool) ($context[self::TYPE_CAST_ATTRIBUTES] ?? $this->defaultContext[self::TYPE_CAST_ATTRIBUTES]); - - foreach ($node->attributes as $attr) { - if (!is_numeric($attr->nodeValue) || !$typeCastAttributes || (isset($attr->nodeValue[1]) && '0' === $attr->nodeValue[0] && '.' !== $attr->nodeValue[1])) { - $data['@'.$attr->nodeName] = $attr->nodeValue; - - continue; - } - - if (false !== $val = filter_var($attr->nodeValue, \FILTER_VALIDATE_INT)) { - $data['@'.$attr->nodeName] = $val; - - continue; - } - - $data['@'.$attr->nodeName] = (float) $attr->nodeValue; - } - - return $data; - } - - /** - * Parse the input DOMNode value (content and children) into an array or a string. - */ - private function parseXmlValue(\DOMNode $node, array $context = []): array|string - { - if (!$node->hasChildNodes()) { - return $node->nodeValue; - } - - if (1 === $node->childNodes->length && \in_array($node->firstChild->nodeType, [\XML_TEXT_NODE, \XML_CDATA_SECTION_NODE], true)) { - return $node->firstChild->nodeValue; - } - - $value = []; - $decoderIgnoredNodeTypes = $context[self::DECODER_IGNORED_NODE_TYPES] ?? $this->defaultContext[self::DECODER_IGNORED_NODE_TYPES]; - foreach ($node->childNodes as $subnode) { - if (\in_array($subnode->nodeType, $decoderIgnoredNodeTypes, true)) { - continue; - } - - $val = $this->parseXml($subnode, $context); - - if ('item' === $subnode->nodeName && isset($val['@key'])) { - $value[$val['@key']] = $val['#'] ?? $val; - } else { - $value[$subnode->nodeName][] = $val; - } - } - - $asCollection = $context[self::AS_COLLECTION] ?? $this->defaultContext[self::AS_COLLECTION]; - foreach ($value as $key => $val) { - if (!$asCollection && \is_array($val) && 1 === \count($val)) { - $value[$key] = current($val); - } - } - - return $value; - } - - private function addXmlNamespaces(array $data, \DOMNode $node, \DOMDocument $document): array - { - $xpath = new \DOMXPath($document); - - foreach ($xpath->query('namespace::*', $node) as $nsNode) { - $data['@'.$nsNode->nodeName] = $nsNode->nodeValue; - } - - unset($data['@xmlns:xml']); - - return $data; - } - - /** - * Parse the data and convert it to DOMElements. - * - * @throws NotEncodableValueException - */ - private function buildXml(\DOMNode $parentNode, mixed $data, string $format, array $context, ?string $xmlRootNodeName = null): bool - { - $append = true; - $removeEmptyTags = $context[self::REMOVE_EMPTY_TAGS] ?? $this->defaultContext[self::REMOVE_EMPTY_TAGS] ?? false; - $preserveNumericKeys = $context[self::PRESERVE_NUMERIC_KEYS] ?? $this->defaultContext[self::PRESERVE_NUMERIC_KEYS] ?? false; - $encoderIgnoredNodeTypes = $context[self::ENCODER_IGNORED_NODE_TYPES] ?? $this->defaultContext[self::ENCODER_IGNORED_NODE_TYPES]; - - if (\is_array($data) || ($data instanceof \Traversable && (null === $this->serializer || !$this->serializer->supportsNormalization($data, $format)))) { - foreach ($data as $key => $data) { - // Ah this is the magic @ attribute types. - if (str_starts_with($key, '@') && $this->isElementNameValid($attributeName = substr($key, 1))) { - if (!\is_scalar($data)) { - $data = $this->serializer->normalize($data, $format, $context); - } - if (\is_bool($data)) { - $data = (int) $data; - } - - if ($context[self::IGNORE_EMPTY_ATTRIBUTES] ?? $this->defaultContext[self::IGNORE_EMPTY_ATTRIBUTES]) { - if (null === $data || '' === $data) { - continue; - } - } - - $parentNode->setAttribute($attributeName, $data); - } elseif ('#' === $key) { - $append = $this->selectNodeType($parentNode, $data, $format, $context); - } elseif ('#comment' === $key) { - if (!\in_array(\XML_COMMENT_NODE, $encoderIgnoredNodeTypes, true)) { - $append = $this->appendComment($parentNode, $data); - } - } elseif (\is_array($data) && !is_numeric($key)) { - // Is this array fully numeric keys? - if (!$preserveNumericKeys && $data && null === array_find_key($data, static fn ($v, $k) => \is_string($k))) { - /* - * Create nodes to append to $parentNode based on the $key of this array - * Produces 01 - * From ["item" => [0,1]];. - */ - foreach ($data as $subData) { - $append = $this->appendNode($parentNode, $subData, $format, $context, $key); - } - } else { - $append = $this->appendNode($parentNode, $data, $format, $context, $key); - } - } elseif (is_numeric($key) || !$this->isElementNameValid($key)) { - $append = $this->appendNode($parentNode, $data, $format, $context, 'item', $key); - } elseif (null !== $data || !$removeEmptyTags) { - $append = $this->appendNode($parentNode, $data, $format, $context, $key); - } - } - - return $append; - } - - if (\is_object($data)) { - if (null === $this->serializer) { - throw new BadMethodCallException(\sprintf('The serializer needs to be set to allow "%s()" to be used with object data.', __METHOD__)); - } - - $data = $this->serializer->normalize($data, $format, $context); - if (null !== $data && !\is_scalar($data)) { - return $this->buildXml($parentNode, $data, $format, $context, $xmlRootNodeName); - } - - // top level data object was normalized into a scalar - if (!$parentNode->parentNode->parentNode) { - $root = $parentNode->parentNode; - $root->removeChild($parentNode); - - return $this->appendNode($root, $data, $format, $context, $xmlRootNodeName); - } - - return $this->appendNode($parentNode, $data, $format, $context, 'data'); - } - - throw new NotEncodableValueException('An unexpected value could not be serialized: '.(!\is_resource($data) ? var_export($data, true) : \sprintf('%s resource', get_resource_type($data)))); - } - - /** - * Selects the type of node to create and appends it to the parent. - */ - private function appendNode(\DOMNode $parentNode, mixed $data, string $format, array $context, string $nodeName, ?string $key = null): bool - { - $dom = $parentNode instanceof \DOMDocument ? $parentNode : $parentNode->ownerDocument; - $node = $dom->createElement($nodeName); - if (null !== $key) { - $node->setAttribute('key', $key); - } - $appendNode = $this->selectNodeType($node, $data, $format, $context); - // we may have decided not to append this node, either in error or if its $nodeName is not valid - if ($appendNode) { - $parentNode->appendChild($node); - } - - return $appendNode; - } - - /** - * Checks if a value contains any characters which would require CDATA wrapping. - * - * @param array $context - */ - private function needsCdataWrapping(string $name, string $val, array $context): bool - { - return ($context[self::CDATA_WRAPPING] ?? $this->defaultContext[self::CDATA_WRAPPING]) - && (preg_match($context[self::CDATA_WRAPPING_PATTERN] ?? $this->defaultContext[self::CDATA_WRAPPING_PATTERN], $val) - || (($context[self::CDATA_WRAPPING_NAME_PATTERN] ?? $this->defaultContext[self::CDATA_WRAPPING_NAME_PATTERN]) && preg_match($context[self::CDATA_WRAPPING_NAME_PATTERN] ?? $this->defaultContext[self::CDATA_WRAPPING_NAME_PATTERN], $name)) - ); - } - - /** - * Tests the value being passed and decide what sort of element to create. - * - * @throws NotEncodableValueException - */ - private function selectNodeType(\DOMNode $node, mixed $val, string $format, array $context): bool - { - if (\is_array($val)) { - return $this->buildXml($node, $val, $format, $context); - } elseif ($val instanceof \SimpleXMLElement) { - $child = $node->ownerDocument->importNode(dom_import_simplexml($val), true); - $node->appendChild($child); - } elseif ($val instanceof \Traversable) { - $this->buildXml($node, $val, $format, $context); - } elseif ($val instanceof \DOMNode) { - $child = $node->ownerDocument->importNode($val, true); - $node->appendChild($child); - } elseif (\is_object($val)) { - if (null === $this->serializer) { - throw new BadMethodCallException(\sprintf('The serializer needs to be set to allow "%s()" to be used with object data.', __METHOD__)); - } - - return $this->selectNodeType($node, $this->serializer->normalize($val, $format, $context), $format, $context); - } elseif (is_numeric($val)) { - return $this->appendText($node, is_nan($val) ? 'NAN' : (string) $val); - } elseif (\is_string($val) && $this->needsCdataWrapping($node->nodeName, $val, $context)) { - return $this->appendCData($node, $val); - } elseif (\is_string($val)) { - return $this->appendText($node, $val); - } elseif (\is_bool($val)) { - return $this->appendText($node, (int) $val); - } - - return true; - } - - /** - * Create a DOM document, taking serializer options into account. - */ - private function createDomDocument(array $context): \DOMDocument - { - $document = new \DOMDocument(); - - // Set an attribute on the DOM document specifying, as part of the XML declaration, - $xmlOptions = [ - // nicely formats output with indentation and extra space - self::FORMAT_OUTPUT => 'formatOutput', - // the version number of the document - self::VERSION => 'xmlVersion', - // the encoding of the document - self::ENCODING => 'encoding', - // whether the document is standalone - self::STANDALONE => 'xmlStandalone', - ]; - foreach ($xmlOptions as $xmlOption => $documentProperty) { - if ($contextOption = $context[$xmlOption] ?? $this->defaultContext[$xmlOption] ?? false) { - $document->$documentProperty = $contextOption; - } - } - - return $document; - } - - /** - * @throws NotEncodableValueException - */ - private function saveXml(\DOMDocument $document, ?\DOMNode $node = null, ?int $options = null): string - { - $prevErrorHandler = set_error_handler(static function ($type, $message, $file, $line, $context = []) use (&$prevErrorHandler) { - if (\E_ERROR === $type || \E_WARNING === $type) { - throw new NotEncodableValueException($message); - } - - return $prevErrorHandler ? $prevErrorHandler($type, $message, $file, $line, $context) : false; - }); - try { - return $document->saveXML($node, $options); - } finally { - restore_error_handler(); - } - } -} diff --git a/app/vendor/symfony/serializer/Encoder/YamlEncoder.php b/app/vendor/symfony/serializer/Encoder/YamlEncoder.php deleted file mode 100644 index 1013129db..000000000 --- a/app/vendor/symfony/serializer/Encoder/YamlEncoder.php +++ /dev/null @@ -1,101 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Encoder; - -use Symfony\Component\Serializer\Exception\NotEncodableValueException; -use Symfony\Component\Serializer\Exception\RuntimeException; -use Symfony\Component\Yaml\Dumper; -use Symfony\Component\Yaml\Exception\ParseException; -use Symfony\Component\Yaml\Parser; -use Symfony\Component\Yaml\Yaml; - -/** - * Encodes YAML data. - * - * @author Kévin Dunglas - */ -class YamlEncoder implements EncoderInterface, DecoderInterface -{ - public const FORMAT = 'yaml'; - private const ALTERNATIVE_FORMAT = 'yml'; - - public const PRESERVE_EMPTY_OBJECTS = 'preserve_empty_objects'; - - /** - * Override the amount of spaces to use for indentation of nested nodes. - * - * This option only works in the constructor, not in calls to `encode`. - */ - public const YAML_INDENTATION = 'yaml_indentation'; - - public const YAML_INLINE = 'yaml_inline'; - /** - * Initial indentation for root element. - */ - public const YAML_INDENT = 'yaml_indent'; - public const YAML_FLAGS = 'yaml_flags'; - - private readonly Dumper $dumper; - private readonly Parser $parser; - private array $defaultContext = [ - self::YAML_INLINE => 0, - self::YAML_INDENT => 0, - self::YAML_FLAGS => 0, - ]; - - public function __construct(?Dumper $dumper = null, ?Parser $parser = null, array $defaultContext = []) - { - if (!class_exists(Dumper::class)) { - throw new RuntimeException('The YamlEncoder class requires the "Yaml" component. Try running "composer require symfony/yaml".'); - } - - if (!$dumper) { - $dumper = \array_key_exists(self::YAML_INDENTATION, $defaultContext) ? new Dumper($defaultContext[self::YAML_INDENTATION]) : new Dumper(); - } - $this->dumper = $dumper; - $this->parser = $parser ?? new Parser(); - unset($defaultContext[self::YAML_INDENTATION]); - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - public function encode(mixed $data, string $format, array $context = []): string - { - $context = array_merge($this->defaultContext, $context); - - if ($context[self::PRESERVE_EMPTY_OBJECTS] ?? false) { - $context[self::YAML_FLAGS] |= Yaml::DUMP_OBJECT_AS_MAP; - } - - return $this->dumper->dump($data, $context[self::YAML_INLINE], $context[self::YAML_INDENT], $context[self::YAML_FLAGS]); - } - - public function supportsEncoding(string $format): bool - { - return self::FORMAT === $format || self::ALTERNATIVE_FORMAT === $format; - } - - public function decode(string $data, string $format, array $context = []): mixed - { - $context = array_merge($this->defaultContext, $context); - - try { - return $this->parser->parse($data, $context[self::YAML_FLAGS]); - } catch (ParseException $e) { - throw new NotEncodableValueException($e->getMessage(), $e->getCode(), $e); - } - } - - public function supportsDecoding(string $format): bool - { - return self::FORMAT === $format || self::ALTERNATIVE_FORMAT === $format; - } -} diff --git a/app/vendor/symfony/serializer/Exception/BadMethodCallException.php b/app/vendor/symfony/serializer/Exception/BadMethodCallException.php deleted file mode 100644 index b2f3d61a8..000000000 --- a/app/vendor/symfony/serializer/Exception/BadMethodCallException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -class BadMethodCallException extends \BadMethodCallException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/serializer/Exception/CircularReferenceException.php b/app/vendor/symfony/serializer/Exception/CircularReferenceException.php deleted file mode 100644 index dc84183fc..000000000 --- a/app/vendor/symfony/serializer/Exception/CircularReferenceException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * CircularReferenceException. - * - * @author Kévin Dunglas - */ -class CircularReferenceException extends RuntimeException -{ -} diff --git a/app/vendor/symfony/serializer/Exception/ExceptionInterface.php b/app/vendor/symfony/serializer/Exception/ExceptionInterface.php deleted file mode 100644 index 859dcb461..000000000 --- a/app/vendor/symfony/serializer/Exception/ExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * Base exception interface. - * - * @author Johannes M. Schmitt - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/app/vendor/symfony/serializer/Exception/ExtraAttributesException.php b/app/vendor/symfony/serializer/Exception/ExtraAttributesException.php deleted file mode 100644 index 639808b10..000000000 --- a/app/vendor/symfony/serializer/Exception/ExtraAttributesException.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * ExtraAttributesException. - * - * @author Julien DIDIER - */ -class ExtraAttributesException extends RuntimeException -{ - public function __construct( - private readonly array $extraAttributes, - ?\Throwable $previous = null, - ) { - $msg = \sprintf('Extra attributes are not allowed ("%s" %s unknown).', implode('", "', $extraAttributes), \count($extraAttributes) > 1 ? 'are' : 'is'); - - parent::__construct($msg, 0, $previous); - } - - /** - * Get the extra attributes that are not allowed. - */ - public function getExtraAttributes(): array - { - return $this->extraAttributes; - } -} diff --git a/app/vendor/symfony/serializer/Exception/InvalidArgumentException.php b/app/vendor/symfony/serializer/Exception/InvalidArgumentException.php deleted file mode 100644 index f4e645c44..000000000 --- a/app/vendor/symfony/serializer/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * InvalidArgumentException. - * - * @author Johannes M. Schmitt - */ -class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/serializer/Exception/LogicException.php b/app/vendor/symfony/serializer/Exception/LogicException.php deleted file mode 100644 index 08c53e0ff..000000000 --- a/app/vendor/symfony/serializer/Exception/LogicException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * LogicException. - * - * @author Lukas Kahwe Smith - */ -class LogicException extends \LogicException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/serializer/Exception/MappingException.php b/app/vendor/symfony/serializer/Exception/MappingException.php deleted file mode 100644 index 4df4eec39..000000000 --- a/app/vendor/symfony/serializer/Exception/MappingException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * MappingException. - * - * @author Kévin Dunglas - */ -class MappingException extends RuntimeException -{ -} diff --git a/app/vendor/symfony/serializer/Exception/MissingConstructorArgumentsException.php b/app/vendor/symfony/serializer/Exception/MissingConstructorArgumentsException.php deleted file mode 100644 index ad3f5c82b..000000000 --- a/app/vendor/symfony/serializer/Exception/MissingConstructorArgumentsException.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * @author Maxime VEBER - */ -class MissingConstructorArgumentsException extends RuntimeException -{ - /** - * @param string[] $missingArguments - * @param class-string|null $class - */ - public function __construct( - string $message, - int $code = 0, - ?\Throwable $previous = null, - private array $missingArguments = [], - private ?string $class = null, - ) { - parent::__construct($message, $code, $previous); - } - - /** - * @return string[] - */ - public function getMissingConstructorArguments(): array - { - return $this->missingArguments; - } - - /** - * @return class-string|null - */ - public function getClass(): ?string - { - return $this->class; - } -} diff --git a/app/vendor/symfony/serializer/Exception/NotEncodableValueException.php b/app/vendor/symfony/serializer/Exception/NotEncodableValueException.php deleted file mode 100644 index e1709fb1e..000000000 --- a/app/vendor/symfony/serializer/Exception/NotEncodableValueException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * @author Christian Flothmann - */ -class NotEncodableValueException extends UnexpectedValueException -{ -} diff --git a/app/vendor/symfony/serializer/Exception/NotNormalizableValueException.php b/app/vendor/symfony/serializer/Exception/NotNormalizableValueException.php deleted file mode 100644 index 1e0bde157..000000000 --- a/app/vendor/symfony/serializer/Exception/NotNormalizableValueException.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * @author Christian Flothmann - */ -class NotNormalizableValueException extends UnexpectedValueException -{ - private ?string $currentType = null; - private ?array $expectedTypes = null; - private ?string $path = null; - private bool $useMessageForUser = false; - - /** - * @param list|null $expectedTypes - */ - public function __construct(string $message = '', int $code = 0, ?\Throwable $previous = null, ?string $currentType = null, ?array $expectedTypes = null, ?string $path = null, bool $useMessageForUser = false) - { - parent::__construct($message, $code, $previous); - - $this->currentType = $currentType; - $this->expectedTypes = $expectedTypes ? array_map(strval(...), $expectedTypes) : $expectedTypes; - $this->path = $path; - $this->useMessageForUser = $useMessageForUser; - } - - /** - * @param list $expectedTypes - * @param bool $useMessageForUser If the message passed to this exception is something that can be shown - * safely to your user. In other words, avoid catching other exceptions and - * passing their message directly to this class. - */ - public static function createForUnexpectedDataType(string $message, mixed $data, array $expectedTypes, ?string $path = null, bool $useMessageForUser = false, int $code = 0, ?\Throwable $previous = null): self - { - return new self($message, $code, $previous, get_debug_type($data), $expectedTypes, $path, $useMessageForUser); - } - - public function getCurrentType(): ?string - { - return $this->currentType; - } - - /** - * @return string[]|null - */ - public function getExpectedTypes(): ?array - { - return $this->expectedTypes; - } - - public function getPath(): ?string - { - return $this->path; - } - - public function canUseMessageForUser(): ?bool - { - return $this->useMessageForUser; - } -} diff --git a/app/vendor/symfony/serializer/Exception/PartialDenormalizationException.php b/app/vendor/symfony/serializer/Exception/PartialDenormalizationException.php deleted file mode 100644 index 5edc146cf..000000000 --- a/app/vendor/symfony/serializer/Exception/PartialDenormalizationException.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * @author Grégoire Pineau - */ -class PartialDenormalizationException extends UnexpectedValueException -{ - /** - * @param NotNormalizableValueException[] $errors - */ - public function __construct( - private mixed $data, - private array $errors, - ) { - } - - public function getData(): mixed - { - return $this->data; - } - - /** - * @return NotNormalizableValueException[] - */ - public function getErrors(): array - { - return $this->errors; - } -} diff --git a/app/vendor/symfony/serializer/Exception/RuntimeException.php b/app/vendor/symfony/serializer/Exception/RuntimeException.php deleted file mode 100644 index a287d97ad..000000000 --- a/app/vendor/symfony/serializer/Exception/RuntimeException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * RuntimeException. - * - * @author Johannes M. Schmitt - */ -class RuntimeException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/serializer/Exception/UnexpectedPropertyException.php b/app/vendor/symfony/serializer/Exception/UnexpectedPropertyException.php deleted file mode 100644 index 03e42fca5..000000000 --- a/app/vendor/symfony/serializer/Exception/UnexpectedPropertyException.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * UnexpectedPropertyException. - * - * @author Aurélien Pillevesse - */ -class UnexpectedPropertyException extends \UnexpectedValueException implements ExceptionInterface -{ - public function __construct( - public readonly string $property, - ?\Throwable $previous = null, - ) { - $msg = \sprintf('Property is not allowed ("%s" is unknown).', $this->property); - - parent::__construct($msg, 0, $previous); - } -} diff --git a/app/vendor/symfony/serializer/Exception/UnexpectedValueException.php b/app/vendor/symfony/serializer/Exception/UnexpectedValueException.php deleted file mode 100644 index 2a63c5bd3..000000000 --- a/app/vendor/symfony/serializer/Exception/UnexpectedValueException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * UnexpectedValueException. - * - * @author Lukas Kahwe Smith - */ -class UnexpectedValueException extends \UnexpectedValueException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/serializer/Exception/UnsupportedException.php b/app/vendor/symfony/serializer/Exception/UnsupportedException.php deleted file mode 100644 index 7dc44ee0e..000000000 --- a/app/vendor/symfony/serializer/Exception/UnsupportedException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * UnsupportedException. - * - * @author Johannes M. Schmitt - */ -class UnsupportedException extends InvalidArgumentException -{ -} diff --git a/app/vendor/symfony/serializer/Exception/UnsupportedFormatException.php b/app/vendor/symfony/serializer/Exception/UnsupportedFormatException.php deleted file mode 100644 index 9b87bcc5b..000000000 --- a/app/vendor/symfony/serializer/Exception/UnsupportedFormatException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Exception; - -/** - * @author Konstantin Myakshin - */ -class UnsupportedFormatException extends NotEncodableValueException -{ -} diff --git a/app/vendor/symfony/serializer/Extractor/ObjectPropertyListExtractor.php b/app/vendor/symfony/serializer/Extractor/ObjectPropertyListExtractor.php deleted file mode 100644 index 42a546805..000000000 --- a/app/vendor/symfony/serializer/Extractor/ObjectPropertyListExtractor.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Extractor; - -use Symfony\Component\PropertyInfo\PropertyListExtractorInterface; - -/** - * @author David Maicher - */ -final class ObjectPropertyListExtractor implements ObjectPropertyListExtractorInterface -{ - private \Closure $objectClassResolver; - - public function __construct( - private PropertyListExtractorInterface $propertyListExtractor, - ?callable $objectClassResolver = null, - ) { - $this->objectClassResolver = ($objectClassResolver ?? 'get_class')(...); - } - - public function getProperties(object $object, array $context = []): ?array - { - $class = ($this->objectClassResolver)($object); - - return $this->propertyListExtractor->getProperties($class, $context); - } -} diff --git a/app/vendor/symfony/serializer/Extractor/ObjectPropertyListExtractorInterface.php b/app/vendor/symfony/serializer/Extractor/ObjectPropertyListExtractorInterface.php deleted file mode 100644 index 5b2ae5837..000000000 --- a/app/vendor/symfony/serializer/Extractor/ObjectPropertyListExtractorInterface.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Extractor; - -/** - * @author David Maicher - */ -interface ObjectPropertyListExtractorInterface -{ - /** - * Gets the list of properties available for the given object. - * - * @return string[]|null - */ - public function getProperties(object $object, array $context = []): ?array; -} diff --git a/app/vendor/symfony/serializer/LICENSE b/app/vendor/symfony/serializer/LICENSE deleted file mode 100644 index 0138f8f07..000000000 --- a/app/vendor/symfony/serializer/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-present Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/symfony/serializer/Mapping/AttributeMetadata.php b/app/vendor/symfony/serializer/Mapping/AttributeMetadata.php deleted file mode 100644 index 8abd6a837..000000000 --- a/app/vendor/symfony/serializer/Mapping/AttributeMetadata.php +++ /dev/null @@ -1,185 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping; - -use Symfony\Component\PropertyAccess\PropertyPath; - -/** - * @author Kévin Dunglas - * - * @final since Symfony 7.4 - */ -class AttributeMetadata implements AttributeMetadataInterface -{ - private string $name; - private array $groups = []; - private ?int $maxDepth = null; - private ?string $serializedName = null; - private ?PropertyPath $serializedPath = null; - private bool $ignore = false; - - /** - * @var array[] Normalization contexts per group name ("*" applies to all groups) - */ - private array $normalizationContexts = []; - - /** - * @var array[] Denormalization contexts per group name ("*" applies to all groups) - */ - private array $denormalizationContexts = []; - - public function __construct(string $name) - { - $this->name = $name; - } - - public function getName(): string - { - return $this->name; - } - - public function addGroup(string $group): void - { - if (!\in_array($group, $this->groups, true)) { - $this->groups[] = $group; - } - } - - public function getGroups(): array - { - return $this->groups; - } - - public function setMaxDepth(?int $maxDepth): void - { - $this->maxDepth = $maxDepth; - } - - public function getMaxDepth(): ?int - { - return $this->maxDepth; - } - - public function setSerializedName(?string $serializedName): void - { - $this->serializedName = $serializedName; - } - - public function getSerializedName(): ?string - { - return $this->serializedName; - } - - public function setSerializedPath(?PropertyPath $serializedPath = null): void - { - $this->serializedPath = $serializedPath; - } - - public function getSerializedPath(): ?PropertyPath - { - return $this->serializedPath; - } - - public function setIgnore(bool $ignore): void - { - $this->ignore = $ignore; - } - - public function isIgnored(): bool - { - return $this->ignore; - } - - public function getNormalizationContexts(): array - { - return $this->normalizationContexts; - } - - public function getNormalizationContextForGroups(array $groups): array - { - $contexts = []; - foreach ($groups as $group) { - $contexts[] = $this->normalizationContexts[$group] ?? []; - } - - return array_merge($this->normalizationContexts['*'] ?? [], ...$contexts); - } - - public function setNormalizationContextForGroups(array $context, array $groups = []): void - { - if (!$groups) { - $this->normalizationContexts['*'] = $context; - } - - foreach ($groups as $group) { - $this->normalizationContexts[$group] = $context; - } - } - - public function getDenormalizationContexts(): array - { - return $this->denormalizationContexts; - } - - public function getDenormalizationContextForGroups(array $groups): array - { - $contexts = []; - foreach ($groups as $group) { - $contexts[] = $this->denormalizationContexts[$group] ?? []; - } - - return array_merge($this->denormalizationContexts['*'] ?? [], ...$contexts); - } - - public function setDenormalizationContextForGroups(array $context, array $groups = []): void - { - if (!$groups) { - $this->denormalizationContexts['*'] = $context; - } - - foreach ($groups as $group) { - $this->denormalizationContexts[$group] = $context; - } - } - - public function merge(AttributeMetadataInterface $attributeMetadata): void - { - foreach ($attributeMetadata->getGroups() as $group) { - $this->addGroup($group); - } - - // Overwrite only if not defined - $this->maxDepth ??= $attributeMetadata->getMaxDepth(); - $this->serializedName ??= $attributeMetadata->getSerializedName(); - $this->serializedPath ??= $attributeMetadata->getSerializedPath(); - - // Overwrite only if both contexts are empty - if (!$this->normalizationContexts && !$this->denormalizationContexts) { - $this->normalizationContexts = $attributeMetadata->getNormalizationContexts(); - $this->denormalizationContexts = $attributeMetadata->getDenormalizationContexts(); - } - - if ($ignore = $attributeMetadata->isIgnored()) { - $this->ignore = $ignore; - } - } - - /** - * @internal since Symfony 7.4, will be replaced by `__serialize()` in 8.0 - * - * @final since Symfony 7.4, will be replaced by `__serialize()` in 8.0 - */ - public function __sleep(): array - { - return ['name', 'groups', 'maxDepth', 'serializedName', 'serializedPath', 'ignore', 'normalizationContexts', 'denormalizationContexts']; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php b/app/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php deleted file mode 100644 index 9d430602c..000000000 --- a/app/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping; - -use Symfony\Component\PropertyAccess\PropertyPath; - -/** - * Stores metadata needed for serializing and deserializing attributes. - * - * Primarily, the metadata stores serialization groups. - * - * @internal - * - * @author Kévin Dunglas - */ -interface AttributeMetadataInterface -{ - /** - * Gets the attribute name. - */ - public function getName(): string; - - /** - * Adds this attribute to the given group. - */ - public function addGroup(string $group): void; - - /** - * Gets groups of this attribute. - * - * @return string[] - */ - public function getGroups(): array; - - /** - * Sets the serialization max depth for this attribute. - */ - public function setMaxDepth(?int $maxDepth): void; - - /** - * Gets the serialization max depth for this attribute. - */ - public function getMaxDepth(): ?int; - - /** - * Sets the serialization name for this attribute. - */ - public function setSerializedName(?string $serializedName): void; - - /** - * Gets the serialization name for this attribute. - */ - public function getSerializedName(): ?string; - - public function setSerializedPath(?PropertyPath $serializedPath): void; - - public function getSerializedPath(): ?PropertyPath; - - /** - * Sets if this attribute must be ignored or not. - */ - public function setIgnore(bool $ignore): void; - - /** - * Gets if this attribute is ignored or not. - */ - public function isIgnored(): bool; - - /** - * Merges an {@see AttributeMetadataInterface} with in the current one. - */ - public function merge(self $attributeMetadata): void; - - /** - * Gets all the normalization contexts per group ("*" being the base context applied to all groups). - */ - public function getNormalizationContexts(): array; - - /** - * Gets the computed normalization contexts for given groups. - */ - public function getNormalizationContextForGroups(array $groups): array; - - /** - * Sets the normalization context for given groups. - */ - public function setNormalizationContextForGroups(array $context, array $groups = []): void; - - /** - * Gets all the denormalization contexts per group ("*" being the base context applied to all groups). - */ - public function getDenormalizationContexts(): array; - - /** - * Gets the computed denormalization contexts for given groups. - */ - public function getDenormalizationContextForGroups(array $groups): array; - - /** - * Sets the denormalization context for given groups. - */ - public function setDenormalizationContextForGroups(array $context, array $groups = []): void; -} diff --git a/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorFromClassMetadata.php b/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorFromClassMetadata.php deleted file mode 100644 index 4677e19d5..000000000 --- a/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorFromClassMetadata.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping; - -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; - -/** - * @author Samuel Roze - */ -class ClassDiscriminatorFromClassMetadata implements ClassDiscriminatorResolverInterface -{ - private array $mappingForMappedObjectCache = []; - - public function __construct( - private readonly ClassMetadataFactoryInterface $classMetadataFactory, - ) { - } - - public function getMappingForClass(string $class): ?ClassDiscriminatorMapping - { - if ($this->classMetadataFactory->hasMetadataFor($class)) { - return $this->classMetadataFactory->getMetadataFor($class)->getClassDiscriminatorMapping(); - } - - return null; - } - - public function getMappingForMappedObject(object|string $object): ?ClassDiscriminatorMapping - { - if ($this->classMetadataFactory->hasMetadataFor($object)) { - $metadata = $this->classMetadataFactory->getMetadataFor($object); - - if (null !== $metadata->getClassDiscriminatorMapping()) { - return $metadata->getClassDiscriminatorMapping(); - } - } - - $cacheKey = \is_object($object) ? $object::class : $object; - if (!\array_key_exists($cacheKey, $this->mappingForMappedObjectCache)) { - $this->mappingForMappedObjectCache[$cacheKey] = $this->resolveMappingForMappedObject($object); - } - - return $this->mappingForMappedObjectCache[$cacheKey]; - } - - public function getTypeForMappedObject(object|string $object): ?string - { - if (null === $mapping = $this->getMappingForMappedObject($object)) { - return null; - } - - return $mapping->getMappedObjectType($object); - } - - private function resolveMappingForMappedObject(object|string $object): ?ClassDiscriminatorMapping - { - $reflectionClass = new \ReflectionClass($object); - if ($parentClass = $reflectionClass->getParentClass()) { - if (null !== ($parentMapping = $this->getMappingForMappedObject($parentClass->getName()))) { - return $parentMapping; - } - } - - foreach ($reflectionClass->getInterfaceNames() as $interfaceName) { - if (null !== ($interfaceMapping = $this->getMappingForMappedObject($interfaceName))) { - return $interfaceMapping; - } - } - - return null; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorMapping.php b/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorMapping.php deleted file mode 100644 index 985ea1ce5..000000000 --- a/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorMapping.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping; - -/** - * @author Samuel Roze - */ -class ClassDiscriminatorMapping -{ - /** - * @param array $typesMapping - */ - public function __construct( - private readonly string $typeProperty, - private array $typesMapping = [], - private readonly ?string $defaultType = null, - ) { - uasort($this->typesMapping, static function (string $a, string $b): int { - if (is_a($a, $b, true)) { - return -1; - } - - if (is_a($b, $a, true)) { - return 1; - } - - return 0; - }); - } - - public function getTypeProperty(): string - { - return $this->typeProperty; - } - - public function getClassForType(string $type): ?string - { - return $this->typesMapping[$type] ?? null; - } - - public function getMappedObjectType(object|string $object): ?string - { - foreach ($this->typesMapping as $type => $typeClass) { - if (is_a($object, $typeClass, true)) { - return $type; - } - } - - return null; - } - - public function getTypesMapping(): array - { - return $this->typesMapping; - } - - public function getDefaultType(): ?string - { - return $this->defaultType; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorResolverInterface.php b/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorResolverInterface.php deleted file mode 100644 index 83a12d845..000000000 --- a/app/vendor/symfony/serializer/Mapping/ClassDiscriminatorResolverInterface.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping; - -/** - * Knows how to get the class discriminator mapping for classes and objects. - * - * @author Samuel Roze - */ -interface ClassDiscriminatorResolverInterface -{ - public function getMappingForClass(string $class): ?ClassDiscriminatorMapping; - - public function getMappingForMappedObject(object|string $object): ?ClassDiscriminatorMapping; - - public function getTypeForMappedObject(object|string $object): ?string; -} diff --git a/app/vendor/symfony/serializer/Mapping/ClassMetadata.php b/app/vendor/symfony/serializer/Mapping/ClassMetadata.php deleted file mode 100644 index 0bba66614..000000000 --- a/app/vendor/symfony/serializer/Mapping/ClassMetadata.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping; - -/** - * @author Kévin Dunglas - * - * @final since Symfony 7.4 - */ -class ClassMetadata implements ClassMetadataInterface -{ - private string $name; - - /** - * @var AttributeMetadataInterface[] - */ - private array $attributesMetadata = []; - - private ?\ReflectionClass $reflClass = null; - private ?ClassDiscriminatorMapping $classDiscriminatorMapping = null; - - public function __construct(string $class, ?ClassDiscriminatorMapping $classDiscriminatorMapping = null) - { - $this->name = $class; - $this->classDiscriminatorMapping = $classDiscriminatorMapping; - } - - public function getName(): string - { - return $this->name; - } - - public function addAttributeMetadata(AttributeMetadataInterface $attributeMetadata): void - { - $this->attributesMetadata[$attributeMetadata->getName()] = $attributeMetadata; - } - - public function getAttributesMetadata(): array - { - return $this->attributesMetadata; - } - - public function merge(ClassMetadataInterface $classMetadata): void - { - foreach ($classMetadata->getAttributesMetadata() as $attributeMetadata) { - if (isset($this->attributesMetadata[$attributeMetadata->getName()])) { - $this->attributesMetadata[$attributeMetadata->getName()]->merge($attributeMetadata); - } else { - $this->addAttributeMetadata($attributeMetadata); - } - } - } - - public function getReflectionClass(): \ReflectionClass - { - return $this->reflClass ??= new \ReflectionClass($this->getName()); - } - - public function getClassDiscriminatorMapping(): ?ClassDiscriminatorMapping - { - return $this->classDiscriminatorMapping; - } - - public function setClassDiscriminatorMapping(?ClassDiscriminatorMapping $mapping): void - { - $this->classDiscriminatorMapping = $mapping; - } - - /** - * @internal since Symfony 7.4, will be replaced by `__serialize()` in 8.0 - * - * @final since Symfony 7.4, will be replaced by `__serialize()` in 8.0 - */ - public function __sleep(): array - { - return [ - 'name', - 'attributesMetadata', - 'classDiscriminatorMapping', - ]; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php b/app/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php deleted file mode 100644 index 3f380d2ff..000000000 --- a/app/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping; - -/** - * Stores metadata needed for serializing and deserializing objects of specific class. - * - * Primarily, the metadata stores the set of attributes to serialize or deserialize. - * - * There may only exist one metadata for each attribute according to its name. - * - * @internal - * - * @author Kévin Dunglas - */ -interface ClassMetadataInterface -{ - /** - * Returns the name of the backing PHP class. - */ - public function getName(): string; - - /** - * Adds an {@link AttributeMetadataInterface}. - */ - public function addAttributeMetadata(AttributeMetadataInterface $attributeMetadata): void; - - /** - * Gets the list of {@link AttributeMetadataInterface}. - * - * @return array - */ - public function getAttributesMetadata(): array; - - /** - * Merges a {@link ClassMetadataInterface} in the current one. - */ - public function merge(self $classMetadata): void; - - /** - * Returns a {@link \ReflectionClass} instance for this class. - */ - public function getReflectionClass(): \ReflectionClass; - - public function getClassDiscriminatorMapping(): ?ClassDiscriminatorMapping; - - public function setClassDiscriminatorMapping(?ClassDiscriminatorMapping $mapping): void; -} diff --git a/app/vendor/symfony/serializer/Mapping/Factory/CacheClassMetadataFactory.php b/app/vendor/symfony/serializer/Mapping/Factory/CacheClassMetadataFactory.php deleted file mode 100644 index 61c2fb606..000000000 --- a/app/vendor/symfony/serializer/Mapping/Factory/CacheClassMetadataFactory.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Factory; - -use Psr\Cache\CacheItemPoolInterface; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; - -/** - * Caches metadata using a PSR-6 implementation. - * - * @author Kévin Dunglas - */ -class CacheClassMetadataFactory implements ClassMetadataFactoryInterface -{ - use ClassResolverTrait; - - /** - * @var array - */ - private array $loadedClasses = []; - - public function __construct( - private readonly ClassMetadataFactoryInterface $decorated, - private readonly CacheItemPoolInterface $cacheItemPool, - ) { - } - - public function getMetadataFor(string|object $value): ClassMetadataInterface - { - $class = $this->getClass($value); - - if (isset($this->loadedClasses[$class])) { - return $this->loadedClasses[$class]; - } - - $key = rawurlencode(strtr($class, '\\', '_')); - - $item = $this->cacheItemPool->getItem($key); - if ($item->isHit()) { - return $this->loadedClasses[$class] = $item->get(); - } - - $metadata = $this->decorated->getMetadataFor($value); - $this->cacheItemPool->save($item->set($metadata)); - - return $this->loadedClasses[$class] = $metadata; - } - - public function hasMetadataFor(mixed $value): bool - { - return $this->decorated->hasMetadataFor($value); - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php b/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php deleted file mode 100644 index fc5b2e71e..000000000 --- a/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Factory; - -use Symfony\Component\Serializer\Mapping\ClassMetadata; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; -use Symfony\Component\Serializer\Mapping\Loader\LoaderInterface; - -/** - * Returns a {@link ClassMetadata}. - * - * @author Kévin Dunglas - */ -class ClassMetadataFactory implements ClassMetadataFactoryInterface -{ - use ClassResolverTrait; - - /** - * @var array - */ - private array $loadedClasses; - - public function __construct( - private readonly LoaderInterface $loader, - ) { - } - - public function getMetadataFor(string|object $value): ClassMetadataInterface - { - $class = $this->getClass($value); - - if (isset($this->loadedClasses[$class])) { - return $this->loadedClasses[$class]; - } - - $classMetadata = new ClassMetadata($class); - $this->loader->loadClassMetadata($classMetadata); - - $reflectionClass = $classMetadata->getReflectionClass(); - - // Include metadata from the parent class - if ($parent = $reflectionClass->getParentClass()) { - $classMetadata->merge($this->getMetadataFor($parent->name)); - } - - // Include metadata from all implemented interfaces - foreach ($reflectionClass->getInterfaces() as $interface) { - $classMetadata->merge($this->getMetadataFor($interface->name)); - } - - return $this->loadedClasses[$class] = $classMetadata; - } - - public function hasMetadataFor(mixed $value): bool - { - return \is_object($value) || (\is_string($value) && (class_exists($value) || interface_exists($value, false))); - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryCompiler.php b/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryCompiler.php deleted file mode 100644 index 575019c54..000000000 --- a/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryCompiler.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Factory; - -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; -use Symfony\Component\VarExporter\VarExporter; - -trigger_deprecation('symfony/serializer', '7.4', 'The "%s" class is deprecated.', ClassMetadataFactoryCompiler::class); - -/** - * @author Fabien Bourigault - * - * @deprecated since Symfony 7.4 - */ -final class ClassMetadataFactoryCompiler -{ - /** - * @param ClassMetadataInterface[] $classMetadatas - */ - public function compile(array $classMetadatas): string - { - return <<generateDeclaredClassMetadata($classMetadatas)} - ]; - EOF; - } - - /** - * @param ClassMetadataInterface[] $classMetadatas - */ - private function generateDeclaredClassMetadata(array $classMetadatas): string - { - $compiled = ''; - - foreach ($classMetadatas as $classMetadata) { - $attributesMetadata = []; - foreach ($classMetadata->getAttributesMetadata() as $attributeMetadata) { - $attributesMetadata[$attributeMetadata->getName()] = [ - $attributeMetadata->getGroups(), - $attributeMetadata->getMaxDepth(), - $attributeMetadata->getSerializedName(), - $attributeMetadata->getSerializedPath(), - ]; - } - - $classDiscriminatorMapping = $classMetadata->getClassDiscriminatorMapping() ? [ - $classMetadata->getClassDiscriminatorMapping()->getTypeProperty(), - $classMetadata->getClassDiscriminatorMapping()->getTypesMapping(), - $classMetadata->getClassDiscriminatorMapping()->getDefaultType(), - ] : null; - - $compiled .= \sprintf("\n'%s' => %s,", $classMetadata->getName(), VarExporter::export([ - $attributesMetadata, - $classDiscriminatorMapping, - ])); - } - - return $compiled; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php b/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php deleted file mode 100644 index 169db634f..000000000 --- a/app/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Factory; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; - -/** - * Returns a {@see ClassMetadataInterface}. - * - * @author Kévin Dunglas - */ -interface ClassMetadataFactoryInterface -{ - /** - * If the method was called with the same class name (or an object of that - * class) before, the same metadata instance is returned. - * - * If the factory was configured with a cache, this method will first look - * for an existing metadata instance in the cache. If an existing instance - * is found, it will be returned without further ado. - * - * Otherwise, a new metadata instance is created. If the factory was - * configured with a loader, the metadata is passed to the - * {@link \Symfony\Component\Serializer\Mapping\Loader\LoaderInterface::loadClassMetadata()} method for further - * configuration. At last, the new object is returned. - * - * @throws InvalidArgumentException - */ - public function getMetadataFor(string|object $value): ClassMetadataInterface; - - /** - * Checks if class has metadata. - */ - public function hasMetadataFor(mixed $value): bool; -} diff --git a/app/vendor/symfony/serializer/Mapping/Factory/ClassResolverTrait.php b/app/vendor/symfony/serializer/Mapping/Factory/ClassResolverTrait.php deleted file mode 100644 index d7037f894..000000000 --- a/app/vendor/symfony/serializer/Mapping/Factory/ClassResolverTrait.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Factory; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; - -/** - * Resolves a class name. - * - * @internal - * - * @author Kévin Dunglas - */ -trait ClassResolverTrait -{ - /** - * Gets a class name for a given class or instance. - * - * @throws InvalidArgumentException If the class does not exist - */ - private function getClass(object|string $value): string - { - if (\is_string($value)) { - if (!class_exists($value) && !interface_exists($value, false)) { - throw new InvalidArgumentException(\sprintf('The class or interface "%s" does not exist.', $value)); - } - - return ltrim($value, '\\'); - } - - return $value::class; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Factory/CompiledClassMetadataFactory.php b/app/vendor/symfony/serializer/Mapping/Factory/CompiledClassMetadataFactory.php deleted file mode 100644 index 71e590005..000000000 --- a/app/vendor/symfony/serializer/Mapping/Factory/CompiledClassMetadataFactory.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Factory; - -use Symfony\Component\Serializer\Mapping\AttributeMetadata; -use Symfony\Component\Serializer\Mapping\ClassDiscriminatorMapping; -use Symfony\Component\Serializer\Mapping\ClassMetadata; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; - -trigger_deprecation('symfony/serializer', '7.3', 'The "%s" class is deprecated.', CompiledClassMetadataFactory::class); - -/** - * @author Fabien Bourigault - * - * @deprecated since Symfony 7.3 - */ -final class CompiledClassMetadataFactory implements ClassMetadataFactoryInterface -{ - private array $compiledClassMetadata = []; - - private array $loadedClasses = []; - - public function __construct( - string $compiledClassMetadataFile, - private readonly ClassMetadataFactoryInterface $classMetadataFactory, - ) { - if (!file_exists($compiledClassMetadataFile)) { - throw new \RuntimeException("File \"{$compiledClassMetadataFile}\" could not be found."); - } - - $compiledClassMetadata = require $compiledClassMetadataFile; - if (!\is_array($compiledClassMetadata)) { - throw new \RuntimeException(\sprintf('Compiled metadata must be of the type array, %s given.', \gettype($compiledClassMetadata))); - } - - $this->compiledClassMetadata = $compiledClassMetadata; - } - - public function getMetadataFor(string|object $value): ClassMetadataInterface - { - $className = \is_object($value) ? $value::class : $value; - - if (!isset($this->compiledClassMetadata[$className])) { - return $this->classMetadataFactory->getMetadataFor($value); - } - - if (!isset($this->loadedClasses[$className])) { - $classMetadata = new ClassMetadata($className); - foreach ($this->compiledClassMetadata[$className][0] as $name => $compiledAttributesMetadata) { - $classMetadata->addAttributeMetadata($attributeMetadata = new AttributeMetadata($name)); - foreach ($compiledAttributesMetadata[0] as $group) { - $attributeMetadata->addGroup($group); - } - $attributeMetadata->setMaxDepth($compiledAttributesMetadata[1]); - $attributeMetadata->setSerializedName($compiledAttributesMetadata[2]); - } - $classMetadata->setClassDiscriminatorMapping($this->compiledClassMetadata[$className][1] - ? new ClassDiscriminatorMapping(...$this->compiledClassMetadata[$className][1]) - : null - ); - - $this->loadedClasses[$className] = $classMetadata; - } - - return $this->loadedClasses[$className]; - } - - public function hasMetadataFor(mixed $value): bool - { - $className = \is_object($value) ? $value::class : $value; - - return isset($this->compiledClassMetadata[$className]) || $this->classMetadataFactory->hasMetadataFor($value); - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Loader/AccessorCollisionResolverTrait.php b/app/vendor/symfony/serializer/Mapping/Loader/AccessorCollisionResolverTrait.php deleted file mode 100644 index 4b72fd722..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/AccessorCollisionResolverTrait.php +++ /dev/null @@ -1,101 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Loader; - -use Symfony\Component\Serializer\Attribute\Ignore; - -/** - * Provides methods to detect accessor name collisions during serialization. - * - * @internal - */ -trait AccessorCollisionResolverTrait -{ - private function getAttributeNameFromAccessor(\ReflectionClass $class, \ReflectionMethod $method, bool $andMutator): ?string - { - $methodName = $method->name; - - $i = match ($methodName[0]) { - 's' => $andMutator && str_starts_with($methodName, 'set') ? 3 : null, - 'g' => str_starts_with($methodName, 'get') ? 3 : null, - 'h' => str_starts_with($methodName, 'has') ? 3 : null, - 'c' => str_starts_with($methodName, 'can') ? 3 : null, - 'i' => str_starts_with($methodName, 'is') ? 2 : null, - default => null, - }; - - // ctype_lower check to find out if method looks like accessor but actually is not, e.g. hash, cancel - if (null === $i || ctype_lower($methodName[$i] ?? 'a') || (!$andMutator && $method->isStatic())) { - return null; - } - - if ('s' === $methodName[0] ? !$method->getNumberOfParameters() : ($method->getNumberOfRequiredParameters() || \in_array((string) $method->getReturnType(), ['void', 'never'], true))) { - return null; - } - - $attributeName = substr($methodName, $i); - - if (!$class->hasProperty($attributeName)) { - $attributeName = lcfirst($attributeName); - } - - return $attributeName; - } - - private function hasPropertyForAccessor(\ReflectionClass $class, string $propName): bool - { - do { - if ($class->hasProperty($propName)) { - return true; - } - } while ($class = $class->getParentClass()); - - return false; - } - - private function hasAttributeNameCollision(\ReflectionClass $class, string $attributeName, string $methodName): bool - { - if ($this->hasPropertyForAccessor($class, $attributeName)) { - return true; - } - - if ($class->hasMethod($attributeName)) { - $candidate = $class->getMethod($attributeName); - if ($candidate->getName() !== $methodName && $this->isReadableAccessorMethod($candidate)) { - return true; - } - } - - $ucAttributeName = ucfirst($attributeName); - foreach (['get', 'is', 'has', 'can'] as $prefix) { - $candidateName = $prefix.$ucAttributeName; - if ($candidateName === $methodName || !$class->hasMethod($candidateName)) { - continue; - } - - if ($this->isReadableAccessorMethod($class->getMethod($candidateName))) { - return true; - } - } - - return false; - } - - private function isReadableAccessorMethod(\ReflectionMethod $method): bool - { - return $method->isPublic() - && !$method->isStatic() - && !$method->getAttributes(Ignore::class) - && !$method->getNumberOfRequiredParameters() - && !\in_array((string) $method->getReturnType(), ['void', 'never'], true); - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Loader/AttributeLoader.php b/app/vendor/symfony/serializer/Mapping/Loader/AttributeLoader.php deleted file mode 100644 index e15f192a3..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/AttributeLoader.php +++ /dev/null @@ -1,262 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Loader; - -use Symfony\Component\Serializer\Attribute\Context; -use Symfony\Component\Serializer\Attribute\DiscriminatorMap; -use Symfony\Component\Serializer\Attribute\Groups; -use Symfony\Component\Serializer\Attribute\Ignore; -use Symfony\Component\Serializer\Attribute\MaxDepth; -use Symfony\Component\Serializer\Attribute\SerializedName; -use Symfony\Component\Serializer\Attribute\SerializedPath; -use Symfony\Component\Serializer\Exception\MappingException; -use Symfony\Component\Serializer\Mapping\AttributeMetadata; -use Symfony\Component\Serializer\Mapping\AttributeMetadataInterface; -use Symfony\Component\Serializer\Mapping\ClassDiscriminatorMapping; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; - -/** - * Loader for PHP attributes. - * - * @author Kévin Dunglas - * @author Alexander M. Turek - * @author Alexandre Daubois - */ -class AttributeLoader implements LoaderInterface -{ - use AccessorCollisionResolverTrait; - - private const KNOWN_ATTRIBUTES = [ - DiscriminatorMap::class, - Groups::class, - Ignore::class, - MaxDepth::class, - SerializedName::class, - SerializedPath::class, - Context::class, - ]; - - /** - * @param bool|null $allowAnyClass Null is allowed for BC with Symfony <= 6 - * @param array $mappedClasses - */ - public function __construct( - private ?bool $allowAnyClass = true, - private array $mappedClasses = [], - ) { - $this->allowAnyClass ??= true; - } - - /** - * @return class-string[] - */ - public function getMappedClasses(): array - { - return array_keys($this->mappedClasses); - } - - public function loadClassMetadata(ClassMetadataInterface $classMetadata): bool - { - if (!$sourceClasses = $this->mappedClasses[$classMetadata->getName()] ??= $this->allowAnyClass ? [$classMetadata->getName()] : []) { - return false; - } - - $success = false; - foreach ($sourceClasses as $sourceClass) { - $reflectionClass = $classMetadata->getName() === $sourceClass ? $classMetadata->getReflectionClass() : new \ReflectionClass($sourceClass); - $success = $this->doLoadClassMetadata($reflectionClass, $classMetadata) || $success; - } - - return $success; - } - - private function doLoadClassMetadata(\ReflectionClass $reflectionClass, ClassMetadataInterface $classMetadata): bool - { - $className = $reflectionClass->name; - $loaded = false; - $classGroups = []; - $classContextAttribute = null; - - $attributesMetadata = $classMetadata->getAttributesMetadata(); - - foreach ($this->loadAttributes($reflectionClass) as $attribute) { - match (true) { - $attribute instanceof DiscriminatorMap => $classMetadata->setClassDiscriminatorMapping(new ClassDiscriminatorMapping($attribute->typeProperty, $attribute->mapping, $attribute->defaultType)), - $attribute instanceof Groups => $classGroups = $attribute->groups, - $attribute instanceof Context => $classContextAttribute = $attribute, - default => null, - }; - } - - foreach ($reflectionClass->getProperties() as $property) { - if (!isset($attributesMetadata[$property->name])) { - $attributesMetadata[$property->name] = new AttributeMetadata($property->name); - $classMetadata->addAttributeMetadata($attributesMetadata[$property->name]); - } - - $attributeMetadata = $attributesMetadata[$property->name]; - if ($property->getDeclaringClass()->name === $className) { - if ($classContextAttribute) { - $this->setAttributeContextsForGroups($classContextAttribute, $attributeMetadata); - } - - foreach ($classGroups as $group) { - $attributeMetadata->addGroup($group); - } - - foreach ($this->loadAttributes($property) as $attribute) { - $loaded = true; - - if ($attribute instanceof Groups) { - foreach ($attribute->groups as $group) { - $attributeMetadata->addGroup($group); - } - - continue; - } - - match (true) { - $attribute instanceof MaxDepth => $attributeMetadata->setMaxDepth($attribute->maxDepth), - $attribute instanceof SerializedName => $attributeMetadata->setSerializedName($attribute->serializedName), - $attribute instanceof SerializedPath => $attributeMetadata->setSerializedPath($attribute->serializedPath), - $attribute instanceof Ignore => $attributeMetadata->setIgnore(true), - $attribute instanceof Context => $this->setAttributeContextsForGroups($attribute, $attributeMetadata), - default => null, - }; - } - } - } - - foreach ($reflectionClass->getMethods() as $method) { - if ($method->getDeclaringClass()->name !== $className) { - continue; - } - $name = $method->name; - - if (0 === stripos($name, 'get') && $method->getNumberOfRequiredParameters()) { - continue; /* matches the BC behavior in `Symfony\Component\Serializer\Normalizer\ObjectNormalizer::extractAttributes` */ - } - - $attributeName = $this->getAttributeNameFromAccessor($reflectionClass, $method, true); - $accessorOrMutator = null !== $attributeName; - $hasProperty = $this->hasPropertyForAccessor($method->getDeclaringClass(), $name); - $attributeMetadata = null; - - if ($hasProperty || $accessorOrMutator) { - if (null === $attributeName || 's' !== $name[0] && $hasProperty && $this->hasAttributeNameCollision($reflectionClass, $attributeName, $name)) { - $attributeName = $name; - } - - if (isset($attributesMetadata[$attributeName])) { - $attributeMetadata = $attributesMetadata[$attributeName]; - } else { - $attributesMetadata[$attributeName] = $attributeMetadata = new AttributeMetadata($attributeName); - $classMetadata->addAttributeMetadata($attributeMetadata); - } - } - - foreach ($this->loadAttributes($method) as $attribute) { - if ($attribute instanceof Groups) { - if (!$attributeMetadata) { - throw new MappingException(\sprintf('Groups on "%s::%s()" cannot be added. Groups can only be added on methods beginning with "get", "is", "has", "can" or "set".', $className, $method->name)); - } - - foreach ($attribute->groups as $group) { - $attributeMetadata->addGroup($group); - } - } elseif ($attribute instanceof MaxDepth) { - if (!$attributeMetadata) { - throw new MappingException(\sprintf('MaxDepth on "%s::%s()" cannot be added. MaxDepth can only be added on methods beginning with "get", "is", "has", "can" or "set".', $className, $method->name)); - } - - $attributeMetadata->setMaxDepth($attribute->maxDepth); - } elseif ($attribute instanceof SerializedName) { - if (!$attributeMetadata) { - throw new MappingException(\sprintf('SerializedName on "%s::%s()" cannot be added. SerializedName can only be added on methods beginning with "get", "is", "has", "can" or "set".', $className, $method->name)); - } - - $attributeMetadata->setSerializedName($attribute->serializedName); - } elseif ($attribute instanceof SerializedPath) { - if (!$attributeMetadata) { - throw new MappingException(\sprintf('SerializedPath on "%s::%s()" cannot be added. SerializedPath can only be added on methods beginning with "get", "is", "has", "can" or "set".', $className, $method->name)); - } - - $attributeMetadata->setSerializedPath($attribute->serializedPath); - } elseif ($attribute instanceof Ignore) { - if ($attributeMetadata) { - $attributeMetadata->setIgnore(true); - } - } elseif ($attribute instanceof Context) { - if (!$attributeMetadata) { - throw new MappingException(\sprintf('Context on "%s::%s()" cannot be added. Context can only be added on methods beginning with "get", "is", "has", "can" or "set".', $className, $method->name)); - } - - $this->setAttributeContextsForGroups($attribute, $attributeMetadata); - } - - $loaded = true; - } - } - - return $loaded; - } - - private function loadAttributes(\ReflectionMethod|\ReflectionClass|\ReflectionProperty $reflector): iterable - { - foreach ($reflector->getAttributes() as $attribute) { - if ($this->isKnownAttribute($attribute->getName())) { - try { - yield $attribute->newInstance(); - } catch (\Error $e) { - if (\Error::class !== $e::class) { - throw $e; - } - $on = match (true) { - $reflector instanceof \ReflectionClass => ' on class '.$reflector->name, - $reflector instanceof \ReflectionMethod => \sprintf(' on "%s::%s()"', $reflector->getDeclaringClass()->name, $reflector->name), - $reflector instanceof \ReflectionProperty => \sprintf(' on "%s::$%s"', $reflector->getDeclaringClass()->name, $reflector->name), - default => '', - }; - - throw new MappingException(\sprintf('Could not instantiate attribute "%s"%s.', $attribute->getName(), $on), 0, $e); - } - } - } - } - - private function setAttributeContextsForGroups(Context $attribute, AttributeMetadataInterface $attributeMetadata): void - { - $context = $attribute->context; - $groups = $attribute->groups; - $normalizationContext = $attribute->normalizationContext; - $denormalizationContext = $attribute->denormalizationContext; - - if ($normalizationContext || $context) { - $attributeMetadata->setNormalizationContextForGroups($normalizationContext ?: $context, $groups); - } - - if ($denormalizationContext || $context) { - $attributeMetadata->setDenormalizationContextForGroups($denormalizationContext ?: $context, $groups); - } - } - - private function isKnownAttribute(string $attributeName): bool - { - foreach (self::KNOWN_ATTRIBUTES as $knownAttribute) { - if (is_a($attributeName, $knownAttribute, true)) { - return true; - } - } - - return false; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Loader/FileLoader.php b/app/vendor/symfony/serializer/Mapping/Loader/FileLoader.php deleted file mode 100644 index ac68d21e8..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/FileLoader.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Loader; - -use Symfony\Component\Serializer\Exception\MappingException; - -/** - * Base class for all file based loaders. - * - * @author Kévin Dunglas - */ -abstract class FileLoader implements LoaderInterface -{ - /** - * @param string $file The mapping file to load - * - * @throws MappingException if the mapping file does not exist or is not readable - */ - public function __construct( - protected string $file, - ) { - if (!is_file($file)) { - throw new MappingException(\sprintf('The mapping file "%s" does not exist.', $file)); - } - - if (!is_readable($file)) { - throw new MappingException(\sprintf('The mapping file "%s" is not readable.', $file)); - } - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php b/app/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php deleted file mode 100644 index 41abf8cec..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Loader; - -use Symfony\Component\Serializer\Exception\MappingException; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; - -/** - * Calls multiple {@link LoaderInterface} instances in a chain. - * - * This class accepts multiple instances of LoaderInterface to be passed to the - * constructor. When {@link loadClassMetadata()} is called, the same method is called - * in all of these loaders, regardless of whether any of them was - * successful or not. - * - * @author Bernhard Schussek - * @author Kévin Dunglas - */ -class LoaderChain implements LoaderInterface -{ - /** - * Accepts a list of LoaderInterface instances. - * - * @param LoaderInterface[] $loaders An array of LoaderInterface instances - * - * @throws MappingException If any of the loaders does not implement LoaderInterface - */ - public function __construct(private readonly array $loaders) - { - foreach ($loaders as $loader) { - if (!$loader instanceof LoaderInterface) { - throw new MappingException(\sprintf('Class "%s" is expected to implement LoaderInterface.', get_debug_type($loader))); - } - } - } - - public function loadClassMetadata(ClassMetadataInterface $metadata): bool - { - $success = false; - - foreach ($this->loaders as $loader) { - $success = $loader->loadClassMetadata($metadata) || $success; - } - - return $success; - } - - /** - * @return LoaderInterface[] - */ - public function getLoaders(): array - { - return $this->loaders; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php b/app/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php deleted file mode 100644 index 4801e4764..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Loader; - -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; - -/** - * Loads {@link ClassMetadataInterface}. - * - * @author Kévin Dunglas - */ -interface LoaderInterface -{ - public function loadClassMetadata(ClassMetadataInterface $classMetadata): bool; -} diff --git a/app/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php b/app/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php deleted file mode 100644 index fb64bb98c..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php +++ /dev/null @@ -1,186 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Loader; - -use Symfony\Component\Config\Util\XmlUtils; -use Symfony\Component\PropertyAccess\Exception\InvalidPropertyPathException; -use Symfony\Component\PropertyAccess\PropertyPath; -use Symfony\Component\Serializer\Exception\MappingException; -use Symfony\Component\Serializer\Mapping\AttributeMetadata; -use Symfony\Component\Serializer\Mapping\ClassDiscriminatorMapping; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; - -/** - * Loads XML mapping files. - * - * @author Kévin Dunglas - */ -class XmlFileLoader extends FileLoader -{ - /** - * An array of {@class \SimpleXMLElement} instances. - * - * @var array|null - */ - private ?array $classes = null; - - public function loadClassMetadata(ClassMetadataInterface $classMetadata): bool - { - if (!$this->classes ??= $this->getClassesFromXml()) { - return false; - } - - $attributesMetadata = $classMetadata->getAttributesMetadata(); - - if (isset($this->classes[$classMetadata->getName()])) { - $xml = $this->classes[$classMetadata->getName()]; - - foreach ($xml->attribute as $attribute) { - $attributeName = (string) $attribute['name']; - - if (isset($attributesMetadata[$attributeName])) { - $attributeMetadata = $attributesMetadata[$attributeName]; - } else { - $attributeMetadata = new AttributeMetadata($attributeName); - $classMetadata->addAttributeMetadata($attributeMetadata); - } - - foreach ($attribute->group as $group) { - $attributeMetadata->addGroup((string) $group); - } - - if (isset($attribute['max-depth'])) { - $attributeMetadata->setMaxDepth((int) $attribute['max-depth']); - } - - if (isset($attribute['serialized-name'])) { - $attributeMetadata->setSerializedName((string) $attribute['serialized-name']); - } - - if (isset($attribute['serialized-path'])) { - try { - $attributeMetadata->setSerializedPath(new PropertyPath((string) $attribute['serialized-path'])); - } catch (InvalidPropertyPathException) { - throw new MappingException(\sprintf('The "serialized-path" value must be a valid property path for the attribute "%s" of the class "%s".', $attributeName, $classMetadata->getName())); - } - } - - if (isset($attribute['ignore'])) { - $attributeMetadata->setIgnore(XmlUtils::phpize($attribute['ignore'])); - } - - foreach ($attribute->context as $node) { - $groups = (array) $node->group; - $context = $this->parseContext($node->entry); - $attributeMetadata->setNormalizationContextForGroups($context, $groups); - $attributeMetadata->setDenormalizationContextForGroups($context, $groups); - } - - foreach ($attribute->normalization_context as $node) { - $groups = (array) $node->group; - $context = $this->parseContext($node->entry); - $attributeMetadata->setNormalizationContextForGroups($context, $groups); - } - - foreach ($attribute->denormalization_context as $node) { - $groups = (array) $node->group; - $context = $this->parseContext($node->entry); - $attributeMetadata->setDenormalizationContextForGroups($context, $groups); - } - } - - if (isset($xml->{'discriminator-map'})) { - $mapping = []; - foreach ($xml->{'discriminator-map'}->mapping as $element) { - $elementAttributes = $element->attributes(); - $mapping[(string) $elementAttributes->type] = (string) $elementAttributes->class; - } - - $classMetadata->setClassDiscriminatorMapping(new ClassDiscriminatorMapping( - (string) $xml->{'discriminator-map'}->attributes()->{'type-property'}, - $mapping, - $xml->{'discriminator-map'}->attributes()->{'default-type'} ?? null - )); - } - - return true; - } - - return false; - } - - /** - * Return the names of the classes mapped in this file. - * - * @return class-string[] - */ - public function getMappedClasses(): array - { - return array_keys($this->classes ??= $this->getClassesFromXml()); - } - - /** - * Parses an XML File. - * - * @throws MappingException - */ - private function parseFile(string $file): \SimpleXMLElement - { - try { - $dom = XmlUtils::loadFile($file, __DIR__.'/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd'); - } catch (\Exception $e) { - throw new MappingException($e->getMessage(), $e->getCode(), $e); - } - - return simplexml_import_dom($dom); - } - - /** - * @return array - */ - private function getClassesFromXml(): array - { - $xml = $this->parseFile($this->file); - $classes = []; - - foreach ($xml->class as $class) { - $classes[(string) $class['name']] = $class; - } - - return $classes; - } - - private function parseContext(\SimpleXMLElement $nodes): array - { - $context = []; - - foreach ($nodes as $node) { - if (\count($node) > 0) { - if (\count($node->entry) > 0) { - $value = $this->parseContext($node->entry); - } else { - $value = []; - } - } else { - $value = XmlUtils::phpize($node); - } - - if (isset($node['name'])) { - $context[(string) $node['name']] = $value; - } else { - $context[] = $value; - } - } - - return $context; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php b/app/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php deleted file mode 100644 index 648de0db7..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php +++ /dev/null @@ -1,177 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Mapping\Loader; - -use Symfony\Component\PropertyAccess\Exception\InvalidPropertyPathException; -use Symfony\Component\PropertyAccess\PropertyPath; -use Symfony\Component\Serializer\Exception\MappingException; -use Symfony\Component\Serializer\Mapping\AttributeMetadata; -use Symfony\Component\Serializer\Mapping\ClassDiscriminatorMapping; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; -use Symfony\Component\Yaml\Parser; -use Symfony\Component\Yaml\Yaml; - -/** - * YAML File Loader. - * - * @author Kévin Dunglas - */ -class YamlFileLoader extends FileLoader -{ - private ?Parser $yamlParser = null; - - /** - * @var array - */ - private ?array $classes = null; - - public function loadClassMetadata(ClassMetadataInterface $classMetadata): bool - { - if (!$this->classes ??= $this->getClassesFromYaml()) { - return false; - } - - if (!isset($this->classes[$classMetadata->getName()])) { - return false; - } - - $yaml = $this->classes[$classMetadata->getName()]; - - if (isset($yaml['attributes']) && \is_array($yaml['attributes'])) { - $attributesMetadata = $classMetadata->getAttributesMetadata(); - - foreach ($yaml['attributes'] as $attribute => $data) { - if (isset($attributesMetadata[$attribute])) { - $attributeMetadata = $attributesMetadata[$attribute]; - } else { - $attributeMetadata = new AttributeMetadata($attribute); - $classMetadata->addAttributeMetadata($attributeMetadata); - } - - if (isset($data['groups'])) { - if (!\is_array($data['groups'])) { - throw new MappingException(\sprintf('The "groups" key must be an array of strings in "%s" for the attribute "%s" of the class "%s".', $this->file, $attribute, $classMetadata->getName())); - } - - foreach ($data['groups'] as $group) { - if (!\is_string($group)) { - throw new MappingException(\sprintf('Group names must be strings in "%s" for the attribute "%s" of the class "%s".', $this->file, $attribute, $classMetadata->getName())); - } - - $attributeMetadata->addGroup($group); - } - } - - if (isset($data['max_depth'])) { - if (!\is_int($data['max_depth'])) { - throw new MappingException(\sprintf('The "max_depth" value must be an integer in "%s" for the attribute "%s" of the class "%s".', $this->file, $attribute, $classMetadata->getName())); - } - - $attributeMetadata->setMaxDepth($data['max_depth']); - } - - if (isset($data['serialized_name'])) { - if (!\is_string($data['serialized_name']) || '' === $data['serialized_name']) { - throw new MappingException(\sprintf('The "serialized_name" value must be a non-empty string in "%s" for the attribute "%s" of the class "%s".', $this->file, $attribute, $classMetadata->getName())); - } - - $attributeMetadata->setSerializedName($data['serialized_name']); - } - - if (isset($data['serialized_path'])) { - try { - $attributeMetadata->setSerializedPath(new PropertyPath((string) $data['serialized_path'])); - } catch (InvalidPropertyPathException) { - throw new MappingException(\sprintf('The "serialized_path" value must be a valid property path in "%s" for the attribute "%s" of the class "%s".', $this->file, $attribute, $classMetadata->getName())); - } - } - - if (isset($data['ignore'])) { - if (!\is_bool($data['ignore'])) { - throw new MappingException(\sprintf('The "ignore" value must be a boolean in "%s" for the attribute "%s" of the class "%s".', $this->file, $attribute, $classMetadata->getName())); - } - - $attributeMetadata->setIgnore($data['ignore']); - } - - foreach ($data['contexts'] ?? [] as $line) { - $groups = $line['groups'] ?? []; - - if ($context = $line['context'] ?? false) { - $attributeMetadata->setNormalizationContextForGroups($context, $groups); - $attributeMetadata->setDenormalizationContextForGroups($context, $groups); - } - - if ($context = $line['normalization_context'] ?? false) { - $attributeMetadata->setNormalizationContextForGroups($context, $groups); - } - - if ($context = $line['denormalization_context'] ?? false) { - $attributeMetadata->setDenormalizationContextForGroups($context, $groups); - } - } - } - } - - if (isset($yaml['discriminator_map'])) { - if (!isset($yaml['discriminator_map']['type_property'])) { - throw new MappingException(\sprintf('The "type_property" key must be set for the discriminator map of the class "%s" in "%s".', $classMetadata->getName(), $this->file)); - } - - if (!isset($yaml['discriminator_map']['mapping'])) { - throw new MappingException(\sprintf('The "mapping" key must be set for the discriminator map of the class "%s" in "%s".', $classMetadata->getName(), $this->file)); - } - - $classMetadata->setClassDiscriminatorMapping(new ClassDiscriminatorMapping( - $yaml['discriminator_map']['type_property'], - $yaml['discriminator_map']['mapping'], - $yaml['discriminator_map']['default_type'] ?? null - )); - } - - return true; - } - - /** - * Return the names of the classes mapped in this file. - * - * @return class-string[] - */ - public function getMappedClasses(): array - { - return array_keys($this->classes ??= $this->getClassesFromYaml()); - } - - /** - * @return array - */ - private function getClassesFromYaml(): array - { - if (!stream_is_local($this->file)) { - throw new MappingException(\sprintf('This is not a local file "%s".', $this->file)); - } - - $this->yamlParser ??= new Parser(); - - $classes = $this->yamlParser->parseFile($this->file, Yaml::PARSE_CONSTANT); - - if (!$classes) { - return []; - } - - if (!\is_array($classes)) { - throw new MappingException(\sprintf('The file "%s" must contain a YAML array.', $this->file)); - } - - return $classes; - } -} diff --git a/app/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd b/app/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd deleted file mode 100644 index 06c6ddfb1..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/vendor/symfony/serializer/Mapping/Loader/schema/serialization.schema.json b/app/vendor/symfony/serializer/Mapping/Loader/schema/serialization.schema.json deleted file mode 100644 index 8344ed52f..000000000 --- a/app/vendor/symfony/serializer/Mapping/Loader/schema/serialization.schema.json +++ /dev/null @@ -1,418 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Symfony Serializer Mapping Schema", - "description": "JSON schema for Symfony's serialization mapping", - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[A-Za-z0-9\\\\_]+$": { - "type": "object", - "description": "Class metadata configuration", - "additionalProperties": false, - "properties": { - "attributes": { - "type": "object", - "description": "Attribute metadata configurations", - "additionalProperties": { - "oneOf": [ - { - "type": "object", - "description": "Attribute metadata configuration", - "additionalProperties": false, - "properties": { - "groups": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Serialization groups for this attribute" - }, - "max_depth": { - "type": "integer", - "minimum": 0, - "description": "Maximum serialization depth for this attribute" - }, - "serialized_name": { - "type": "string", - "minLength": 1, - "description": "Custom name for serialization" - }, - "serialized_path": { - "type": "string", - "description": "Property path for serialization (e.g., '[one][two]')" - }, - "ignore": { - "type": "boolean", - "description": "Whether to ignore this attribute during serialization" - }, - "contexts": { - "type": "array", - "items": { - "type": "object", - "description": "Context entry with optional groups", - "additionalProperties": false, - "properties": { - "context": { - "$ref": "#/definitions/contextObject" - }, - "normalization_context": { - "$ref": "#/definitions/contextObject" - }, - "denormalization_context": { - "$ref": "#/definitions/contextObject" - }, - "groups": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Groups this context applies to" - } - }, - "anyOf": [ - { - "required": ["context"] - }, - { - "required": ["normalization_context"] - }, - { - "required": ["denormalization_context"] - } - ] - }, - "description": "Context configurations for this attribute" - } - } - }, - { - "type": "null", - "description": "Empty attribute metadata" - } - ] - } - }, - "discriminator_map": { - "type": "object", - "description": "Class discriminator mapping configuration", - "additionalProperties": false, - "required": ["type_property", "mapping"], - "properties": { - "type_property": { - "type": "string", - "description": "Property name used to determine the class type" - }, - "mapping": { - "type": "object", - "description": "Mapping from type values to class names", - "additionalProperties": { - "type": "string" - } - }, - "default_type": { - "type": "string", - "description": "Default type when no mapping is found" - } - } - } - } - } - }, - "definitions": { - "contextObject": { - "type": "object", - "description": "Context object with key-value pairs", - "properties": { - "circular_reference_limit": { - "type": "integer", - "minimum": 1, - "description": "How many loops of circular reference to allow while normalizing" - }, - "object_to_populate": { - "type": "object", - "description": "Object to be updated instead of creating a new instance" - }, - "groups": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ], - "description": "Groups containing attributes to (de)normalize" - }, - "attributes": { - "type": "object", - "description": "Attributes to (de)normalize" - }, - "allow_extra_attributes": { - "type": "boolean", - "description": "Whether to ignore extra attributes or throw an exception" - }, - "default_constructor_arguments": { - "type": "object", - "description": "Hashmap of classes containing hashmaps of constructor argument => default value" - }, - "callbacks": { - "type": "object", - "description": "Hashmap of field name => callable to normalize this field" - }, - "circular_reference_handler": { - "type": "object", - "description": "Handler to call when a circular reference has been detected" - }, - "ignored_attributes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Attributes to be skipped when normalizing an object tree" - }, - "require_all_properties": { - "type": "boolean", - "description": "Whether to require all properties to be listed in the input" - }, - "enable_max_depth": { - "type": "boolean", - "description": "Whether to respect the max depth metadata on fields" - }, - "depth_key_pattern": { - "type": "string", - "description": "Pattern to keep track of the current depth (must contain exactly two string placeholders)" - }, - "disable_type_enforcement": { - "type": "boolean", - "description": "Whether verifying types match during denormalization" - }, - "skip_null_values": { - "type": "boolean", - "description": "Whether fields with the value null should be output during normalization" - }, - "skip_uninitialized_values": { - "type": "boolean", - "description": "Whether uninitialized typed class properties should be excluded during normalization" - }, - "max_depth_handler": { - "type": "object", - "description": "Callback to allow to set a value for an attribute when the max depth has been reached" - }, - "exclude_from_cache_keys": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Context keys not relevant to determine which attributes to (de)normalize" - }, - "deep_object_to_populate": { - "type": "boolean", - "description": "Whether to tell the denormalizer to also populate existing objects on attributes" - }, - "preserve_empty_objects": { - "type": "boolean", - "description": "Whether an empty object should be kept as an object or converted to a list" - }, - "normalize_visibility": { - "type": "integer", - "description": "Whether fields should be output based on visibility (PropertyNormalizer)" - }, - "format": { - "type": "string", - "description": "Format of the date (DateTimeNormalizer)" - }, - "timezone": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "object" - } - ], - "description": "Timezone of the date (DateTimeNormalizer)" - }, - "forceTimezone": { - "type": "boolean", - "description": "Whether to enforce the timezone during denormalization (DateTimeNormalizer)" - }, - "cast": { - "enum": ["int", "float"], - "description": "Cast type for DateTime (DateTimeNormalizer)" - }, - "encode_options": { - "type": "integer", - "minimum": 1, - "description": "json_encode flags bitmask (JsonEncoder)" - }, - "decode_options": { - "type": "integer", - "minimum": 1, - "description": "json_decode flags bitmask (JsonEncoder)" - }, - "associative": { - "type": "boolean", - "description": "Whether decoded objects will be given as associative arrays (JsonEncoder)" - }, - "recursion_depth": { - "type": "integer", - "minimum": 1, - "description": "Maximum recursion depth (JsonEncoder)" - }, - "as_collection": { - "type": "boolean", - "description": "Whether the decoded result should be considered as a collection (XmlEncoder/CsvEncoder)" - }, - "decoder_ignored_node_types": { - "type": "array", - "items": { - "type": "integer" - }, - "description": "Node types to ignore while decoding (XmlEncoder)" - }, - "encoder_ignored_node_types": { - "type": "array", - "items": { - "type": "integer" - }, - "description": "Node types to ignore while encoding (XmlEncoder)" - }, - "encoding": { - "type": "string", - "description": "DOMDocument encoding (XmlEncoder)" - }, - "format_output": { - "type": "boolean", - "description": "Whether to encode with indentation and extra space (XmlEncoder)" - }, - "load_options": { - "type": "integer", - "minimum": 1, - "description": "DOMDocument::loadXml options bitmask (XmlEncoder)" - }, - "save_options": { - "type": "integer", - "minimum": 1, - "description": "DOMDocument::saveXml options bitmask (XmlEncoder)" - }, - "remove_empty_tags": { - "type": "boolean", - "description": "Whether to keep empty nodes (XmlEncoder)" - }, - "root_node_name": { - "type": "string", - "description": "Name of the root node (XmlEncoder)" - }, - "standalone": { - "type": "boolean", - "description": "Whether the document will be standalone (XmlEncoder)" - }, - "type_cast_attributes": { - "type": "boolean", - "description": "Whether casting numeric string attributes to integers or floats (XmlEncoder)" - }, - "version": { - "type": "string", - "description": "Version number of the document (XmlEncoder)" - }, - "cdata_wrapping": { - "type": "boolean", - "description": "Whether to wrap strings within CDATA sections (XmlEncoder)" - }, - "cdata_wrapping_pattern": { - "type": "string", - "description": "Pattern used to evaluate if a CDATA section should be added (XmlEncoder)" - }, - "ignore_empty_attributes": { - "type": "boolean", - "description": "Whether to ignore empty attributes (XmlEncoder)" - }, - "preserve_numeric_keys": { - "type": "boolean", - "description": "Whether to preserve numeric keys in array (XmlEncoder)" - }, - "inline_threshold": { - "type": "integer", - "description": "Threshold to switch to inline YAML (YamlEncoder)" - }, - "indent_level": { - "type": "integer", - "minimum": 0, - "description": "Indentation level (YamlEncoder)" - }, - "flags": { - "type": "integer", - "description": "Yaml::dump flags bitmask (YamlEncoder)" - }, - "preserved_empty_objects": { - "type": "boolean", - "description": "Whether to preserve empty objects or convert them to null (YamlEncoder)" - }, - "delimiter": { - "type": "string", - "maxLength": 1, - "description": "Column delimiter character (CsvEncoder)" - }, - "enclosure": { - "type": "string", - "maxLength": 1, - "description": "Field enclosure character (CsvEncoder)" - }, - "escape_char": { - "type": "string", - "maxLength": 1, - "description": "Escape character (CsvEncoder, deprecated)" - }, - "key_separator": { - "type": "string", - "description": "Key separator when (un)flattening arrays (CsvEncoder)" - }, - "headers": { - "type": "array", - "description": "Headers (CsvEncoder)" - }, - "escaped_formulas": { - "type": "boolean", - "description": "Whether formulas should be escaped (CsvEncoder)" - }, - "no_headers": { - "type": "boolean", - "description": "Whether the input/output is containing headers (CsvEncoder)" - }, - "end_of_line": { - "type": "string", - "description": "End of line characters (CsvEncoder)" - }, - "output_utf8_bom": { - "type": "boolean", - "description": "Whether to add the UTF-8 Byte Order Mark (CsvEncoder)" - } - }, - "additionalProperties": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "type": "array" - }, - { - "type": "object" - } - ] - } - } - } -} diff --git a/app/vendor/symfony/serializer/NameConverter/AdvancedNameConverterInterface.php b/app/vendor/symfony/serializer/NameConverter/AdvancedNameConverterInterface.php deleted file mode 100644 index 975d28fd3..000000000 --- a/app/vendor/symfony/serializer/NameConverter/AdvancedNameConverterInterface.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\NameConverter; - -/** - * Gives access to the class, the format and the context in the property name converters. - * - * @author Kévin Dunglas - * - * @deprecated since Symfony 7.2, use NameConverterInterface instead - */ -interface AdvancedNameConverterInterface extends NameConverterInterface -{ - public function normalize(string $propertyName, ?string $class = null, ?string $format = null, array $context = []): string; - - public function denormalize(string $propertyName, ?string $class = null, ?string $format = null, array $context = []): string; -} diff --git a/app/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php b/app/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php deleted file mode 100644 index 033ec94b7..000000000 --- a/app/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\NameConverter; - -use Symfony\Component\Serializer\Exception\UnexpectedPropertyException; - -/** - * CamelCase to Underscore name converter. - * - * @author Kévin Dunglas - * @author Aurélien Pillevesse - */ -class CamelCaseToSnakeCaseNameConverter implements NameConverterInterface -{ - /** - * Require all properties to be written in snake_case. - */ - public const REQUIRE_SNAKE_CASE_PROPERTIES = 'require_snake_case_properties'; - - /** - * @param string[]|null $attributes The list of attributes to rename or null for all attributes - * @param bool $lowerCamelCase Use lowerCamelCase style - */ - public function __construct( - private ?array $attributes = null, - private bool $lowerCamelCase = true, - ) { - } - - /** - * @param class-string|null $class - * @param string|null $format - * @param array $context - */ - public function normalize(string $propertyName/* , ?string $class = null, ?string $format = null, array $context = [] */): string - { - if (null === $this->attributes || \in_array($propertyName, $this->attributes, true)) { - return strtolower(preg_replace('/[A-Z]/', '_\\0', lcfirst($propertyName))); - } - - return $propertyName; - } - - /** - * @param class-string|null $class - * @param string|null $format - * @param array $context - */ - public function denormalize(string $propertyName/* , ?string $class = null, ?string $format = null, array $context = [] */): string - { - $class = 1 < \func_num_args() ? func_get_arg(1) : null; - $format = 2 < \func_num_args() ? func_get_arg(2) : null; - $context = 3 < \func_num_args() ? func_get_arg(3) : []; - - if (($context[self::REQUIRE_SNAKE_CASE_PROPERTIES] ?? false) && $propertyName !== $this->normalize($propertyName, $class, $format, $context)) { - throw new UnexpectedPropertyException($propertyName); - } - - $camelCasedName = preg_replace_callback('/(^|_|\.)+(.)/', fn ($match) => ('.' === $match[1] ? '_' : '').strtoupper($match[2]), $propertyName); - - if ($this->lowerCamelCase) { - $camelCasedName = lcfirst($camelCasedName); - } - - if (null === $this->attributes || \in_array($camelCasedName, $this->attributes, true)) { - return $camelCasedName; - } - - return $propertyName; - } -} diff --git a/app/vendor/symfony/serializer/NameConverter/MetadataAwareNameConverter.php b/app/vendor/symfony/serializer/NameConverter/MetadataAwareNameConverter.php deleted file mode 100644 index c72f148eb..000000000 --- a/app/vendor/symfony/serializer/NameConverter/MetadataAwareNameConverter.php +++ /dev/null @@ -1,155 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\NameConverter; - -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; -use Symfony\Component\Serializer\Normalizer\AbstractNormalizer; - -/** - * @author Fabien Bourigault - */ -final class MetadataAwareNameConverter implements AdvancedNameConverterInterface -{ - /** - * @var array> - */ - private static array $normalizeCache = []; - - /** - * @var array> - */ - private static array $denormalizeCache = []; - - /** - * @var array> - */ - private static array $attributesMetadataCache = []; - - public function __construct( - private readonly ClassMetadataFactoryInterface $metadataFactory, - private readonly ?NameConverterInterface $fallbackNameConverter = null, - ) { - } - - public function normalize(string $propertyName, ?string $class = null, ?string $format = null, array $context = []): string - { - if (null === $class) { - return $this->normalizeFallback($propertyName, $class, $format, $context); - } - - if (!\array_key_exists($class, self::$normalizeCache) || !\array_key_exists($propertyName, self::$normalizeCache[$class])) { - self::$normalizeCache[$class][$propertyName] = $this->getCacheValueForNormalization($propertyName, $class); - } - - return self::$normalizeCache[$class][$propertyName] ?? $this->normalizeFallback($propertyName, $class, $format, $context); - } - - public function denormalize(string $propertyName, ?string $class = null, ?string $format = null, array $context = []): string - { - if (null === $class) { - return $this->denormalizeFallback($propertyName, $class, $format, $context); - } - - $cacheKey = $this->getCacheKey($class, $context); - if (!\array_key_exists($cacheKey, self::$denormalizeCache) || !\array_key_exists($propertyName, self::$denormalizeCache[$cacheKey])) { - self::$denormalizeCache[$cacheKey][$propertyName] = $this->getCacheValueForDenormalization($propertyName, $class, $context); - } - - return self::$denormalizeCache[$cacheKey][$propertyName] ?? $this->denormalizeFallback($propertyName, $class, $format, $context); - } - - private function getCacheValueForNormalization(string $propertyName, string $class): ?string - { - if (!$this->metadataFactory->hasMetadataFor($class)) { - return null; - } - - $attributesMetadata = $this->metadataFactory->getMetadataFor($class)->getAttributesMetadata(); - if (!\array_key_exists($propertyName, $attributesMetadata)) { - return null; - } - - if (null !== $attributesMetadata[$propertyName]->getSerializedName() && null !== $attributesMetadata[$propertyName]->getSerializedPath()) { - throw new LogicException(\sprintf('Found SerializedName and SerializedPath attributes on property "%s" of class "%s".', $propertyName, $class)); - } - - return $attributesMetadata[$propertyName]->getSerializedName() ?? null; - } - - private function normalizeFallback(string $propertyName, ?string $class = null, ?string $format = null, array $context = []): string - { - return $this->fallbackNameConverter ? $this->fallbackNameConverter->normalize($propertyName, $class, $format, $context) : $propertyName; - } - - private function getCacheValueForDenormalization(string $propertyName, string $class, array $context): ?string - { - $cacheKey = $this->getCacheKey($class, $context); - if (!\array_key_exists($cacheKey, self::$attributesMetadataCache)) { - self::$attributesMetadataCache[$cacheKey] = $this->getCacheValueForAttributesMetadata($class, $context); - } - - return self::$attributesMetadataCache[$cacheKey][$propertyName] ?? null; - } - - private function denormalizeFallback(string $propertyName, ?string $class = null, ?string $format = null, array $context = []): string - { - return $this->fallbackNameConverter ? $this->fallbackNameConverter->denormalize($propertyName, $class, $format, $context) : $propertyName; - } - - /** - * @return array - */ - private function getCacheValueForAttributesMetadata(string $class, array $context): array - { - if (!$this->metadataFactory->hasMetadataFor($class)) { - return []; - } - - $classMetadata = $this->metadataFactory->getMetadataFor($class); - - $cache = []; - foreach ($classMetadata->getAttributesMetadata() as $name => $metadata) { - if (null === $metadata->getSerializedName()) { - continue; - } - - if (null !== $metadata->getSerializedName() && null !== $metadata->getSerializedPath()) { - throw new LogicException(\sprintf('Found SerializedName and SerializedPath attributes on property "%s" of class "%s".', $name, $class)); - } - - $metadataGroups = $metadata->getGroups(); - $contextGroups = (array) ($context[AbstractNormalizer::GROUPS] ?? []); - - if ($contextGroups && !$metadataGroups) { - continue; - } - - if ($metadataGroups && !array_intersect($metadataGroups, $contextGroups) && !\in_array('*', $contextGroups, true)) { - continue; - } - - $cache[$metadata->getSerializedName()] = $name; - } - - return $cache; - } - - private function getCacheKey(string $class, array $context): string - { - if (isset($context['cache_key'])) { - return $class.'-'.$context['cache_key']; - } - - return $class.hash('xxh128', serialize($context[AbstractNormalizer::GROUPS] ?? [])); - } -} diff --git a/app/vendor/symfony/serializer/NameConverter/NameConverterInterface.php b/app/vendor/symfony/serializer/NameConverter/NameConverterInterface.php deleted file mode 100644 index d6bfeceb4..000000000 --- a/app/vendor/symfony/serializer/NameConverter/NameConverterInterface.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\NameConverter; - -/** - * Defines the interface for property name converters. - * - * @author Kévin Dunglas - */ -interface NameConverterInterface -{ - /** - * Converts a property name to its normalized value. - * - * @param class-string|null $class - * @param string|null $format - * @param array $context - */ - public function normalize(string $propertyName/* , ?string $class = null, ?string $format = null, array $context = [] */): string; - - /** - * Converts a property name to its denormalized value. - * - * @param class-string|null $class - * @param string|null $format - * @param array $context - */ - public function denormalize(string $propertyName/* , ?string $class = null, ?string $format = null, array $context = [] */): string; -} diff --git a/app/vendor/symfony/serializer/NameConverter/SnakeCaseToCamelCaseNameConverter.php b/app/vendor/symfony/serializer/NameConverter/SnakeCaseToCamelCaseNameConverter.php deleted file mode 100644 index ab8a06351..000000000 --- a/app/vendor/symfony/serializer/NameConverter/SnakeCaseToCamelCaseNameConverter.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\NameConverter; - -use Symfony\Component\Serializer\Exception\UnexpectedPropertyException; - -/** - * Underscore to camelCase name converter. - * - * @author Kévin Dunglas - */ -final class SnakeCaseToCamelCaseNameConverter implements NameConverterInterface -{ - /** - * Require all properties to be written in camelCase. - */ - public const REQUIRE_CAMEL_CASE_PROPERTIES = 'require_camel_case_properties'; - - /** - * @param string[]|null $attributes The list of attributes to rename or null for all attributes - * @param bool $lowerCamelCase Use lowerCamelCase style - */ - public function __construct( - private readonly ?array $attributes = null, - private readonly bool $lowerCamelCase = true, - ) { - } - - /** - * @param class-string|null $class - * @param array $context - */ - public function normalize(string $propertyName, ?string $class = null, ?string $format = null, array $context = []): string - { - if (null !== $this->attributes && !\in_array($propertyName, $this->attributes, true)) { - return $propertyName; - } - - $camelCasedName = preg_replace_callback( - '/(^|_|\.)+(.)/', - fn ($match) => ('.' === $match[1] ? '_' : '').strtoupper($match[2]), - $propertyName - ); - - if ($this->lowerCamelCase) { - $camelCasedName = lcfirst($camelCasedName); - } - - return $camelCasedName; - } - - /** - * @param class-string|null $class - * @param array $context - */ - public function denormalize(string $propertyName, ?string $class = null, ?string $format = null, array $context = []): string - { - if (($context[self::REQUIRE_CAMEL_CASE_PROPERTIES] ?? false) && $propertyName !== $this->normalize($propertyName, $class, $format, $context)) { - throw new UnexpectedPropertyException($propertyName); - } - - $snakeCased = strtolower(preg_replace('/[A-Z]/', '_\\0', lcfirst($propertyName))); - if (null === $this->attributes || \in_array($snakeCased, $this->attributes, true)) { - return $snakeCased; - } - - return $propertyName; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php b/app/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php deleted file mode 100644 index 6c9e785fd..000000000 --- a/app/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php +++ /dev/null @@ -1,594 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\CircularReferenceException; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Exception\MissingConstructorArgumentsException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; -use Symfony\Component\Serializer\Exception\RuntimeException; -use Symfony\Component\Serializer\Mapping\AttributeMetadataInterface; -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; -use Symfony\Component\Serializer\NameConverter\NameConverterInterface; -use Symfony\Component\Serializer\SerializerAwareInterface; -use Symfony\Component\Serializer\SerializerAwareTrait; - -/** - * Normalizer implementation. - * - * @author Kévin Dunglas - */ -abstract class AbstractNormalizer implements NormalizerInterface, DenormalizerInterface, SerializerAwareInterface -{ - use ObjectToPopulateTrait; - use SerializerAwareTrait; - - /* constants to configure the context */ - - /** - * How many loops of circular reference to allow while normalizing. - * - * The default value of 1 means that when we encounter the same object a - * second time, we consider that a circular reference. - * - * You can raise this value for special cases, e.g. in combination with the - * max depth setting of the object normalizer. - */ - public const CIRCULAR_REFERENCE_LIMIT = 'circular_reference_limit'; - - /** - * Instead of creating a new instance of an object, update the specified object. - * - * If you have a nested structure, child objects will be overwritten with - * new instances unless you set DEEP_OBJECT_TO_POPULATE to true. - */ - public const OBJECT_TO_POPULATE = 'object_to_populate'; - - /** - * Only (de)normalize attributes that are in the specified groups. - */ - public const GROUPS = 'groups'; - - /** - * Limit (de)normalize to the specified names. - * - * For nested structures, this list needs to reflect the object tree. - */ - public const ATTRIBUTES = 'attributes'; - - /** - * If ATTRIBUTES are specified, and the source has fields that are not part of that list, - * either ignore those attributes (true) or throw an ExtraAttributesException (false). - */ - public const ALLOW_EXTRA_ATTRIBUTES = 'allow_extra_attributes'; - - /** - * Hashmap of default values for constructor arguments. - * - * The names need to match the parameter names in the constructor arguments. - */ - public const DEFAULT_CONSTRUCTOR_ARGUMENTS = 'default_constructor_arguments'; - - /** - * Hashmap of field name => callable to (de)normalize this field. - * - * The callable is called if the field is encountered with the arguments: - * - * - mixed $attributeValue value of this field - * - object|string $object the whole object being normalized or the object's class being denormalized - * - string $attributeName name of the attribute being (de)normalized - * - string $format the requested format - * - array $context the serialization context - */ - public const CALLBACKS = 'callbacks'; - - /** - * Handler to call when a circular reference has been detected. - * - * If you specify no handler, a CircularReferenceException is thrown. - * - * The method will be called with ($object, $format, $context) and its - * return value is returned as the result of the normalize call. - */ - public const CIRCULAR_REFERENCE_HANDLER = 'circular_reference_handler'; - - /** - * Skip the specified attributes when normalizing an object tree. - * - * This list is applied to each element of nested structures. - * - * Note: The behaviour for nested structures is different from ATTRIBUTES - * for historical reason. Aligning the behaviour would be a BC break. - */ - public const IGNORED_ATTRIBUTES = 'ignored_attributes'; - - /** - * Require all properties to be listed in the input instead of falling - * back to null for nullable ones. - */ - public const REQUIRE_ALL_PROPERTIES = 'require_all_properties'; - - /** - * Flag to control whether a non-boolean value should be filtered using the - * filter_var function with the {@see https://www.php.net/manual/fr/filter.filters.validate.php} - * \FILTER_VALIDATE_BOOL filter before casting it to a boolean. - * - * "0", "false", "off", "no" and "" will be cast to false. - * "1", "true", "on" and "yes" will be cast to true. - */ - public const FILTER_BOOL = 'filter_bool'; - - /** - * @internal - */ - protected const CIRCULAR_REFERENCE_LIMIT_COUNTERS = 'circular_reference_limit_counters'; - - protected array $defaultContext = [ - self::ALLOW_EXTRA_ATTRIBUTES => true, - self::CIRCULAR_REFERENCE_HANDLER => null, - self::CIRCULAR_REFERENCE_LIMIT => 1, - self::IGNORED_ATTRIBUTES => [], - ]; - - /** - * Sets the {@link ClassMetadataFactoryInterface} to use. - */ - public function __construct( - protected ?ClassMetadataFactoryInterface $classMetadataFactory = null, - protected ?NameConverterInterface $nameConverter = null, - array $defaultContext = [], - ) { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - - $this->validateCallbackContext($this->defaultContext, 'default'); - - if (isset($this->defaultContext[self::CIRCULAR_REFERENCE_HANDLER]) && !\is_callable($this->defaultContext[self::CIRCULAR_REFERENCE_HANDLER])) { - throw new InvalidArgumentException(\sprintf('Invalid callback found in the "%s" default context option.', self::CIRCULAR_REFERENCE_HANDLER)); - } - } - - /** - * Detects if the configured circular reference limit is reached. - * - * @throws CircularReferenceException - */ - protected function isCircularReference(object $object, array &$context): bool - { - $objectId = spl_object_id($object); - - $circularReferenceLimit = $context[self::CIRCULAR_REFERENCE_LIMIT] ?? $this->defaultContext[self::CIRCULAR_REFERENCE_LIMIT]; - if (isset($context[self::CIRCULAR_REFERENCE_LIMIT_COUNTERS][$objectId])) { - if ($context[self::CIRCULAR_REFERENCE_LIMIT_COUNTERS][$objectId] >= $circularReferenceLimit) { - unset($context[self::CIRCULAR_REFERENCE_LIMIT_COUNTERS][$objectId]); - - return true; - } - - ++$context[self::CIRCULAR_REFERENCE_LIMIT_COUNTERS][$objectId]; - } else { - $context[self::CIRCULAR_REFERENCE_LIMIT_COUNTERS][$objectId] = 1; - } - - return false; - } - - /** - * Handles a circular reference. - * - * If a circular reference handler is set, it will be called. Otherwise, a - * {@class CircularReferenceException} will be thrown. - * - * @final - * - * @throws CircularReferenceException - */ - protected function handleCircularReference(object $object, ?string $format = null, array $context = []): mixed - { - $circularReferenceHandler = $context[self::CIRCULAR_REFERENCE_HANDLER] ?? $this->defaultContext[self::CIRCULAR_REFERENCE_HANDLER]; - if ($circularReferenceHandler) { - return $circularReferenceHandler($object, $format, $context); - } - - throw new CircularReferenceException(\sprintf('A circular reference has been detected when serializing the object of class "%s" (configured limit: %d).', get_debug_type($object), $context[self::CIRCULAR_REFERENCE_LIMIT] ?? $this->defaultContext[self::CIRCULAR_REFERENCE_LIMIT])); - } - - /** - * Gets attributes to normalize using groups. - * - * @param bool $attributesAsString If false, return an array of {@link AttributeMetadataInterface} - * - * @return string[]|AttributeMetadataInterface[]|bool - * - * @throws LogicException if the 'allow_extra_attributes' context variable is false and no class metadata factory is provided - */ - protected function getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false): array|bool - { - $allowExtraAttributes = $context[self::ALLOW_EXTRA_ATTRIBUTES] ?? $this->defaultContext[self::ALLOW_EXTRA_ATTRIBUTES]; - if (!$this->classMetadataFactory) { - if (!$allowExtraAttributes) { - throw new LogicException(\sprintf('A class metadata factory must be provided in the constructor when setting "%s" to false.', self::ALLOW_EXTRA_ATTRIBUTES)); - } - - return false; - } - - $groups = $this->getGroups($context); - - $allowedAttributes = []; - $ignoreUsed = false; - - foreach ($this->classMetadataFactory->getMetadataFor($classOrObject)->getAttributesMetadata() as $attributeMetadata) { - if ($ignore = $attributeMetadata->isIgnored()) { - $ignoreUsed = true; - } - - // If you update this check, update accordingly the one in Symfony\Component\PropertyInfo\Extractor\SerializerExtractor::getProperties() - if ( - !$ignore - && ([] === $groups || \in_array('*', $groups, true) || array_intersect($attributeMetadata->getGroups(), $groups)) - && $this->isAllowedAttribute($classOrObject, $name = $attributeMetadata->getName(), null, $context) - ) { - $allowedAttributes[] = $attributesAsString ? $name : $attributeMetadata; - } - } - - if (!$ignoreUsed && [] === $groups && $allowExtraAttributes) { - // Backward Compatibility with the code using this method written before the introduction of @Ignore - return false; - } - - return $allowedAttributes; - } - - protected function getGroups(array $context): array - { - $groups = $context[self::GROUPS] ?? $this->defaultContext[self::GROUPS] ?? []; - - return \is_scalar($groups) ? (array) $groups : $groups; - } - - /** - * Is this attribute allowed? - */ - protected function isAllowedAttribute(object|string $classOrObject, string $attribute, ?string $format = null, array $context = []): bool - { - $ignoredAttributes = $context[self::IGNORED_ATTRIBUTES] ?? $this->defaultContext[self::IGNORED_ATTRIBUTES]; - if (\in_array($attribute, $ignoredAttributes, true)) { - return false; - } - - $attributes = $context[self::ATTRIBUTES] ?? $this->defaultContext[self::ATTRIBUTES] ?? null; - if (isset($attributes[$attribute])) { - // Nested attributes - return true; - } - - if (\is_array($attributes)) { - return \in_array($attribute, $attributes, true); - } - - return true; - } - - /** - * Normalizes the given data to an array. It's particularly useful during - * the denormalization process. - */ - protected function prepareForDenormalization(mixed $data): array - { - return (array) $data; - } - - /** - * Returns the method to use to construct an object. This method must be either - * the object constructor or static. - */ - protected function getConstructor(array &$data, string $class, array &$context, \ReflectionClass $reflectionClass, array|bool $allowedAttributes): ?\ReflectionMethod - { - return $reflectionClass->getConstructor(); - } - - /** - * Instantiates an object using constructor parameters when needed. - * - * This method also allows to denormalize data into an existing object if - * it is present in the context with the object_to_populate. This object - * is removed from the context before being returned to avoid side effects - * when recursively normalizing an object graph. - * - * @throws RuntimeException - * @throws MissingConstructorArgumentsException - */ - protected function instantiateObject(array &$data, string $class, array &$context, \ReflectionClass $reflectionClass, array|bool $allowedAttributes, ?string $format = null): object - { - if (null !== $object = $this->extractObjectToPopulate($class, $context, self::OBJECT_TO_POPULATE)) { - unset($context[self::OBJECT_TO_POPULATE]); - - return $object; - } - // clean up even if no match - unset($context[static::OBJECT_TO_POPULATE]); - - $constructor = $this->getConstructor($data, $class, $context, $reflectionClass, $allowedAttributes); - if ($constructor) { - if (true !== $constructor->isPublic()) { - return $reflectionClass->newInstanceWithoutConstructor(); - } - - $constructorParameters = $constructor->getParameters(); - $missingConstructorArguments = []; - $params = []; - $unsetKeys = []; - - foreach ($constructorParameters as $constructorParameter) { - $paramName = $constructorParameter->name; - $attributeContext = $this->getAttributeDenormalizationContext($class, $paramName, $context); - $key = $this->nameConverter ? $this->nameConverter->normalize($paramName, $class, $format, $context) : $paramName; - - $allowed = false === $allowedAttributes || \in_array($paramName, $allowedAttributes, true); - $ignored = !$this->isAllowedAttribute($class, $paramName, $format, $context); - if ($constructorParameter->isVariadic()) { - if ($allowed && !$ignored && (isset($data[$key]) || \array_key_exists($key, $data))) { - if (!\is_array($data[$key])) { - throw new RuntimeException(\sprintf('Cannot create an instance of "%s" from serialized data because the variadic parameter "%s" can only accept an array.', $class, $constructorParameter->name)); - } - - $variadicParameters = []; - foreach ($data[$key] as $parameterKey => $parameterData) { - try { - $variadicParameters[$parameterKey] = $this->denormalizeParameter($reflectionClass, $constructorParameter, $paramName, $parameterData, $attributeContext, $format); - } catch (NotNormalizableValueException $exception) { - if (!isset($context['not_normalizable_value_exceptions'])) { - throw $exception; - } - - $context['not_normalizable_value_exceptions'][] = $exception; - $params[$paramName] = $parameterData; - } - } - - $params = array_merge(array_values($params), $variadicParameters); - $unsetKeys[] = $key; - } - } elseif ($allowed && !$ignored && (isset($data[$key]) || \array_key_exists($key, $data))) { - $parameterData = $data[$key]; - if (null === $parameterData && $constructorParameter->allowsNull()) { - $params[$paramName] = null; - $unsetKeys[] = $key; - - continue; - } - - try { - $params[$paramName] = $this->denormalizeParameter($reflectionClass, $constructorParameter, $paramName, $parameterData, $attributeContext, $format); - } catch (NotNormalizableValueException $exception) { - if (!isset($context['not_normalizable_value_exceptions'])) { - throw $exception; - } - - $context['not_normalizable_value_exceptions'][] = $exception; - $params[$paramName] = $parameterData; - } - - $unsetKeys[] = $key; - } elseif (\array_key_exists($key, $context[static::DEFAULT_CONSTRUCTOR_ARGUMENTS][$class] ?? [])) { - $params[$paramName] = $context[static::DEFAULT_CONSTRUCTOR_ARGUMENTS][$class][$key]; - } elseif (\array_key_exists($key, $this->defaultContext[self::DEFAULT_CONSTRUCTOR_ARGUMENTS][$class] ?? [])) { - $params[$paramName] = $this->defaultContext[self::DEFAULT_CONSTRUCTOR_ARGUMENTS][$class][$key]; - } elseif ($constructorParameter->isDefaultValueAvailable()) { - $params[$paramName] = $constructorParameter->getDefaultValue(); - } elseif (!($context[self::REQUIRE_ALL_PROPERTIES] ?? $this->defaultContext[self::REQUIRE_ALL_PROPERTIES] ?? false) && $constructorParameter->hasType() && $constructorParameter->getType()->allowsNull()) { - $params[$paramName] = null; - } else { - if (!isset($context['not_normalizable_value_exceptions'])) { - $missingConstructorArguments[] = $constructorParameter->name; - continue; - } - - $constructorParameterTypes = []; - $reflectionType = $constructorParameter->getType(); - if ($reflectionType instanceof \ReflectionUnionType) { - foreach ($reflectionType->getTypes() as $reflectionType) { - $constructorParameterTypes[] = (string) $reflectionType; - } - } elseif ($reflectionType instanceof \ReflectionType) { - $constructorParameterTypes[] = (string) $reflectionType; - } else { - $constructorParameterTypes[] = 'unknown'; - } - - $exception = NotNormalizableValueException::createForUnexpectedDataType( - \sprintf('Failed to create object because the class misses the "%s" property.', $constructorParameter->name), - null, - $constructorParameterTypes, - $attributeContext['deserialization_path'] ?? null, - true - ); - $context['not_normalizable_value_exceptions'][] = $exception; - } - } - - if ($missingConstructorArguments) { - throw new MissingConstructorArgumentsException(\sprintf('Cannot create an instance of "%s" from serialized data because its constructor requires the following parameters to be present : "$%s".', $class, implode('", "$', $missingConstructorArguments)), 0, null, $missingConstructorArguments, $class); - } - - if (!$constructor->isConstructor()) { - $instance = $constructor->invokeArgs(null, $params); - - // do not set a parameter that has been set in the constructor - foreach ($unsetKeys as $key) { - unset($data[$key]); - } - - return $instance; - } - - try { - $instance = $reflectionClass->newInstanceArgs($params); - - // do not set a parameter that has been set in the constructor - foreach ($unsetKeys as $key) { - unset($data[$key]); - } - - return $instance; - } catch (\TypeError $e) { - if (!isset($context['not_normalizable_value_exceptions'])) { - throw $e; - } - - return $reflectionClass->newInstanceWithoutConstructor(); - } - } - - if (!$reflectionClass->isInstantiable()) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('Failed to create object because the class "%s" is not instantiable.', $class), $data, ['unknown'], $context['deserialization_path'] ?? null); - } - - return new $class(); - } - - /** - * @internal - */ - protected function denormalizeParameter(\ReflectionClass $class, \ReflectionParameter $parameter, string $parameterName, mixed $parameterData, array $context, ?string $format = null): mixed - { - try { - if (($parameterType = $parameter->getType()) instanceof \ReflectionNamedType && !$parameterType->isBuiltin()) { - $parameterClass = $parameterType->getName(); - new \ReflectionClass($parameterClass); // throws a \ReflectionException if the class doesn't exist - - if (!$this->serializer instanceof DenormalizerInterface) { - throw new LogicException(\sprintf('Cannot create an instance of "%s" from serialized data because the serializer inject in "%s" is not a denormalizer.', $parameterClass, static::class)); - } - - $parameterData = $this->serializer->denormalize($parameterData, $parameterClass, $format, $this->createChildContext($context, $parameterName, $format)); - } - } catch (\ReflectionException $e) { - throw new RuntimeException(\sprintf('Could not determine the class of the parameter "%s".', $parameterName), 0, $e); - } catch (MissingConstructorArgumentsException $e) { - if (!$parameter->getType()->allowsNull()) { - throw $e; - } - - return null; - } - - $parameterData = $this->applyCallbacks($parameterData, $class->getName(), $parameterName, $format, $context); - - return $this->applyFilterBool($parameter, $parameterData, $context); - } - - /** - * @internal - */ - protected function createChildContext(array $parentContext, string $attribute, ?string $format): array - { - if (isset($parentContext[self::ATTRIBUTES][$attribute])) { - $parentContext[self::ATTRIBUTES] = $parentContext[self::ATTRIBUTES][$attribute]; - } else { - unset($parentContext[self::ATTRIBUTES]); - } - - return $parentContext; - } - - /** - * Validate callbacks set in context. - * - * @param string $contextType Used to specify which context is invalid in exceptions - * - * @throws InvalidArgumentException - */ - final protected function validateCallbackContext(array $context, string $contextType = ''): void - { - if (!isset($context[self::CALLBACKS])) { - return; - } - - if (!\is_array($context[self::CALLBACKS])) { - throw new InvalidArgumentException(\sprintf('The "%s"%s context option must be an array of callables.', self::CALLBACKS, '' !== $contextType ? " $contextType" : '')); - } - - foreach ($context[self::CALLBACKS] as $attribute => $callback) { - if (!\is_callable($callback)) { - throw new InvalidArgumentException(\sprintf('Invalid callback found for attribute "%s" in the "%s"%s context option.', $attribute, self::CALLBACKS, '' !== $contextType ? " $contextType" : '')); - } - } - } - - final protected function applyCallbacks(mixed $value, object|string $object, string $attribute, ?string $format, array $context): mixed - { - /** - * @var callable|null - */ - $callback = $context[self::CALLBACKS][$attribute] ?? $this->defaultContext[self::CALLBACKS][$attribute] ?? null; - - return $callback ? $callback($value, $object, $attribute, $format, $context) : $value; - } - - final protected function applyFilterBool(\ReflectionParameter $parameter, mixed $value, array $context): mixed - { - if (!($context[self::FILTER_BOOL] ?? false)) { - return $value; - } - - if (!($parameterType = $parameter->getType()) instanceof \ReflectionNamedType || 'bool' !== $parameterType->getName()) { - return $value; - } - - return filter_var($value, \FILTER_VALIDATE_BOOL, \FILTER_NULL_ON_FAILURE) ?? $value; - } - - /** - * Computes the normalization context merged with current one. Metadata always wins over global context, as more specific. - * - * @internal - */ - protected function getAttributeNormalizationContext(object $object, string $attribute, array $context): array - { - if (null === $metadata = $this->getAttributeMetadata($object, $attribute)) { - return $context; - } - - return array_merge($context, $metadata->getNormalizationContextForGroups($this->getGroups($context))); - } - - /** - * Computes the denormalization context merged with current one. Metadata always wins over global context, as more specific. - * - * @internal - */ - protected function getAttributeDenormalizationContext(string $class, string $attribute, array $context): array - { - $context['deserialization_path'] = ($context['deserialization_path'] ?? false) ? $context['deserialization_path'].'.'.$attribute : $attribute; - - if (null === $metadata = $this->getAttributeMetadata($class, $attribute)) { - return $context; - } - - return array_merge($context, $metadata->getDenormalizationContextForGroups($this->getGroups($context))); - } - - /** - * @internal - */ - protected function getAttributeMetadata(object|string $objectOrClass, string $attribute): ?AttributeMetadataInterface - { - if (!$this->classMetadataFactory) { - return null; - } - - return $this->classMetadataFactory->getMetadataFor($objectOrClass)->getAttributesMetadata()[$attribute] ?? null; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php b/app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php deleted file mode 100644 index 69a12ade7..000000000 --- a/app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php +++ /dev/null @@ -1,1311 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\PropertyAccess\Exception\InvalidArgumentException as PropertyAccessInvalidArgumentException; -use Symfony\Component\PropertyAccess\Exception\InvalidTypeException; -use Symfony\Component\PropertyAccess\Exception\NoSuchIndexException; -use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; -use Symfony\Component\PropertyAccess\Exception\UninitializedPropertyException; -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface; -use Symfony\Component\PropertyInfo\Type as LegacyType; -use Symfony\Component\Serializer\Encoder\CsvEncoder; -use Symfony\Component\Serializer\Encoder\JsonEncoder; -use Symfony\Component\Serializer\Encoder\XmlEncoder; -use Symfony\Component\Serializer\Exception\ExtraAttributesException; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Exception\MissingConstructorArgumentsException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; -use Symfony\Component\Serializer\Mapping\AttributeMetadata; -use Symfony\Component\Serializer\Mapping\AttributeMetadataInterface; -use Symfony\Component\Serializer\Mapping\ClassDiscriminatorFromClassMetadata; -use Symfony\Component\Serializer\Mapping\ClassDiscriminatorResolverInterface; -use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; -use Symfony\Component\Serializer\NameConverter\NameConverterInterface; -use Symfony\Component\TypeInfo\Exception\LogicException as TypeInfoLogicException; -use Symfony\Component\TypeInfo\Type; -use Symfony\Component\TypeInfo\Type\BuiltinType; -use Symfony\Component\TypeInfo\Type\CollectionType; -use Symfony\Component\TypeInfo\Type\IntersectionType; -use Symfony\Component\TypeInfo\Type\NullableType; -use Symfony\Component\TypeInfo\Type\ObjectType; -use Symfony\Component\TypeInfo\Type\UnionType; -use Symfony\Component\TypeInfo\Type\WrappingTypeInterface; -use Symfony\Component\TypeInfo\TypeContext\TypeContextFactory; -use Symfony\Component\TypeInfo\TypeIdentifier; -use Symfony\Component\TypeInfo\TypeResolver\ReflectionTypeResolver; - -/** - * Base class for a normalizer dealing with objects. - * - * @author Kévin Dunglas - */ -abstract class AbstractObjectNormalizer extends AbstractNormalizer -{ - /** - * Set to true to respect the max depth metadata on fields. - */ - public const ENABLE_MAX_DEPTH = 'enable_max_depth'; - - /** - * How to track the current depth in the context. - */ - public const DEPTH_KEY_PATTERN = 'depth_%s::%s'; - - /** - * While denormalizing, we can verify that type matches. - * - * You can disable this by setting this flag to true. - */ - public const DISABLE_TYPE_ENFORCEMENT = 'disable_type_enforcement'; - - /** - * Flag to control whether fields with the value `null` should be output - * when normalizing or omitted. - */ - public const SKIP_NULL_VALUES = 'skip_null_values'; - - /** - * Flag to control whether uninitialized PHP>=7.4 typed class properties - * should be excluded when normalizing. - */ - public const SKIP_UNINITIALIZED_VALUES = 'skip_uninitialized_values'; - - /** - * Callback to allow to set a value for an attribute when the max depth has - * been reached. - * - * If no callback is given, the attribute is skipped. If a callable is - * given, its return value is used (even if null). - * - * The arguments are: - * - * - mixed $attributeValue value of this field - * - object $object the whole object being normalized - * - string $attributeName name of the attribute being normalized - * - string $format the requested format - * - array $context the serialization context - */ - public const MAX_DEPTH_HANDLER = 'max_depth_handler'; - - /** - * Specify which context key are not relevant to determine which attributes - * of an object to (de)normalize. - */ - public const EXCLUDE_FROM_CACHE_KEY = 'exclude_from_cache_key'; - - /** - * Flag to tell the denormalizer to also populate existing objects on - * attributes of the main object. - * - * Setting this to true is only useful if you also specify the root object - * in OBJECT_TO_POPULATE. - */ - public const DEEP_OBJECT_TO_POPULATE = 'deep_object_to_populate'; - - /** - * Flag to control whether an empty object should be kept as an object (in - * JSON: {}) or converted to a list (in JSON: []). - */ - public const PRESERVE_EMPTY_OBJECTS = 'preserve_empty_objects'; - - protected ?ClassDiscriminatorResolverInterface $classDiscriminatorResolver; - - /** - * @var array|false> - */ - private array $typeCache = []; - private array $attributesCache = []; - private readonly \Closure $objectClassResolver; - - public function __construct( - ?ClassMetadataFactoryInterface $classMetadataFactory = null, - ?NameConverterInterface $nameConverter = null, - private ?PropertyTypeExtractorInterface $propertyTypeExtractor = null, - ?ClassDiscriminatorResolverInterface $classDiscriminatorResolver = null, - ?callable $objectClassResolver = null, - array $defaultContext = [], - ) { - parent::__construct($classMetadataFactory, $nameConverter, $defaultContext); - - if (isset($this->defaultContext[self::MAX_DEPTH_HANDLER]) && !\is_callable($this->defaultContext[self::MAX_DEPTH_HANDLER])) { - throw new InvalidArgumentException(\sprintf('The "%s" given in the default context is not callable.', self::MAX_DEPTH_HANDLER)); - } - - $this->defaultContext[self::EXCLUDE_FROM_CACHE_KEY] = array_merge($this->defaultContext[self::EXCLUDE_FROM_CACHE_KEY] ?? [], [self::CIRCULAR_REFERENCE_LIMIT_COUNTERS]); - - if ($classMetadataFactory) { - $classDiscriminatorResolver ??= new ClassDiscriminatorFromClassMetadata($classMetadataFactory); - } - $this->classDiscriminatorResolver = $classDiscriminatorResolver; - $this->objectClassResolver = ($objectClassResolver ?? 'get_class')(...); - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return \is_object($data) && !$data instanceof \Traversable; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - $context['_read_attributes'] = true; - - if (!isset($context['cache_key'])) { - $context['cache_key'] = $this->getCacheKey($format, $context); - } - - $this->validateCallbackContext($context); - - if ($this->isCircularReference($data, $context)) { - return $this->handleCircularReference($data, $format, $context); - } - - $normalizedData = []; - $stack = []; - $attributes = $this->getAttributes($data, $format, $context); - $class = ($this->objectClassResolver)($data); - $classMetadata = $this->classMetadataFactory?->getMetadataFor($class); - $attributesMetadata = $this->classMetadataFactory?->getMetadataFor($class)->getAttributesMetadata(); - if (isset($context[self::MAX_DEPTH_HANDLER])) { - $maxDepthHandler = $context[self::MAX_DEPTH_HANDLER]; - if (!\is_callable($maxDepthHandler)) { - throw new InvalidArgumentException(\sprintf('The "%s" given in the context is not callable.', self::MAX_DEPTH_HANDLER)); - } - } else { - $maxDepthHandler = null; - } - - foreach ($attributes as $attribute) { - $maxDepthReached = false; - if (null !== $attributesMetadata && ($maxDepthReached = $this->isMaxDepthReached($attributesMetadata, $class, $attribute, $context)) && !$maxDepthHandler) { - continue; - } - - $attributeContext = $this->getAttributeNormalizationContext($data, $attribute, $context); - - try { - $attributeValue = $attribute === $this->classDiscriminatorResolver?->getMappingForMappedObject($data)?->getTypeProperty() - ? $this->classDiscriminatorResolver?->getTypeForMappedObject($data) - : $this->getAttributeValue($data, $attribute, $format, $attributeContext); - } catch (UninitializedPropertyException|\Error $e) { - if (($context[self::SKIP_UNINITIALIZED_VALUES] ?? $this->defaultContext[self::SKIP_UNINITIALIZED_VALUES] ?? true) && $this->isUninitializedValueError($e)) { - continue; - } - throw $e; - } - - if ($maxDepthReached) { - $attributeValue = $maxDepthHandler($attributeValue, $data, $attribute, $format, $attributeContext); - } - - $stack[$attribute] = $this->applyCallbacks($attributeValue, $data, $attribute, $format, $attributeContext); - } - - foreach ($stack as $attribute => $attributeValue) { - $attributeContext = $this->getAttributeNormalizationContext($data, $attribute, $context); - - if (!$this->serializer instanceof NormalizerInterface) { - if (null === $attributeValue || \is_scalar($attributeValue)) { - $normalizedData = $this->updateData($normalizedData, $attribute, $attributeValue, $class, $format, $attributeContext, $attributesMetadata, $classMetadata); - continue; - } - throw new LogicException(\sprintf('Cannot normalize attribute "%s" because the injected serializer is not a normalizer.', $attribute)); - } - - $childContext = $this->createChildContext($attributeContext, $attribute, $format); - - $normalizedData = $this->updateData($normalizedData, $attribute, $this->serializer->normalize($attributeValue, $format, $childContext), $class, $format, $attributeContext, $attributesMetadata, $classMetadata); - } - - $preserveEmptyObjects = $context[self::PRESERVE_EMPTY_OBJECTS] ?? $this->defaultContext[self::PRESERVE_EMPTY_OBJECTS] ?? false; - if ($preserveEmptyObjects && !$normalizedData) { - return new \ArrayObject(); - } - - return $normalizedData; - } - - protected function instantiateObject(array &$data, string $class, array &$context, \ReflectionClass $reflectionClass, array|bool $allowedAttributes, ?string $format = null): object - { - if ($class !== $mappedClass = $this->getMappedClass($data, $class, $context)) { - return $this->instantiateObject($data, $mappedClass, $context, new \ReflectionClass($mappedClass), $allowedAttributes, $format); - } - - return parent::instantiateObject($data, $class, $context, $reflectionClass, $allowedAttributes, $format); - } - - /** - * Gets and caches attributes for the given object, format and context. - * - * @return string[] - */ - protected function getAttributes(object $object, ?string $format, array $context): array - { - $class = ($this->objectClassResolver)($object); - $key = $class.'-'.$context['cache_key']; - - if (isset($this->attributesCache[$key])) { - return $this->attributesCache[$key]; - } - - $allowedAttributes = $this->getAllowedAttributes($object, $context, true); - - if (false !== $allowedAttributes) { - if ($context['cache_key']) { - $this->attributesCache[$key] = $allowedAttributes; - } - - return $allowedAttributes; - } - - $attributes = $this->extractAttributes($object, $format, $context); - - if ($mapping = $this->classDiscriminatorResolver?->getMappingForMappedObject($object)) { - array_unshift($attributes, $mapping->getTypeProperty()); - } - - if ($context['cache_key'] && \stdClass::class !== $class) { - $this->attributesCache[$key] = $attributes; - } - - return $attributes; - } - - /** - * Extracts attributes to normalize from the class of the given object, format and context. - * - * @return string[] - */ - abstract protected function extractAttributes(object $object, ?string $format = null, array $context = []): array; - - /** - * Gets the attribute value. - */ - abstract protected function getAttributeValue(object $object, string $attribute, ?string $format = null, array $context = []): mixed; - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return class_exists($type) || (interface_exists($type, false) && null !== $this->classDiscriminatorResolver?->getMappingForClass($type)); - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - $context['_read_attributes'] = false; - - if (!isset($context['cache_key'])) { - $context['cache_key'] = $this->getCacheKey($format, $context); - } - - $this->validateCallbackContext($context); - - if (null === $data && isset($context['value_type']) && ($context['value_type'] instanceof Type || $context['value_type'] instanceof LegacyType) && $context['value_type']->isNullable()) { - return null; - } - - if (XmlEncoder::FORMAT === $format && !\is_array($data)) { - $data = ['#' => $data]; - } - - $allowedAttributes = $this->getAllowedAttributes($type, $context, true); - $normalizedData = $this->prepareForDenormalization($data); - $extraAttributes = []; - - $mappedClass = $this->getMappedClass($normalizedData, $type, $context); - - $nestedAttributes = $this->getNestedAttributes($mappedClass); - $nestedData = $originalNestedData = []; - $propertyAccessor = PropertyAccess::createPropertyAccessorBuilder()->enableExceptionOnInvalidIndex()->getPropertyAccessor(); - foreach ($nestedAttributes as $property => $serializedPath) { - try { - $value = $propertyAccessor->getValue($normalizedData, $serializedPath); - $convertedProperty = $this->nameConverter ? $this->nameConverter->normalize($property, $mappedClass, $format, $context) : $property; - $nestedData[$convertedProperty] = $value; - $originalNestedData[$property] = $value; - $normalizedData = $this->removeNestedValue($serializedPath->getElements(), $normalizedData); - } catch (NoSuchIndexException) { - } - } - - $normalizedData = $nestedData + $normalizedData; - - $object = $this->instantiateObject($normalizedData, $mappedClass, $context, new \ReflectionClass($mappedClass), $allowedAttributes, $format); - $resolvedClass = ($this->objectClassResolver)($object); - - foreach ($normalizedData as $attribute => $value) { - if ($this->nameConverter) { - $notConverted = $attribute; - $attribute = $this->nameConverter->denormalize($attribute, $resolvedClass, $format, $context); - if (isset($nestedData[$notConverted]) && !isset($originalNestedData[$attribute])) { - throw new LogicException(\sprintf('Duplicate values for key "%s" found. One value is set via the SerializedPath attribute: "%s", the other one is set via the SerializedName attribute: "%s".', $notConverted, implode('->', $nestedAttributes[$notConverted]->getElements()), $attribute)); - } - - if ($attribute === $notConverted - && !($context[self::ALLOW_EXTRA_ATTRIBUTES] ?? $this->defaultContext[self::ALLOW_EXTRA_ATTRIBUTES]) - && (false === $allowedAttributes || \in_array($attribute, $allowedAttributes, true)) - && $this->nameConverter->normalize($attribute, $resolvedClass, $format, $context) !== $attribute - ) { - // Input was in wrong format (e.g., camelCase when snake_case expected) - $extraAttributes[] = $notConverted; - continue; - } - } - - $attributeContext = $this->getAttributeDenormalizationContext($resolvedClass, $attribute, $context); - - if ((false !== $allowedAttributes && !\in_array($attribute, $allowedAttributes, true)) || !$this->isAllowedAttribute($resolvedClass, $attribute, $format, $context)) { - if (!($context[self::ALLOW_EXTRA_ATTRIBUTES] ?? $this->defaultContext[self::ALLOW_EXTRA_ATTRIBUTES])) { - $extraAttributes[] = $attribute; - } - - continue; - } - - if ($attributeContext[self::DEEP_OBJECT_TO_POPULATE] ?? $this->defaultContext[self::DEEP_OBJECT_TO_POPULATE] ?? false) { - $discriminatorMapping = $this->classDiscriminatorResolver?->getMappingForMappedObject($object); - - try { - $attributeContext[self::OBJECT_TO_POPULATE] = $attribute === $discriminatorMapping?->getTypeProperty() - ? $discriminatorMapping - : $this->getAttributeValue($object, $attribute, $format, $attributeContext); - } catch (NoSuchPropertyException) { - } catch (UninitializedPropertyException|\Error $e) { - if (!(($context[self::SKIP_UNINITIALIZED_VALUES] ?? $this->defaultContext[self::SKIP_UNINITIALIZED_VALUES] ?? true) && $this->isUninitializedValueError($e))) { - throw $e; - } - } - } - - if (null !== $type = $this->getType($resolvedClass, $attribute)) { - try { - // BC layer for PropertyTypeExtractorInterface::getTypes(). - // Can be removed as soon as PropertyTypeExtractorInterface::getTypes() is removed (8.0). - if (\is_array($type)) { - $value = $this->validateAndDenormalizeLegacy($type, $resolvedClass, $attribute, $value, $format, $attributeContext); - } else { - $value = $this->validateAndDenormalize($type, $resolvedClass, $attribute, $value, $format, $attributeContext); - } - } catch (NotNormalizableValueException $exception) { - if (isset($context['not_normalizable_value_exceptions'])) { - $context['not_normalizable_value_exceptions'][] = $exception; - continue; - } - throw $exception; - } - } - - $value = $this->applyCallbacks($value, $resolvedClass, $attribute, $format, $attributeContext); - - try { - $this->setAttributeValue($object, $attribute, $value, $format, $attributeContext); - } catch (PropertyAccessInvalidArgumentException $e) { - $exception = NotNormalizableValueException::createForUnexpectedDataType( - \sprintf('Failed to denormalize attribute "%s" value for class "%s": '.$e->getMessage(), $attribute, $resolvedClass), - $data, - $e instanceof InvalidTypeException ? [$e->expectedType] : ['unknown'], - $attributeContext['deserialization_path'] ?? null, - false, - $e->getCode(), - $e - ); - if (isset($context['not_normalizable_value_exceptions'])) { - $context['not_normalizable_value_exceptions'][] = $exception; - continue; - } - throw $exception; - } - } - - if ($extraAttributes) { - throw new ExtraAttributesException($extraAttributes); - } - - return $object; - } - - abstract protected function setAttributeValue(object $object, string $attribute, mixed $value, ?string $format = null, array $context = []): void; - - /** - * Validates the submitted data and denormalizes it. - * - * BC layer for PropertyTypeExtractorInterface::getTypes(). - * Can be removed as soon as PropertyTypeExtractorInterface::getTypes() is removed (8.0). - * - * @param LegacyType[] $types - * - * @throws NotNormalizableValueException - * @throws ExtraAttributesException - * @throws MissingConstructorArgumentsException - * @throws LogicException - */ - private function validateAndDenormalizeLegacy(array $types, string $currentClass, string $attribute, mixed $data, ?string $format, array $context): mixed - { - $expectedTypes = []; - $isUnionType = \count($types) > 1; - $e = null; - $extraAttributesException = null; - $missingConstructorArgumentsException = null; - $isNullable = false; - foreach ($types as $type) { - if (null === $data && $type->isNullable()) { - return null; - } - - $collectionValueType = $type->isCollection() ? $type->getCollectionValueTypes()[0] ?? null : null; - - // Fix a collection that contains the only one element - // This is special to xml format only - if ('xml' === $format && null !== $collectionValueType && (!\is_array($data) || !\is_int(key($data)))) { - $data = [$data]; - } - - // This try-catch should cover all NotNormalizableValueException (and all return branches after the first - // exception) so we could try denormalizing all types of an union type. If the target type is not an union - // type, we will just re-throw the caught exception. - // In the case of no denormalization succeeds with an union type, it will fall back to the default exception - // with the acceptable types list. - try { - // In XML and CSV all basic datatypes are represented as strings, it is e.g. not possible to determine, - // if a value is meant to be a string, float, int or a boolean value from the serialized representation. - // That's why we have to transform the values, if one of these non-string basic datatypes is expected. - $builtinType = $type->getBuiltinType(); - if (\is_string($data) && (XmlEncoder::FORMAT === $format || CsvEncoder::FORMAT === $format)) { - if ('' === $data) { - if (LegacyType::BUILTIN_TYPE_ARRAY === $builtinType) { - return []; - } - - if (LegacyType::BUILTIN_TYPE_STRING === $builtinType) { - return ''; - } - - // Don't return null yet because Object-types that come first may accept empty-string too - $isNullable = $isNullable ?: $type->isNullable(); - } - - switch ($builtinType) { - case LegacyType::BUILTIN_TYPE_BOOL: - // according to https://www.w3.org/TR/xmlschema-2/#boolean, valid representations are "false", "true", "0" and "1" - if ('false' === $data || '0' === $data) { - $data = false; - } elseif ('true' === $data || '1' === $data) { - $data = true; - } else { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the "%s" attribute for class "%s" must be bool ("%s" given).', $attribute, $currentClass, $data), $data, [LegacyType::BUILTIN_TYPE_BOOL], $context['deserialization_path'] ?? null); - } - break; - case LegacyType::BUILTIN_TYPE_INT: - if (ctype_digit(isset($data[0]) && '-' === $data[0] ? substr($data, 1) : $data)) { - $data = (int) $data; - } else { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the "%s" attribute for class "%s" must be int ("%s" given).', $attribute, $currentClass, $data), $data, [LegacyType::BUILTIN_TYPE_INT], $context['deserialization_path'] ?? null); - } - break; - case LegacyType::BUILTIN_TYPE_FLOAT: - if (is_numeric($data)) { - return (float) $data; - } - - return match ($data) { - 'NaN' => \NAN, - 'INF' => \INF, - '-INF' => -\INF, - default => throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the "%s" attribute for class "%s" must be float ("%s" given).', $attribute, $currentClass, $data), $data, [LegacyType::BUILTIN_TYPE_FLOAT], $context['deserialization_path'] ?? null), - }; - } - } - - if (is_numeric($data) && XmlEncoder::FORMAT === $format) { - // encoder parsed them wrong, so they might need to be transformed back - switch ($builtinType) { - case LegacyType::BUILTIN_TYPE_STRING: - return (string) $data; - case LegacyType::BUILTIN_TYPE_FLOAT: - return (float) $data; - case LegacyType::BUILTIN_TYPE_INT: - return (int) $data; - } - } - - if (null !== $collectionValueType && LegacyType::BUILTIN_TYPE_OBJECT === $collectionValueType->getBuiltinType()) { - $builtinType = LegacyType::BUILTIN_TYPE_OBJECT; - $class = $collectionValueType->getClassName().'[]'; - - if ($collectionKeyType = $type->getCollectionKeyTypes()) { - $context['key_type'] = \count($collectionKeyType) > 1 ? $collectionKeyType : $collectionKeyType[0]; - } - - $context['value_type'] = $collectionValueType; - } elseif ($type->isCollection() && ($collectionValueType = $type->getCollectionValueTypes()) && LegacyType::BUILTIN_TYPE_ARRAY === $collectionValueType[0]->getBuiltinType()) { - // get inner type for any nested array - [$innerType] = $collectionValueType; - - // note that it will break for any other builtinType - $dimensions = '[]'; - while ($innerType->getCollectionValueTypes() && LegacyType::BUILTIN_TYPE_ARRAY === $innerType->getBuiltinType()) { - $dimensions .= '[]'; - [$innerType] = $innerType->getCollectionValueTypes(); - } - - if (null !== $innerType->getClassName()) { - // the builtinType is the inner one and the class is the class followed by []...[] - $builtinType = $innerType->getBuiltinType(); - $class = $innerType->getClassName().$dimensions; - - if ($collectionKeyType = $type->getCollectionKeyTypes()) { - $context['key_type'] = \count($collectionKeyType) > 1 ? $collectionKeyType : $collectionKeyType[0]; - } - - $context['value_type'] = $collectionValueType[0]; - } else { - // default fallback (keep it as array) - $builtinType = $type->getBuiltinType(); - $class = $type->getClassName(); - } - } else { - $builtinType = $type->getBuiltinType(); - $class = $type->getClassName(); - } - - $expectedTypes[LegacyType::BUILTIN_TYPE_OBJECT === $builtinType && $class ? $class : $builtinType] = true; - - if (LegacyType::BUILTIN_TYPE_OBJECT === $builtinType && null !== $class) { - if (!$this->serializer instanceof DenormalizerInterface) { - throw new LogicException(\sprintf('Cannot denormalize attribute "%s" for class "%s" because injected serializer is not a denormalizer.', $attribute, $class)); - } - - $childContext = $this->createChildContext($context, $attribute, $format); - if ($this->serializer->supportsDenormalization($data, $class, $format, $childContext)) { - return $this->serializer->denormalize($data, $class, $format, $childContext); - } - } - - // JSON only has a Number type corresponding to both int and float PHP types. - // PHP's json_encode, JavaScript's JSON.stringify, Go's json.Marshal as well as most other JSON encoders convert - // floating-point numbers like 12.0 to 12 (the decimal part is dropped when possible). - // PHP's json_decode automatically converts Numbers without a decimal part to integers. - // To circumvent this behavior, integers are converted to floats when denormalizing JSON based formats and when - // a float is expected. - if (LegacyType::BUILTIN_TYPE_FLOAT === $builtinType && \is_int($data) && null !== $format && str_contains($format, JsonEncoder::FORMAT)) { - return (float) $data; - } - - if (LegacyType::BUILTIN_TYPE_BOOL === $builtinType && (\is_string($data) || \is_int($data)) && ($context[self::FILTER_BOOL] ?? false)) { - return filter_var($data, \FILTER_VALIDATE_BOOL, \FILTER_NULL_ON_FAILURE); - } - - if ((LegacyType::BUILTIN_TYPE_FALSE === $builtinType && false === $data) || (LegacyType::BUILTIN_TYPE_TRUE === $builtinType && true === $data)) { - return $data; - } - - switch ($builtinType) { - case LegacyType::BUILTIN_TYPE_ARRAY: - case LegacyType::BUILTIN_TYPE_BOOL: - case LegacyType::BUILTIN_TYPE_CALLABLE: - case LegacyType::BUILTIN_TYPE_FLOAT: - case LegacyType::BUILTIN_TYPE_INT: - case LegacyType::BUILTIN_TYPE_ITERABLE: - case LegacyType::BUILTIN_TYPE_NULL: - case LegacyType::BUILTIN_TYPE_OBJECT: - case LegacyType::BUILTIN_TYPE_RESOURCE: - case LegacyType::BUILTIN_TYPE_STRING: - if (('is_'.$builtinType)($data)) { - return $data; - } - - break; - } - } catch (NotNormalizableValueException|InvalidArgumentException $e) { - if (!$isUnionType && !$isNullable) { - throw $e; - } - - $expectedTypes[LegacyType::BUILTIN_TYPE_OBJECT === $builtinType && $class ? $class : $builtinType] = true; - } catch (ExtraAttributesException $e) { - if (!$isUnionType && !$isNullable) { - throw $e; - } - - $extraAttributesException ??= $e; - } catch (MissingConstructorArgumentsException $e) { - if (!$isUnionType && !$isNullable) { - throw $e; - } - - $missingConstructorArgumentsException ??= $e; - } - } - - if ($isNullable) { - return null; - } - - if ($extraAttributesException) { - throw $extraAttributesException; - } - - if ($missingConstructorArgumentsException) { - throw $missingConstructorArgumentsException; - } - - if (!$isUnionType && $e) { - throw $e; - } - - if ($context[self::DISABLE_TYPE_ENFORCEMENT] ?? $this->defaultContext[self::DISABLE_TYPE_ENFORCEMENT] ?? false) { - return $data; - } - - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the "%s" attribute for class "%s" must be one of "%s" ("%s" given).', $attribute, $currentClass, implode('", "', array_keys($expectedTypes)), get_debug_type($data)), $data, array_keys($expectedTypes), $context['deserialization_path'] ?? $attribute); - } - - /** - * Validates the submitted data and denormalizes it. - * - * @throws NotNormalizableValueException - * @throws ExtraAttributesException - * @throws MissingConstructorArgumentsException - * @throws LogicException - */ - private function validateAndDenormalize(Type $type, string $currentClass, string $attribute, mixed $data, ?string $format, array $context): mixed - { - $expectedTypes = []; - - // BC layer for type-info < 7.2 - if (method_exists(Type::class, 'asNonNullable')) { - $isUnionType = $type->asNonNullable() instanceof UnionType; - } else { - $isUnionType = $type instanceof UnionType; - } - - $e = null; - $extraAttributesException = null; - $missingConstructorArgumentsException = null; - - $types = match (true) { - $type instanceof IntersectionType => throw new LogicException('Unable to handle intersection type.'), - $type instanceof UnionType => $type->getTypes(), - default => [$type], - }; - - foreach ($types as $t) { - if (null === $data && $type->isNullable()) { - return null; - } - - $collectionKeyType = $collectionValueType = null; - if ($t instanceof CollectionType) { - $collectionKeyType = $t->getCollectionKeyType(); - $collectionValueType = $t->getCollectionValueType(); - } - - // BC layer for type-info < 7.2 - if (method_exists(Type::class, 'getBaseType')) { - $t = $t->getBaseType(); - } else { - while ($t instanceof WrappingTypeInterface) { - $t = $t->getWrappedType(); - } - } - - // Fix a collection that contains the only one element - // This is special to xml format only - if ('xml' === $format && $collectionValueType && (!\is_array($data) || !\is_int(key($data)))) { - // BC layer for type-info < 7.2 - $isMixedType = method_exists(Type::class, 'isA') ? $collectionValueType->isA(TypeIdentifier::MIXED) : $collectionValueType->isIdentifiedBy(TypeIdentifier::MIXED); - if (!$isMixedType) { - $data = [$data]; - } - } - - // This try-catch should cover all NotNormalizableValueException (and all return branches after the first - // exception) so we could try denormalizing all types of an union type. If the target type is not an union - // type, we will just re-throw the caught exception. - // In the case of no denormalization succeeds with an union type, it will fall back to the default exception - // with the acceptable types list. - try { - // In XML and CSV all basic datatypes are represented as strings, it is e.g. not possible to determine, - // if a value is meant to be a string, float, int or a boolean value from the serialized representation. - // That's why we have to transform the values, if one of these non-string basic datatypes is expected. - $typeIdentifier = $t->getTypeIdentifier(); - if (\is_string($data) && (XmlEncoder::FORMAT === $format || CsvEncoder::FORMAT === $format)) { - if ('' === $data) { - if (TypeIdentifier::ARRAY === $typeIdentifier) { - return []; - } - - if (TypeIdentifier::STRING === $typeIdentifier) { - return ''; - } - } - - switch ($typeIdentifier) { - case TypeIdentifier::BOOL: - // according to https://www.w3.org/TR/xmlschema-2/#boolean, valid representations are "false", "true", "0" and "1" - if ('false' === $data || '0' === $data) { - $data = false; - } elseif ('true' === $data || '1' === $data) { - $data = true; - } else { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the "%s" attribute for class "%s" must be bool ("%s" given).', $attribute, $currentClass, $data), $data, [Type::bool()], $context['deserialization_path'] ?? null); - } - break; - case TypeIdentifier::INT: - if (ctype_digit(isset($data[0]) && '-' === $data[0] ? substr($data, 1) : $data)) { - $data = (int) $data; - } else { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the "%s" attribute for class "%s" must be int ("%s" given).', $attribute, $currentClass, $data), $data, [Type::int()], $context['deserialization_path'] ?? null); - } - break; - case TypeIdentifier::FLOAT: - if (is_numeric($data)) { - return (float) $data; - } - - return match ($data) { - 'NaN' => \NAN, - 'INF' => \INF, - '-INF' => -\INF, - default => throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the "%s" attribute for class "%s" must be float ("%s" given).', $attribute, $currentClass, $data), $data, [Type::float()], $context['deserialization_path'] ?? null), - }; - } - } - - if (is_numeric($data) && XmlEncoder::FORMAT === $format) { - // encoder parsed them wrong, so they might need to be transformed back - switch ($typeIdentifier) { - case TypeIdentifier::STRING: - return (string) $data; - case TypeIdentifier::FLOAT: - return (float) $data; - case TypeIdentifier::INT: - return (int) $data; - } - } - - if ($collectionValueType) { - try { - $collectionValueBaseType = $collectionValueType; - - // BC layer for type-info < 7.2 - if (!interface_exists(WrappingTypeInterface::class)) { - $collectionValueBaseType = $collectionValueType->getBaseType(); - } else { - while ($collectionValueBaseType instanceof WrappingTypeInterface) { - $collectionValueBaseType = $collectionValueBaseType->getWrappedType(); - } - } - } catch (TypeInfoLogicException) { - $collectionValueBaseType = Type::mixed(); - } - - if ($collectionValueBaseType instanceof ObjectType) { - $typeIdentifier = TypeIdentifier::OBJECT; - $class = $collectionValueBaseType->getClassName().'[]'; - $context['key_type'] = $collectionKeyType; - $context['value_type'] = $collectionValueType; - } elseif ( - // BC layer for type-info < 7.2 - !class_exists(NullableType::class) && TypeIdentifier::ARRAY === $collectionValueBaseType->getTypeIdentifier() - || $collectionValueBaseType instanceof BuiltinType && TypeIdentifier::ARRAY === $collectionValueBaseType->getTypeIdentifier() - ) { - // get inner type for any nested array - $innerType = $collectionValueType; - if ($innerType instanceof NullableType) { - $innerType = $innerType->getWrappedType(); - } - - // note that it will break for any other builtinType - $dimensions = '[]'; - while ($innerType instanceof CollectionType) { - $dimensions .= '[]'; - $innerType = $innerType->getCollectionValueType(); - if ($innerType instanceof NullableType) { - $innerType = $innerType->getWrappedType(); - } - } - - while ($innerType instanceof WrappingTypeInterface) { - $innerType = $innerType->getWrappedType(); - } - - if ($innerType instanceof ObjectType) { - // the builtinType is the inner one and the class is the class followed by []...[] - $typeIdentifier = TypeIdentifier::OBJECT; - $class = $innerType->getClassName().$dimensions; - $context['key_type'] = $collectionKeyType; - $context['value_type'] = $collectionValueType; - } else { - // default fallback (keep it as array) - if ($t instanceof ObjectType) { - $typeIdentifier = TypeIdentifier::OBJECT; - $class = $t->getClassName(); - } else { - $typeIdentifier = $t->getTypeIdentifier(); - $class = null; - } - } - } elseif ($t instanceof ObjectType) { - $typeIdentifier = TypeIdentifier::OBJECT; - $class = $t->getClassName(); - } else { - $typeIdentifier = $t->getTypeIdentifier(); - $class = null; - } - } else { - if ($t instanceof ObjectType) { - $typeIdentifier = TypeIdentifier::OBJECT; - $class = $t->getClassName(); - } else { - $typeIdentifier = $t->getTypeIdentifier(); - $class = null; - } - } - - $expectedTypes[TypeIdentifier::OBJECT === $typeIdentifier && $class ? $class : $typeIdentifier->value] = true; - - if (TypeIdentifier::OBJECT === $typeIdentifier && null !== $class) { - if (!$this->serializer instanceof DenormalizerInterface) { - throw new LogicException(\sprintf('Cannot denormalize attribute "%s" for class "%s" because injected serializer is not a denormalizer.', $attribute, $class)); - } - - $childContext = $this->createChildContext($context, $attribute, $format); - if ($this->serializer->supportsDenormalization($data, $class, $format, $childContext)) { - return $this->serializer->denormalize($data, $class, $format, $childContext); - } - } - - // JSON only has a Number type corresponding to both int and float PHP types. - // PHP's json_encode, JavaScript's JSON.stringify, Go's json.Marshal as well as most other JSON encoders convert - // floating-point numbers like 12.0 to 12 (the decimal part is dropped when possible). - // PHP's json_decode automatically converts Numbers without a decimal part to integers. - // To circumvent this behavior, integers are converted to floats when denormalizing JSON based formats and when - // a float is expected. - if (TypeIdentifier::FLOAT === $typeIdentifier && \is_int($data) && null !== $format && str_contains($format, JsonEncoder::FORMAT)) { - return (float) $data; - } - - if (TypeIdentifier::BOOL === $typeIdentifier && (\is_string($data) || \is_int($data)) && ($context[self::FILTER_BOOL] ?? false)) { - return filter_var($data, \FILTER_VALIDATE_BOOL, \FILTER_NULL_ON_FAILURE); - } - - $dataMatchesExpectedType = match ($typeIdentifier) { - TypeIdentifier::ARRAY => \is_array($data), - TypeIdentifier::BOOL => \is_bool($data), - TypeIdentifier::CALLABLE => \is_callable($data), - TypeIdentifier::FALSE => false === $data, - TypeIdentifier::FLOAT => \is_float($data), - TypeIdentifier::INT => \is_int($data), - TypeIdentifier::ITERABLE => is_iterable($data), - TypeIdentifier::MIXED => true, - TypeIdentifier::NULL => null === $data, - TypeIdentifier::OBJECT => \is_object($data), - TypeIdentifier::RESOURCE => \is_resource($data), - TypeIdentifier::STRING => \is_string($data), - TypeIdentifier::TRUE => true === $data, - default => false, - }; - - if ($dataMatchesExpectedType) { - return $data; - } - } catch (NotNormalizableValueException|InvalidArgumentException $e) { - if (!$type instanceof UnionType) { - throw $e; - } - - $expectedTypes[TypeIdentifier::OBJECT === $typeIdentifier && $class ? $class : $typeIdentifier->value] = true; - } catch (ExtraAttributesException $e) { - if (!$type instanceof UnionType) { - throw $e; - } - - $extraAttributesException ??= $e; - } catch (MissingConstructorArgumentsException $e) { - if (!$type instanceof UnionType) { - throw $e; - } - - $missingConstructorArgumentsException ??= $e; - } - } - - if ('' === $data && (XmlEncoder::FORMAT === $format || CsvEncoder::FORMAT === $format) && $type->isNullable()) { - return null; - } - - if ($extraAttributesException) { - throw $extraAttributesException; - } - - if ($missingConstructorArgumentsException) { - throw $missingConstructorArgumentsException; - } - - // BC layer for type-info < 7.2 - if (!class_exists(NullableType::class)) { - if (!$isUnionType && $e) { - throw $e; - } - } else { - if ($e && !($type instanceof UnionType && !$type instanceof NullableType)) { - throw $e; - } - } - - if ($context[self::DISABLE_TYPE_ENFORCEMENT] ?? $this->defaultContext[self::DISABLE_TYPE_ENFORCEMENT] ?? false) { - return $data; - } - - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the "%s" attribute for class "%s" must be one of "%s" ("%s" given).', $attribute, $currentClass, implode('", "', array_keys($expectedTypes)), get_debug_type($data)), $data, array_keys($expectedTypes), $context['deserialization_path'] ?? $attribute); - } - - /** - * @internal - */ - protected function denormalizeParameter(\ReflectionClass $class, \ReflectionParameter $parameter, string $parameterName, mixed $parameterData, array $context, ?string $format = null): mixed - { - if ($parameter->isVariadic() || null === $this->propertyTypeExtractor || null === $type = $this->getType($class->getName(), $parameterName)) { - return parent::denormalizeParameter($class, $parameter, $parameterName, $parameterData, $context, $format); - } - - // BC layer for PropertyTypeExtractorInterface::getTypes(). - // Can be removed as soon as PropertyTypeExtractorInterface::getTypes() is removed (8.0). - if (\is_array($type)) { - if (($parameterType = $parameter->getType()) instanceof \ReflectionNamedType && 'mixed' !== $parameterType->getName()) { - $matches = false; - - if ($parameterType->isBuiltin()) { - foreach ($type as $legacyType) { - if ($parameterType->getName() === $legacyType->getBuiltinType()) { - $matches = true; - break; - } - } - - if (!$matches) { - $type = [new LegacyType($parameterType->getName(), $parameter->allowsNull())]; - } - } else { - $parameterTypeName = match ($parameterType->getName()) { - 'self' => $parameter->getDeclaringClass()?->name ?? $class->name, - 'parent' => $parameter->getDeclaringClass()?->getParentClass()?->name ?? $parameterType->getName(), - 'static' => $class->name, - default => $parameterType->getName(), - }; - - foreach ($type as $legacyType) { - if (LegacyType::BUILTIN_TYPE_OBJECT === $legacyType->getBuiltinType() && $parameterTypeName === $legacyType->getClassName()) { - $matches = true; - break; - } - } - - if (!$matches) { - $type = [new LegacyType(LegacyType::BUILTIN_TYPE_OBJECT, $parameter->allowsNull(), $parameterTypeName)]; - } - } - } - - $parameterData = $this->validateAndDenormalizeLegacy($type, $class->getName(), $parameterName, $parameterData, $format, $context); - $parameterData = $this->applyCallbacks($parameterData, $class->getName(), $parameterName, $format, $context); - - return $this->applyFilterBool($parameter, $parameterData, $context); - } - - $parameterType = $parameter->getType(); - static $parameterTypeResolver; - static $parameterTypeContextFactory; - - if (null !== $parameterType && $parameterTypeResolver ??= class_exists(ReflectionTypeResolver::class) ? new ReflectionTypeResolver() : false) { - $resolvedParameterType = $parameterTypeResolver->resolve($parameterType, ($parameterTypeContextFactory ??= new TypeContextFactory())->createFromClassName($class->name, $parameter->getDeclaringClass()?->name)); - if ($resolvedParameterType->isSatisfiedBy(static fn (Type $t) => match (true) { - $t instanceof BuiltinType && !\in_array($t->getTypeIdentifier(), [TypeIdentifier::NULL, TypeIdentifier::MIXED], true) => !$type->isIdentifiedBy($t->getTypeIdentifier()), - $t instanceof ObjectType => !$type->isIdentifiedBy($t->getClassName()), - default => false, - })) { - $type = $resolvedParameterType; - } - } elseif ($parameterType instanceof \ReflectionNamedType) { - if ($parameterType->isBuiltin()) { - $typeIdentifier = TypeIdentifier::tryFrom($parameterType->getName()); - - if (null !== $typeIdentifier && TypeIdentifier::MIXED !== $typeIdentifier && !$type->isIdentifiedBy($typeIdentifier)) { - $type = Type::builtin($typeIdentifier); - } - } elseif (!$type->isIdentifiedBy($parameterType->getName())) { - $type = Type::object($parameterType->getName()); - } - if ($parameter->allowsNull()) { - $type = Type::nullable($type); - } - } - - $parameterData = $this->validateAndDenormalize($type, $class->getName(), $parameterName, $parameterData, $format, $context); - $parameterData = $this->applyCallbacks($parameterData, $class->getName(), $parameterName, $format, $context); - - return $this->applyFilterBool($parameter, $parameterData, $context); - } - - /** - * @return Type|list|null - */ - private function getType(string $currentClass, string $attribute): Type|array|null - { - if (null === $this->propertyTypeExtractor) { - return null; - } - - $key = $currentClass.'::'.$attribute; - if (isset($this->typeCache[$key])) { - return false === $this->typeCache[$key] ? null : $this->typeCache[$key]; - } - - if (null !== $type = $this->getPropertyType($currentClass, $attribute)) { - return $this->typeCache[$key] = $type; - } - - if ($discriminatorMapping = $this->classDiscriminatorResolver?->getMappingForClass($currentClass)) { - if ($discriminatorMapping->getTypeProperty() === $attribute) { - return $this->typeCache[$key] = Type::string(); - } - - foreach ($discriminatorMapping->getTypesMapping() as $mappedClass) { - if (null !== $type = $this->getPropertyType($mappedClass, $attribute)) { - return $this->typeCache[$key] = $type; - } - } - } - - $this->typeCache[$key] = false; - - return null; - } - - /** - * BC layer for PropertyTypeExtractorInterface::getTypes(). - * Can be removed as soon as PropertyTypeExtractorInterface::getTypes() is removed (8.0). - * - * @return Type|list|null - */ - private function getPropertyType(string $className, string $property): Type|array|null - { - if (class_exists(Type::class) && method_exists($this->propertyTypeExtractor, 'getType')) { - return $this->propertyTypeExtractor->getType($className, $property); - } - - return $this->propertyTypeExtractor->getTypes($className, $property); - } - - /** - * Sets an attribute and apply the name converter if necessary. - */ - private function updateData(array $data, string $attribute, mixed $attributeValue, string $class, ?string $format, array $context, ?array $attributesMetadata, ?ClassMetadataInterface $classMetadata): array - { - if (null === $attributeValue && ($context[self::SKIP_NULL_VALUES] ?? $this->defaultContext[self::SKIP_NULL_VALUES] ?? false)) { - return $data; - } - - if (null !== $classMetadata && null !== $serializedPath = ($attributesMetadata[$attribute] ?? null)?->getSerializedPath()) { - $propertyAccessor = PropertyAccess::createPropertyAccessor(); - if ($propertyAccessor->isReadable($data, $serializedPath) && null !== $propertyAccessor->getValue($data, $serializedPath)) { - throw new LogicException(\sprintf('The element you are trying to set is already populated: "%s".', (string) $serializedPath)); - } - $propertyAccessor->setValue($data, $serializedPath, $attributeValue); - - return $data; - } - - if ($this->nameConverter) { - $attribute = $this->nameConverter->normalize($attribute, $class, $format, $context); - } - - $data[$attribute] = $attributeValue; - - return $data; - } - - /** - * Is the max depth reached for the given attribute? - * - * @param AttributeMetadataInterface[] $attributesMetadata - */ - private function isMaxDepthReached(array $attributesMetadata, string $class, string $attribute, array &$context): bool - { - if (!($context[self::ENABLE_MAX_DEPTH] ?? $this->defaultContext[self::ENABLE_MAX_DEPTH] ?? false) - || !isset($attributesMetadata[$attribute]) || null === $maxDepth = $attributesMetadata[$attribute]?->getMaxDepth() - ) { - return false; - } - - $key = \sprintf(self::DEPTH_KEY_PATTERN, $class, $attribute); - if (!isset($context[$key])) { - $context[$key] = 1; - - return false; - } - - if ($context[$key] === $maxDepth) { - return true; - } - - ++$context[$key]; - - return false; - } - - /** - * Overwritten to update the cache key for the child. - * - * We must not mix up the attribute cache between parent and children. - * - * @internal - */ - protected function createChildContext(array $parentContext, string $attribute, ?string $format): array - { - $context = parent::createChildContext($parentContext, $attribute, $format); - if ($context['cache_key'] ?? false) { - $context['cache_key'] .= '-'.$attribute; - } elseif (false !== ($context['cache_key'] ?? null)) { - $context['cache_key'] = $this->getCacheKey($format, $context); - } - - return $context; - } - - protected function getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false): array|bool - { - if (false === $allowedAttributes = parent::getAllowedAttributes($classOrObject, $context, $attributesAsString)) { - return false; - } - - if (null !== $this->classDiscriminatorResolver) { - $class = \is_object($classOrObject) ? $classOrObject::class : $classOrObject; - if (null !== $discriminatorMapping = $this->classDiscriminatorResolver->getMappingForMappedObject($classOrObject)) { - $allowedAttributes[] = $attributesAsString ? $discriminatorMapping->getTypeProperty() : new AttributeMetadata($discriminatorMapping->getTypeProperty()); - } - - if (null !== $discriminatorMapping = $this->classDiscriminatorResolver->getMappingForClass($class)) { - $attributes = []; - foreach ($discriminatorMapping->getTypesMapping() as $mappedClass) { - $attributes[] = parent::getAllowedAttributes($mappedClass, $context, $attributesAsString); - } - $allowedAttributes = array_merge($allowedAttributes, ...$attributes); - } - } - - return $allowedAttributes; - } - - /** - * Builds the cache key for the attributes cache. - * - * The key must be different for every option in the context that could change which attributes should be handled. - */ - private function getCacheKey(?string $format, array $context): bool|string - { - foreach ($context[self::EXCLUDE_FROM_CACHE_KEY] ?? $this->defaultContext[self::EXCLUDE_FROM_CACHE_KEY] as $key) { - unset($context[$key]); - } - unset($context[self::EXCLUDE_FROM_CACHE_KEY]); - unset($context[self::OBJECT_TO_POPULATE]); - unset($context['cache_key']); // avoid artificially different keys - - try { - return hash('xxh128', $format.serialize([ - 'context' => $context, - 'ignored' => $context[self::IGNORED_ATTRIBUTES] ?? $this->defaultContext[self::IGNORED_ATTRIBUTES], - ])); - } catch (\Exception) { - // The context cannot be serialized, skip the cache - return false; - } - } - - /** - * This error may occur when specific object normalizer implementation gets attribute value - * by accessing a public uninitialized property or by calling a method accessing such property. - */ - private function isUninitializedValueError(\Error|UninitializedPropertyException $e): bool - { - return $e instanceof UninitializedPropertyException - || str_starts_with($e->getMessage(), 'Typed property') - && str_ends_with($e->getMessage(), 'must not be accessed before initialization'); - } - - /** - * Returns all attributes with a SerializedPath attribute and the respective path. - */ - private function getNestedAttributes(string $class): array - { - if (!$this->classMetadataFactory?->hasMetadataFor($class)) { - return []; - } - - $properties = []; - $serializedPaths = []; - $classMetadata = $this->classMetadataFactory->getMetadataFor($class); - foreach ($classMetadata->getAttributesMetadata() as $name => $metadata) { - if (!$serializedPath = $metadata->getSerializedPath()) { - continue; - } - $pathIdentifier = implode(',', $serializedPath->getElements()); - if (isset($serializedPaths[$pathIdentifier])) { - throw new LogicException(\sprintf('Duplicate serialized path: "%s" used for properties "%s" and "%s".', $pathIdentifier, $serializedPaths[$pathIdentifier], $name)); - } - $serializedPaths[$pathIdentifier] = $name; - $properties[$name] = $serializedPath; - } - - return $properties; - } - - private function removeNestedValue(array $path, array $data): array - { - $element = array_shift($path); - if (!$path || !$data[$element] || !$data[$element] = $this->removeNestedValue($path, $data[$element])) { - unset($data[$element]); - } - - return $data; - } - - /** - * @return class-string - */ - private function getMappedClass(array $data, string $class, array $context): string - { - if (null !== $object = $this->extractObjectToPopulate($class, $context, self::OBJECT_TO_POPULATE)) { - return $object::class; - } - - if (!$mapping = $this->classDiscriminatorResolver?->getMappingForClass($class)) { - return $class; - } - - if (null === $type = $data[$mapping->getTypeProperty()] ?? $mapping->getDefaultType()) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('Type property "%s" not found for the abstract object "%s".', $mapping->getTypeProperty(), $class), null, ['string'], isset($context['deserialization_path']) ? $context['deserialization_path'].'.'.$mapping->getTypeProperty() : $mapping->getTypeProperty(), false); - } - - if (!\is_string($type) && (!\is_object($type) || !method_exists($type, '__toString'))) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type property "%s" for the abstract object "%s" must be a string or a stringable object.', $mapping->getTypeProperty(), $class), $type, ['string'], isset($context['deserialization_path']) ? $context['deserialization_path'].'.'.$mapping->getTypeProperty() : $mapping->getTypeProperty(), false); - } - - if (null === $mappedClass = $mapping->getClassForType($type)) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type "%s" is not a valid value.', $type), $type, ['string'], isset($context['deserialization_path']) ? $context['deserialization_path'].'.'.$mapping->getTypeProperty() : $mapping->getTypeProperty(), true); - } - - return $mappedClass; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/ArrayDenormalizer.php b/app/vendor/symfony/serializer/Normalizer/ArrayDenormalizer.php deleted file mode 100644 index 23e364c7a..000000000 --- a/app/vendor/symfony/serializer/Normalizer/ArrayDenormalizer.php +++ /dev/null @@ -1,127 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\PropertyInfo\Type as LegacyType; -use Symfony\Component\Serializer\Exception\BadMethodCallException; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; -use Symfony\Component\TypeInfo\Type; -use Symfony\Component\TypeInfo\Type\BuiltinType; -use Symfony\Component\TypeInfo\Type\CollectionType; -use Symfony\Component\TypeInfo\Type\UnionType; -use Symfony\Component\TypeInfo\TypeIdentifier; - -/** - * Denormalizes arrays of objects. - * - * @author Alexander M. Turek - * - * @final - */ -class ArrayDenormalizer implements DenormalizerInterface, DenormalizerAwareInterface -{ - use DenormalizerAwareTrait; - - public function getSupportedTypes(?string $format): array - { - return ['object' => null, '*' => false]; - } - - /** - * @throws NotNormalizableValueException - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): array - { - if (!isset($this->denormalizer)) { - throw new BadMethodCallException('Please set a denormalizer before calling denormalize()!'); - } - if (!\is_array($data)) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('Data expected to be "%s", "%s" given.', $type, get_debug_type($data)), $data, ['array'], $context['deserialization_path'] ?? null); - } - if (!str_ends_with($type, '[]')) { - throw new InvalidArgumentException('Unsupported class: '.$type); - } - - $type = substr($type, 0, -2); - - $typeIdentifiers = []; - if (null !== $keyType = ($context['key_type'] ?? null)) { - if ($keyType instanceof Type) { - // BC layer for type-info < 7.2 - if (method_exists(Type::class, 'getBaseType')) { - $typeIdentifiers = array_map(fn (Type $t): string => $t->getBaseType()->getTypeIdentifier()->value, $keyType instanceof UnionType ? $keyType->getTypes() : [$keyType]); - } else { - /** @var list|BuiltinType> */ - $keyTypes = $keyType instanceof UnionType ? $keyType->getTypes() : [$keyType]; - - $typeIdentifiers = array_map(fn (BuiltinType $t): string => $t->getTypeIdentifier()->value, $keyTypes); - } - } else { - $typeIdentifiers = array_map(fn (LegacyType $t): string => $t->getBuiltinType(), \is_array($keyType) ? $keyType : [$keyType]); - } - } - - $valueType = $context['value_type'] ?? null; - if ($valueType instanceof CollectionType) { - $context['key_type'] = $valueType->getCollectionKeyType(); - $context['value_type'] = $valueType->getCollectionValueType(); - } elseif ($valueType instanceof LegacyType && $valueType->isCollection()) { - if ($collectionKeyTypes = $valueType->getCollectionKeyTypes()) { - $context['key_type'] = \count($collectionKeyTypes) > 1 ? $collectionKeyTypes : $collectionKeyTypes[0]; - } - - if ($collectionValueTypes = $valueType->getCollectionValueTypes()) { - $context['value_type'] = $collectionValueTypes[0]; - } - } - - foreach ($data as $key => $value) { - $subContext = $context; - $subContext['deserialization_path'] = ($context['deserialization_path'] ?? false) ? \sprintf('%s[%s]', $context['deserialization_path'], $key) : "[$key]"; - - $this->validateKeyType($typeIdentifiers, $key, $subContext['deserialization_path']); - - $data[$key] = $this->denormalizer->denormalize($value, $type, $format, $subContext); - } - - return $data; - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - if (!isset($this->denormalizer)) { - throw new BadMethodCallException(\sprintf('The nested denormalizer needs to be set to allow "%s()" to be used.', __METHOD__)); - } - - return str_ends_with($type, '[]') - && $this->denormalizer->supportsDenormalization($data, substr($type, 0, -2), $format, $context); - } - - /** - * @param list $typeIdentifiers - */ - private function validateKeyType(array $typeIdentifiers, mixed $key, string $path): void - { - if (!$typeIdentifiers) { - return; - } - - foreach ($typeIdentifiers as $typeIdentifier) { - if (('is_'.$typeIdentifier)($key)) { - return; - } - } - - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The type of the key "%s" must be "%s" ("%s" given).', $key, implode('", "', $typeIdentifiers), get_debug_type($key)), $key, $typeIdentifiers, $path, true); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/BackedEnumNormalizer.php b/app/vendor/symfony/serializer/Normalizer/BackedEnumNormalizer.php deleted file mode 100644 index 7e335c3c9..000000000 --- a/app/vendor/symfony/serializer/Normalizer/BackedEnumNormalizer.php +++ /dev/null @@ -1,84 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; - -/** - * Normalizes a {@see \BackedEnum} enumeration to a string or an integer. - * - * @author Alexandre Daubois - */ -final class BackedEnumNormalizer implements NormalizerInterface, DenormalizerInterface -{ - /** - * If true, will denormalize any invalid value into null. - */ - public const ALLOW_INVALID_VALUES = 'allow_invalid_values'; - - public function getSupportedTypes(?string $format): array - { - return [ - \BackedEnum::class => true, - ]; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): int|string - { - if (!$data instanceof \BackedEnum) { - throw new InvalidArgumentException('The data must belong to a backed enumeration.'); - } - - return $data->value; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof \BackedEnum; - } - - /** - * @throws NotNormalizableValueException - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - if (!is_subclass_of($type, \BackedEnum::class)) { - throw new InvalidArgumentException('The data must belong to a backed enumeration.'); - } - - $allowInvalidValues = $context[self::ALLOW_INVALID_VALUES] ?? false; - - if (null === $data || (!\is_int($data) && !\is_string($data))) { - if ($allowInvalidValues && !isset($context['not_normalizable_value_exceptions'])) { - return null; - } - - throw NotNormalizableValueException::createForUnexpectedDataType('The data is neither an integer nor a string, you should pass an integer or a string that can be parsed as an enumeration case of type '.$type.'.', $data, ['int', 'string'], $context['deserialization_path'] ?? null, true); - } - - try { - return $type::from($data); - } catch (\ValueError|\TypeError $e) { - if ($allowInvalidValues && !isset($context['not_normalizable_value_exceptions'])) { - return null; - } - - throw NotNormalizableValueException::createForUnexpectedDataType('The data must belong to a backed enumeration of type '.$type, $data, ['int', 'string'], $context['deserialization_path'] ?? null, true, 0, $e); - } - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return is_subclass_of($type, \BackedEnum::class); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/ConstraintViolationListNormalizer.php b/app/vendor/symfony/serializer/Normalizer/ConstraintViolationListNormalizer.php deleted file mode 100644 index d5e243be3..000000000 --- a/app/vendor/symfony/serializer/Normalizer/ConstraintViolationListNormalizer.php +++ /dev/null @@ -1,159 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\NameConverter\NameConverterInterface; -use Symfony\Component\Validator\ConstraintViolationListInterface; - -/** - * A normalizer that normalizes a ConstraintViolationListInterface instance. - * - * This Normalizer implements RFC7807 {@link https://tools.ietf.org/html/rfc7807}. - * - * @author Grégoire Pineau - * @author Kévin Dunglas - */ -final class ConstraintViolationListNormalizer implements NormalizerInterface -{ - public const INSTANCE = 'instance'; - public const STATUS = 'status'; - public const TITLE = 'title'; - public const TYPE = 'type'; - public const PAYLOAD_FIELDS = 'payload_fields'; - - public function __construct( - private readonly array $defaultContext = [], - private readonly ?NameConverterInterface $nameConverter = null, - ) { - } - - public function getSupportedTypes(?string $format): array - { - return [ - ConstraintViolationListInterface::class => true, - ]; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array - { - if (\array_key_exists(self::PAYLOAD_FIELDS, $context)) { - $payloadFieldsToSerialize = $context[self::PAYLOAD_FIELDS]; - } elseif (\array_key_exists(self::PAYLOAD_FIELDS, $this->defaultContext)) { - $payloadFieldsToSerialize = $this->defaultContext[self::PAYLOAD_FIELDS]; - } else { - $payloadFieldsToSerialize = []; - } - - if (\is_array($payloadFieldsToSerialize) && [] !== $payloadFieldsToSerialize) { - $payloadFieldsToSerialize = array_flip($payloadFieldsToSerialize); - } - - $violations = []; - $messages = []; - foreach ($data as $violation) { - $propertyPath = $violation->getPropertyPath(); - - if (null !== $this->nameConverter) { - $propertyPath = $this->normalizePropertyPath($propertyPath, \is_object($violation->getRoot()) ? \get_class($violation->getRoot()) : null, $format, $context); - } - - $violationEntry = [ - 'propertyPath' => $propertyPath, - 'title' => $violation->getMessage(), - 'template' => $violation->getMessageTemplate(), - 'parameters' => $violation->getParameters(), - ]; - if (null !== $code = $violation->getCode()) { - $violationEntry['type'] = \sprintf('urn:uuid:%s', $code); - } - - $constraint = $violation->getConstraint(); - if ( - [] !== $payloadFieldsToSerialize - && $constraint - && $constraint->payload - // If some or all payload fields are whitelisted, add them - && $payloadFields = null === $payloadFieldsToSerialize || true === $payloadFieldsToSerialize ? $constraint->payload : array_intersect_key($constraint->payload, $payloadFieldsToSerialize) - ) { - $violationEntry['payload'] = $payloadFields; - } - - $violations[] = $violationEntry; - - $prefix = $propertyPath ? \sprintf('%s: ', $propertyPath) : ''; - $messages[] = $prefix.$violation->getMessage(); - } - - $result = [ - 'type' => $context[self::TYPE] ?? $this->defaultContext[self::TYPE] ?? 'https://symfony.com/errors/validation', - 'title' => $context[self::TITLE] ?? $this->defaultContext[self::TITLE] ?? 'Validation Failed', - ]; - if (null !== $status = ($context[self::STATUS] ?? $this->defaultContext[self::STATUS] ?? null)) { - $result['status'] = $status; - } - if ($messages) { - $result['detail'] = implode("\n", $messages); - } - if (null !== $instance = ($context[self::INSTANCE] ?? $this->defaultContext[self::INSTANCE] ?? null)) { - $result['instance'] = $instance; - } - - return $result + ['violations' => $violations]; - } - - private function normalizePropertyPath(string $propertyPath, ?string $class, ?string $format, array $context): string - { - if (!str_contains($propertyPath, '.')) { - return $this->nameConverter->normalize($propertyPath, $class, $format, $context); - } - - $result = []; - $currentClass = $class; - - foreach (explode('.', $propertyPath) as $segment) { - $subscript = ''; - $propertyName = $segment; - if (false !== $bracketPos = strpos($segment, '[')) { - $propertyName = substr($segment, 0, $bracketPos); - $subscript = substr($segment, $bracketPos); - } - - $result[] = $this->nameConverter->normalize($propertyName, $currentClass, $format, $context).$subscript; - - $currentClass = $this->getPropertyClassFromReflection($currentClass, $propertyName); - } - - return implode('.', $result); - } - - private function getPropertyClassFromReflection(?string $class, string $property): ?string - { - if (null === $class) { - return null; - } - - try { - $type = (new \ReflectionProperty($class, $property))->getType(); - if ($type instanceof \ReflectionNamedType && !$type->isBuiltin()) { - return $type->getName(); - } - } catch (\ReflectionException) { - } - - return null; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof ConstraintViolationListInterface; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/CustomNormalizer.php b/app/vendor/symfony/serializer/Normalizer/CustomNormalizer.php deleted file mode 100644 index 444c41354..000000000 --- a/app/vendor/symfony/serializer/Normalizer/CustomNormalizer.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\SerializerAwareInterface; -use Symfony\Component\Serializer\SerializerAwareTrait; - -/** - * @author Jordi Boggiano - */ -final class CustomNormalizer implements NormalizerInterface, DenormalizerInterface, SerializerAwareInterface -{ - use ObjectToPopulateTrait; - use SerializerAwareTrait; - - public function getSupportedTypes(?string $format): array - { - return [ - NormalizableInterface::class => true, - DenormalizableInterface::class => true, - ]; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - return $data->normalize($this->serializer, $format, $context); - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - $object = $this->extractObjectToPopulate($type, $context) ?? new $type(); - $object->denormalize($this->serializer, $data, $format, $context); - - return $object; - } - - /** - * Checks if the given class implements the NormalizableInterface. - * - * @param mixed $data Data to normalize - * @param string|null $format The format being (de-)serialized from or into - */ - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof NormalizableInterface; - } - - /** - * Checks if the given class implements the DenormalizableInterface. - * - * @param mixed $data Data to denormalize from - * @param string $type The class to which the data should be denormalized - * @param string|null $format The format being deserialized from - */ - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return is_subclass_of($type, DenormalizableInterface::class); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/DataUriNormalizer.php b/app/vendor/symfony/serializer/Normalizer/DataUriNormalizer.php deleted file mode 100644 index 57ad724c4..000000000 --- a/app/vendor/symfony/serializer/Normalizer/DataUriNormalizer.php +++ /dev/null @@ -1,140 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\HttpFoundation\File\File; -use Symfony\Component\Mime\MimeTypeGuesserInterface; -use Symfony\Component\Mime\MimeTypes; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; - -/** - * Normalizes an {@see \SplFileInfo} object to a data URI. - * Denormalizes a data URI to a {@see \SplFileObject} object. - * - * @author Kévin Dunglas - */ -final class DataUriNormalizer implements NormalizerInterface, DenormalizerInterface -{ - private const SUPPORTED_TYPES = [ - \SplFileInfo::class => true, - \SplFileObject::class => true, - File::class => true, - ]; - - private readonly ?MimeTypeGuesserInterface $mimeTypeGuesser; - - public function __construct(?MimeTypeGuesserInterface $mimeTypeGuesser = null) - { - if (!$mimeTypeGuesser && class_exists(MimeTypes::class)) { - $mimeTypeGuesser = MimeTypes::getDefault(); - } - - $this->mimeTypeGuesser = $mimeTypeGuesser; - } - - public function getSupportedTypes(?string $format): array - { - return self::SUPPORTED_TYPES; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): string - { - if (!$data instanceof \SplFileInfo) { - throw new InvalidArgumentException('The object must be an instance of "\SplFileInfo".'); - } - - $mimeType = $this->getMimeType($data); - $splFileObject = $this->extractSplFileObject($data); - - $splFileData = ''; - - $splFileObject->rewind(); - while (!$splFileObject->eof()) { - $splFileData .= $splFileObject->fgets(); - } - - if ('text' === explode('/', $mimeType, 2)[0]) { - return \sprintf('data:%s,%s', $mimeType, rawurlencode($splFileData)); - } - - return \sprintf('data:%s;base64,%s', $mimeType, base64_encode($splFileData)); - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof \SplFileInfo; - } - - /** - * Regex adapted from Brian Grinstead code. - * - * @see https://gist.github.com/bgrins/6194623 - * - * @throws InvalidArgumentException - * @throws NotNormalizableValueException - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): \SplFileInfo - { - if (null === $data || !preg_match('/^data:([a-z0-9][a-z0-9\!\#\$\&\-\^\_\+\.]{0,126}\/[a-z0-9][a-z0-9\!\#\$\&\-\^\_\+\.]{0,126}(;[a-z0-9\-]+\=[a-z0-9\-]+)?)?(;base64)?,[a-z0-9\!\$\&\\\'\,\(\)\*\+\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i', $data)) { - throw NotNormalizableValueException::createForUnexpectedDataType('The provided "data:" URI is not valid.', $data, ['string'], $context['deserialization_path'] ?? null, true); - } - - try { - switch ($type) { - case File::class: - if (!class_exists(File::class)) { - throw new InvalidArgumentException(\sprintf('Cannot denormalize to a "%s" without the HttpFoundation component installed. Try running "composer require symfony/http-foundation".', File::class)); - } - - return new File($data, false); - - case 'SplFileObject': - case 'SplFileInfo': - return new \SplFileObject($data); - } - } catch (\RuntimeException $exception) { - throw NotNormalizableValueException::createForUnexpectedDataType($exception->getMessage(), $data, ['string'], $context['deserialization_path'] ?? null, false, $exception->getCode(), $exception); - } - - throw new InvalidArgumentException(\sprintf('The class parameter "%s" is not supported. It must be one of "SplFileInfo", "SplFileObject" or "Symfony\Component\HttpFoundation\File\File".', $type)); - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return isset(self::SUPPORTED_TYPES[$type]); - } - - /** - * Gets the mime type of the object. Defaults to application/octet-stream. - */ - private function getMimeType(\SplFileInfo $object): string - { - if ($object instanceof File) { - return $object->getMimeType(); - } - - return $this->mimeTypeGuesser?->guessMimeType($object->getPathname()) ?: 'application/octet-stream'; - } - - /** - * Returns the \SplFileObject instance associated with the given \SplFileInfo instance. - */ - private function extractSplFileObject(\SplFileInfo $object): \SplFileObject - { - if ($object instanceof \SplFileObject) { - return $object; - } - - return $object->openFile(); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/DateIntervalNormalizer.php b/app/vendor/symfony/serializer/Normalizer/DateIntervalNormalizer.php deleted file mode 100644 index 1ad81ec61..000000000 --- a/app/vendor/symfony/serializer/Normalizer/DateIntervalNormalizer.php +++ /dev/null @@ -1,118 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; - -/** - * Normalizes an instance of {@see \DateInterval} to an interval string. - * Denormalizes an interval string to an instance of {@see \DateInterval}. - * - * @author Jérôme Parmentier - */ -final class DateIntervalNormalizer implements NormalizerInterface, DenormalizerInterface -{ - public const FORMAT_KEY = 'dateinterval_format'; - - private array $defaultContext = [ - self::FORMAT_KEY => '%rP%yY%mM%dDT%hH%iM%sS', - ]; - - public function __construct(array $defaultContext = []) - { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - public function getSupportedTypes(?string $format): array - { - return [ - \DateInterval::class => true, - ]; - } - - /** - * @throws InvalidArgumentException - */ - public function normalize(mixed $data, ?string $format = null, array $context = []): string - { - if (!$data instanceof \DateInterval) { - throw new InvalidArgumentException('The object must be an instance of "\DateInterval".'); - } - - return $data->format($context[self::FORMAT_KEY] ?? $this->defaultContext[self::FORMAT_KEY]); - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof \DateInterval; - } - - /** - * @throws NotNormalizableValueException - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): \DateInterval - { - if (!\is_string($data)) { - throw NotNormalizableValueException::createForUnexpectedDataType('Data expected to be a string.', $data, ['string'], $context['deserialization_path'] ?? null, true); - } - - if (!$this->isISO8601($data)) { - throw NotNormalizableValueException::createForUnexpectedDataType('Expected a valid ISO 8601 interval string.', $data, ['string'], $context['deserialization_path'] ?? null, true); - } - - $dateIntervalFormat = $context[self::FORMAT_KEY] ?? $this->defaultContext[self::FORMAT_KEY]; - - $signPattern = ''; - switch (substr($dateIntervalFormat, 0, 2)) { - case '%R': - $signPattern = '[-+]'; - $dateIntervalFormat = substr($dateIntervalFormat, 2); - break; - case '%r': - $signPattern = '-?'; - $dateIntervalFormat = substr($dateIntervalFormat, 2); - break; - } - $valuePattern = '/^'.$signPattern.preg_replace('/%([yYmMdDhHiIsSwW])(\w)/', '(?:(?P<$1>\d+)$2)?', preg_replace('/(T.*)$/', '($1)?', $dateIntervalFormat)).'$/'; - if (!preg_match($valuePattern, $data)) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('Value "%s" contains intervals not accepted by format "%s".', $data, $dateIntervalFormat), $data, ['string'], $context['deserialization_path'] ?? null, false); - } - - try { - if ('-' === $data[0]) { - $interval = new \DateInterval(substr($data, 1)); - $interval->invert = 1; - - return $interval; - } - - if ('+' === $data[0]) { - return new \DateInterval(substr($data, 1)); - } - - return new \DateInterval($data); - } catch (\Exception $e) { - throw NotNormalizableValueException::createForUnexpectedDataType($e->getMessage(), $data, ['string'], $context['deserialization_path'] ?? null, false, $e->getCode(), $e); - } - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return \DateInterval::class === $type; - } - - private function isISO8601(string $string): bool - { - return preg_match('/^[\-+]?P(?=\w*(?:\d|%\w))(?:\d+Y|%[yY]Y)?(?:\d+M|%[mM]M)?(?:\d+W|%[wW]W)?(?:\d+D|%[dD]D)?(?:T(?:\d+H|[hH]H)?(?:\d+M|[iI]M)?(?:\d+S|[sS]S)?)?$/', $string); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php b/app/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php deleted file mode 100644 index b75c65a04..000000000 --- a/app/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php +++ /dev/null @@ -1,184 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; - -/** - * Normalizes an object implementing the {@see \DateTimeInterface} to a date string. - * Denormalizes a date string to an instance of {@see \DateTime} or {@see \DateTimeImmutable}. - * - * @author Kévin Dunglas - */ -final class DateTimeNormalizer implements NormalizerInterface, DenormalizerInterface -{ - public const FORMAT_KEY = 'datetime_format'; - public const TIMEZONE_KEY = 'datetime_timezone'; - public const CAST_KEY = 'datetime_cast'; - public const FORCE_TIMEZONE_KEY = 'datetime_force_timezone'; - - private array $defaultContext = [ - self::FORMAT_KEY => \DateTimeInterface::RFC3339, - self::TIMEZONE_KEY => null, - self::CAST_KEY => null, - self::FORCE_TIMEZONE_KEY => false, - ]; - - private const SUPPORTED_TYPES = [ - \DateTimeInterface::class => true, - \DateTimeImmutable::class => true, - \DateTime::class => true, - ]; - - public function __construct(array $defaultContext = []) - { - $this->setDefaultContext($defaultContext); - } - - public function setDefaultContext(array $defaultContext): void - { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - public function getSupportedTypes(?string $format): array - { - return self::SUPPORTED_TYPES; - } - - /** - * @throws InvalidArgumentException - */ - public function normalize(mixed $data, ?string $format = null, array $context = []): int|float|string - { - if (!$data instanceof \DateTimeInterface) { - throw new InvalidArgumentException('The object must implement the "\DateTimeInterface".'); - } - - $dateTimeFormat = $context[self::FORMAT_KEY] ?? $this->defaultContext[self::FORMAT_KEY]; - $timezone = $this->getTimezone($context); - - if (null !== $timezone) { - $data = clone $data; - $data = $data->setTimezone($timezone); - } - - return match ($context[self::CAST_KEY] ?? $this->defaultContext[self::CAST_KEY] ?? false) { - 'int' => (int) $data->format($dateTimeFormat), - 'float' => (float) $data->format($dateTimeFormat), - default => $data->format($dateTimeFormat), - }; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof \DateTimeInterface; - } - - /** - * @throws NotNormalizableValueException - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): \DateTimeInterface - { - if (\is_int($data) || \is_float($data)) { - switch ($context[self::FORMAT_KEY] ?? $this->defaultContext[self::FORMAT_KEY] ?? null) { - case 'U': - $data = \sprintf('%d', $data); - break; - case 'U.u': - $data = \sprintf('%.6F', $data); - break; - } - } - - if (!\is_string($data) || '' === trim($data)) { - throw NotNormalizableValueException::createForUnexpectedDataType('The data is either not an string, an empty string, or null; you should pass a string that can be parsed with the passed format or a valid DateTime string.', $data, ['string'], $context['deserialization_path'] ?? null, true); - } - - try { - if (\DateTimeInterface::class === $type) { - $type = \DateTimeImmutable::class; - } - - $timezone = $this->getTimezone($context); - $dateTimeFormat = $context[self::FORMAT_KEY] ?? null; - - if (null !== $dateTimeFormat) { - if (false !== $object = $type::createFromFormat($dateTimeFormat, $data, $timezone)) { - return $this->enforceTimezone($object, $context); - } - - $dateTimeErrors = $type::getLastErrors(); - - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('Parsing datetime string "%s" using format "%s" resulted in %d errors: ', $data, $dateTimeFormat, $dateTimeErrors['error_count'])."\n".implode("\n", $this->formatDateTimeErrors($dateTimeErrors['errors'])), $data, ['string'], $context['deserialization_path'] ?? null, true); - } - - $defaultDateTimeFormat = $this->defaultContext[self::FORMAT_KEY] ?? null; - - if (null !== $defaultDateTimeFormat) { - if (false !== $object = $type::createFromFormat($defaultDateTimeFormat, $data, $timezone)) { - return $this->enforceTimezone($object, $context); - } - } - - return $this->enforceTimezone(new $type($data, $timezone), $context); - } catch (NotNormalizableValueException $e) { - throw $e; - } catch (\Exception $e) { - throw NotNormalizableValueException::createForUnexpectedDataType($e->getMessage(), $data, ['string'], $context['deserialization_path'] ?? null, false, $e->getCode(), $e); - } - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return is_a($type, \DateTimeInterface::class, true); - } - - /** - * Formats datetime errors. - * - * @return string[] - */ - private function formatDateTimeErrors(array $errors): array - { - $formattedErrors = []; - - foreach ($errors as $pos => $message) { - $formattedErrors[] = \sprintf('at position %d: %s', $pos, $message); - } - - return $formattedErrors; - } - - private function getTimezone(array $context): ?\DateTimeZone - { - $dateTimeZone = $context[self::TIMEZONE_KEY] ?? $this->defaultContext[self::TIMEZONE_KEY]; - - if (null === $dateTimeZone) { - return null; - } - - return $dateTimeZone instanceof \DateTimeZone ? $dateTimeZone : new \DateTimeZone($dateTimeZone); - } - - private function enforceTimezone(\DateTime|\DateTimeImmutable $object, array $context): \DateTimeInterface - { - $timezone = $this->getTimezone($context); - $forceTimezone = $context[self::FORCE_TIMEZONE_KEY] ?? $this->defaultContext[self::FORCE_TIMEZONE_KEY]; - - if (null === $timezone || !$forceTimezone) { - return $object; - } - - return $object->setTimezone($timezone); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/DateTimeZoneNormalizer.php b/app/vendor/symfony/serializer/Normalizer/DateTimeZoneNormalizer.php deleted file mode 100644 index cdb6eb2f0..000000000 --- a/app/vendor/symfony/serializer/Normalizer/DateTimeZoneNormalizer.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; - -/** - * Normalizes a {@see \DateTimeZone} object to a timezone string. - * - * @author Jérôme Desjardins - */ -final class DateTimeZoneNormalizer implements NormalizerInterface, DenormalizerInterface -{ - public function getSupportedTypes(?string $format): array - { - return [ - \DateTimeZone::class => true, - ]; - } - - /** - * @throws InvalidArgumentException - */ - public function normalize(mixed $data, ?string $format = null, array $context = []): string - { - if (!$data instanceof \DateTimeZone) { - throw new InvalidArgumentException('The object must be an instance of "\DateTimeZone".'); - } - - return $data->getName(); - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof \DateTimeZone; - } - - /** - * @throws NotNormalizableValueException - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): \DateTimeZone - { - if ('' === $data || null === $data) { - throw NotNormalizableValueException::createForUnexpectedDataType('The data is either an empty string or null, you should pass a string that can be parsed as a DateTimeZone.', $data, ['string'], $context['deserialization_path'] ?? null, true); - } - - try { - return new \DateTimeZone($data); - } catch (\Exception $e) { - throw NotNormalizableValueException::createForUnexpectedDataType($e->getMessage(), $data, ['string'], $context['deserialization_path'] ?? null, true, $e->getCode(), $e); - } - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return \DateTimeZone::class === $type; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php b/app/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php deleted file mode 100644 index 4a9e8ac2c..000000000 --- a/app/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -/** - * Defines the most basic interface a class must implement to be denormalizable. - * - * If a denormalizer is registered for the class and it doesn't implement - * the Denormalizable interfaces, the normalizer will be used instead - * - * @author Jordi Boggiano - */ -interface DenormalizableInterface -{ - /** - * Denormalizes the object back from an array of scalars|arrays. - * - * It is important to understand that the denormalize() call should denormalize - * recursively all child objects of the implementer. - * - * @param DenormalizerInterface $denormalizer The denormalizer is given so that you - * can use it to denormalize objects contained within this object - * @param array|string|int|float|bool $data The data from which to re-create the object - * @param string|null $format The format is optionally given to be able to denormalize - * differently based on different input formats - * @param array $context Options for denormalizing - */ - public function denormalize(DenormalizerInterface $denormalizer, array|string|int|float|bool $data, ?string $format = null, array $context = []): void; -} diff --git a/app/vendor/symfony/serializer/Normalizer/DenormalizerAwareInterface.php b/app/vendor/symfony/serializer/Normalizer/DenormalizerAwareInterface.php deleted file mode 100644 index 84bf8d89d..000000000 --- a/app/vendor/symfony/serializer/Normalizer/DenormalizerAwareInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -/** - * @author Joel Wurtz - */ -interface DenormalizerAwareInterface -{ - /** - * Sets the owning Denormalizer object. - */ - public function setDenormalizer(DenormalizerInterface $denormalizer): void; -} diff --git a/app/vendor/symfony/serializer/Normalizer/DenormalizerAwareTrait.php b/app/vendor/symfony/serializer/Normalizer/DenormalizerAwareTrait.php deleted file mode 100644 index f4620e1c0..000000000 --- a/app/vendor/symfony/serializer/Normalizer/DenormalizerAwareTrait.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -/** - * @author Joel Wurtz - */ -trait DenormalizerAwareTrait -{ - protected DenormalizerInterface $denormalizer; - - public function setDenormalizer(DenormalizerInterface $denormalizer): void - { - $this->denormalizer = $denormalizer; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php b/app/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php deleted file mode 100644 index 1a0ae26b3..000000000 --- a/app/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\BadMethodCallException; -use Symfony\Component\Serializer\Exception\ExceptionInterface; -use Symfony\Component\Serializer\Exception\ExtraAttributesException; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Exception\RuntimeException; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; - -/** - * @author Jordi Boggiano - */ -interface DenormalizerInterface -{ - public const COLLECT_DENORMALIZATION_ERRORS = 'collect_denormalization_errors'; - - /** - * Denormalizes data back into an object of the given class. - * - * @template TObject of object - * - * @param mixed $data Data to restore - * @param class-string|string $type The expected class to instantiate - * @param string|null $format Format the given data was extracted from - * @param array $context Options available to the denormalizer - * - * @return ($type is class-string ? TObject : mixed) - * - * @throws BadMethodCallException Occurs when the normalizer is not called in an expected context - * @throws InvalidArgumentException Occurs when the arguments are not coherent or not supported - * @throws UnexpectedValueException Occurs when the item cannot be hydrated with the given data - * @throws ExtraAttributesException Occurs when the item doesn't have attribute to receive given data - * @throws LogicException Occurs when the normalizer is not supposed to denormalize - * @throws RuntimeException Occurs if the class cannot be instantiated - * @throws ExceptionInterface Occurs for all the other cases of errors - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed; - - /** - * Checks whether the given class is supported for denormalization by this normalizer. - * - * @param mixed $data Data to denormalize from - * @param string $type The class to which the data should be denormalized - * @param string|null $format The format being deserialized from - * @param array $context Options available to the denormalizer - */ - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool; - - /** - * Returns the types potentially supported by this denormalizer. - * - * For each supported formats (if applicable), the supported types should be - * returned as keys, and each type should be mapped to a boolean indicating - * if the result of supportsDenormalization() can be cached or not - * (a result cannot be cached when it depends on the context or on the data.) - * A null value means that the denormalizer does not support the corresponding - * type. - * - * Use type "object" to match any classes or interfaces, - * and type "*" to match any types. - * - * @return array - */ - public function getSupportedTypes(?string $format): array; -} diff --git a/app/vendor/symfony/serializer/Normalizer/FormErrorNormalizer.php b/app/vendor/symfony/serializer/Normalizer/FormErrorNormalizer.php deleted file mode 100644 index c91d7d528..000000000 --- a/app/vendor/symfony/serializer/Normalizer/FormErrorNormalizer.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Form\FormInterface; - -/** - * Normalizes invalid Form instances. - */ -final class FormErrorNormalizer implements NormalizerInterface -{ - public const TITLE = 'title'; - public const TYPE = 'type'; - public const CODE = 'status_code'; - - public function normalize(mixed $data, ?string $format = null, array $context = []): array - { - $error = [ - 'title' => $context[self::TITLE] ?? 'Validation Failed', - 'type' => $context[self::TYPE] ?? 'https://symfony.com/errors/form', - 'code' => $context[self::CODE] ?? null, - 'errors' => $this->convertFormErrorsToArray($data), - ]; - - if (0 !== \count($data->all())) { - $error['children'] = $this->convertFormChildrenToArray($data); - } - - return $error; - } - - public function getSupportedTypes(?string $format): array - { - return [ - FormInterface::class => false, - ]; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof FormInterface && $data->isSubmitted() && !$data->isValid(); - } - - private function convertFormErrorsToArray(FormInterface $data): array - { - $errors = []; - - foreach ($data->getErrors() as $error) { - $errors[] = [ - 'message' => $error->getMessage(), - 'cause' => $error->getCause(), - ]; - } - - return $errors; - } - - private function convertFormChildrenToArray(FormInterface $data): array - { - $children = []; - - foreach ($data->all() as $child) { - $childData = [ - 'errors' => $this->convertFormErrorsToArray($child), - ]; - - if ($child->all()) { - $childData['children'] = $this->convertFormChildrenToArray($child); - } - - $children[$child->getName()] = $childData; - } - - return $children; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php b/app/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php deleted file mode 100644 index 71181a7fc..000000000 --- a/app/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php +++ /dev/null @@ -1,217 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Annotation\Ignore as LegacyIgnore; -use Symfony\Component\Serializer\Attribute\Ignore; - -/** - * Converts between objects with getter and setter methods and arrays. - * - * The normalization process looks at all public methods and calls the ones - * which have a name starting with get and take no parameters. The result is a - * map from property names (method name stripped of the get prefix and converted - * to lower case) to property values. Property values are normalized through the - * serializer. - * - * The denormalization first looks at the constructor of the given class to see - * if any of the parameters have the same name as one of the properties. The - * constructor is then called with all parameters or an exception is thrown if - * any required parameters were not present as properties. Then the denormalizer - * walks through the given map of property names to property values to see if a - * setter method exists for any of the properties. If a setter exists it is - * called with the property value. No automatic denormalization of the value - * takes place. - * - * @author Nils Adermann - * @author Kévin Dunglas - */ -final class GetSetMethodNormalizer extends AbstractObjectNormalizer -{ - private static $reflectionCache = []; - private static array $setterAccessibleCache = []; - - public function getSupportedTypes(?string $format): array - { - return ['object' => true]; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return parent::supportsNormalization($data, $format) && $this->supports($data::class, true); - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return parent::supportsDenormalization($data, $type, $format) && $this->supports($type, false); - } - - /** - * Checks if the given class has any getter or setter method. - */ - private function supports(string $class, bool $readAttributes): bool - { - if ($this->classDiscriminatorResolver?->getMappingForClass($class)) { - return true; - } - - if (!isset(self::$reflectionCache[$class])) { - self::$reflectionCache[$class] = new \ReflectionClass($class); - } - - $reflection = self::$reflectionCache[$class]; - - foreach ($reflection->getMethods(\ReflectionMethod::IS_PUBLIC) as $reflectionMethod) { - if ($readAttributes ? $this->isGetMethod($reflectionMethod) : $this->isSetMethod($reflectionMethod)) { - return true; - } - } - - return false; - } - - /** - * Checks if a method's name matches /^(get|is|has|can).+$/ and can be called non-statically without parameters. - */ - private function isGetMethod(\ReflectionMethod $method): bool - { - return !$method->isStatic() - && !($method->getAttributes(Ignore::class) || $method->getAttributes(LegacyIgnore::class)) - && !$method->getNumberOfRequiredParameters() - && !\in_array((string) $method->getReturnType(), ['void', 'never'], true) - && ((2 < ($methodLength = \strlen($method->name)) && str_starts_with($method->name, 'is') && !ctype_lower($method->name[2])) - || (3 < $methodLength && (str_starts_with($method->name, 'has') || str_starts_with($method->name, 'get') || str_starts_with($method->name, 'can')) && !ctype_lower($method->name[3])) - ); - } - - /** - * Checks if a method's name matches /^set.+$/ and can be called non-statically with one parameter. - */ - private function isSetMethod(\ReflectionMethod $method): bool - { - return !$method->isStatic() - && !$method->getAttributes(Ignore::class) - && 0 < $method->getNumberOfParameters() - && 3 < \strlen($method->name) - && str_starts_with($method->name, 'set') - && !ctype_lower($method->name[3]) - ; - } - - protected function extractAttributes(object $object, ?string $format = null, array $context = []): array - { - $reflectionObject = new \ReflectionObject($object); - $reflectionMethods = $reflectionObject->getMethods(\ReflectionMethod::IS_PUBLIC); - - $attributes = []; - foreach ($reflectionMethods as $method) { - if (!$this->isGetMethod($method)) { - continue; - } - - $attributeName = lcfirst(substr($method->name, str_starts_with($method->name, 'is') ? 2 : 3)); - - if ($this->isAllowedAttribute($object, $attributeName, $format, $context)) { - $attributes[] = $attributeName; - } - } - - return $attributes; - } - - protected function getAttributeValue(object $object, string $attribute, ?string $format = null, array $context = []): mixed - { - $getter = 'get'.$attribute; - if (method_exists($object, $getter) && \is_callable([$object, $getter])) { - return $object->$getter(); - } - - $isser = 'is'.$attribute; - if (method_exists($object, $isser) && \is_callable([$object, $isser])) { - return $object->$isser(); - } - - $haser = 'has'.$attribute; - if (method_exists($object, $haser) && \is_callable([$object, $haser])) { - return $object->$haser(); - } - - $caner = 'can'.$attribute; - if (method_exists($object, $caner) && \is_callable([$object, $caner])) { - return $object->$caner(); - } - - return null; - } - - protected function setAttributeValue(object $object, string $attribute, mixed $value, ?string $format = null, array $context = []): void - { - $setter = 'set'.$attribute; - $key = $object::class.':'.$setter; - - if (!isset(self::$setterAccessibleCache[$key])) { - self::$setterAccessibleCache[$key] = method_exists($object, $setter) && \is_callable([$object, $setter]) && !(new \ReflectionMethod($object, $setter))->isStatic(); - } - - if (self::$setterAccessibleCache[$key]) { - $object->$setter($value); - } - } - - protected function isAllowedAttribute($classOrObject, string $attribute, ?string $format = null, array $context = []): bool - { - if (!parent::isAllowedAttribute($classOrObject, $attribute, $format, $context)) { - return false; - } - - $class = \is_object($classOrObject) ? $classOrObject::class : $classOrObject; - - if ($this->classDiscriminatorResolver?->getMappingForMappedObject($classOrObject)?->getTypeProperty() === $attribute) { - return true; - } - - if (!isset(self::$reflectionCache[$class])) { - self::$reflectionCache[$class] = new \ReflectionClass($class); - } - - $reflection = self::$reflectionCache[$class]; - - if ($context['_read_attributes'] ?? true) { - foreach (['get', 'is', 'has', 'can'] as $getterPrefix) { - $getter = $getterPrefix.$attribute; - $reflectionMethod = $reflection->hasMethod($getter) ? $reflection->getMethod($getter) : null; - if ($reflectionMethod && $this->isGetMethod($reflectionMethod)) { - return true; - } - } - - return false; - } - - $setter = 'set'.$attribute; - if ($reflection->hasMethod($setter) && $this->isSetMethod($reflection->getMethod($setter))) { - return true; - } - - $constructor = $reflection->getConstructor(); - - if ($constructor && $constructor->isPublic()) { - foreach ($constructor->getParameters() as $parameter) { - if ($parameter->getName() === $attribute) { - return true; - } - } - } - - return false; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/JsonSerializableNormalizer.php b/app/vendor/symfony/serializer/Normalizer/JsonSerializableNormalizer.php deleted file mode 100644 index 3bc4f280e..000000000 --- a/app/vendor/symfony/serializer/Normalizer/JsonSerializableNormalizer.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\LogicException; - -/** - * A normalizer that uses an objects own JsonSerializable implementation. - * - * @author Fred Cox - */ -final class JsonSerializableNormalizer extends AbstractNormalizer -{ - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - if ($this->isCircularReference($data, $context)) { - return $this->handleCircularReference($data, $format, $context); - } - - if (!$data instanceof \JsonSerializable) { - throw new InvalidArgumentException(\sprintf('The object must implement "%s".', \JsonSerializable::class)); - } - - if (!$this->serializer instanceof NormalizerInterface) { - throw new LogicException('Cannot normalize object because injected serializer is not a normalizer.'); - } - - return $this->serializer->normalize($data->jsonSerialize(), $format, $context); - } - - public function getSupportedTypes(?string $format): array - { - return [ - \JsonSerializable::class => true, - ]; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof \JsonSerializable; - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return false; - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - throw new LogicException(\sprintf('Cannot denormalize with "%s".', \JsonSerializable::class)); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/MimeMessageNormalizer.php b/app/vendor/symfony/serializer/Normalizer/MimeMessageNormalizer.php deleted file mode 100644 index 5b1213389..000000000 --- a/app/vendor/symfony/serializer/Normalizer/MimeMessageNormalizer.php +++ /dev/null @@ -1,121 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Mime\Address; -use Symfony\Component\Mime\Header\HeaderInterface; -use Symfony\Component\Mime\Header\Headers; -use Symfony\Component\Mime\Header\UnstructuredHeader; -use Symfony\Component\Mime\Message; -use Symfony\Component\Mime\Part\AbstractPart; -use Symfony\Component\Mime\RawMessage; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\SerializerAwareInterface; -use Symfony\Component\Serializer\SerializerInterface; - -/** - * Normalize Mime message classes. - * - * It forces the use of a PropertyNormalizer instance for normalization - * of all data objects composing a Message. - * - * Emails using resources for any parts are not serializable. - */ -final class MimeMessageNormalizer implements NormalizerInterface, DenormalizerInterface, SerializerAwareInterface -{ - private NormalizerInterface&DenormalizerInterface $serializer; - private array $headerClassMap; - private \ReflectionProperty $headersProperty; - - public function __construct(private readonly PropertyNormalizer $normalizer) - { - $this->headerClassMap = (new \ReflectionClassConstant(Headers::class, 'HEADER_CLASS_MAP'))->getValue(); - $this->headersProperty = new \ReflectionProperty(Headers::class, 'headers'); - } - - public function getSupportedTypes(?string $format): array - { - return [ - Message::class => true, - Headers::class => true, - HeaderInterface::class => true, - Address::class => true, - AbstractPart::class => true, - ]; - } - - public function setSerializer(SerializerInterface $serializer): void - { - if (!$serializer instanceof NormalizerInterface || !$serializer instanceof DenormalizerInterface) { - throw new LogicException(\sprintf('The passed serializer should implement both NormalizerInterface and DenormalizerInterface, "%s" given.', get_debug_type($serializer))); - } - $this->serializer = $serializer; - $this->normalizer->setSerializer($serializer); - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - if ($data instanceof Headers) { - $ret = []; - foreach ($this->headersProperty->getValue($data) as $name => $header) { - $ret[$name] = $this->serializer->normalize($header, $format, $context); - } - - return $ret; - } - - $ret = $this->normalizer->normalize($data, $format, $context); - - if ($data instanceof AbstractPart) { - $ret['class'] = $data::class; - unset($ret['seekable'], $ret['cid'], $ret['handle']); - } - - if ($data instanceof RawMessage && \array_key_exists('message', $ret) && null === $ret['message']) { - unset($ret['message']); - } - - return $ret; - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - if (Headers::class === $type) { - $ret = []; - foreach ($data as $headers) { - foreach ($headers as $header) { - $ret[] = $this->serializer->denormalize($header, $this->headerClassMap[strtolower($header['name'])] ?? UnstructuredHeader::class, $format, $context); - } - } - - return new Headers(...$ret); - } - - if (AbstractPart::class === $type) { - $type = $data['class']; - unset($data['class']); - $data['headers'] = $this->serializer->denormalize($data['headers'], Headers::class, $format, $context); - } - - return $this->normalizer->denormalize($data, $type, $format, $context); - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof Message || $data instanceof Headers || $data instanceof HeaderInterface || $data instanceof Address || $data instanceof AbstractPart; - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return is_a($type, Message::class, true) || Headers::class === $type || AbstractPart::class === $type; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/NormalizableInterface.php b/app/vendor/symfony/serializer/Normalizer/NormalizableInterface.php deleted file mode 100644 index 40461170f..000000000 --- a/app/vendor/symfony/serializer/Normalizer/NormalizableInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -/** - * Defines the most basic interface a class must implement to be normalizable. - * - * If a normalizer is registered for the class and it doesn't implement - * the Normalizable interfaces, the normalizer will be used instead. - * - * @author Jordi Boggiano - */ -interface NormalizableInterface -{ - /** - * Normalizes the object into an array of scalars|arrays. - * - * It is important to understand that the normalize() call should normalize - * recursively all child objects of the implementer. - * - * @param NormalizerInterface $normalizer The normalizer is given so that you - * can use it to normalize objects contained within this object - * @param string|null $format The format is optionally given to be able to normalize differently - * based on different output formats - * @param array $context Options for normalizing this object - */ - public function normalize(NormalizerInterface $normalizer, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null; -} diff --git a/app/vendor/symfony/serializer/Normalizer/NormalizerAwareInterface.php b/app/vendor/symfony/serializer/Normalizer/NormalizerAwareInterface.php deleted file mode 100644 index 1079ab6dd..000000000 --- a/app/vendor/symfony/serializer/Normalizer/NormalizerAwareInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -/** - * @author Joel Wurtz - */ -interface NormalizerAwareInterface -{ - /** - * Sets the owning Normalizer object. - */ - public function setNormalizer(NormalizerInterface $normalizer): void; -} diff --git a/app/vendor/symfony/serializer/Normalizer/NormalizerAwareTrait.php b/app/vendor/symfony/serializer/Normalizer/NormalizerAwareTrait.php deleted file mode 100644 index e21c6c175..000000000 --- a/app/vendor/symfony/serializer/Normalizer/NormalizerAwareTrait.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -/** - * @author Joel Wurtz - */ -trait NormalizerAwareTrait -{ - protected NormalizerInterface $normalizer; - - public function setNormalizer(NormalizerInterface $normalizer): void - { - $this->normalizer = $normalizer; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/NormalizerInterface.php b/app/vendor/symfony/serializer/Normalizer/NormalizerInterface.php deleted file mode 100644 index 9a16e7928..000000000 --- a/app/vendor/symfony/serializer/Normalizer/NormalizerInterface.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\CircularReferenceException; -use Symfony\Component\Serializer\Exception\ExceptionInterface; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\LogicException; - -/** - * @author Jordi Boggiano - */ -interface NormalizerInterface -{ - /** - * Normalizes data into a set of arrays/scalars. - * - * @param mixed $data Data to normalize - * @param string|null $format Format the normalization result will be encoded as - * @param array $context Context options for the normalizer - * - * @return array|string|int|float|bool|\ArrayObject|null \ArrayObject is used to make sure an empty object is encoded as an object not an array - * - * @throws InvalidArgumentException Occurs when the object given is not a supported type for the normalizer - * @throws CircularReferenceException Occurs when the normalizer detects a circular reference when no circular - * reference handler can fix it - * @throws LogicException Occurs when the normalizer is not called in an expected context - * @throws ExceptionInterface Occurs for all the other cases of errors - */ - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null; - - /** - * Checks whether the given class is supported for normalization by this normalizer. - * - * @param mixed $data Data to normalize - * @param string|null $format The format being (de-)serialized from or into - * @param array $context Context options for the normalizer - */ - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool; - - /** - * Returns the types potentially supported by this normalizer. - * - * For each supported formats (if applicable), the supported types should be - * returned as keys, and each type should be mapped to a boolean indicating - * if the result of supportsNormalization() can be cached or not - * (a result cannot be cached when it depends on the context or on the data.) - * A null value means that the normalizer does not support the corresponding - * type. - * - * Use type "object" to match any classes or interfaces, - * and type "*" to match any types. - * - * @return array - */ - public function getSupportedTypes(?string $format): array; -} diff --git a/app/vendor/symfony/serializer/Normalizer/NumberNormalizer.php b/app/vendor/symfony/serializer/Normalizer/NumberNormalizer.php deleted file mode 100644 index de68a406e..000000000 --- a/app/vendor/symfony/serializer/Normalizer/NumberNormalizer.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use BcMath\Number; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; - -/** - * Normalizes {@see Number} and {@see \GMP} to a string. - */ -final class NumberNormalizer implements NormalizerInterface, DenormalizerInterface -{ - public function getSupportedTypes(?string $format): array - { - return [ - Number::class => true, - \GMP::class => true, - ]; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): string - { - if (!$data instanceof Number && !$data instanceof \GMP) { - throw new InvalidArgumentException(\sprintf('The data must be an instance of "%s" or "%s".', Number::class, \GMP::class)); - } - - return (string) $data; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof Number || $data instanceof \GMP; - } - - /** - * @throws NotNormalizableValueException - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): Number|\GMP - { - if (!\is_string($data) && !\is_int($data)) { - throw $this->createNotNormalizableValueException($type, $data, $context); - } - - try { - return match ($type) { - Number::class => new Number($data), - \GMP::class => new \GMP($data), - default => throw new InvalidArgumentException(\sprintf('Only "%s" and "%s" types are supported.', Number::class, \GMP::class)), - }; - } catch (\ValueError $e) { - throw $this->createNotNormalizableValueException($type, $data, $context, $e); - } - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return \in_array($type, [Number::class, \GMP::class], true) && null !== $data; - } - - private function createNotNormalizableValueException(string $type, mixed $data, array $context, ?\Throwable $previous = null): NotNormalizableValueException - { - $message = match ($type) { - Number::class => 'The data must be a "string" representing a decimal number, or an "int".', - \GMP::class => 'The data must be a "string" representing an integer, or an "int".', - }; - - return NotNormalizableValueException::createForUnexpectedDataType($message, $data, ['string', 'int'], $context['deserialization_path'] ?? null, true, 0, $previous); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php b/app/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php deleted file mode 100644 index 12491d6c5..000000000 --- a/app/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php +++ /dev/null @@ -1,178 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\PropertyAccess\PropertyAccessorInterface; -use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor; -use Symfony\Component\PropertyInfo\PropertyInfoExtractorInterface; -use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface; -use Symfony\Component\PropertyInfo\PropertyWriteInfo; -use Symfony\Component\Serializer\Attribute\Ignore; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Mapping\ClassDiscriminatorResolverInterface; -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; -use Symfony\Component\Serializer\Mapping\Loader\AccessorCollisionResolverTrait; -use Symfony\Component\Serializer\NameConverter\NameConverterInterface; - -/** - * Converts between objects and arrays using the PropertyAccess component. - * - * @author Kévin Dunglas - */ -final class ObjectNormalizer extends AbstractObjectNormalizer -{ - use AccessorCollisionResolverTrait; - - private static $reflectionCache = []; - private static $isReadableCache = []; - private static $isWritableCache = []; - - protected PropertyAccessorInterface $propertyAccessor; - protected $propertyInfoExtractor; - private $writeInfoExtractor; - - private readonly \Closure $objectClassResolver; - - public function __construct(?ClassMetadataFactoryInterface $classMetadataFactory = null, ?NameConverterInterface $nameConverter = null, ?PropertyAccessorInterface $propertyAccessor = null, ?PropertyTypeExtractorInterface $propertyTypeExtractor = null, ?ClassDiscriminatorResolverInterface $classDiscriminatorResolver = null, ?callable $objectClassResolver = null, array $defaultContext = [], ?PropertyInfoExtractorInterface $propertyInfoExtractor = null) - { - if (!class_exists(PropertyAccess::class)) { - throw new LogicException('The ObjectNormalizer class requires the "PropertyAccess" component. Try running "composer require symfony/property-access".'); - } - - parent::__construct($classMetadataFactory, $nameConverter, $propertyTypeExtractor, $classDiscriminatorResolver, $objectClassResolver, $defaultContext); - - $this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor(); - - $this->objectClassResolver = ($objectClassResolver ?? static fn ($class) => \is_object($class) ? $class::class : $class)(...); - $this->propertyInfoExtractor = $propertyInfoExtractor ?: new ReflectionExtractor(); - $this->writeInfoExtractor = new ReflectionExtractor(); - } - - public function getSupportedTypes(?string $format): array - { - return ['object' => true]; - } - - protected function extractAttributes(object $object, ?string $format = null, array $context = []): array - { - if (\stdClass::class === $object::class) { - return array_keys((array) $object); - } - - // If not using groups, detect manually - $attributes = []; - - // methods - $class = ($this->objectClassResolver)($object); - $reflClass = new \ReflectionClass($class); - - foreach ($reflClass->getMethods(\ReflectionMethod::IS_PUBLIC) as $reflMethod) { - $name = $reflMethod->name; - $attributeName = $this->getAttributeNameFromAccessor($reflClass, $reflMethod, false); - - if ($this->hasPropertyForAccessor($reflMethod->getDeclaringClass(), $name) && (null === $attributeName || $this->hasAttributeNameCollision($reflClass, $attributeName, $name))) { - $attributeName = $name; - } - - if (null !== $attributeName && $this->isAllowedAttribute($object, $attributeName, $format, $context)) { - $attributes[$attributeName] = true; - } - } - - // properties - foreach ($reflClass->getProperties() as $reflProperty) { - if (!$reflProperty->isPublic()) { - continue; - } - - if ($reflProperty->isStatic() || !$this->isAllowedAttribute($object, $reflProperty->name, $format, $context)) { - continue; - } - - $attributes[$reflProperty->name] = true; - } - - return array_keys($attributes); - } - - protected function getAttributeValue(object $object, string $attribute, ?string $format = null, array $context = []): mixed - { - $mapping = $this->classDiscriminatorResolver?->getMappingForMappedObject($object); - - return $attribute === $mapping?->getTypeProperty() - ? $mapping - : $this->propertyAccessor->getValue($object, $attribute); - } - - protected function setAttributeValue(object $object, string $attribute, mixed $value, ?string $format = null, array $context = []): void - { - try { - $this->propertyAccessor->setValue($object, $attribute, $value); - } catch (NoSuchPropertyException) { - // Properties not found are ignored - } - } - - protected function isAllowedAttribute($classOrObject, string $attribute, ?string $format = null, array $context = []): bool - { - if (!parent::isAllowedAttribute($classOrObject, $attribute, $format, $context)) { - return false; - } - - $class = \is_object($classOrObject) ? $classOrObject::class : $classOrObject; - - if ($this->classDiscriminatorResolver?->getMappingForMappedObject($classOrObject)?->getTypeProperty() === $attribute) { - return true; - } - - if ($context['_read_attributes'] ?? true) { - $context = array_intersect_key($context, ['enable_getter_setter_extraction' => true, 'enable_magic_methods_extraction' => true]); - $cacheKey = $class.$attribute.hash('xxh128', serialize($context)); - - return self::$isReadableCache[$cacheKey] ??= $this->propertyInfoExtractor->isReadable($class, $attribute, $context) || $this->hasAttributeAccessorMethod($class, $attribute) || (\is_object($classOrObject) && $this->propertyAccessor->isReadable($classOrObject, $attribute)); - } - - $context = array_intersect_key($context, ['enable_getter_setter_extraction' => true, 'enable_magic_methods_extraction' => true, 'enable_constructor_extraction' => true, 'enable_adder_remover_extraction' => true]); - $cacheKey = $class.$attribute.hash('xxh128', serialize($context)); - - if (isset(self::$isWritableCache[$cacheKey])) { - return self::$isWritableCache[$cacheKey]; - } - - if (str_contains($attribute, '.') || $this->propertyInfoExtractor->isWritable($class, $attribute, $context)) { - return self::$isWritableCache[$cacheKey] = true; - } - - $writeType = $this->writeInfoExtractor->getWriteInfo($class, $attribute, $context)?->getType(); - - return self::$isWritableCache[$cacheKey] = !\in_array($writeType, [null, PropertyWriteInfo::TYPE_NONE], true) - && (PropertyWriteInfo::TYPE_PROPERTY !== $writeType || !property_exists($class, $attribute)); - } - - private function hasAttributeAccessorMethod(string $class, string $attribute): bool - { - $reflection = self::$reflectionCache[$class] ??= new \ReflectionClass($class); - - if (!$reflection->hasMethod($attribute)) { - return false; - } - - $method = $reflection->getMethod($attribute); - - return !$method->isStatic() - && !$method->getAttributes(Ignore::class) - && !$method->getNumberOfRequiredParameters() - && !\in_array((string) $method->getReturnType(), ['void', 'never'], true); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/ObjectToPopulateTrait.php b/app/vendor/symfony/serializer/Normalizer/ObjectToPopulateTrait.php deleted file mode 100644 index 21ad5f7ad..000000000 --- a/app/vendor/symfony/serializer/Normalizer/ObjectToPopulateTrait.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -trait ObjectToPopulateTrait -{ - /** - * Extract the `object_to_populate` field from the context if it exists - * and is an instance of the provided $class. - * - * @param string $class The class the object should be - * @param string|null $key They in which to look for the object to populate. - * Keeps backwards compatibility with `AbstractNormalizer`. - */ - protected function extractObjectToPopulate(string $class, array $context, ?string $key = null): ?object - { - $key ??= AbstractNormalizer::OBJECT_TO_POPULATE; - - if (isset($context[$key]) && \is_object($context[$key]) && $context[$key] instanceof $class) { - return $context[$key]; - } - - return null; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/ProblemNormalizer.php b/app/vendor/symfony/serializer/Normalizer/ProblemNormalizer.php deleted file mode 100644 index 8f255e6ce..000000000 --- a/app/vendor/symfony/serializer/Normalizer/ProblemNormalizer.php +++ /dev/null @@ -1,114 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\ErrorHandler\Exception\FlattenException; -use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; -use Symfony\Component\Messenger\Exception\ValidationFailedException as MessageValidationFailedException; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\PartialDenormalizationException; -use Symfony\Component\Serializer\SerializerAwareInterface; -use Symfony\Component\Serializer\SerializerAwareTrait; -use Symfony\Component\Validator\Exception\ValidationFailedException; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * Normalizes errors according to the API Problem spec (RFC 7807). - * - * @see https://tools.ietf.org/html/rfc7807 - * - * @author Kévin Dunglas - * @author Yonel Ceruto - */ -class ProblemNormalizer implements NormalizerInterface, SerializerAwareInterface -{ - use SerializerAwareTrait; - - public const TITLE = 'title'; - public const TYPE = 'type'; - public const STATUS = 'status'; - - public function __construct( - private bool $debug = false, - private array $defaultContext = [], - private ?TranslatorInterface $translator = null, - ) { - } - - public function getSupportedTypes(?string $format): array - { - return [ - FlattenException::class => __CLASS__ === self::class, - ]; - } - - public function normalize(mixed $object, ?string $format = null, array $context = []): array - { - if (!$object instanceof FlattenException) { - throw new InvalidArgumentException(\sprintf('The object must implement "%s".', FlattenException::class)); - } - - $error = []; - $context += $this->defaultContext; - $debug = $this->debug && ($context['debug'] ?? true); - $exception = $context['exception'] ?? null; - if ($exception instanceof HttpExceptionInterface) { - $exception = $exception->getPrevious(); - - if ($exception instanceof PartialDenormalizationException) { - $trans = $this->translator ? $this->translator->trans(...) : fn ($m, $p) => strtr($m, $p); - $template = 'This value should be of type {{ type }}.'; - $error = [ - self::TYPE => 'https://symfony.com/errors/validation', - self::TITLE => 'Validation Failed', - 'violations' => array_map( - fn ($e) => [ - 'propertyPath' => $e->getPath(), - 'title' => $trans($template, [ - '{{ type }}' => implode('|', $e->getExpectedTypes() ?? ['?']), - ], 'validators'), - 'template' => $template, - 'parameters' => [ - '{{ type }}' => implode('|', $e->getExpectedTypes() ?? ['?']), - ], - ] + ($debug || $e->canUseMessageForUser() ? ['hint' => $e->getMessage()] : []), - $exception->getErrors() - ), - ]; - $error['detail'] = implode("\n", array_map(fn ($e) => $e['propertyPath'].': '.$e['title'], $error['violations'])); - } elseif (($exception instanceof ValidationFailedException || $exception instanceof MessageValidationFailedException) - && $this->serializer instanceof NormalizerInterface - && $this->serializer->supportsNormalization($exception->getViolations(), $format, $context) - ) { - $error = $this->serializer->normalize($exception->getViolations(), $format, $context); - } - } - - $error = [ - self::TYPE => $error[self::TYPE] ?? $context[self::TYPE] ?? 'https://tools.ietf.org/html/rfc2616#section-10', - self::TITLE => $error[self::TITLE] ?? $context[self::TITLE] ?? 'An error occurred', - self::STATUS => $context[self::STATUS] ?? $object->getStatusCode(), - 'detail' => $error['detail'] ?? ($debug ? $object->getMessage() : $object->getStatusText()), - ] + $error; - if ($debug) { - $error['class'] = $object->getClass(); - $error['trace'] = $object->getTrace(); - } - - return $error; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof FlattenException; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php b/app/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php deleted file mode 100644 index d200d972c..000000000 --- a/app/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php +++ /dev/null @@ -1,223 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\PropertyAccess\Exception\UninitializedPropertyException; -use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Mapping\ClassDiscriminatorResolverInterface; -use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; -use Symfony\Component\Serializer\NameConverter\NameConverterInterface; - -/** - * Converts between objects and arrays by mapping properties. - * - * The normalization process looks for all the object's properties (public and private). - * The result is a map from property names to property values. Property values - * are normalized through the serializer. - * - * The denormalization first looks at the constructor of the given class to see - * if any of the parameters have the same name as one of the properties. The - * constructor is then called with all parameters or an exception is thrown if - * any required parameters were not present as properties. Then the denormalizer - * walks through the given map of property names to property values to see if a - * property with the corresponding name exists. If found, the property gets the value. - * - * @author Matthieu Napoli - * @author Kévin Dunglas - */ -final class PropertyNormalizer extends AbstractObjectNormalizer -{ - public const NORMALIZE_PUBLIC = 1; - public const NORMALIZE_PROTECTED = 2; - public const NORMALIZE_PRIVATE = 4; - - /** - * Flag to control whether fields should be output based on visibility. - */ - public const NORMALIZE_VISIBILITY = 'normalize_visibility'; - - public function __construct(?ClassMetadataFactoryInterface $classMetadataFactory = null, ?NameConverterInterface $nameConverter = null, ?PropertyTypeExtractorInterface $propertyTypeExtractor = null, ?ClassDiscriminatorResolverInterface $classDiscriminatorResolver = null, ?callable $objectClassResolver = null, array $defaultContext = []) - { - parent::__construct($classMetadataFactory, $nameConverter, $propertyTypeExtractor, $classDiscriminatorResolver, $objectClassResolver, $defaultContext); - - if (!isset($this->defaultContext[self::NORMALIZE_VISIBILITY])) { - $this->defaultContext[self::NORMALIZE_VISIBILITY] = self::NORMALIZE_PUBLIC | self::NORMALIZE_PROTECTED | self::NORMALIZE_PRIVATE; - } - } - - public function getSupportedTypes(?string $format): array - { - return ['object' => true]; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return parent::supportsNormalization($data, $format) && $this->supports($data::class); - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return parent::supportsDenormalization($data, $type, $format) && $this->supports($type); - } - - /** - * Checks if the given class has any non-static property. - */ - private function supports(string $class): bool - { - if ($this->classDiscriminatorResolver?->getMappingForClass($class)) { - return true; - } - - $class = new \ReflectionClass($class); - - // We look for at least one non-static property - do { - foreach ($class->getProperties() as $property) { - if (!$property->isStatic()) { - return true; - } - } - } while ($class = $class->getParentClass()); - - return false; - } - - protected function isAllowedAttribute(object|string $classOrObject, string $attribute, ?string $format = null, array $context = []): bool - { - if (!parent::isAllowedAttribute($classOrObject, $attribute, $format, $context)) { - return false; - } - - if ($this->classDiscriminatorResolver?->getMappingForMappedObject($classOrObject)?->getTypeProperty() === $attribute) { - return true; - } - - try { - $reflectionProperty = $this->getReflectionProperty($classOrObject, $attribute); - } catch (\ReflectionException) { - return false; - } - - if ($reflectionProperty->isStatic()) { - return false; - } - - $normalizeVisibility = $context[self::NORMALIZE_VISIBILITY] ?? $this->defaultContext[self::NORMALIZE_VISIBILITY]; - - if ((self::NORMALIZE_PUBLIC & $normalizeVisibility) && $reflectionProperty->isPublic()) { - return true; - } - - if ((self::NORMALIZE_PROTECTED & $normalizeVisibility) && $reflectionProperty->isProtected()) { - return true; - } - - if ((self::NORMALIZE_PRIVATE & $normalizeVisibility) && $reflectionProperty->isPrivate()) { - return true; - } - - return false; - } - - protected function extractAttributes(object $object, ?string $format = null, array $context = []): array - { - $reflectionObject = new \ReflectionObject($object); - $attributes = []; - - do { - foreach ($reflectionObject->getProperties() as $property) { - if (!$this->isAllowedAttribute($reflectionObject->getName(), $property->name, $format, $context)) { - continue; - } - - $attributes[] = $property->name; - } - } while ($reflectionObject = $reflectionObject->getParentClass()); - - return array_unique($attributes); - } - - protected function getAttributeValue(object $object, string $attribute, ?string $format = null, array $context = []): mixed - { - try { - $reflectionProperty = $this->getReflectionProperty($object, $attribute); - } catch (\ReflectionException) { - return null; - } - - if ($reflectionProperty->hasType()) { - return $reflectionProperty->getValue($object); - } - - if (!method_exists($object, '__get') && !isset($object->$attribute)) { - $propertyValues = (array) $object; - - if (($reflectionProperty->isPublic() && !\array_key_exists($reflectionProperty->name, $propertyValues)) - || ($reflectionProperty->isProtected() && !\array_key_exists("\0*\0{$reflectionProperty->name}", $propertyValues)) - || ($reflectionProperty->isPrivate() && !\array_key_exists("\0{$reflectionProperty->class}\0{$reflectionProperty->name}", $propertyValues)) - ) { - throw new UninitializedPropertyException(\sprintf('The property "%s::$%s" is not initialized.', $object::class, $reflectionProperty->name)); - } - } - - return $reflectionProperty->getValue($object); - } - - protected function setAttributeValue(object $object, string $attribute, mixed $value, ?string $format = null, array $context = []): void - { - try { - $reflectionProperty = $this->getReflectionProperty($object, $attribute); - } catch (\ReflectionException) { - return; - } - - if ($reflectionProperty->isStatic()) { - return; - } - - if (!$reflectionProperty->isReadOnly()) { - $reflectionProperty->setValue($object, $value); - - return; - } - - if (!$reflectionProperty->isInitialized($object)) { - $declaringClass = $reflectionProperty->getDeclaringClass(); - $declaringClass->getProperty($reflectionProperty->getName())->setValue($object, $value); - - return; - } - - if ($reflectionProperty->getValue($object) !== $value) { - throw new LogicException(\sprintf('Attempting to change readonly property "%s"::$%s.', $object::class, $reflectionProperty->getName())); - } - } - - /** - * @throws \ReflectionException - */ - private function getReflectionProperty(string|object $classOrObject, string $attribute): \ReflectionProperty - { - $reflectionClass = new \ReflectionClass($classOrObject); - while (true) { - try { - return $reflectionClass->getProperty($attribute); - } catch (\ReflectionException $e) { - if (!$reflectionClass = $reflectionClass->getParentClass()) { - throw $e; - } - } - } - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/TranslatableNormalizer.php b/app/vendor/symfony/serializer/Normalizer/TranslatableNormalizer.php deleted file mode 100644 index d365598b5..000000000 --- a/app/vendor/symfony/serializer/Normalizer/TranslatableNormalizer.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; -use Symfony\Contracts\Translation\TranslatableInterface; -use Symfony\Contracts\Translation\TranslatorInterface; - -final class TranslatableNormalizer implements NormalizerInterface -{ - public const NORMALIZATION_LOCALE_KEY = 'translatable_normalization_locale'; - - private array $defaultContext = [ - self::NORMALIZATION_LOCALE_KEY => null, - ]; - - public function __construct( - private readonly TranslatorInterface $translator, - array $defaultContext = [], - ) { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - /** - * @throws InvalidArgumentException - */ - public function normalize(mixed $data, ?string $format = null, array $context = []): string - { - if (!$data instanceof TranslatableInterface) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The object must implement the "%s".', TranslatableInterface::class), $data, [TranslatableInterface::class]); - } - - return $data->trans($this->translator, $context[self::NORMALIZATION_LOCALE_KEY] ?? $this->defaultContext[self::NORMALIZATION_LOCALE_KEY]); - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof TranslatableInterface; - } - - public function getSupportedTypes(?string $format): array - { - return [TranslatableInterface::class => true]; - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/UidNormalizer.php b/app/vendor/symfony/serializer/Normalizer/UidNormalizer.php deleted file mode 100644 index eb624eed1..000000000 --- a/app/vendor/symfony/serializer/Normalizer/UidNormalizer.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; -use Symfony\Component\Uid\AbstractUid; - -final class UidNormalizer implements NormalizerInterface, DenormalizerInterface -{ - public const NORMALIZATION_FORMAT_KEY = 'uid_normalization_format'; - - public const NORMALIZATION_FORMAT_CANONICAL = 'canonical'; - public const NORMALIZATION_FORMAT_BASE58 = 'base58'; - public const NORMALIZATION_FORMAT_BASE32 = 'base32'; - public const NORMALIZATION_FORMAT_RFC4122 = 'rfc4122'; - public const NORMALIZATION_FORMAT_RFC9562 = self::NORMALIZATION_FORMAT_RFC4122; // RFC 9562 obsoleted RFC 4122 but the format is the same - - public const NORMALIZATION_FORMATS = [ - self::NORMALIZATION_FORMAT_CANONICAL, - self::NORMALIZATION_FORMAT_BASE58, - self::NORMALIZATION_FORMAT_BASE32, - self::NORMALIZATION_FORMAT_RFC4122, - ]; - - private array $defaultContext = [ - self::NORMALIZATION_FORMAT_KEY => self::NORMALIZATION_FORMAT_CANONICAL, - ]; - - public function __construct(array $defaultContext = []) - { - $this->defaultContext = array_merge($this->defaultContext, $defaultContext); - } - - public function getSupportedTypes(?string $format): array - { - return [ - AbstractUid::class => true, - ]; - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - return match ($context[self::NORMALIZATION_FORMAT_KEY] ?? $this->defaultContext[self::NORMALIZATION_FORMAT_KEY]) { - self::NORMALIZATION_FORMAT_CANONICAL => (string) $data, - self::NORMALIZATION_FORMAT_BASE58 => $data->toBase58(), - self::NORMALIZATION_FORMAT_BASE32 => $data->toBase32(), - self::NORMALIZATION_FORMAT_RFC4122 => $data->toRfc4122(), - default => throw new LogicException(\sprintf('The "%s" format is not valid.', $context[self::NORMALIZATION_FORMAT_KEY] ?? $this->defaultContext[self::NORMALIZATION_FORMAT_KEY])), - }; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return $data instanceof AbstractUid; - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - try { - return $type::fromString($data); - } catch (\InvalidArgumentException|\TypeError) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('The data is not a valid "%s" string representation.', $type), $data, ['string'], $context['deserialization_path'] ?? null, true); - } - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return is_subclass_of($type, AbstractUid::class, true); - } -} diff --git a/app/vendor/symfony/serializer/Normalizer/UnwrappingDenormalizer.php b/app/vendor/symfony/serializer/Normalizer/UnwrappingDenormalizer.php deleted file mode 100644 index 9f01d2a71..000000000 --- a/app/vendor/symfony/serializer/Normalizer/UnwrappingDenormalizer.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer\Normalizer; - -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\PropertyAccess\PropertyAccessorInterface; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\SerializerAwareInterface; -use Symfony\Component\Serializer\SerializerAwareTrait; - -/** - * @author Eduard Bulava - */ -final class UnwrappingDenormalizer implements DenormalizerInterface, SerializerAwareInterface -{ - use SerializerAwareTrait; - - public const UNWRAP_PATH = 'unwrap_path'; - - private readonly PropertyAccessorInterface $propertyAccessor; - - public function __construct(?PropertyAccessorInterface $propertyAccessor = null) - { - $this->propertyAccessor = $propertyAccessor ?? PropertyAccess::createPropertyAccessor(); - } - - public function getSupportedTypes(?string $format): array - { - return ['*' => false]; - } - - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - $propertyPath = $context[self::UNWRAP_PATH]; - $context['unwrapped'] = true; - - if ($propertyPath) { - if (!$this->propertyAccessor->isReadable($data, $propertyPath)) { - return null; - } - - $data = $this->propertyAccessor->getValue($data, $propertyPath); - } - - if (!$this->serializer instanceof DenormalizerInterface) { - throw new LogicException('Cannot unwrap path because the injected serializer is not a denormalizer.'); - } - - return $this->serializer->denormalize($data, $type, $format, $context); - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return \array_key_exists(self::UNWRAP_PATH, $context) && !isset($context['unwrapped']); - } -} diff --git a/app/vendor/symfony/serializer/README.md b/app/vendor/symfony/serializer/README.md deleted file mode 100644 index 22b226268..000000000 --- a/app/vendor/symfony/serializer/README.md +++ /dev/null @@ -1,15 +0,0 @@ -Serializer Component -==================== - -The Serializer component handles serializing and deserializing data structures, -including object graphs, into array structures or other formats like XML and -JSON. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/serializer.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/app/vendor/symfony/serializer/Serializer.php b/app/vendor/symfony/serializer/Serializer.php deleted file mode 100644 index 2e7420754..000000000 --- a/app/vendor/symfony/serializer/Serializer.php +++ /dev/null @@ -1,400 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer; - -use Symfony\Component\Serializer\Encoder\ChainDecoder; -use Symfony\Component\Serializer\Encoder\ChainEncoder; -use Symfony\Component\Serializer\Encoder\ContextAwareDecoderInterface; -use Symfony\Component\Serializer\Encoder\ContextAwareEncoderInterface; -use Symfony\Component\Serializer\Encoder\DecoderInterface; -use Symfony\Component\Serializer\Encoder\EncoderInterface; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; -use Symfony\Component\Serializer\Exception\PartialDenormalizationException; -use Symfony\Component\Serializer\Exception\UnsupportedFormatException; -use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer; -use Symfony\Component\Serializer\Normalizer\DenormalizerAwareInterface; -use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; -use Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface; -use Symfony\Component\Serializer\Normalizer\NormalizerInterface; - -/** - * Serializer serializes and deserializes data. - * - * objects are turned into arrays by normalizers. - * arrays are turned into various output formats by encoders. - * - * $serializer->serialize($obj, 'xml') - * $serializer->decode($data, 'xml') - * $serializer->denormalize($data, 'Class', 'xml') - * - * @author Jordi Boggiano - * @author Johannes M. Schmitt - * @author Lukas Kahwe Smith - * @author Kévin Dunglas - */ -class Serializer implements SerializerInterface, NormalizerInterface, DenormalizerInterface, ContextAwareEncoderInterface, ContextAwareDecoderInterface -{ - /** - * Flag to control whether an empty array should be transformed to an - * object (in JSON: {}) or to a list (in JSON: []). - */ - public const EMPTY_ARRAY_AS_OBJECT = 'empty_array_as_object'; - - private const SCALAR_TYPES = [ - 'int' => true, - 'bool' => true, - 'float' => true, - 'string' => true, - ]; - - protected ChainEncoder $encoder; - - protected ChainDecoder $decoder; - - /** - * @var array>> - */ - private array $denormalizerCache = []; - - /** - * @var array>> - */ - private array $normalizerCache = []; - - /** - * @param array $normalizers - * @param array $encoders - * @param array $defaultContext - */ - public function __construct( - private array $normalizers = [], - array $encoders = [], - private array $defaultContext = [], - ) { - foreach ($normalizers as $normalizer) { - if ($normalizer instanceof SerializerAwareInterface) { - $normalizer->setSerializer($this); - } - - if ($normalizer instanceof DenormalizerAwareInterface) { - $normalizer->setDenormalizer($this); - } - - if ($normalizer instanceof NormalizerAwareInterface) { - $normalizer->setNormalizer($this); - } - - if (!($normalizer instanceof NormalizerInterface || $normalizer instanceof DenormalizerInterface)) { - throw new InvalidArgumentException(\sprintf('The class "%s" neither implements "%s" nor "%s".', get_debug_type($normalizer), NormalizerInterface::class, DenormalizerInterface::class)); - } - } - - $decoders = []; - $realEncoders = []; - foreach ($encoders as $encoder) { - if ($encoder instanceof SerializerAwareInterface) { - $encoder->setSerializer($this); - } - if ($encoder instanceof DecoderInterface) { - $decoders[] = $encoder; - } - if ($encoder instanceof EncoderInterface) { - $realEncoders[] = $encoder; - } - - if (!($encoder instanceof EncoderInterface || $encoder instanceof DecoderInterface)) { - throw new InvalidArgumentException(\sprintf('The class "%s" neither implements "%s" nor "%s".', get_debug_type($encoder), EncoderInterface::class, DecoderInterface::class)); - } - } - $this->encoder = new ChainEncoder($realEncoders); - $this->decoder = new ChainDecoder($decoders); - } - - final public function serialize(mixed $data, string $format, array $context = []): string - { - if (!$this->supportsEncoding($format, $context)) { - throw new UnsupportedFormatException(\sprintf('Serialization for the format "%s" is not supported.', $format)); - } - - if ($this->encoder->needsNormalization($format, $context)) { - $data = $this->normalize($data, $format, $context); - } - - return $this->encode($data, $format, $context); - } - - final public function deserialize(mixed $data, string $type, string $format, array $context = []): mixed - { - if (!$this->supportsDecoding($format, $context)) { - throw new UnsupportedFormatException(\sprintf('Deserialization for the format "%s" is not supported.', $format)); - } - - $data = $this->decode($data, $format, $context); - - return $this->denormalize($data, $type, $format, $context); - } - - public function normalize(mixed $data, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null - { - // If a normalizer supports the given data, use it - if ($normalizer = $this->getNormalizer($data, $format, $context)) { - return $normalizer->normalize($data, $format, $context); - } - - if (null === $data || \is_scalar($data)) { - return $data; - } - - if (\is_array($data) && !$data && ($context[self::EMPTY_ARRAY_AS_OBJECT] ?? $this->defaultContext[self::EMPTY_ARRAY_AS_OBJECT] ?? false)) { - return new \ArrayObject(); - } - - if (is_iterable($data)) { - if ($data instanceof \Countable && ($context[AbstractObjectNormalizer::PRESERVE_EMPTY_OBJECTS] ?? $this->defaultContext[AbstractObjectNormalizer::PRESERVE_EMPTY_OBJECTS] ?? false) && !\count($data)) { - return new \ArrayObject(); - } - - $normalized = []; - foreach ($data as $key => $val) { - $normalized[$key] = $this->normalize($val, $format, $context); - } - - return $normalized; - } - - if (\is_object($data)) { - if (!$this->normalizers) { - throw new LogicException('You must register at least one normalizer to be able to normalize objects.'); - } - - throw new NotNormalizableValueException(\sprintf('Could not normalize object of type "%s", no supporting normalizer found.', get_debug_type($data))); - } - - throw new NotNormalizableValueException('An unexpected value could not be normalized: '.(!\is_resource($data) ? var_export($data, true) : \sprintf('"%s" resource', get_resource_type($data)))); - } - - /** - * @throws NotNormalizableValueException - * @throws PartialDenormalizationException Occurs when one or more properties of $type fails to denormalize - */ - public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed - { - if (isset($context[DenormalizerInterface::COLLECT_DENORMALIZATION_ERRORS], $context['not_normalizable_value_exceptions'])) { - throw new LogicException('Passing a value for "not_normalizable_value_exceptions" context key is not allowed.'); - } - - $normalizer = $this->getDenormalizer($data, $type, $format, $context); - - // Check for a denormalizer first, e.g. the data is wrapped - if (!$normalizer && isset(self::SCALAR_TYPES[$type])) { - if (!('is_'.$type)($data)) { - throw NotNormalizableValueException::createForUnexpectedDataType(\sprintf('Data expected to be of type "%s" ("%s" given).', $type, get_debug_type($data)), $data, [$type], $context['deserialization_path'] ?? null, true); - } - - return $data; - } - - if (!$this->normalizers) { - throw new LogicException('You must register at least one normalizer to be able to denormalize objects.'); - } - - if (!$normalizer) { - throw new NotNormalizableValueException(\sprintf('Could not denormalize object of type "%s", no supporting normalizer found.', $type)); - } - - if ((isset($context[DenormalizerInterface::COLLECT_DENORMALIZATION_ERRORS]) || isset($this->defaultContext[DenormalizerInterface::COLLECT_DENORMALIZATION_ERRORS])) && !isset($context['not_normalizable_value_exceptions'])) { - unset($context[DenormalizerInterface::COLLECT_DENORMALIZATION_ERRORS]); - $context['not_normalizable_value_exceptions'] = []; - $errors = &$context['not_normalizable_value_exceptions']; - $denormalized = $normalizer->denormalize($data, $type, $format, $context); - - if ($errors) { - // merge errors so that one path has only one error - $uniqueErrors = []; - foreach ($errors as $error) { - if (null === $error->getPath()) { - $uniqueErrors[] = $error; - continue; - } - - $uniqueErrors[$error->getPath()] ??= $error; - } - - throw new PartialDenormalizationException($denormalized, array_values($uniqueErrors)); - } - - return $denormalized; - } - - return $normalizer->denormalize($data, $type, $format, $context); - } - - public function getSupportedTypes(?string $format): array - { - return ['*' => false]; - } - - public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool - { - return null !== $this->getNormalizer($data, $format, $context); - } - - public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool - { - return isset(self::SCALAR_TYPES[$type]) || null !== $this->getDenormalizer($data, $type, $format, $context); - } - - /** - * Returns a matching normalizer. - * - * @param mixed $data Data to get the serializer for - * @param string|null $format Format name, present to give the option to normalizers to act differently based on formats - * @param array $context Options available to the normalizer - */ - private function getNormalizer(mixed $data, ?string $format, array $context): ?NormalizerInterface - { - if (\is_object($data)) { - $type = $data::class; - $genericType = 'object'; - } else { - $type = 'native-'.\gettype($data); - $genericType = '*'; - } - - if (!isset($this->normalizerCache[$format ?? ''][$type])) { - $this->normalizerCache[$format ?? ''][$type] = []; - - foreach ($this->normalizers as $k => $normalizer) { - if (!$normalizer instanceof NormalizerInterface) { - continue; - } - - $supportedTypes = $normalizer->getSupportedTypes($format); - - foreach ($supportedTypes as $supportedType => $isCacheable) { - if (\in_array($supportedType, ['*', 'object'], true) - || $type !== $supportedType && ('object' !== $genericType || !is_subclass_of($type, $supportedType)) - ) { - continue; - } - - if (null === $isCacheable) { - unset($supportedTypes['*'], $supportedTypes['object']); - } elseif ($this->normalizerCache[$format ?? ''][$type][$k] = $isCacheable && $normalizer->supportsNormalization($data, $format, $context)) { - break 2; - } - - break; - } - - if (null === $isCacheable = $supportedTypes[\array_key_exists($genericType, $supportedTypes) ? $genericType : '*'] ?? null) { - continue; - } - - if ($this->normalizerCache[$format ?? ''][$type][$k] ??= $isCacheable && $normalizer->supportsNormalization($data, $format, $context)) { - break; - } - } - } - - foreach ($this->normalizerCache[$format ?? ''][$type] as $k => $cached) { - $normalizer = $this->normalizers[$k]; - if ($cached || $normalizer->supportsNormalization($data, $format, $context)) { - return $normalizer; - } - } - - return null; - } - - /** - * Returns a matching denormalizer. - * - * @param mixed $data Data to restore - * @param string $class The expected class to instantiate - * @param string|null $format Format name, present to give the option to normalizers to act differently based on formats - * @param array $context Options available to the denormalizer - */ - private function getDenormalizer(mixed $data, string $class, ?string $format, array $context): ?DenormalizerInterface - { - if (!isset($this->denormalizerCache[$format ?? ''][$class])) { - $this->denormalizerCache[$format ?? ''][$class] = []; - $genericType = class_exists($class) || interface_exists($class, false) ? 'object' : '*'; - - foreach ($this->normalizers as $k => $normalizer) { - if (!$normalizer instanceof DenormalizerInterface) { - continue; - } - - $supportedTypes = $normalizer->getSupportedTypes($format); - - $doesClassRepresentCollection = str_ends_with($class, '[]'); - - foreach ($supportedTypes as $supportedType => $isCacheable) { - if (\in_array($supportedType, ['*', 'object'], true) - || $class !== $supportedType && ('object' !== $genericType || !is_subclass_of($class, $supportedType)) - && !($doesClassRepresentCollection && str_ends_with($supportedType, '[]') && is_subclass_of(strstr($class, '[]', true), strstr($supportedType, '[]', true))) - ) { - continue; - } - - if (null === $isCacheable) { - unset($supportedTypes['*'], $supportedTypes['object']); - } elseif ($this->denormalizerCache[$format ?? ''][$class][$k] = $isCacheable && $normalizer->supportsDenormalization(null, $class, $format, $context)) { - break 2; - } - - break; - } - - if (null === $isCacheable = $supportedTypes[\array_key_exists($genericType, $supportedTypes) ? $genericType : '*'] ?? null) { - continue; - } - - if ($this->denormalizerCache[$format ?? ''][$class][$k] ??= $isCacheable && $normalizer->supportsDenormalization(null, $class, $format, $context)) { - break; - } - } - } - - foreach ($this->denormalizerCache[$format ?? ''][$class] as $k => $cached) { - $normalizer = $this->normalizers[$k]; - if ($cached || $normalizer->supportsDenormalization($data, $class, $format, $context)) { - return $normalizer; - } - } - - return null; - } - - final public function encode(mixed $data, string $format, array $context = []): string - { - return $this->encoder->encode($data, $format, $context); - } - - final public function decode(string $data, string $format, array $context = []): mixed - { - return $this->decoder->decode($data, $format, $context); - } - - public function supportsEncoding(string $format, array $context = []): bool - { - return $this->encoder->supportsEncoding($format, $context); - } - - public function supportsDecoding(string $format, array $context = []): bool - { - return $this->decoder->supportsDecoding($format, $context); - } -} diff --git a/app/vendor/symfony/serializer/SerializerAwareInterface.php b/app/vendor/symfony/serializer/SerializerAwareInterface.php deleted file mode 100644 index 0b4db4c77..000000000 --- a/app/vendor/symfony/serializer/SerializerAwareInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer; - -/** - * @author Jordi Boggiano - */ -interface SerializerAwareInterface -{ - /** - * Sets the owning Serializer object. - */ - public function setSerializer(SerializerInterface $serializer): void; -} diff --git a/app/vendor/symfony/serializer/SerializerAwareTrait.php b/app/vendor/symfony/serializer/SerializerAwareTrait.php deleted file mode 100644 index 495e5889c..000000000 --- a/app/vendor/symfony/serializer/SerializerAwareTrait.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer; - -/** - * @author Joel Wurtz - */ -trait SerializerAwareTrait -{ - protected ?SerializerInterface $serializer = null; - - public function setSerializer(SerializerInterface $serializer): void - { - $this->serializer = $serializer; - } -} diff --git a/app/vendor/symfony/serializer/SerializerInterface.php b/app/vendor/symfony/serializer/SerializerInterface.php deleted file mode 100644 index f9fff7f84..000000000 --- a/app/vendor/symfony/serializer/SerializerInterface.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Serializer; - -use Symfony\Component\Serializer\Exception\ExceptionInterface; -use Symfony\Component\Serializer\Exception\NotNormalizableValueException; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; - -/** - * @author Jordi Boggiano - */ -interface SerializerInterface -{ - /** - * Serializes data in the appropriate format. - * - * @param array $context Options normalizers/encoders have access to - * - * @throws NotNormalizableValueException Occurs when a value cannot be normalized - * @throws UnexpectedValueException Occurs when a value cannot be encoded - * @throws ExceptionInterface Occurs for all the other cases of serialization-related errors - */ - public function serialize(mixed $data, string $format, array $context = []): string; - - /** - * Deserializes data into the given type. - * - * @template TObject of object - * @template TType of string|class-string - * - * @param TType $type - * @param array $context - * - * @phpstan-return ($type is class-string ? TObject : mixed) - * - * @psalm-return (TType is class-string ? TObject : mixed) - * - * @throws NotNormalizableValueException Occurs when a value cannot be denormalized - * @throws UnexpectedValueException Occurs when a value cannot be decoded - * @throws ExceptionInterface Occurs for all the other cases of serialization-related errors - */ - public function deserialize(mixed $data, string $type, string $format, array $context = []): mixed; -} diff --git a/app/vendor/symfony/serializer/composer.json b/app/vendor/symfony/serializer/composer.json deleted file mode 100644 index de63185de..000000000 --- a/app/vendor/symfony/serializer/composer.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "name": "symfony/serializer", - "type": "library", - "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php84": "^1.30" - }, - "require-dev": { - "phpdocumentor/reflection-docblock": "^5.2|^6.0", - "phpstan/phpdoc-parser": "^1.0|^2.0", - "seld/jsonlint": "^1.10", - "symfony/cache": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^7.2|^8.0", - "symfony/error-handler": "^6.4|^7.0|^8.0", - "symfony/filesystem": "^6.4|^7.0|^8.0", - "symfony/form": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/mime": "^6.4|^7.0|^8.0", - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/property-info": "^6.4|^7.0|^8.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/type-info": "^7.2.5|^8.0", - "symfony/uid": "^6.4|^7.0|^8.0", - "symfony/validator": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0", - "symfony/var-exporter": "^6.4|^7.0|^8.0", - "symfony/yaml": "^6.4|^7.0|^8.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "<5.2|>=7", - "phpdocumentor/type-resolver": "<1.5.1", - "symfony/dependency-injection": "<6.4", - "symfony/property-access": "<6.4", - "symfony/property-info": "<6.4", - "symfony/type-info": "<7.2.5", - "symfony/uid": "<6.4", - "symfony/validator": "<6.4", - "symfony/yaml": "<6.4" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Serializer\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev" -} diff --git a/app/vendor/symfony/translation-contracts/CHANGELOG.md b/app/vendor/symfony/translation-contracts/CHANGELOG.md deleted file mode 100644 index 7932e2613..000000000 --- a/app/vendor/symfony/translation-contracts/CHANGELOG.md +++ /dev/null @@ -1,5 +0,0 @@ -CHANGELOG -========= - -The changelog is maintained for all Symfony contracts at the following URL: -https://github.com/symfony/contracts/blob/main/CHANGELOG.md diff --git a/app/vendor/symfony/translation-contracts/LICENSE b/app/vendor/symfony/translation-contracts/LICENSE deleted file mode 100644 index 7536caeae..000000000 --- a/app/vendor/symfony/translation-contracts/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2018-present Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/symfony/translation-contracts/LocaleAwareInterface.php b/app/vendor/symfony/translation-contracts/LocaleAwareInterface.php deleted file mode 100644 index db40ba13e..000000000 --- a/app/vendor/symfony/translation-contracts/LocaleAwareInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation; - -interface LocaleAwareInterface -{ - /** - * Sets the current locale. - * - * @return void - * - * @throws \InvalidArgumentException If the locale contains invalid characters - */ - public function setLocale(string $locale); - - /** - * Returns the current locale. - */ - public function getLocale(): string; -} diff --git a/app/vendor/symfony/translation-contracts/README.md b/app/vendor/symfony/translation-contracts/README.md deleted file mode 100644 index b211d5849..000000000 --- a/app/vendor/symfony/translation-contracts/README.md +++ /dev/null @@ -1,9 +0,0 @@ -Symfony Translation Contracts -============================= - -A set of abstractions extracted out of the Symfony components. - -Can be used to build on semantics that the Symfony components proved useful and -that already have battle tested implementations. - -See https://github.com/symfony/contracts/blob/main/README.md for more information. diff --git a/app/vendor/symfony/translation-contracts/Test/TranslatorTest.php b/app/vendor/symfony/translation-contracts/Test/TranslatorTest.php deleted file mode 100644 index 5342f5b82..000000000 --- a/app/vendor/symfony/translation-contracts/Test/TranslatorTest.php +++ /dev/null @@ -1,401 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation\Test; - -use PHPUnit\Framework\Attributes\DataProvider; -use PHPUnit\Framework\Attributes\RequiresPhpExtension; -use PHPUnit\Framework\TestCase; -use Symfony\Component\Translation\TranslatableMessage; -use Symfony\Contracts\Translation\TranslatorInterface; -use Symfony\Contracts\Translation\TranslatorTrait; - -/** - * Test should cover all languages mentioned on http://translate.sourceforge.net/wiki/l10n/pluralforms - * and Plural forms mentioned on http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms. - * - * See also https://developer.mozilla.org/en/Localization_and_Plurals which mentions 15 rules having a maximum of 6 forms. - * The mozilla code is also interesting to check for. - * - * As mentioned by chx http://drupal.org/node/1273968 we can cover all by testing number from 0 to 199 - * - * The goal to cover all languages is to far fetched so this test case is smaller. - * - * @author Clemens Tolboom clemens@build2be.nl - */ -class TranslatorTest extends TestCase -{ - private string $defaultLocale; - - protected function setUp(): void - { - $this->defaultLocale = \Locale::getDefault(); - \Locale::setDefault('en'); - } - - protected function tearDown(): void - { - \Locale::setDefault($this->defaultLocale); - } - - public function getTranslator(): TranslatorInterface - { - return new class implements TranslatorInterface { - use TranslatorTrait; - }; - } - - /** - * @dataProvider getTransTests - */ - #[DataProvider('getTransTests')] - public function testTrans($expected, $id, $parameters) - { - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($id, $parameters)); - } - - /** - * @dataProvider getTransChoiceTests - */ - #[DataProvider('getTransChoiceTests')] - public function testTransChoiceWithExplicitLocale($expected, $id, $number) - { - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number])); - } - - /** - * @requires extension intl - * - * @dataProvider getTransChoiceTests - */ - #[DataProvider('getTransChoiceTests')] - #[RequiresPhpExtension('intl')] - public function testTransChoiceWithDefaultLocale($expected, $id, $number) - { - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number])); - } - - /** - * @dataProvider getTransChoiceTests - */ - #[DataProvider('getTransChoiceTests')] - public function testTransChoiceWithEnUsPosix($expected, $id, $number) - { - $translator = $this->getTranslator(); - $translator->setLocale('en_US_POSIX'); - - $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number])); - } - - public function testGetSetLocale() - { - $translator = $this->getTranslator(); - - $this->assertEquals('en', $translator->getLocale()); - } - - /** - * @requires extension intl - */ - #[RequiresPhpExtension('intl')] - public function testGetLocaleReturnsDefaultLocaleIfNotSet() - { - $translator = $this->getTranslator(); - - \Locale::setDefault('pt_BR'); - $this->assertEquals('pt_BR', $translator->getLocale()); - - \Locale::setDefault('en'); - $this->assertEquals('en', $translator->getLocale()); - } - - public static function getTransTests() - { - yield ['Symfony is great!', 'Symfony is great!', []]; - yield ['Symfony is awesome!', 'Symfony is %what%!', ['%what%' => 'awesome']]; - - if (class_exists(TranslatableMessage::class)) { - yield ['He said "Symfony is awesome!".', 'He said "%what%".', ['%what%' => new TranslatableMessage('Symfony is %what%!', ['%what%' => 'awesome'])]]; - } - } - - public static function getTransChoiceTests() - { - return [ - ['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1], - ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10], - ['There are 0 apples', 'There is 1 apple|There are %count% apples', 0], - ['There is 1 apple', 'There is 1 apple|There are %count% apples', 1], - ['There are 10 apples', 'There is 1 apple|There are %count% apples', 10], - // custom validation messages may be coded with a fixed value - ['There are 2 apples', 'There are 2 apples', 2], - ]; - } - - /** - * @dataProvider getInterval - */ - #[DataProvider('getInterval')] - public function testInterval($expected, $number, $interval) - { - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($interval.' foo|[1,Inf[ bar', ['%count%' => $number])); - } - - public static function getInterval() - { - return [ - ['foo', 3, '{1,2, 3 ,4}'], - ['bar', 10, '{1,2, 3 ,4}'], - ['bar', 3, '[1,2]'], - ['foo', 1, '[1,2]'], - ['foo', 2, '[1,2]'], - ['bar', 1, ']1,2['], - ['bar', 2, ']1,2['], - ['foo', log(0), '[-Inf,2['], - ['foo', -log(0), '[-2,+Inf]'], - ]; - } - - /** - * @dataProvider getChooseTests - */ - #[DataProvider('getChooseTests')] - public function testChoose($expected, $id, $number, $locale = null) - { - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number], null, $locale)); - } - - public function testReturnMessageIfExactlyOneStandardRuleIsGiven() - { - $translator = $this->getTranslator(); - - $this->assertEquals('There are two apples', $translator->trans('There are two apples', ['%count%' => 2])); - } - - /** - * @dataProvider getNonMatchingMessages - */ - #[DataProvider('getNonMatchingMessages')] - public function testThrowExceptionIfMatchingMessageCannotBeFound($id, $number) - { - $translator = $this->getTranslator(); - - $this->expectException(\InvalidArgumentException::class); - - $translator->trans($id, ['%count%' => $number]); - } - - public static function getNonMatchingMessages() - { - return [ - ['{0} There are no apples|{1} There is one apple', 2], - ['{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['{1} There is one apple|]2,Inf] There are %count% apples', 2], - ['{0} There are no apples|There is one apple', 2], - ]; - } - - public static function getChooseTests() - { - return [ - ['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['There are no apples', '{0}There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0], - - ['There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1], - - ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10], - ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf]There are %count% apples', 10], - ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10], - - ['There are 0 apples', 'There is one apple|There are %count% apples', 0], - ['There is one apple', 'There is one apple|There are %count% apples', 1], - ['There are 10 apples', 'There is one apple|There are %count% apples', 10], - - ['There are 0 apples', 'one: There is one apple|more: There are %count% apples', 0], - ['There is one apple', 'one: There is one apple|more: There are %count% apples', 1], - ['There are 10 apples', 'one: There is one apple|more: There are %count% apples', 10], - - ['There are no apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 0], - ['There is one apple', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 1], - ['There are 10 apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 10], - - ['', '{0}|{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['', '{0} There are no apples|{1}|]1,Inf] There are %count% apples', 1], - - // Indexed only tests which are Gettext PoFile* compatible strings. - ['There are 0 apples', 'There is one apple|There are %count% apples', 0], - ['There is one apple', 'There is one apple|There are %count% apples', 1], - ['There are 2 apples', 'There is one apple|There are %count% apples', 2], - - // Tests for float numbers - ['There is almost one apple', '{0} There are no apples|]0,1[ There is almost one apple|{1} There is one apple|[1,Inf] There is more than one apple', 0.7], - ['There is one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1], - ['There is more than one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1.7], - ['There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0], - ['There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0.0], - ['There are no apples', '{0.0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0], - - // Test texts with new-lines - // with double-quotes and \n in id & double-quotes and actual newlines in text - ["This is a text with a\n new-line in it. Selector = 0.", '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 0], - // with double-quotes and \n in id and single-quotes and actual newlines in text - ["This is a text with a\n new-line in it. Selector = 1.", '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 1], - ["This is a text with a\n new-line in it. Selector > 1.", '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 5], - // with double-quotes and id split across lines - ['This is a text with a - new-line in it. Selector = 1.', '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 1], - // with single-quotes and id split across lines - ['This is a text with a - new-line in it. Selector > 1.', '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 5], - // with single-quotes and \n in text - ['This is a text with a\nnew-line in it. Selector = 0.', '{0}This is a text with a\nnew-line in it. Selector = 0.|{1}This is a text with a\nnew-line in it. Selector = 1.|[1,Inf]This is a text with a\nnew-line in it. Selector > 1.', 0], - // with double-quotes and id split across lines - ["This is a text with a\nnew-line in it. Selector = 1.", "{0}This is a text with a\nnew-line in it. Selector = 0.|{1}This is a text with a\nnew-line in it. Selector = 1.|[1,Inf]This is a text with a\nnew-line in it. Selector > 1.", 1], - // escape pipe - ['This is a text with | in it. Selector = 0.', '{0}This is a text with || in it. Selector = 0.|{1}This is a text with || in it. Selector = 1.', 0], - // Empty plural set (2 plural forms) from a .PO file - ['', '|', 1], - // Empty plural set (3 plural forms) from a .PO file - ['', '||', 1], - - // Floating values - ['1.5 liters', '%count% liter|%count% liters', 1.5], - ['1.5 litre', '%count% litre|%count% litres', 1.5, 'fr'], - - // Negative values - ['-1 degree', '%count% degree|%count% degrees', -1], - ['-1 degré', '%count% degré|%count% degrés', -1], - ['-1.5 degrees', '%count% degree|%count% degrees', -1.5], - ['-1.5 degré', '%count% degré|%count% degrés', -1.5, 'fr'], - ['-2 degrees', '%count% degree|%count% degrees', -2], - ['-2 degrés', '%count% degré|%count% degrés', -2], - ]; - } - - /** - * @dataProvider failingLangcodes - */ - #[DataProvider('failingLangcodes')] - public function testFailedLangcodes($nplural, $langCodes) - { - $matrix = $this->generateTestData($langCodes); - $this->validateMatrix($nplural, $matrix, false); - } - - /** - * @dataProvider successLangcodes - */ - #[DataProvider('successLangcodes')] - public function testLangcodes($nplural, $langCodes) - { - $matrix = $this->generateTestData($langCodes); - $this->validateMatrix($nplural, $matrix); - } - - /** - * This array should contain all currently known langcodes. - * - * As it is impossible to have this ever complete we should try as hard as possible to have it almost complete. - */ - public static function successLangcodes(): array - { - return [ - ['1', ['ay', 'bo', 'cgg', 'dz', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky']], - ['2', ['nl', 'fr', 'en', 'de', 'de_GE', 'hy', 'hy_AM', 'en_US_POSIX']], - ['3', ['be', 'bs', 'cs', 'hr']], - ['4', ['cy', 'mt', 'sl']], - ['6', ['ar']], - ]; - } - - /** - * This array should be at least empty within the near future. - * - * This both depends on a complete list trying to add above as understanding - * the plural rules of the current failing languages. - * - * @return array with nplural together with langcodes - */ - public static function failingLangcodes(): array - { - return [ - ['1', ['fa']], - ['2', ['jbo']], - ['3', ['cbs']], - ['4', ['gd', 'kw']], - ['5', ['ga']], - ]; - } - - /** - * We validate only on the plural coverage. Thus the real rules is not tested. - * - * @param string $nplural Plural expected - * @param array $matrix Containing langcodes and their plural index values - */ - protected function validateMatrix(string $nplural, array $matrix, bool $expectSuccess = true) - { - foreach ($matrix as $langCode => $data) { - $indexes = array_flip($data); - if ($expectSuccess) { - $this->assertCount($nplural, $indexes, "Langcode '$langCode' has '$nplural' plural forms."); - } else { - $this->assertNotCount($nplural, $indexes, "Langcode '$langCode' has '$nplural' plural forms."); - } - } - } - - protected function generateTestData($langCodes) - { - $translator = new class { - use TranslatorTrait { - getPluralizationRule as public; - } - }; - - $matrix = []; - foreach ($langCodes as $langCode) { - for ($count = 0; $count < 200; ++$count) { - $plural = $translator->getPluralizationRule($count, $langCode); - $matrix[$langCode][$count] = $plural; - } - } - - return $matrix; - } -} diff --git a/app/vendor/symfony/translation-contracts/TranslatableInterface.php b/app/vendor/symfony/translation-contracts/TranslatableInterface.php deleted file mode 100644 index 8554697ec..000000000 --- a/app/vendor/symfony/translation-contracts/TranslatableInterface.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation; - -/** - * @author Nicolas Grekas - */ -interface TranslatableInterface -{ - public function trans(TranslatorInterface $translator, ?string $locale = null): string; -} diff --git a/app/vendor/symfony/translation-contracts/TranslatorInterface.php b/app/vendor/symfony/translation-contracts/TranslatorInterface.php deleted file mode 100644 index 7fa69878f..000000000 --- a/app/vendor/symfony/translation-contracts/TranslatorInterface.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation; - -/** - * @author Fabien Potencier - */ -interface TranslatorInterface -{ - /** - * Translates the given message. - * - * When a number is provided as a parameter named "%count%", the message is parsed for plural - * forms and a translation is chosen according to this number using the following rules: - * - * Given a message with different plural translations separated by a - * pipe (|), this method returns the correct portion of the message based - * on the given number, locale and the pluralization rules in the message - * itself. - * - * The message supports two different types of pluralization rules: - * - * interval: {0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples - * indexed: There is one apple|There are %count% apples - * - * The indexed solution can also contain labels (e.g. one: There is one apple). - * This is purely for making the translations more clear - it does not - * affect the functionality. - * - * The two methods can also be mixed: - * {0} There are no apples|one: There is one apple|more: There are %count% apples - * - * An interval can represent a finite set of numbers: - * {1,2,3,4} - * - * An interval can represent numbers between two numbers: - * [1, +Inf] - * ]-1,2[ - * - * The left delimiter can be [ (inclusive) or ] (exclusive). - * The right delimiter can be [ (exclusive) or ] (inclusive). - * Beside numbers, you can use -Inf and +Inf for the infinite. - * - * @see https://en.wikipedia.org/wiki/ISO_31-11 - * - * @param string $id The message id (may also be an object that can be cast to string) - * @param array $parameters An array of parameters for the message - * @param string|null $domain The domain for the message or null to use the default - * @param string|null $locale The locale or null to use the default - * - * @throws \InvalidArgumentException If the locale contains invalid characters - */ - public function trans(string $id, array $parameters = [], ?string $domain = null, ?string $locale = null): string; - - /** - * Returns the default locale. - */ - public function getLocale(): string; -} diff --git a/app/vendor/symfony/translation-contracts/TranslatorTrait.php b/app/vendor/symfony/translation-contracts/TranslatorTrait.php deleted file mode 100644 index afedd9928..000000000 --- a/app/vendor/symfony/translation-contracts/TranslatorTrait.php +++ /dev/null @@ -1,231 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; - -/** - * A trait to help implement TranslatorInterface and LocaleAwareInterface. - * - * @author Fabien Potencier - */ -trait TranslatorTrait -{ - private ?string $locale = null; - - /** - * @return void - */ - public function setLocale(string $locale) - { - $this->locale = $locale; - } - - public function getLocale(): string - { - return $this->locale ?: (class_exists(\Locale::class) ? \Locale::getDefault() : 'en'); - } - - public function trans(?string $id, array $parameters = [], ?string $domain = null, ?string $locale = null): string - { - if (null === $id || '' === $id) { - return ''; - } - - foreach ($parameters as $k => $v) { - if ($v instanceof TranslatableInterface) { - $parameters[$k] = $v->trans($this, $locale); - } - } - - if (!isset($parameters['%count%']) || !is_numeric($parameters['%count%'])) { - return strtr($id, $parameters); - } - - $number = (float) $parameters['%count%']; - $locale = $locale ?: $this->getLocale(); - - $parts = []; - if (preg_match('/^\|++$/', $id)) { - $parts = explode('|', $id); - } elseif (preg_match_all('/(?:\|\||[^\|])++/', $id, $matches)) { - $parts = $matches[0]; - } - - $intervalRegexp = <<<'EOF' -/^(?P - ({\s* - (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*) - \s*}) - - | - - (?P[\[\]]) - \s* - (?P-Inf|\-?\d+(\.\d+)?) - \s*,\s* - (?P\+?Inf|\-?\d+(\.\d+)?) - \s* - (?P[\[\]]) -)\s*(?P.*?)$/xs -EOF; - - $standardRules = []; - foreach ($parts as $part) { - $part = trim(str_replace('||', '|', $part)); - - // try to match an explicit rule, then fallback to the standard ones - if (preg_match($intervalRegexp, $part, $matches)) { - if ($matches[2]) { - foreach (explode(',', $matches[3]) as $n) { - if ($number == $n) { - return strtr($matches['message'], $parameters); - } - } - } else { - $leftNumber = '-Inf' === $matches['left'] ? -\INF : (float) $matches['left']; - $rightNumber = is_numeric($matches['right']) ? (float) $matches['right'] : \INF; - - if (('[' === $matches['left_delimiter'] ? $number >= $leftNumber : $number > $leftNumber) - && (']' === $matches['right_delimiter'] ? $number <= $rightNumber : $number < $rightNumber) - ) { - return strtr($matches['message'], $parameters); - } - } - } elseif (preg_match('/^\w+\:\s*(.*?)$/', $part, $matches)) { - $standardRules[] = $matches[1]; - } else { - $standardRules[] = $part; - } - } - - $position = $this->getPluralizationRule($number, $locale); - - if (!isset($standardRules[$position])) { - // when there's exactly one rule given, and that rule is a standard - // rule, use this rule - if (1 === \count($parts) && isset($standardRules[0])) { - return strtr($standardRules[0], $parameters); - } - - $message = \sprintf('Unable to choose a translation for "%s" with locale "%s" for value "%d". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").', $id, $locale, $number); - - if (class_exists(InvalidArgumentException::class)) { - throw new InvalidArgumentException($message); - } - - throw new \InvalidArgumentException($message); - } - - return strtr($standardRules[$position], $parameters); - } - - /** - * Returns the plural position to use for the given locale and number. - * - * The plural rules are derived from code of the Zend Framework (2010-09-25), - * which is subject to the new BSD license (http://framework.zend.com/license/new-bsd). - * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) - */ - private function getPluralizationRule(float $number, string $locale): int - { - $number = abs($number); - - return match ('pt_BR' !== $locale && 'en_US_POSIX' !== $locale && \strlen($locale) > 3 ? substr($locale, 0, strrpos($locale, '_')) : $locale) { - 'af', - 'bn', - 'bg', - 'ca', - 'da', - 'de', - 'el', - 'en', - 'en_US_POSIX', - 'eo', - 'es', - 'et', - 'eu', - 'fa', - 'fi', - 'fo', - 'fur', - 'fy', - 'gl', - 'gu', - 'ha', - 'he', - 'hu', - 'is', - 'it', - 'ku', - 'lb', - 'ml', - 'mn', - 'mr', - 'nah', - 'nb', - 'ne', - 'nl', - 'nn', - 'no', - 'oc', - 'om', - 'or', - 'pa', - 'pap', - 'ps', - 'pt', - 'so', - 'sq', - 'sv', - 'sw', - 'ta', - 'te', - 'tk', - 'ur', - 'zu' => (1 == $number) ? 0 : 1, - 'am', - 'bh', - 'fil', - 'fr', - 'gun', - 'hi', - 'hy', - 'ln', - 'mg', - 'nso', - 'pt_BR', - 'ti', - 'wa' => ($number < 2) ? 0 : 1, - 'be', - 'bs', - 'hr', - 'ru', - 'sh', - 'sr', - 'uk' => ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2), - 'cs', - 'sk' => (1 == $number) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2), - 'ga' => (1 == $number) ? 0 : ((2 == $number) ? 1 : 2), - 'lt' => ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2), - 'sl' => (1 == $number % 100) ? 0 : ((2 == $number % 100) ? 1 : (((3 == $number % 100) || (4 == $number % 100)) ? 2 : 3)), - 'mk' => (1 == $number % 10) ? 0 : 1, - 'mt' => (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3)), - 'lv' => (0 == $number) ? 0 : (((1 == $number % 10) && (11 != $number % 100)) ? 1 : 2), - 'pl' => (1 == $number) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2), - 'cy' => (1 == $number) ? 0 : ((2 == $number) ? 1 : (((8 == $number) || (11 == $number)) ? 2 : 3)), - 'ro' => (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2), - 'ar' => (0 == $number) ? 0 : ((1 == $number) ? 1 : ((2 == $number) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5)))), - default => 0, - }; - } -} diff --git a/app/vendor/symfony/translation-contracts/composer.json b/app/vendor/symfony/translation-contracts/composer.json deleted file mode 100644 index b7220b84c..000000000 --- a/app/vendor/symfony/translation-contracts/composer.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "symfony/translation-contracts", - "type": "library", - "description": "Generic abstractions related to translation", - "keywords": ["abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=8.1" - }, - "autoload": { - "psr-4": { "Symfony\\Contracts\\Translation\\": "" }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-main": "3.6-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - } -} diff --git a/app/vendor/symfony/validator/Attribute/ExtendsValidationFor.php b/app/vendor/symfony/validator/Attribute/ExtendsValidationFor.php deleted file mode 100644 index 1d7b50cbb..000000000 --- a/app/vendor/symfony/validator/Attribute/ExtendsValidationFor.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Attribute; - -/** - * Declares that constraints listed on the current class should be added to the given class. - * - * Classes that use this attribute should contain only properties and methods that - * exist on the target class (not necessarily all of them). - * - * @author Nicolas Grekas - */ -#[\Attribute(\Attribute::TARGET_CLASS)] -final class ExtendsValidationFor -{ - /** - * @param class-string $class - */ - public function __construct( - public string $class, - ) { - } -} diff --git a/app/vendor/symfony/validator/Attribute/HasNamedArguments.php b/app/vendor/symfony/validator/Attribute/HasNamedArguments.php deleted file mode 100644 index 564d42282..000000000 --- a/app/vendor/symfony/validator/Attribute/HasNamedArguments.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Attribute; - -/** - * Hints the loader that some constraint options are required. - * - * @see https://symfony.com/doc/current/validation/custom_constraint.html - */ -#[\Attribute(\Attribute::TARGET_METHOD)] -final class HasNamedArguments -{ -} diff --git a/app/vendor/symfony/validator/CHANGELOG.md b/app/vendor/symfony/validator/CHANGELOG.md deleted file mode 100644 index b0d349a68..000000000 --- a/app/vendor/symfony/validator/CHANGELOG.md +++ /dev/null @@ -1,709 +0,0 @@ -CHANGELOG -========= - -7.4 ---- - - * Deprecate handling associative arrays in `GroupSequence` - - Before: - - ```php - $groupSequence = GroupSequence(['value' => ['group 1', 'group 2']]); - ``` - - After: - - ```php - $groupSequence = GroupSequence(['group 1', 'group 2']); - ``` - * Deprecate configuring constraint options implicitly with the XML format - - Before: - - ```xml - - - Symfony\Component\Validator\Tests\Fixtures\CallbackClass - callback - - - ``` - - After: - - ```xml - - - - - - ``` - * Deprecate configuring constraint options implicitly with the YAML format - - Before: - - ```yaml - Symfony\Component\Validator\Tests\Fixtures\NestedAttribute\Entity: - constraints: - - Callback: validateMeStatic - - Callback: [Symfony\Component\Validator\Tests\Fixtures\CallbackClass, callback] - ``` - - After: - - ```yaml - Symfony\Component\Validator\Tests\Fixtures\NestedAttribute\Entity: - constraints: - - Callback: - callback: validateMeStatic - - Callback: - callback: [Symfony\Component\Validator\Tests\Fixtures\CallbackClass, callback] - ``` - * Add `#[ExtendsValidationFor]` to declare new constraints for a class - * Add `ValidatorBuilder::addAttributeMappings()` and `AttributeMetadataPass` to declare compile-time constraint metadata using attributes - * Add the `Video` constraint for validating video files - * Deprecate implementing `__sleep/wakeup()` on `GenericMetadata` implementations; use `__(un)serialize()` instead - * Deprecate passing a list of choices to the first argument of the `Choice` constraint. Use the `choices` option instead - * Add the `min` and `max` parameter to the `Length` constraint violation - * Deprecate `getRequiredOptions()` and `getDefaultOption()` methods of the `All`, `AtLeastOneOf`, `CardScheme`, `Collection`, - `CssColor`, `Expression`, `Regex`, `Sequentially`, `Type`, and `When` constraints - * Deprecate evaluating options in the base `Constraint` class. Initialize properties in the constructor of the concrete constraint - class instead. - - Before: - - ```php - class CustomConstraint extends Constraint - { - public $option1; - public $option2; - - public function __construct(?array $options = null) - { - parent::__construct($options); - } - } - ``` - - After: - - ```php - use Symfony\Component\Validator\Attribute\HasNamedArguments; - - class CustomConstraint extends Constraint - { - #[HasNamedArguments] - public function __construct( - public $option1 = null, - public $option2 = null, - ?array $groups = null, - mixed $payload = null, - ) { - parent::__construct(null, $groups, $payload); - } - } - ``` - * Deprecate the `getRequiredOptions()` method of the base `Constraint` class. Use mandatory constructor arguments instead. - - Before: - - ```php - class CustomConstraint extends Constraint - { - public $option1; - public $option2; - - public function __construct(?array $options = null) - { - parent::__construct($options); - } - - public function getRequiredOptions() - { - return ['option1']; - } - } - ``` - - After: - - ```php - use Symfony\Component\Validator\Attribute\HasNamedArguments; - - class CustomConstraint extends Constraint - { - #[HasNamedArguments] - public function __construct( - public $option1, - public $option2 = null, - ?array $groups = null, - mixed $payload = null, - ) { - parent::__construct(null, $groups, $payload); - } - } - ``` - * Deprecate the `normalizeOptions()` and `getDefaultOption()` methods of the base `Constraint` class without replacements. - Overriding them in child constraint will not have any effects starting with Symfony 8.0. - * Deprecate passing an array of options to the `Composite` constraint class. Initialize the properties referenced with `getNestedConstraints()` - in child classes before calling the constructor of `Composite`. - - Before: - - ```php - class CustomCompositeConstraint extends Composite - { - public array $constraints = []; - - public function __construct(?array $options = null) - { - parent::__construct($options); - } - - protected function getCompositeOption(): string - { - return 'constraints'; - } - } - ``` - - After: - - ```php - use Symfony\Component\Validator\Attribute\HasNamedArguments; - - class CustomCompositeConstraint extends Composite - { - #[HasNamedArguments] - public function __construct( - public array $constraints, - ?array $groups = null, - mixed $payload = null) - { - parent::__construct(null, $groups, $payload); - } - } - ``` - -7.3 ---- - - * Add the `filenameCharset` and `filenameCountUnit` options to the `File` constraint - * Deprecate defining custom constraints not supporting named arguments - - Before: - - ```php - use Symfony\Component\Validator\Constraint; - - class CustomConstraint extends Constraint - { - public function __construct(array $options) - { - // ... - } - } - ``` - - After: - - ```php - use Symfony\Component\Validator\Attribute\HasNamedArguments; - use Symfony\Component\Validator\Constraint; - - class CustomConstraint extends Constraint - { - #[HasNamedArguments] - public function __construct($option1, $option2, $groups, $payload) - { - // ... - } - } - ``` - * Deprecate passing an array of options to the constructors of the constraint classes, pass each option as a dedicated argument instead - - Before: - - ```php - new NotNull([ - 'groups' => ['foo', 'bar'], - 'message' => 'a custom constraint violation message', - ]) - ``` - - After: - - ```php - new NotNull( - groups: ['foo', 'bar'], - message: 'a custom constraint violation message', - ) - ``` - * Add support for ratio checks for SVG files to the `Image` constraint - * Add support for the `otherwise` option in the `When` constraint - * Add support for multiple fields containing nested constraints in `Composite` constraints - * Add the `stopOnFirstError` option to the `Unique` constraint to validate all elements - * Add support for closures in the `When` constraint - -7.2 ---- - - * `IbanValidator` accepts IBANs containing non-breaking and narrow non-breaking spaces - * Make `PasswordStrengthValidator::estimateStrength()` public - * Add the `Yaml` constraint for validating YAML content - * Add `errorPath` to Unique constraint - * Add the `format` option to the `Ulid` constraint to allow accepting different ULID formats - * Add the `WordCount` constraint - * Add the `Week` constraint - * Add `CompoundConstraintTestCase` to ease testing Compound Constraints - * Add context variable to `WhenValidator` - * Add `format` parameter to `DateTime` constraint violation message - -7.1 ---- - - * Deprecate not passing a value for the `requireTld` option to the `Url` constraint (the default value will become `true` in 8.0) - * Add the calculated strength to violations in `PasswordStrengthValidator` - * Add support for `Stringable` values when using the `Cidr`, `CssColor`, `ExpressionSyntax` and `PasswordStrength` constraints - * Add `MacAddress` constraint - * Add `*_NO_PUBLIC`, `*_ONLY_PRIVATE` and `*_ONLY_RESERVED` versions to `Ip` constraint - * Possibility to use all `Ip` constraint versions for `Cidr` constraint - * Add `list` and `associative_array` types to `Type` constraint - * Add the `Charset` constraint - * Add the `requireTld` option to the `Url` constraint - * Deprecate `Bic::INVALID_BANK_CODE_ERROR` - -7.0 ---- - - * Add methods `getConstraint()`, `getCause()` and `__toString()` to `ConstraintViolationInterface` - * Add method `__toString()` to `ConstraintViolationListInterface` - * Add method `disableTranslation()` to `ConstraintViolationBuilderInterface` - * Remove static property `$errorNames` from all constraints, use const `ERROR_NAMES` instead - * Remove static property `$versions` from the `Ip` constraint, use the `VERSIONS` constant instead - * Remove `VALIDATION_MODE_LOOSE` from `Email` constraint, use `VALIDATION_MODE_HTML5` instead - * Remove constraint `ExpressionLanguageSyntax`, use `ExpressionSyntax` instead - * Remove Doctrine annotations support in favor of native attributes - * Remove the annotation reader parameter from the constructor signature of `AnnotationLoader` - * Remove `ValidatorBuilder::setDoctrineAnnotationReader()` - * Remove `ValidatorBuilder::addDefaultDoctrineAnnotationReader()` - * Remove `ValidatorBuilder::enableAnnotationMapping()`, use `ValidatorBuilder::enableAttributeMapping()` instead - * Remove `ValidatorBuilder::disableAnnotationMapping()`, use `ValidatorBuilder::disableAttributeMapping()` instead - * Remove `AnnotationLoader`, use `AttributeLoader` instead - -6.4 ---- - - * Add `is_valid` function to the `Expression` constraint, its behavior is the same as `ValidatorInterface::validate` - * Allow single integer for the `versions` option of the `Uuid` constraint - * Allow single constraint to be passed to the `constraints` option of the `When` constraint - * Deprecate Doctrine annotations support in favor of native attributes - * Deprecate `ValidatorBuilder::setDoctrineAnnotationReader()` - * Deprecate `ValidatorBuilder::addDefaultDoctrineAnnotationReader()` - * Add `number`, `finite-number` and `finite-float` types to `Type` constraint - * Add the `withSeconds` option to the `Time` constraint that allows to pass time without seconds - * Deprecate `ValidatorBuilder::enableAnnotationMapping()`, use `ValidatorBuilder::enableAttributeMapping()` instead - * Deprecate `ValidatorBuilder::disableAnnotationMapping()`, use `ValidatorBuilder::disableAttributeMapping()` instead - * Deprecate `AnnotationLoader`, use `AttributeLoader` instead - * Add `GroupProviderInterface` to implement validation group providers outside the underlying class - -6.3 ---- - - * Add method `getConstraint()` to `ConstraintViolationInterface` - * Add `Uuid::TIME_BASED_VERSIONS` to match that a UUID being validated embeds a timestamp - * Add the `pattern` parameter in violations of the `Regex` constraint - * Add a `NoSuspiciousCharacters` constraint to validate a string is not a spoofing attempt - * Add a `PasswordStrength` constraint to check the strength of a password - * Add the `countUnit` option to the `Length` constraint to allow counting the string length either by code points (like before, now the default setting `Length::COUNT_CODEPOINTS`), bytes (`Length::COUNT_BYTES`) or graphemes (`Length::COUNT_GRAPHEMES`) - * Add the `filenameMaxLength` option to the `File` constraint - * Add the `exclude` option to the `Cascade` constraint - * Add the `value_length` parameter to `Length` constraint - * Allow to disable the translation domain for `ConstraintViolationInterface` messages - -6.2 ---- - - * Add option `Email::VALIDATION_MODE_HTML5_ALLOW_NO_TLD` with "html5-allow-no-tld" e-mail validation mode, to match with the W3C official specification - * Add method `getCause()` to `ConstraintViolationInterface` - * Add the `When` constraint and validator - * Deprecate the "loose" e-mail validation mode, use "html5" instead - * Add the `negate` option to the `Expression` constraint, to inverse the logic of the violation's creation - * Add the `extensions` option to the `File` constraint as an alternative to `mimeTypes` which checks the mime type of the file, its extension, and the consistency between them - * Add padding for enhanced privacy to the `NotCompromisedPasswordValidator` - -6.1 ---- - - * Add the `fields` option to the `Unique` constraint, to define which collection keys should be checked for uniqueness - * Deprecate `Constraint::$errorNames`, use `Constraint::ERROR_NAMES` instead - * Deprecate constraint `ExpressionLanguageSyntax`, use `ExpressionSyntax` instead - * Add method `__toString()` to `ConstraintViolationInterface` & `ConstraintViolationListInterface` - * Allow creating constraints with required arguments - * Add the `match` option to the `Choice` constraint - -6.0 ---- - - * Remove the `allowEmptyString` option from the `Length` constraint - * Remove the `NumberConstraintTrait` trait - * `ValidatorBuilder::enableAnnotationMapping()` does not accept a Doctrine annotation reader anymore - * `ValidatorBuilder::enableAnnotationMapping()` won't automatically setup a Doctrine annotation reader anymore - -5.4 ---- - - * Add a `Cidr` constraint to validate CIDR notations - * Add a `CssColor` constraint to validate CSS colors - * Add support for `ConstraintViolationList::createFromMessage()` - * Add error's uid to `Count` and `Length` constraints with "exactly" option enabled - -5.3 ---- - - * Add the `normalizer` option to the `Unique` constraint - * Add `Validation::createIsValidCallable()` that returns true/false instead of throwing exceptions - -5.2.0 ------ - - * added a `Cascade` constraint to ease validating nested typed object properties - * deprecated the `allowEmptyString` option of the `Length` constraint - - Before: - - ```php - use Symfony\Component\Validator\Constraints as Assert; - - /** - * @Assert\Length(min=5, allowEmptyString=true) - */ - ``` - - After: - - ```php - use Symfony\Component\Validator\Constraints as Assert; - - /** - * @Assert\AtLeastOneOf({ - * @Assert\Blank(), - * @Assert\Length(min=5) - * }) - */ - ``` - * added the `Isin` constraint and validator - * added the `ULID` constraint and validator - * added support for UUIDv6 in `Uuid` constraint - * enabled the validator to load constraints from PHP attributes - * deprecated the `NumberConstraintTrait` trait - * deprecated setting or creating a Doctrine annotation reader via `ValidatorBuilder::enableAnnotationMapping()`, pass `true` as first parameter and additionally call `setDoctrineAnnotationReader()` or `addDefaultDoctrineAnnotationReader()` to set up the annotation reader - -5.1.0 ------ - - * Add `AtLeastOneOf` constraint that is considered to be valid if at least one of the nested constraints is valid - * added the `Hostname` constraint and validator - * added the `alpha3` option to the `Country` and `Language` constraints - * allow to define a reusable set of constraints by extending the `Compound` constraint - * added `Sequentially` constraint, to sequentially validate a set of constraints (any violation raised will prevent further validation of the nested constraints) - * added the `divisibleBy` option to the `Count` constraint - * added the `ExpressionLanguageSyntax` constraint - -5.0.0 ------ - - * an `ExpressionLanguage` instance or null must be passed as the first argument of `ExpressionValidator::__construct()` - * removed the `checkDNS` and `dnsMessage` options of the `Url` constraint - * removed the `checkMX`, `checkHost` and `strict` options of the `Email` constraint - * removed support for validating instances of `\DateTimeInterface` in `DateTimeValidator`, `DateValidator` and `TimeValidator` - * removed support for using the `Bic`, `Country`, `Currency`, `Language` and `Locale` constraints without `symfony/intl` - * removed support for using the `Email` constraint without `egulias/email-validator` - * removed support for using the `Expression` constraint without `symfony/expression-language` - * changed default value of `canonicalize` option of `Locale` constraint to `true` - * removed `ValidatorBuilderInterface` - * passing a null message when instantiating a `ConstraintViolation` is not allowed - * changed the default value of `Length::$allowEmptyString` to `false` and made it optional - * removed `Symfony\Component\Validator\Mapping\Cache\CacheInterface` in favor of PSR-6. - * removed `ValidatorBuilder::setMetadataCache`, use `ValidatorBuilder::setMappingCache` instead. - -4.4.0 ------ - - * [BC BREAK] using null as `$classValidatorRegexp` value in `PropertyInfoLoader::__construct` will not enable auto-mapping for all classes anymore, use `'{.*}'` instead. - * added `EnableAutoMapping` and `DisableAutoMapping` constraints to enable or disable auto mapping for class or a property - * using anything else than a `string` as the code of a `ConstraintViolation` is deprecated, a `string` type-hint will - be added to the constructor of the `ConstraintViolation` class and to the `ConstraintViolationBuilder::setCode()` - method in 5.0 - * deprecated passing an `ExpressionLanguage` instance as the second argument of `ExpressionValidator::__construct()`. Pass it as the first argument instead. - * added the `compared_value_path` parameter in violations when using any - comparison constraint with the `propertyPath` option. - * added support for checking an array of types in `TypeValidator` - * added a new `allowEmptyString` option to the `Length` constraint to allow rejecting empty strings when `min` is set, by setting it to `false`. - * Added new `minPropertyPath` and `maxPropertyPath` options - to `Range` constraint in order to get the value to compare - from an array or object - * added the `min_limit_path` and `max_limit_path` parameters in violations when using - `Range` constraint with respectively the `minPropertyPath` and - `maxPropertyPath` options - * added a new `notInRangeMessage` option to the `Range` constraint that will - be used in the violation builder when both `min` and `max` are not null - * added ability to use stringable objects as violation messages - * Overriding the methods `ConstraintValidatorTestCase::setUp()` and `ConstraintValidatorTestCase::tearDown()` without the `void` return-type is deprecated. - * deprecated `Symfony\Component\Validator\Mapping\Cache\CacheInterface` in favor of PSR-6. - * deprecated `ValidatorBuilder::setMetadataCache`, use `ValidatorBuilder::setMappingCache` instead. - * Marked the `ValidatorDataCollector` class as `@final`. - -4.3.0 ------ - - * added `Timezone` constraint - * added `NotCompromisedPassword` constraint - * added options `iban` and `ibanPropertyPath` to Bic constraint - * added UATP cards support to `CardSchemeValidator` - * added option `allowNull` to NotBlank constraint - * added `Json` constraint - * added `Unique` constraint - * added a new `normalizer` option to the string constraints and to the `NotBlank` constraint - * added `Positive` constraint - * added `PositiveOrZero` constraint - * added `Negative` constraint - * added `NegativeOrZero` constraint - -4.2.0 ------ - - * added a new `UnexpectedValueException` that can be thrown by constraint validators, these exceptions are caught by - the validator and are converted into constraint violations - * added `DivisibleBy` constraint - * decoupled from `symfony/translation` by using `Symfony\Contracts\Translation\TranslatorInterface` - * deprecated `ValidatorBuilderInterface` - * made `ValidatorBuilder::setTranslator()` final - * marked `format` the default option in `DateTime` constraint - * deprecated validating instances of `\DateTimeInterface` in `DateTimeValidator`, `DateValidator` and `TimeValidator`. - * deprecated using the `Bic`, `Country`, `Currency`, `Language` and `Locale` constraints without `symfony/intl` - * deprecated using the `Email` constraint without `egulias/email-validator` - * deprecated using the `Expression` constraint without `symfony/expression-language` - -4.1.0 ------ - - * Deprecated the `checkDNS` and `dnsMessage` options of the `Url` constraint. - * added a `values` option to the `Expression` constraint - * Deprecated use of `Locale` constraint without setting `true` at "canonicalize" option, which will be the default value in 5.0 - -4.0.0 ------ - - * Setting the `strict` option of the `Choice` constraint to anything but `true` - is not supported anymore. - * removed the `DateTimeValidator::PATTERN` constant - * removed the `AbstractConstraintValidatorTest` class - * removed support for setting the `checkDNS` option of the `Url` constraint to `true` - -3.4.0 ------ - - * added support for validation groups to the `Valid` constraint - * not setting the `strict` option of the `Choice` constraint to `true` is - deprecated and will throw an exception in Symfony 4.0 - * setting the `checkDNS` option of the `Url` constraint to `true` is deprecated in favor of - the `Url::CHECK_DNS_TYPE_*` constants values and will throw an exception in Symfony 4.0 - * added min/max amount of pixels check to `Image` constraint via `minPixels` and `maxPixels` - * added a new "propertyPath" option to comparison constraints in order to get the value to compare from an array or object - -3.3.0 ------ - - * added `AddValidatorInitializersPass` - * added `AddConstraintValidatorsPass` - * added `ContainerConstraintValidatorFactory` - -3.2.0 ------ - - * deprecated `Tests\Constraints\AbstractConstraintValidatorTest` in favor of `Test\ConstraintValidatorTestCase` - * added support for PHP constants in YAML configuration files - -3.1.0 ------ - - * deprecated `DateTimeValidator::PATTERN` constant - * added a `format` option to the `DateTime` constraint - -2.8.0 ------ - - * added the BIC (SWIFT-Code) validator - -2.7.0 ------ - - * deprecated `DefaultTranslator` in favor of `Symfony\Component\Translation\IdentityTranslator` - * deprecated PHP7-incompatible constraints (Null, True, False) and related validators (NullValidator, TrueValidator, FalseValidator) in favor of their `Is`-prefixed equivalent - -2.6.0 ------ - - * [BC BREAK] `FileValidator` disallow empty files - * [BC BREAK] `UserPasswordValidator` source message change - * [BC BREAK] added internal `ExecutionContextInterface::setConstraint()` - * added `ConstraintViolation::getConstraint()` - * [BC BREAK] The `ExpressionValidator` will now evaluate the Expression even when the property value is null or an empty string - * deprecated `ClassMetadata::hasMemberMetadatas()` - * deprecated `ClassMetadata::getMemberMetadatas()` - * deprecated `ClassMetadata::addMemberMetadata()` - * [BC BREAK] added `Mapping\MetadataInterface::getConstraints()` - * added generic "payload" option to all constraints for attaching domain-specific data - * [BC BREAK] added `ConstraintViolationBuilderInterface::setCause()` - -2.5.0 ------ - - * deprecated `ApcCache` in favor of `DoctrineCache` - * added `DoctrineCache` to adapt any Doctrine cache - * `GroupSequence` now implements `ArrayAccess`, `Countable` and `Traversable` - * [BC BREAK] changed `ClassMetadata::getGroupSequence()` to return a `GroupSequence` instance instead of an array - * `Callback` can now be put onto properties (useful when you pass a closure to the constraint) - * deprecated `ClassBasedInterface` - * deprecated `MetadataInterface` - * deprecated `PropertyMetadataInterface` - * deprecated `PropertyMetadataContainerInterface` - * deprecated `Mapping\ElementMetadata` - * added `Mapping\MetadataInterface` - * added `Mapping\ClassMetadataInterface` - * added `Mapping\PropertyMetadataInterface` - * added `Mapping\GenericMetadata` - * added `Mapping\CascadingStrategy` - * added `Mapping\TraversalStrategy` - * deprecated `Mapping\ClassMetadata::accept()` - * deprecated `Mapping\MemberMetadata::accept()` - * removed array type hint of `Mapping\ClassMetadata::setGroupSequence()` - * deprecated `MetadataFactoryInterface` - * deprecated `Mapping\BlackholeMetadataFactory` - * deprecated `Mapping\ClassMetadataFactory` - * added `Mapping\Factory\MetadataFactoryInterface` - * added `Mapping\Factory\BlackHoleMetadataFactory` - * added `Mapping\Factory\LazyLoadingMetadataFactory` - * deprecated `ExecutionContextInterface` - * deprecated `ExecutionContext` - * deprecated `GlobalExecutionContextInterface` - * added `Context\ExecutionContextInterface` - * added `Context\ExecutionContext` - * added `Context\ExecutionContextFactoryInterface` - * added `Context\ExecutionContextFactory` - * deprecated `ValidatorInterface` - * deprecated `Validator` - * deprecated `ValidationVisitorInterface` - * deprecated `ValidationVisitor` - * added `Validator\ValidatorInterface` - * added `Validator\RecursiveValidator` - * added `Validator\ContextualValidatorInterface` - * added `Validator\RecursiveContextualValidator` - * added `Violation\ConstraintViolationBuilderInterface` - * added `Violation\ConstraintViolationBuilder` - * added `ConstraintViolation::getParameters()` - * added `ConstraintViolation::getPlural()` - * added `Constraints\Traverse` - * deprecated `$deep` property in `Constraints\Valid` - * added `ValidatorBuilderInterface::setApiVersion()` - * added `Validation::API_VERSION_2_4` - * added `Validation::API_VERSION_2_5` - * added `Exception\OutOfBoundsException` - * added `Exception\UnsupportedMetadataException` - * made `Exception\ValidatorException` extend `Exception\RuntimeException` - * added `Util\PropertyPath` - * made the PropertyAccess component an optional dependency - * deprecated `ValidatorBuilder::setPropertyAccessor()` - * deprecated `validate` and `validateValue` on `Validator\Context\ExecutionContext` use `getValidator()` together with `inContext()` instead - -2.4.0 ------ - - * added a constraint the uses the expression language - * added `minRatio`, `maxRatio`, `allowSquare`, `allowLandscape`, and `allowPortrait` to Image validator - -2.3.29 ------- - - * fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator) - -2.3.0 ------ - - * added the ISBN, ISSN, and IBAN validators - * copied the constraints `Optional` and `Required` to the - `Symfony\Component\Validator\Constraints\` namespace and deprecated the original - classes. - * added comparison validators (EqualTo, NotEqualTo, LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo, IdenticalTo, NotIdenticalTo) - -2.2.0 ------ - - * added a CardScheme validator - * added a Luhn validator - * moved @api-tags from `Validator` to `ValidatorInterface` - * moved @api-tags from `ConstraintViolation` to the new `ConstraintViolationInterface` - * moved @api-tags from `ConstraintViolationList` to the new `ConstraintViolationListInterface` - * moved @api-tags from `ExecutionContext` to the new `ExecutionContextInterface` - * [BC BREAK] `ConstraintValidatorInterface::initialize` is now type hinted against `ExecutionContextInterface` instead of `ExecutionContext` - * [BC BREAK] changed the visibility of the properties in `Validator` from protected to private - * deprecated `ClassMetadataFactoryInterface` in favor of the new `MetadataFactoryInterface` - * deprecated `ClassMetadataFactory::getClassMetadata` in favor of `getMetadataFor` - * created `MetadataInterface`, `PropertyMetadataInterface`, `ClassBasedInterface` and `PropertyMetadataContainerInterface` - * deprecated `GraphWalker` in favor of the new `ValidationVisitorInterface` - * deprecated `ExecutionContext::addViolationAtPath` - * deprecated `ExecutionContext::addViolationAtSubPath` in favor of `ExecutionContextInterface::addViolationAt` - * deprecated `ExecutionContext::getCurrentClass` in favor of `ExecutionContextInterface::getClassName` - * deprecated `ExecutionContext::getCurrentProperty` in favor of `ExecutionContextInterface::getPropertyName` - * deprecated `ExecutionContext::getCurrentValue` in favor of `ExecutionContextInterface::getValue` - * deprecated `ExecutionContext::getGraphWalker` in favor of `ExecutionContextInterface::validate` and `ExecutionContextInterface::validateValue` - * improved `ValidatorInterface::validateValue` to accept arrays of constraints - * changed `ValidatorInterface::getMetadataFactory` to return a `MetadataFactoryInterface` instead of a `ClassMetadataFactoryInterface` - * removed `ClassMetadataFactoryInterface` type hint from `ValidatorBuilderInterface::setMetadataFactory`. - As of Symfony 2.3, this method will be typed against `MetadataFactoryInterface` instead. - * [BC BREAK] the switches `traverse` and `deep` in the `Valid` constraint and in `GraphWalker::walkReference` - are ignored for arrays now. Arrays are always traversed recursively. - * added dependency to Translation component - * violation messages are now translated with a TranslatorInterface implementation - * [BC BREAK] inserted argument `$message` in the constructor of `ConstraintViolation` - * [BC BREAK] inserted arguments `$translator` and `$translationDomain` in the constructor of `ExecutionContext` - * [BC BREAK] inserted arguments `$translator` and `$translationDomain` in the constructor of `GraphWalker` - * [BC BREAK] inserted arguments `$translator` and `$translationDomain` in the constructor of `ValidationVisitor` - * [BC BREAK] inserted arguments `$translator` and `$translationDomain` in the constructor of `Validator` - * [BC BREAK] added `setTranslator()` and `setTranslationDomain()` to `ValidatorBuilderInterface` - * improved the Validator to support pluralized messages by default - * [BC BREAK] changed the source of all pluralized messages in the translation files to the pluralized version - * added ExceptionInterface, BadMethodCallException and InvalidArgumentException - -2.1.0 ------ - - * added support for `ctype_*` assertions in `TypeValidator` - * improved the ImageValidator with min width, max width, min height, and max height constraints - * added support for MIME with wildcard in FileValidator - * changed Collection validator to add "missing" and "extra" errors to - individual fields - * changed default value for `extraFieldsMessage` and `missingFieldsMessage` - in Collection constraint - * made ExecutionContext immutable - * deprecated Constraint methods `setMessage`, `getMessageTemplate` and - `getMessageParameters` - * added support for dynamic group sequences with the GroupSequenceProvider pattern - * [BC BREAK] ConstraintValidatorInterface method `isValid` has been renamed to - `validate`, its return value was dropped. ConstraintValidator still contains - `isValid` for BC - * [BC BREAK] collections in fields annotated with `Valid` are not traversed - recursively anymore by default. `Valid` contains a new property `deep` - which enables the BC behavior. - * added Count constraint - * added Length constraint - * added Range constraint - * deprecated the Min and Max constraints - * deprecated the MinLength and MaxLength constraints - * added Validation and ValidatorBuilderInterface - * deprecated ValidatorContext, ValidatorContextInterface and ValidatorFactory diff --git a/app/vendor/symfony/validator/Command/DebugCommand.php b/app/vendor/symfony/validator/Command/DebugCommand.php deleted file mode 100644 index e6a076c97..000000000 --- a/app/vendor/symfony/validator/Command/DebugCommand.php +++ /dev/null @@ -1,247 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Command; - -use Symfony\Component\Console\Attribute\AsCommand; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Helper\Dumper; -use Symfony\Component\Console\Helper\Table; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Style\SymfonyStyle; -use Symfony\Component\Finder\Exception\DirectoryNotFoundException; -use Symfony\Component\Finder\Finder; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Mapping\AutoMappingStrategy; -use Symfony\Component\Validator\Mapping\CascadingStrategy; -use Symfony\Component\Validator\Mapping\ClassMetadataInterface; -use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface; -use Symfony\Component\Validator\Mapping\GenericMetadata; -use Symfony\Component\Validator\Mapping\TraversalStrategy; - -/** - * A console command to debug Validators information. - * - * @author Loïc Frémont - */ -#[AsCommand(name: 'debug:validator', description: 'Display validation constraints for classes')] -class DebugCommand extends Command -{ - public function __construct( - private MetadataFactoryInterface $validator, - ) { - parent::__construct(); - } - - protected function configure(): void - { - $this - ->addArgument('class', InputArgument::REQUIRED, 'A fully qualified class name or a path') - ->addOption('show-all', null, InputOption::VALUE_NONE, 'Show all classes even if they have no validation constraints') - ->setHelp(<<<'EOF' - The %command.name% 'App\Entity\Dummy' command dumps the validators for the dummy class. - - The %command.name% src/ command dumps the validators for the `src` directory. - EOF - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output): int - { - $class = $input->getArgument('class'); - - if (class_exists($class)) { - $this->dumpValidatorsForClass($input, $output, $class); - - return 0; - } - - try { - foreach ($this->getResourcesByPath($class) as $class) { - $this->dumpValidatorsForClass($input, $output, $class); - } - } catch (DirectoryNotFoundException) { - $io = new SymfonyStyle($input, $output); - $io->error(\sprintf('Neither class nor path were found with "%s" argument.', $input->getArgument('class'))); - - return 1; - } - - return 0; - } - - private function dumpValidatorsForClass(InputInterface $input, OutputInterface $output, string $class): void - { - $io = new SymfonyStyle($input, $output); - $title = \sprintf('%s', $class); - $rows = []; - $dump = new Dumper($output); - - /** @var ClassMetadataInterface $classMetadata */ - $classMetadata = $this->validator->getMetadataFor($class); - - foreach ($this->getClassConstraintsData($classMetadata) as $data) { - $rows[] = [ - '-', - $data['class'], - implode(', ', $data['groups']), - $dump($data['options']), - ]; - } - - foreach ($this->getConstrainedPropertiesData($classMetadata) as $propertyName => $constraintsData) { - foreach ($constraintsData as $data) { - $rows[] = [ - $propertyName, - $data['class'], - implode(', ', $data['groups']), - $dump($data['options']), - ]; - } - } - - if (!$rows) { - if (false === $input->getOption('show-all')) { - return; - } - - $io->section($title); - $io->text('No validators were found for this class.'); - - return; - } - - $io->section($title); - - $table = new Table($output); - $table->setHeaders(['Property', 'Name', 'Groups', 'Options']); - $table->setRows($rows); - $table->setColumnMaxWidth(3, 80); - $table->render(); - } - - private function getClassConstraintsData(ClassMetadataInterface $classMetadata): iterable - { - foreach ($classMetadata->getConstraints() as $constraint) { - yield [ - 'class' => $constraint::class, - 'groups' => $constraint->groups, - 'options' => $this->getConstraintOptions($constraint), - ]; - } - } - - private function getConstrainedPropertiesData(ClassMetadataInterface $classMetadata): array - { - $data = []; - - foreach ($classMetadata->getConstrainedProperties() as $constrainedProperty) { - $data[$constrainedProperty] = $this->getPropertyData($classMetadata, $constrainedProperty); - } - - return $data; - } - - private function getPropertyData(ClassMetadataInterface $classMetadata, string $constrainedProperty): array - { - $data = []; - - $propertyMetadata = $classMetadata->getPropertyMetadata($constrainedProperty); - foreach ($propertyMetadata as $metadata) { - $autoMapingStrategy = 'Not supported'; - if ($metadata instanceof GenericMetadata) { - $autoMapingStrategy = match ($metadata->getAutoMappingStrategy()) { - AutoMappingStrategy::ENABLED => 'Enabled', - AutoMappingStrategy::DISABLED => 'Disabled', - AutoMappingStrategy::NONE => 'None', - }; - } - $traversalStrategy = 'None'; - if (TraversalStrategy::TRAVERSE === $metadata->getTraversalStrategy()) { - $traversalStrategy = 'Traverse'; - } - if (TraversalStrategy::IMPLICIT === $metadata->getTraversalStrategy()) { - $traversalStrategy = 'Implicit'; - } - - $data[] = [ - 'class' => 'property options', - 'groups' => [], - 'options' => [ - 'cascadeStrategy' => CascadingStrategy::CASCADE === $metadata->getCascadingStrategy() ? 'Cascade' : 'None', - 'autoMappingStrategy' => $autoMapingStrategy, - 'traversalStrategy' => $traversalStrategy, - ], - ]; - foreach ($metadata->getConstraints() as $constraint) { - $data[] = [ - 'class' => $constraint::class, - 'groups' => $constraint->groups, - 'options' => $this->getConstraintOptions($constraint), - ]; - } - } - - return $data; - } - - private function getConstraintOptions(Constraint $constraint): array - { - $options = []; - - foreach (array_keys(get_object_vars($constraint)) as $propertyName) { - // Groups are dumped on a specific column. - if ('groups' === $propertyName) { - continue; - } - - $options[$propertyName] = $constraint->$propertyName; - } - - ksort($options); - - return $options; - } - - private function getResourcesByPath(string $path): array - { - $finder = new Finder(); - $finder->files()->in($path)->name('*.php')->sortByName(true); - $classes = []; - - foreach ($finder as $file) { - $fileContent = file_get_contents($file->getRealPath()); - - preg_match('/namespace (.+);/', $fileContent, $matches); - - $namespace = $matches[1] ?? null; - - if (!preg_match('/class +([^{ ]+)/', $fileContent, $matches)) { - // no class found - continue; - } - - $className = trim($matches[1]); - - if (null !== $namespace) { - $classes[] = $namespace.'\\'.$className; - } else { - $classes[] = $className; - } - } - - return $classes; - } -} diff --git a/app/vendor/symfony/validator/Constraint.php b/app/vendor/symfony/validator/Constraint.php deleted file mode 100644 index fb3abdac8..000000000 --- a/app/vendor/symfony/validator/Constraint.php +++ /dev/null @@ -1,364 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\InvalidArgumentException; -use Symfony\Component\Validator\Exception\InvalidOptionsException; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Contains the properties of a constraint definition. - * - * A constraint can be defined on a class, a property or a getter method. - * The Constraint class encapsulates all the configuration required for - * validating this class, property or getter result successfully. - * - * Constraint instances are immutable and serializable. - * - * @author Bernhard Schussek - */ -abstract class Constraint -{ - /** - * The name of the group given to all constraints with no explicit group. - */ - public const DEFAULT_GROUP = 'Default'; - - /** - * Marks a constraint that can be put onto classes. - */ - public const CLASS_CONSTRAINT = 'class'; - - /** - * Marks a constraint that can be put onto properties. - */ - public const PROPERTY_CONSTRAINT = 'property'; - - /** - * Maps error codes to the names of their constants. - * - * @var array - */ - protected const ERROR_NAMES = []; - - /** - * Domain-specific data attached to a constraint. - */ - public mixed $payload; - - /** - * The groups that the constraint belongs to. - * - * @var string[] - */ - public ?array $groups = null; - - /** - * Returns the name of the given error code. - * - * @throws InvalidArgumentException If the error code does not exist - */ - public static function getErrorName(string $errorCode): string - { - if (isset(static::ERROR_NAMES[$errorCode])) { - return static::ERROR_NAMES[$errorCode]; - } - - throw new InvalidArgumentException(\sprintf('The error code "%s" does not exist for constraint of type "%s".', $errorCode, static::class)); - } - - /** - * Initializes the constraint with options. - * - * You should pass an associative array. The keys should be the names of - * existing properties in this class. The values should be the value for these - * properties. - * - * Alternatively you can override the method getDefaultOption() to return the - * name of an existing property. If no associative array is passed, this - * property is set instead. - * - * You can force that certain options are set by overriding - * getRequiredOptions() to return the names of these options. If any - * option is not set here, an exception is thrown. - * - * @param mixed $options The options (as associative array) - * or the value for the default - * option (any other type) - * @param string[] $groups An array of validation groups - * @param mixed $payload Domain-specific data attached to a constraint - * - * @throws InvalidOptionsException When you pass the names of non-existing - * options - * @throws MissingOptionsException When you don't pass any of the options - * returned by getRequiredOptions() - * @throws ConstraintDefinitionException When you don't pass an associative - * array, but getDefaultOption() returns - * null - */ - public function __construct(mixed $options = null, ?array $groups = null, mixed $payload = null) - { - unset($this->groups); // enable lazy initialization - - if (null === $options && $this->areRequiredOptionsHandledByChildConstructor()) { - if (null !== $groups) { - $this->groups = $groups; - } - $this->payload = $payload; - - return; - } - - trigger_deprecation('symfony/validator', '7.4', 'Support for evaluating options in the base Constraint class is deprecated. Initialize properties in the constructor of %s instead.', static::class); - - $options = $this->normalizeOptions($options); - if (null !== $groups) { - $options['groups'] = $groups; - } - $options['payload'] = $payload ?? $options['payload'] ?? null; - - foreach ($options as $name => $value) { - $this->$name = $value; - } - } - - /** - * @deprecated since Symfony 7.4 - * - * @return array - */ - protected function normalizeOptions(mixed $options): array - { - $normalizedOptions = []; - $defaultOption = $this->getDefaultOption(false); - $invalidOptions = []; - $missingOptions = array_flip($this->getRequiredOptions(false)); - $knownOptions = get_class_vars(static::class); - - if (\is_array($options) && isset($options['value']) && !property_exists($this, 'value')) { - if (null === $defaultOption) { - throw new ConstraintDefinitionException(\sprintf('No default option is configured for constraint "%s".', static::class)); - } - - $options[$defaultOption] = $options['value']; - unset($options['value']); - } - - if (\is_array($options)) { - reset($options); - } - if ($options && \is_array($options) && \is_string(key($options))) { - foreach ($options as $option => $value) { - if (\array_key_exists($option, $knownOptions)) { - $normalizedOptions[$option] = $value; - unset($missingOptions[$option]); - } else { - $invalidOptions[] = $option; - } - } - } elseif (null !== $options && !(\is_array($options) && 0 === \count($options))) { - if (null === $defaultOption) { - throw new ConstraintDefinitionException(\sprintf('No default option is configured for constraint "%s".', static::class)); - } - - if (\array_key_exists($defaultOption, $knownOptions)) { - $normalizedOptions[$defaultOption] = $options; - unset($missingOptions[$defaultOption]); - } else { - $invalidOptions[] = $defaultOption; - } - } - - if (\count($invalidOptions) > 0) { - throw new InvalidOptionsException(\sprintf('The options "%s" do not exist in constraint "%s".', implode('", "', $invalidOptions), static::class), $invalidOptions); - } - - if (\count($missingOptions) > 0) { - throw new MissingOptionsException(\sprintf('The options "%s" must be set for constraint "%s".', implode('", "', array_keys($missingOptions)), static::class), array_keys($missingOptions)); - } - - return $normalizedOptions; - } - - /** - * Sets the value of a lazily initialized option. - * - * Corresponding properties are added to the object on first access. Hence - * this method will be called at most once per constraint instance and - * option name. - * - * @throws InvalidOptionsException If an invalid option name is given - */ - public function __set(string $option, mixed $value): void - { - if ('groups' === $option) { - $this->groups = (array) $value; - - return; - } - - throw new InvalidOptionsException(\sprintf('The option "%s" does not exist in constraint "%s".', $option, static::class), [$option]); - } - - /** - * Returns the value of a lazily initialized option. - * - * Corresponding properties are added to the object on first access. Hence - * this method will be called at most once per constraint instance and - * option name. - * - * @throws InvalidOptionsException If an invalid option name is given - */ - public function __get(string $option): mixed - { - if ('groups' === $option) { - $this->groups = [self::DEFAULT_GROUP]; - - return $this->groups; - } - - throw new InvalidOptionsException(\sprintf('The option "%s" does not exist in constraint "%s".', $option, static::class), [$option]); - } - - public function __isset(string $option): bool - { - return 'groups' === $option; - } - - /** - * Adds the given group if this constraint is in the Default group. - */ - public function addImplicitGroupName(string $group): void - { - if (null === $this->groups && \array_key_exists('groups', (array) $this)) { - throw new \LogicException(\sprintf('"%s::$groups" is set to null. Did you forget to call "%s::__construct()"?', static::class, self::class)); - } - - if (\in_array(self::DEFAULT_GROUP, $this->groups) && !\in_array($group, $this->groups, true)) { - $this->groups[] = $group; - } - } - - /** - * Returns the name of the default option. - * - * Override this method to define a default option. - * - * @deprecated since Symfony 7.4 - * @see __construct() - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return null; - } - - /** - * Returns the name of the required options. - * - * Override this method if you want to define required options. - * - * @return string[] - * - * @deprecated since Symfony 7.4 - * @see __construct() - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return []; - } - - /** - * Returns the name of the class that validates this constraint. - * - * By default, this is the fully qualified name of the constraint class - * suffixed with "Validator". You can override this method to change that - * behavior. - */ - public function validatedBy(): string - { - return static::class.'Validator'; - } - - /** - * Returns whether the constraint can be put onto classes, properties or - * both. - * - * @return self::CLASS_CONSTRAINT|self::PROPERTY_CONSTRAINT|array - */ - public function getTargets(): string|array - { - return self::PROPERTY_CONSTRAINT; - } - - /** - * Optimizes the serialized value to minimize storage space. - */ - public function __serialize(): array - { - // Initialize "groups" option if it is not set - $this->groups; - - $data = []; - $class = $this::class; - foreach ((array) $this as $k => $v) { - $data[match (true) { - '' === $k || "\0" !== $k[0] => $k, - str_starts_with($k, "\0*\0") => substr($k, 3), - str_starts_with($k, "\0{$class}\0") => substr($k, 2 + \strlen($class)), - default => $k, - }] = $v; - } - - return $data; - } - - private function areRequiredOptionsHandledByChildConstructor(): bool - { - $requiredOptionsMethod = new \ReflectionMethod($this, 'getRequiredOptions'); - - if (self::class === $requiredOptionsMethod->class) { - return true; - } - - $constructor = new \ReflectionMethod($requiredOptionsMethod->class, '__construct'); - - if (self::class === $constructor->class) { - return false; - } - - if (!$requiredOptions = $this->getRequiredOptions(false)) { - return true; - } - - $paramNames = []; - foreach ($constructor->getParameters() as $param) { - $paramNames[$param->name] = true; - } - - foreach ($requiredOptions as $option) { - if (!isset($paramNames[$option])) { - return false; - } - } - - return true; - } -} diff --git a/app/vendor/symfony/validator/ConstraintValidator.php b/app/vendor/symfony/validator/ConstraintValidator.php deleted file mode 100644 index d7a6ecb59..000000000 --- a/app/vendor/symfony/validator/ConstraintValidator.php +++ /dev/null @@ -1,151 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Context\ExecutionContextInterface; - -/** - * Base class for constraint validators. - * - * @author Bernhard Schussek - */ -abstract class ConstraintValidator implements ConstraintValidatorInterface -{ - /** - * Whether to format {@link \DateTime} objects, either with the {@link \IntlDateFormatter} - * (if it is available) or as RFC-3339 dates ("Y-m-d H:i:s"). - */ - public const PRETTY_DATE = 1; - - /** - * Whether to cast objects with a "__toString()" method to strings. - */ - public const OBJECT_TO_STRING = 2; - - protected ExecutionContextInterface $context; - - public function initialize(ExecutionContextInterface $context): void - { - $this->context = $context; - } - - /** - * Returns a string representation of the type of the value. - * - * This method should be used if you pass the type of a value as - * message parameter to a constraint violation. Note that such - * parameters should usually not be included in messages aimed at - * non-technical people. - */ - protected function formatTypeOf(mixed $value): string - { - return get_debug_type($value); - } - - /** - * Returns a string representation of the value. - * - * This method returns the equivalent PHP tokens for most scalar types - * (i.e. "false" for false, "1" for 1 etc.). Strings are always wrapped - * in double quotes ("). Objects, arrays and resources are formatted as - * "object", "array" and "resource". If the $format bitmask contains - * the PRETTY_DATE bit, then {@link \DateTime} objects will be formatted - * with the {@link \IntlDateFormatter}. If it is not available, they will be - * formatted as RFC-3339 dates ("Y-m-d H:i:s"). - * - * Be careful when passing message parameters to a constraint violation - * that (may) contain objects, arrays or resources. These parameters - * should only be displayed for technical users. Non-technical users - * won't know what an "object", "array" or "resource" is and will be - * confused by the violation message. - * - * @param int $format A bitwise combination of the format constants in this class - */ - protected function formatValue(mixed $value, int $format = 0): string - { - if (($format & self::PRETTY_DATE) && $value instanceof \DateTimeInterface) { - if (class_exists(\IntlDateFormatter::class)) { - $formatter = new \IntlDateFormatter(\Locale::getDefault(), \IntlDateFormatter::MEDIUM, \IntlDateFormatter::SHORT, 'UTC'); - - return $formatter->format(new \DateTimeImmutable( - ($value->format('y') > 0 ? '+' : '').$value->format('Y-m-d H:i:s.u'), - new \DateTimeZone('UTC') - )); - } - - return $value->format('Y-m-d H:i:s'); - } - - if ($value instanceof \UnitEnum) { - return $value->name; - } - - if (\is_object($value)) { - if (($format & self::OBJECT_TO_STRING) && $value instanceof \Stringable) { - return $value->__toString(); - } - - return 'object'; - } - - if (\is_array($value)) { - return 'array'; - } - - if (\is_string($value)) { - return '"'.$value.'"'; - } - - if (\is_resource($value)) { - return 'resource'; - } - - if (null === $value) { - return 'null'; - } - - if (false === $value) { - return 'false'; - } - - if (true === $value) { - return 'true'; - } - - if (is_nan($value)) { - return 'NAN'; - } - - return (string) $value; - } - - /** - * Returns a string representation of a list of values. - * - * Each of the values is converted to a string using - * {@link formatValue()}. The values are then concatenated with commas. - * - * @param array $values A list of values - * @param int $format A bitwise combination of the format - * constants in this class - * - * @see formatValue() - */ - protected function formatValues(array $values, int $format = 0): string - { - foreach ($values as $key => $value) { - $values[$key] = $this->formatValue($value, $format); - } - - return implode(', ', $values); - } -} diff --git a/app/vendor/symfony/validator/ConstraintValidatorFactory.php b/app/vendor/symfony/validator/ConstraintValidatorFactory.php deleted file mode 100644 index 67b254db6..000000000 --- a/app/vendor/symfony/validator/ConstraintValidatorFactory.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Constraints\ExpressionValidator; - -/** - * Default implementation of the ConstraintValidatorFactoryInterface. - * - * This enforces the convention that the validatedBy() method on any - * Constraint will return the class name of the ConstraintValidator that - * should validate the Constraint. - * - * @author Bernhard Schussek - */ -class ConstraintValidatorFactory implements ConstraintValidatorFactoryInterface -{ - public function __construct( - protected array $validators = [], - ) { - } - - public function getInstance(Constraint $constraint): ConstraintValidatorInterface - { - if ('validator.expression' === $name = $class = $constraint->validatedBy()) { - $class = ExpressionValidator::class; - } - - return $this->validators[$name] ??= new $class(); - } -} diff --git a/app/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php b/app/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php deleted file mode 100644 index f0abd2719..000000000 --- a/app/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -/** - * Specifies an object able to return the correct ConstraintValidatorInterface - * instance given a Constraint object. - */ -interface ConstraintValidatorFactoryInterface -{ - /** - * Given a Constraint, this returns the ConstraintValidatorInterface - * object that should be used to verify its validity. - */ - public function getInstance(Constraint $constraint): ConstraintValidatorInterface; -} diff --git a/app/vendor/symfony/validator/ConstraintValidatorInterface.php b/app/vendor/symfony/validator/ConstraintValidatorInterface.php deleted file mode 100644 index fe7da2e8f..000000000 --- a/app/vendor/symfony/validator/ConstraintValidatorInterface.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Context\ExecutionContextInterface; - -/** - * @author Bernhard Schussek - */ -interface ConstraintValidatorInterface -{ - /** - * Initializes the constraint validator. - * - * @return void - */ - public function initialize(ExecutionContextInterface $context); - - /** - * Checks if the passed value is valid. - * - * @return void - */ - public function validate(mixed $value, Constraint $constraint); -} diff --git a/app/vendor/symfony/validator/ConstraintViolation.php b/app/vendor/symfony/validator/ConstraintViolation.php deleted file mode 100644 index 380ba4c84..000000000 --- a/app/vendor/symfony/validator/ConstraintViolation.php +++ /dev/null @@ -1,133 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -/** - * Default implementation of {@ConstraintViolationInterface}. - * - * @author Bernhard Schussek - */ -class ConstraintViolation implements ConstraintViolationInterface -{ - /** - * Creates a new constraint violation. - * - * @param string|\Stringable $message The violation message as a string or a stringable object - * @param string|null $messageTemplate The raw violation message - * @param array $parameters The parameters to substitute in the - * raw violation message - * @param mixed $root The value originally passed to the - * validator - * @param string|null $propertyPath The property path from the root - * value to the invalid value - * @param mixed $invalidValue The invalid value that caused this - * violation - * @param int|null $plural The number for determining the plural - * form when translating the message - * @param string|null $code The error code of the violation - * @param Constraint|null $constraint The constraint whose validation - * caused the violation - * @param mixed $cause The cause of the violation - */ - public function __construct( - private string|\Stringable $message, - private ?string $messageTemplate, - private array $parameters, - private mixed $root, - private ?string $propertyPath, - private mixed $invalidValue, - private ?int $plural = null, - private ?string $code = null, - private ?Constraint $constraint = null, - private mixed $cause = null, - ) { - } - - public function __toString(): string - { - if (\is_object($this->root)) { - $class = 'Object('.$this->root::class.')'; - } elseif (\is_array($this->root)) { - $class = 'Array'; - } else { - $class = (string) $this->root; - } - - $propertyPath = (string) $this->propertyPath; - - if ('' !== $propertyPath && '[' !== $propertyPath[0] && '' !== $class) { - $class .= '.'; - } - - if (null !== ($code = $this->code) && '' !== $code) { - $code = ' (code '.$code.')'; - } - - return $class.$propertyPath.":\n ".$this->getMessage().$code; - } - - public function getMessageTemplate(): string - { - return (string) $this->messageTemplate; - } - - public function getParameters(): array - { - return $this->parameters; - } - - public function getPlural(): ?int - { - return $this->plural; - } - - public function getMessage(): string|\Stringable - { - return $this->message; - } - - public function getRoot(): mixed - { - return $this->root; - } - - public function getPropertyPath(): string - { - return (string) $this->propertyPath; - } - - public function getInvalidValue(): mixed - { - return $this->invalidValue; - } - - /** - * Returns the constraint whose validation caused the violation. - */ - public function getConstraint(): ?Constraint - { - return $this->constraint; - } - - /** - * Returns the cause of the violation. - */ - public function getCause(): mixed - { - return $this->cause; - } - - public function getCode(): ?string - { - return $this->code; - } -} diff --git a/app/vendor/symfony/validator/ConstraintViolationInterface.php b/app/vendor/symfony/validator/ConstraintViolationInterface.php deleted file mode 100644 index a8b6227a2..000000000 --- a/app/vendor/symfony/validator/ConstraintViolationInterface.php +++ /dev/null @@ -1,127 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -/** - * A violation of a constraint that happened during validation. - * - * For each constraint that fails during validation one or more violations are - * created. The violations store the violation message, the path to the failing - * element in the validation graph and the root element that was originally - * passed to the validator. For example, take the following graph: - * - * (Person)---(firstName: string) - * \ - * (address: Address)---(street: string) - * - * If the Person object is validated and validation fails for the - * "firstName" property, the generated violation has the Person - * instance as root and the property path "firstName". If validation fails - * for the "street" property of the related Address instance, the root - * element is still the person, but the property path is "address.street". - * - * @author Bernhard Schussek - */ -interface ConstraintViolationInterface -{ - /** - * Returns the violation message. - */ - public function getMessage(): string|\Stringable; - - /** - * Returns the raw violation message. - * - * The raw violation message contains placeholders for the parameters - * returned by {@link getParameters}. Typically you'll pass the - * message template and parameters to a translation engine. - */ - public function getMessageTemplate(): string; - - /** - * Returns the parameters to be inserted into the raw violation message. - * - * @return array a possibly empty list of parameters indexed by the names - * that appear in the message template - * - * @see getMessageTemplate() - */ - public function getParameters(): array; - - /** - * Returns a number for pluralizing the violation message. - * - * For example, the message template could have different translation based - * on a parameter "choices": - * - *
    - *
  • Please select exactly one entry. (choices=1)
  • - *
  • Please select two entries. (choices=2)
  • - *
- * - * This method returns the value of the parameter for choosing the right - * pluralization form (in this case "choices"). - */ - public function getPlural(): ?int; - - /** - * Returns the root element of the validation. - * - * @return mixed The value that was passed originally to the validator when - * the validation was started. Because the validator traverses - * the object graph, the value at which the violation occurs - * is not necessarily the value that was originally validated. - */ - public function getRoot(): mixed; - - /** - * Returns the property path from the root element to the violation. - * - * @return string The property path indicates how the validator reached - * the invalid value from the root element. If the root - * element is a Person instance with a property - * "address" that contains an Address instance - * with an invalid property "street", the generated property - * path is "address.street". Property access is denoted by - * dots, while array access is denoted by square brackets, - * for example "addresses[1].street". - */ - public function getPropertyPath(): string; - - /** - * Returns the value that caused the violation. - * - * @return mixed the invalid value that caused the validated constraint to - * fail - */ - public function getInvalidValue(): mixed; - - /** - * Returns a machine-digestible error code for the violation. - */ - public function getCode(): ?string; - - /** - * Returns the constraint whose validation caused the violation. - */ - public function getConstraint(): ?Constraint; - - /** - * Returns the cause of the violation. - */ - public function getCause(): mixed; - - /** - * Converts the violation into a string for debugging purposes. - */ - public function __toString(): string; -} diff --git a/app/vendor/symfony/validator/ConstraintViolationList.php b/app/vendor/symfony/validator/ConstraintViolationList.php deleted file mode 100644 index a67b53389..000000000 --- a/app/vendor/symfony/validator/ConstraintViolationList.php +++ /dev/null @@ -1,151 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Exception\OutOfBoundsException; - -/** - * Default implementation of {@ConstraintViolationListInterface}. - * - * @author Bernhard Schussek - * - * @implements \IteratorAggregate - */ -class ConstraintViolationList implements \IteratorAggregate, ConstraintViolationListInterface -{ - /** - * @var list - */ - private array $violations = []; - - /** - * Creates a new constraint violation list. - * - * @param iterable $violations The constraint violations to add to the list - */ - public function __construct(iterable $violations = []) - { - foreach ($violations as $violation) { - $this->add($violation); - } - } - - public static function createFromMessage(string $message): self - { - $self = new self(); - $self->add(new ConstraintViolation($message, '', [], null, '', null)); - - return $self; - } - - public function __toString(): string - { - $string = ''; - - foreach ($this->violations as $violation) { - $string .= $violation."\n"; - } - - return $string; - } - - public function add(ConstraintViolationInterface $violation): void - { - $this->violations[] = $violation; - } - - public function addAll(ConstraintViolationListInterface $otherList): void - { - foreach ($otherList as $violation) { - $this->violations[] = $violation; - } - } - - public function get(int $offset): ConstraintViolationInterface - { - if (!isset($this->violations[$offset])) { - throw new OutOfBoundsException(\sprintf('The offset "%s" does not exist.', $offset)); - } - - return $this->violations[$offset]; - } - - public function has(int $offset): bool - { - return isset($this->violations[$offset]); - } - - public function set(int $offset, ConstraintViolationInterface $violation): void - { - $this->violations[$offset] = $violation; - } - - public function remove(int $offset): void - { - unset($this->violations[$offset]); - } - - /** - * @return \ArrayIterator - */ - public function getIterator(): \ArrayIterator - { - return new \ArrayIterator($this->violations); - } - - public function count(): int - { - return \count($this->violations); - } - - public function offsetExists(mixed $offset): bool - { - return $this->has($offset); - } - - public function offsetGet(mixed $offset): ConstraintViolationInterface - { - return $this->get($offset); - } - - public function offsetSet(mixed $offset, mixed $violation): void - { - if (null === $offset) { - $this->add($violation); - } else { - $this->set($offset, $violation); - } - } - - public function offsetUnset(mixed $offset): void - { - $this->remove($offset); - } - - /** - * Creates iterator for errors with specific codes. - * - * @param string|string[] $codes The codes to find - */ - public function findByCodes(string|array $codes): static - { - $codes = (array) $codes; - $violations = []; - foreach ($this as $violation) { - if (\in_array($violation->getCode(), $codes, true)) { - $violations[] = $violation; - } - } - - return new static($violations); - } -} diff --git a/app/vendor/symfony/validator/ConstraintViolationListInterface.php b/app/vendor/symfony/validator/ConstraintViolationListInterface.php deleted file mode 100644 index d3be9f07e..000000000 --- a/app/vendor/symfony/validator/ConstraintViolationListInterface.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Exception\OutOfBoundsException; - -/** - * A list of constraint violations. - * - * @author Bernhard Schussek - * - * @extends \ArrayAccess - * @extends \Traversable - */ -interface ConstraintViolationListInterface extends \Traversable, \Countable, \ArrayAccess -{ - /** - * Adds a constraint violation to this list. - */ - public function add(ConstraintViolationInterface $violation): void; - - /** - * Merges an existing violation list into this list. - */ - public function addAll(self $otherList): void; - - /** - * Returns the violation at a given offset. - * - * @param int $offset The offset of the violation - * - * @throws OutOfBoundsException if the offset does not exist - */ - public function get(int $offset): ConstraintViolationInterface; - - /** - * Returns whether the given offset exists. - * - * @param int $offset The violation offset - */ - public function has(int $offset): bool; - - /** - * Sets a violation at a given offset. - * - * @param int $offset The violation offset - */ - public function set(int $offset, ConstraintViolationInterface $violation): void; - - /** - * Removes a violation at a given offset. - * - * @param int $offset The offset to remove - */ - public function remove(int $offset): void; - - /** - * Converts the violation into a string for debugging purposes. - */ - public function __toString(): string; -} diff --git a/app/vendor/symfony/validator/Constraints/AbstractComparison.php b/app/vendor/symfony/validator/Constraints/AbstractComparison.php deleted file mode 100644 index e1bd5e90a..000000000 --- a/app/vendor/symfony/validator/Constraints/AbstractComparison.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * Used for the comparison of values. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -abstract class AbstractComparison extends Constraint -{ - public string $message; - public mixed $value = null; - public ?string $propertyPath = null; - - #[HasNamedArguments] - public function __construct(mixed $value = null, ?string $propertyPath = null, ?string $message = null, ?array $groups = null, mixed $payload = null, ?array $options = null) - { - if (\is_array($value) && !array_is_list($value)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($value, $options ?? []); - $value = null; - } elseif (null !== $value) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options['value'] = $value; - } - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->value = $value ?? $this->value; - $this->propertyPath = $propertyPath ?? $this->propertyPath; - - if (null === $this->value && null === $this->propertyPath) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires either the "value" or "propertyPath" option to be set.', static::class)); - } - - if (null !== $this->value && null !== $this->propertyPath) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires only one of the "value" or "propertyPath" options to be set, not both.', static::class)); - } - - if (null !== $this->propertyPath && !class_exists(PropertyAccess::class)) { - throw new LogicException(\sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "propertyPath" option. Try running "composer require symfony/property-access".', static::class)); - } - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'value'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php b/app/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php deleted file mode 100644 index c8663aa25..000000000 --- a/app/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php +++ /dev/null @@ -1,104 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; -use Symfony\Component\PropertyAccess\Exception\UninitializedPropertyException; -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\PropertyAccess\PropertyAccessorInterface; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * Provides a base class for the validation of property comparisons. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -abstract class AbstractComparisonValidator extends ConstraintValidator -{ - public function __construct(private ?PropertyAccessorInterface $propertyAccessor = null) - { - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof AbstractComparison) { - throw new UnexpectedTypeException($constraint, AbstractComparison::class); - } - - if (null === $value) { - return; - } - - if ($path = $constraint->propertyPath) { - if (null === $object = $this->context->getObject()) { - return; - } - - try { - $comparedValue = $this->getPropertyAccessor()->getValue($object, $path); - } catch (NoSuchPropertyException $e) { - throw new ConstraintDefinitionException(\sprintf('Invalid property path "%s" provided to "%s" constraint: ', $path, get_debug_type($constraint)).$e->getMessage(), 0, $e); - } catch (UninitializedPropertyException) { - $comparedValue = null; - } - } else { - $comparedValue = $constraint->value; - } - - // Convert strings to date-time objects if comparing to another date-time object - // This allows to compare with any date/time value supported by date-time constructors: - // https://php.net/datetime.formats - if (\is_string($comparedValue) && $value instanceof \DateTimeInterface) { - try { - $comparedValue = new $value($comparedValue); - } catch (\Exception) { - throw new ConstraintDefinitionException(\sprintf('The compared value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $comparedValue, get_debug_type($value), get_debug_type($constraint))); - } - } - - if (!$this->compareValues($value, $comparedValue)) { - $violationBuilder = $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value, self::OBJECT_TO_STRING | self::PRETTY_DATE)) - ->setParameter('{{ compared_value }}', $this->formatValue($comparedValue, self::OBJECT_TO_STRING | self::PRETTY_DATE)) - ->setParameter('{{ compared_value_type }}', $this->formatTypeOf($comparedValue)) - ->setCode($this->getErrorCode()); - - if (null !== $path) { - $violationBuilder->setParameter('{{ compared_value_path }}', $path); - } - - $violationBuilder->addViolation(); - } - } - - private function getPropertyAccessor(): PropertyAccessorInterface - { - return $this->propertyAccessor ??= PropertyAccess::createPropertyAccessor(); - } - - /** - * Compares the two given values to find if their relationship is valid. - */ - abstract protected function compareValues(mixed $value1, mixed $value2): bool; - - /** - * Returns the error code used if the comparison fails. - */ - protected function getErrorCode(): ?string - { - return null; - } -} diff --git a/app/vendor/symfony/validator/Constraints/All.php b/app/vendor/symfony/validator/Constraints/All.php deleted file mode 100644 index 533599ad0..000000000 --- a/app/vendor/symfony/validator/Constraints/All.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * When applied to an array (or Traversable object), this constraint allows you to apply - * a collection of constraints to each element of the array. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class All extends Composite -{ - public array|Constraint $constraints = []; - - /** - * @param array|Constraint|null $constraints - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(mixed $constraints = null, ?array $groups = null, mixed $payload = null) - { - if (null === $constraints || [] === $constraints) { - throw new MissingOptionsException(\sprintf('The options "constraints" must be set for constraint "%s".', self::class), ['constraints']); - } - - if (!$constraints instanceof Constraint && !\is_array($constraints) || \is_array($constraints) && !array_is_list($constraints)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - parent::__construct($constraints, $groups, $payload); - } else { - $this->constraints = $constraints; - - parent::__construct(null, $groups, $payload); - } - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'constraints'; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['constraints']; - } - - protected function getCompositeOption(): string - { - return 'constraints'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/AllValidator.php b/app/vendor/symfony/validator/Constraints/AllValidator.php deleted file mode 100644 index 10ec0266f..000000000 --- a/app/vendor/symfony/validator/Constraints/AllValidator.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class AllValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof All) { - throw new UnexpectedTypeException($constraint, All::class); - } - - if (null === $value) { - return; - } - - if (!\is_array($value) && !$value instanceof \Traversable) { - throw new UnexpectedValueException($value, 'iterable'); - } - - $context = $this->context; - - $validator = $context->getValidator()->inContext($context); - - foreach ($value as $key => $element) { - $validator->atPath('['.$key.']')->validate($element, $constraint->constraints); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/AtLeastOneOf.php b/app/vendor/symfony/validator/Constraints/AtLeastOneOf.php deleted file mode 100644 index bc99b3385..000000000 --- a/app/vendor/symfony/validator/Constraints/AtLeastOneOf.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Checks that at least one of the given constraint is satisfied. - * - * @author Przemysław Bogusz - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class AtLeastOneOf extends Composite -{ - public const AT_LEAST_ONE_OF_ERROR = 'f27e6d6c-261a-4056-b391-6673a623531c'; - - protected const ERROR_NAMES = [ - self::AT_LEAST_ONE_OF_ERROR => 'AT_LEAST_ONE_OF_ERROR', - ]; - - public array|Constraint $constraints = []; - public string $message = 'This value should satisfy at least one of the following constraints:'; - public string $messageCollection = 'Each element of this collection should satisfy its own set of constraints.'; - public bool $includeInternalMessages = true; - - /** - * @param array|null $constraints An array of validation constraints - * @param string[]|null $groups - * @param string|null $message Intro of the failure message that will be followed by the failed constraint(s) message(s) - * @param string|null $messageCollection Failure message for All and Collection inner constraints - * @param bool|null $includeInternalMessages Whether to include inner constraint messages (defaults to true) - */ - #[HasNamedArguments] - public function __construct(mixed $constraints = null, ?array $groups = null, mixed $payload = null, ?string $message = null, ?string $messageCollection = null, ?bool $includeInternalMessages = null) - { - if (null === $constraints || [] === $constraints) { - throw new MissingOptionsException(\sprintf('The options "constraints" must be set for constraint "%s".', self::class), ['constraints']); - } - - if (!$constraints instanceof Constraint && !\is_array($constraints) || \is_array($constraints) && !array_is_list($constraints)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - $options = $constraints; - } else { - $this->constraints = $constraints; - } - - parent::__construct($options ?? null, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->messageCollection = $messageCollection ?? $this->messageCollection; - $this->includeInternalMessages = $includeInternalMessages ?? $this->includeInternalMessages; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'constraints'; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['constraints']; - } - - protected function getCompositeOption(): string - { - return 'constraints'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/AtLeastOneOfValidator.php b/app/vendor/symfony/validator/Constraints/AtLeastOneOfValidator.php deleted file mode 100644 index e34e39ab8..000000000 --- a/app/vendor/symfony/validator/Constraints/AtLeastOneOfValidator.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Przemysław Bogusz - */ -class AtLeastOneOfValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof AtLeastOneOf) { - throw new UnexpectedTypeException($constraint, AtLeastOneOf::class); - } - - $validator = $this->context->getValidator(); - - // Build a first violation to have the base message of the constraint translated - $baseMessageContext = clone $this->context; - $baseMessageContext->buildViolation($constraint->message)->addViolation(); - $baseViolations = $baseMessageContext->getViolations(); - $messages = [(string) $baseViolations->get(\count($baseViolations) - 1)->getMessage()]; - - foreach ($constraint->constraints as $key => $item) { - if (!\in_array($this->context->getGroup(), $item->groups, true)) { - continue; - } - - $context = $this->context; - $executionContext = clone $this->context; - $executionContext->setNode($value, $this->context->getObject(), $this->context->getMetadata(), $this->context->getPropertyPath()); - $violations = $validator->inContext($executionContext)->validate($value, $item, $this->context->getGroup())->getViolations(); - $this->context = $context; - - if (\count($this->context->getViolations()) === \count($violations)) { - return; - } - - if ($constraint->includeInternalMessages) { - $message = ' ['.($key + 1).'] '; - - if ($item instanceof All || $item instanceof Collection) { - $message .= $constraint->messageCollection; - } else { - $message .= $violations->get(\count($violations) - 1)->getMessage(); - } - - $messages[] = $message; - } - } - - $this->context->buildViolation(implode('', $messages)) - ->setCode(AtLeastOneOf::AT_LEAST_ONE_OF_ERROR) - ->addViolation() - ; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Bic.php b/app/vendor/symfony/validator/Constraints/Bic.php deleted file mode 100644 index ef1ae1660..000000000 --- a/app/vendor/symfony/validator/Constraints/Bic.php +++ /dev/null @@ -1,114 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Countries; -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\InvalidArgumentException; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * Ensures that the value is valid against the BIC format. - * - * @see https://en.wikipedia.org/wiki/ISO_9362 - * - * @author Michael Hirschler - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Bic extends Constraint -{ - public const VALIDATION_MODE_STRICT = 'strict'; - public const VALIDATION_MODE_CASE_INSENSITIVE = 'case-insensitive'; - - public const VALIDATION_MODES = [ - self::VALIDATION_MODE_STRICT, - self::VALIDATION_MODE_CASE_INSENSITIVE, - ]; - - public const INVALID_LENGTH_ERROR = '66dad313-af0b-4214-8566-6c799be9789c'; - public const INVALID_CHARACTERS_ERROR = 'f424c529-7add-4417-8f2d-4b656e4833e2'; - /** - * @deprecated since Symfony 7.1, to be removed in 8.0 - */ - public const INVALID_BANK_CODE_ERROR = '00559357-6170-4f29-aebd-d19330aa19cf'; - public const INVALID_COUNTRY_CODE_ERROR = '1ce76f8d-3c1f-451c-9e62-fe9c3ed486ae'; - public const INVALID_CASE_ERROR = '11884038-3312-4ae5-9d04-699f782130c7'; - public const INVALID_IBAN_COUNTRY_CODE_ERROR = '29a2c3bb-587b-4996-b6f5-53081364cea5'; - - protected const ERROR_NAMES = [ - self::INVALID_LENGTH_ERROR => 'INVALID_LENGTH_ERROR', - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - self::INVALID_BANK_CODE_ERROR => 'INVALID_BANK_CODE_ERROR', - self::INVALID_COUNTRY_CODE_ERROR => 'INVALID_COUNTRY_CODE_ERROR', - self::INVALID_CASE_ERROR => 'INVALID_CASE_ERROR', - ]; - - public string $message = 'This is not a valid Business Identifier Code (BIC).'; - public string $ibanMessage = 'This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.'; - public ?string $iban = null; - public ?string $ibanPropertyPath = null; - /** - * @var self::VALIDATION_MODE_* - */ - public string $mode = self::VALIDATION_MODE_STRICT; - - /** - * @param string|null $iban An IBAN value to validate that its country code is the same as the BIC's one - * @param string|null $ibanPropertyPath Property path to the IBAN value when validating objects - * @param string[]|null $groups - * @param self::VALIDATION_MODE_*|null $mode The mode used to validate the BIC; pass null to use the default mode (strict) - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?string $iban = null, - ?string $ibanPropertyPath = null, - ?string $ibanMessage = null, - ?array $groups = null, - mixed $payload = null, - ?string $mode = null, - ) { - if (!class_exists(Countries::class)) { - throw new LogicException('The Intl component is required to use the Bic constraint. Try running "composer require symfony/intl".'); - } - if (\is_array($options) && \array_key_exists('mode', $options) && !\in_array($options['mode'], self::VALIDATION_MODES, true)) { - throw new InvalidArgumentException('The "mode" parameter value is not valid.'); - } - if (null !== $mode && !\in_array($mode, self::VALIDATION_MODES, true)) { - throw new InvalidArgumentException('The "mode" parameter value is not valid.'); - } - - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->ibanMessage = $ibanMessage ?? $this->ibanMessage; - $this->iban = $iban ?? $this->iban; - $this->ibanPropertyPath = $ibanPropertyPath ?? $this->ibanPropertyPath; - $this->mode = $mode ?? $this->mode; - - if (null !== $this->iban && null !== $this->ibanPropertyPath) { - throw new ConstraintDefinitionException('The "iban" and "ibanPropertyPath" options of the Iban constraint cannot be used at the same time.'); - } - - if (null !== $this->ibanPropertyPath && !class_exists(PropertyAccess::class)) { - throw new LogicException(\sprintf('The "symfony/property-access" component is required to use the "%s" constraint with the "ibanPropertyPath" option. Try running "composer require symfony/property-access".', self::class)); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/BicValidator.php b/app/vendor/symfony/validator/Constraints/BicValidator.php deleted file mode 100644 index 0c3e42b98..000000000 --- a/app/vendor/symfony/validator/Constraints/BicValidator.php +++ /dev/null @@ -1,164 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Countries; -use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; -use Symfony\Component\PropertyAccess\Exception\UninitializedPropertyException; -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\PropertyAccess\PropertyAccessor; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Michael Hirschler - * - * @see https://en.wikipedia.org/wiki/ISO_9362#Structure - */ -class BicValidator extends ConstraintValidator -{ - // Reference: https://www.iban.com/structure - private const BIC_COUNTRY_TO_IBAN_COUNTRY_MAP = [ - // FR includes: - 'GF' => 'FR', // French Guiana - 'PF' => 'FR', // French Polynesia - 'TF' => 'FR', // French Southern Territories - 'GP' => 'FR', // Guadeloupe - 'MQ' => 'FR', // Martinique - 'YT' => 'FR', // Mayotte - 'NC' => 'FR', // New Caledonia - 'RE' => 'FR', // Reunion - 'BL' => 'FR', // Saint Barthelemy - 'MF' => 'FR', // Saint Martin (French part) - 'PM' => 'FR', // Saint Pierre and Miquelon - 'WF' => 'FR', // Wallis and Futuna Islands - // GB includes: - 'JE' => 'GB', // Jersey - 'IM' => 'GB', // Isle of Man - 'GG' => 'GB', // Guernsey - 'VG' => 'GB', // British Virgin Islands - // FI includes: - 'AX' => 'FI', // Aland Islands - // ES includes: - 'IC' => 'ES', // Canary Islands - 'EA' => 'ES', // Ceuta and Melilla - ]; - - public function __construct(private ?PropertyAccessor $propertyAccessor = null) - { - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Bic) { - throw new UnexpectedTypeException($constraint, Bic::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $canonicalize = str_replace(' ', '', $value); - - // the bic must be either 8 or 11 characters long - if (!\in_array(\strlen($canonicalize), [8, 11], true)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Bic::INVALID_LENGTH_ERROR) - ->addViolation(); - - return; - } - - // must contain alphanumeric values only - if (!ctype_alnum($canonicalize)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Bic::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - $bicCountryCode = substr($canonicalize, 4, 2); - if (Bic::VALIDATION_MODE_CASE_INSENSITIVE === $constraint->mode) { - $bicCountryCode = strtoupper($bicCountryCode); - } - if (!isset(self::BIC_COUNTRY_TO_IBAN_COUNTRY_MAP[$bicCountryCode]) && !Countries::exists($bicCountryCode)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Bic::INVALID_COUNTRY_CODE_ERROR) - ->addViolation(); - - return; - } - - // should contain uppercase characters only in strict mode - if (Bic::VALIDATION_MODE_STRICT === $constraint->mode && strtoupper($canonicalize) !== $canonicalize) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Bic::INVALID_CASE_ERROR) - ->addViolation(); - - return; - } - - // check against an IBAN - $iban = $constraint->iban; - $path = $constraint->ibanPropertyPath; - if ($path && null !== $object = $this->context->getObject()) { - try { - $iban = $this->getPropertyAccessor()->getValue($object, $path); - } catch (NoSuchPropertyException $e) { - throw new ConstraintDefinitionException(\sprintf('Invalid property path "%s" provided to "%s" constraint: ', $path, get_debug_type($constraint)).$e->getMessage(), 0, $e); - } catch (UninitializedPropertyException) { - $iban = null; - } - } - if (!$iban) { - return; - } - $ibanCountryCode = substr($iban, 0, 2); - if (ctype_alpha($ibanCountryCode) && !$this->bicAndIbanCountriesMatch($bicCountryCode, $ibanCountryCode)) { - $this->context->buildViolation($constraint->ibanMessage) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ iban }}', $iban) - ->setCode(Bic::INVALID_IBAN_COUNTRY_CODE_ERROR) - ->addViolation(); - } - } - - private function getPropertyAccessor(): PropertyAccessor - { - if (null === $this->propertyAccessor) { - if (!class_exists(PropertyAccess::class)) { - throw new LogicException('Unable to use property path as the Symfony PropertyAccess component is not installed. Try running "composer require symfony/property-access".'); - } - $this->propertyAccessor = PropertyAccess::createPropertyAccessor(); - } - - return $this->propertyAccessor; - } - - private function bicAndIbanCountriesMatch(string $bicCountryCode, string $ibanCountryCode): bool - { - return $ibanCountryCode === $bicCountryCode || $ibanCountryCode === (self::BIC_COUNTRY_TO_IBAN_COUNTRY_MAP[$bicCountryCode] ?? null); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Blank.php b/app/vendor/symfony/validator/Constraints/Blank.php deleted file mode 100644 index b03586933..000000000 --- a/app/vendor/symfony/validator/Constraints/Blank.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is blank, i.e. an empty string or null. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Blank extends Constraint -{ - public const NOT_BLANK_ERROR = '183ad2de-533d-4796-a439-6d3c3852b549'; - - protected const ERROR_NAMES = [ - self::NOT_BLANK_ERROR => 'NOT_BLANK_ERROR', - ]; - - public string $message = 'This value should be blank.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/BlankValidator.php b/app/vendor/symfony/validator/Constraints/BlankValidator.php deleted file mode 100644 index ec4b7e445..000000000 --- a/app/vendor/symfony/validator/Constraints/BlankValidator.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek - */ -class BlankValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Blank) { - throw new UnexpectedTypeException($constraint, Blank::class); - } - - if ('' !== $value && null !== $value) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Blank::NOT_BLANK_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Callback.php b/app/vendor/symfony/validator/Constraints/Callback.php deleted file mode 100644 index 326125a45..000000000 --- a/app/vendor/symfony/validator/Constraints/Callback.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Defines custom validation rules through arbitrary callback methods. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Callback extends Constraint -{ - /** - * @var string|callable - */ - public $callback; - - /** - * @param string|string[]|callable|null $callback The callback definition - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(array|string|callable|null $callback = null, ?array $groups = null, mixed $payload = null, ?array $options = null) - { - // Invocation through attributes with an array parameter only - if (\is_array($callback) && 1 === \count($callback) && isset($callback['value'])) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $callback = $callback['value']; - } - - if (!\is_array($callback) || (!isset($callback['callback']) && !isset($callback['groups']) && !isset($callback['payload']))) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - } else { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($callback, $options ?? []); - $callback = null; - } - - parent::__construct($options, $groups, $payload); - - $this->callback = $callback ?? $this->callback; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'callback'; - } - - public function getTargets(): string|array - { - return [self::CLASS_CONSTRAINT, self::PROPERTY_CONSTRAINT]; - } -} diff --git a/app/vendor/symfony/validator/Constraints/CallbackValidator.php b/app/vendor/symfony/validator/Constraints/CallbackValidator.php deleted file mode 100644 index d2ae8e32d..000000000 --- a/app/vendor/symfony/validator/Constraints/CallbackValidator.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * Validator for Callback constraint. - * - * @author Bernhard Schussek - */ -class CallbackValidator extends ConstraintValidator -{ - public function validate(mixed $object, Constraint $constraint): void - { - if (!$constraint instanceof Callback) { - throw new UnexpectedTypeException($constraint, Callback::class); - } - - $method = $constraint->callback; - if ($method instanceof \Closure) { - $method($object, $this->context, $constraint->payload); - } elseif (\is_array($method)) { - if (!\is_callable($method)) { - if (isset($method[0]) && \is_object($method[0])) { - $method[0] = $method[0]::class; - } - throw new ConstraintDefinitionException(json_encode($method).' targeted by Callback constraint is not a valid callable.'); - } - - $method($object, $this->context, $constraint->payload); - } elseif (null !== $object) { - if (!method_exists($object, $method)) { - throw new ConstraintDefinitionException(\sprintf('Method "%s" targeted by Callback constraint does not exist in class "%s".', $method, get_debug_type($object))); - } - - $reflMethod = new \ReflectionMethod($object, $method); - - if ($reflMethod->isStatic()) { - $reflMethod->invoke(null, $object, $this->context, $constraint->payload); - } else { - $reflMethod->invoke($object, $this->context, $constraint->payload); - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/CardScheme.php b/app/vendor/symfony/validator/Constraints/CardScheme.php deleted file mode 100644 index 706969796..000000000 --- a/app/vendor/symfony/validator/Constraints/CardScheme.php +++ /dev/null @@ -1,102 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Validates a credit card number for a given credit card company. - * - * @author Tim Nagel - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class CardScheme extends Constraint -{ - public const AMEX = 'AMEX'; - public const CHINA_UNIONPAY = 'CHINA_UNIONPAY'; - public const DINERS = 'DINERS'; - public const DISCOVER = 'DISCOVER'; - public const INSTAPAYMENT = 'INSTAPAYMENT'; - public const JCB = 'JCB'; - public const LASER = 'LASER'; - public const MAESTRO = 'MAESTRO'; - public const MASTERCARD = 'MASTERCARD'; - public const MIR = 'MIR'; - public const UATP = 'UATP'; - public const VISA = 'VISA'; - - public const NOT_NUMERIC_ERROR = 'a2ad9231-e827-485f-8a1e-ef4d9a6d5c2e'; - public const INVALID_FORMAT_ERROR = 'a8faedbf-1c2f-4695-8d22-55783be8efed'; - - protected const ERROR_NAMES = [ - self::NOT_NUMERIC_ERROR => 'NOT_NUMERIC_ERROR', - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - ]; - - public string $message = 'Unsupported card type or invalid card number.'; - public array|string|null $schemes = null; - - /** - * @param non-empty-string|non-empty-string[]|null $schemes Name(s) of the number scheme(s) used to validate the credit card number - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(array|string|null $schemes, ?string $message = null, ?array $groups = null, mixed $payload = null, ?array $options = null) - { - if (null === $schemes && !isset($options['schemes'])) { - throw new MissingOptionsException(\sprintf('The options "schemes" must be set for constraint "%s".', self::class), ['schemes']); - } - - if (\is_array($schemes) && \is_string(key($schemes))) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($schemes, $options ?? []); - $schemes = null; - } else { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - } - - parent::__construct($options, $groups, $payload); - - $this->schemes = $schemes ?? $this->schemes; - $this->message = $message ?? $this->message; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'schemes'; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['schemes']; - } -} diff --git a/app/vendor/symfony/validator/Constraints/CardSchemeValidator.php b/app/vendor/symfony/validator/Constraints/CardSchemeValidator.php deleted file mode 100644 index af26f4e4b..000000000 --- a/app/vendor/symfony/validator/Constraints/CardSchemeValidator.php +++ /dev/null @@ -1,132 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * Validates that a card number belongs to a specified scheme. - * - * @author Tim Nagel - * @author Bernhard Schussek - * - * @see https://en.wikipedia.org/wiki/Payment_card_number - * @see https://www.regular-expressions.info/creditcard.html - */ -class CardSchemeValidator extends ConstraintValidator -{ - protected array $schemes = [ - // American Express card numbers start with 34 or 37 and have 15 digits. - CardScheme::AMEX => [ - '/^3[47][0-9]{13}$/D', - ], - // China UnionPay cards start with 62 and have between 16 and 19 digits. - // Please note that these cards do not follow Luhn Algorithm as a checksum. - CardScheme::CHINA_UNIONPAY => [ - '/^62[0-9]{14,17}$/D', - ], - // Diners Club card numbers begin with 300 through 305, 36 or 38. All have 14 digits. - // There are Diners Club cards that begin with 5 and have 16 digits. - // These are a joint venture between Diners Club and MasterCard, and should be processed like a MasterCard. - CardScheme::DINERS => [ - '/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/D', - ], - // Discover card numbers begin with 6011, 622126 through 622925, 644 through 649 or 65. - // All have 16 digits. - CardScheme::DISCOVER => [ - '/^6011[0-9]{12}$/D', - '/^64[4-9][0-9]{13}$/D', - '/^65[0-9]{14}$/D', - '/^622(12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|91[0-9]|92[0-5])[0-9]{10}$/D', - ], - // InstaPayment cards begin with 637 through 639 and have 16 digits. - CardScheme::INSTAPAYMENT => [ - '/^63[7-9][0-9]{13}$/D', - ], - // JCB cards beginning with 2131 or 1800 have 15 digits. - // JCB cards beginning with 35 have 16 digits. - CardScheme::JCB => [ - '/^(?:2131|1800|35[0-9]{3})[0-9]{11}$/D', - ], - // Laser cards begin with either 6304, 6706, 6709 or 6771 and have between 16 and 19 digits. - CardScheme::LASER => [ - '/^(6304|670[69]|6771)[0-9]{12,15}$/D', - ], - // Maestro international cards begin with 675900..675999 and have between 12 and 19 digits. - // Maestro UK cards begin with either 500000..509999 or 560000..699999 and have between 12 and 19 digits. - CardScheme::MAESTRO => [ - '/^(6759[0-9]{2})[0-9]{6,13}$/D', - '/^(50[0-9]{4})[0-9]{6,13}$/D', - '/^5[6-9][0-9]{10,17}$/D', - '/^6[0-9]{11,18}$/D', - ], - // All MasterCard numbers start with the numbers 51 through 55. All have 16 digits. - // October 2016 MasterCard numbers can also start with 222100 through 272099. - CardScheme::MASTERCARD => [ - '/^5[1-5][0-9]{14}$/D', - '/^2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12})$/D', - ], - // Payment system MIR numbers start with 220, then 1 digit from 0 to 4, then between 12 and 15 digits - CardScheme::MIR => [ - '/^220[0-4][0-9]{12,15}$/D', - ], - // All UATP card numbers start with a 1 and have a length of 15 digits. - CardScheme::UATP => [ - '/^1[0-9]{14}$/D', - ], - // All Visa card numbers start with a 4 and have a length of 13, 16, or 19 digits. - CardScheme::VISA => [ - '/^4([0-9]{12}|[0-9]{15}|[0-9]{18})$/D', - ], - ]; - - /** - * Validates a creditcard belongs to a specified scheme. - */ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof CardScheme) { - throw new UnexpectedTypeException($constraint, CardScheme::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!is_numeric($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(CardScheme::NOT_NUMERIC_ERROR) - ->addViolation(); - - return; - } - - $schemes = array_flip((array) $constraint->schemes); - $schemeRegexes = array_intersect_key($this->schemes, $schemes); - - foreach ($schemeRegexes as $regexes) { - foreach ($regexes as $regex) { - if (preg_match($regex, $value)) { - return; - } - } - } - - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(CardScheme::INVALID_FORMAT_ERROR) - ->addViolation(); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Cascade.php b/app/vendor/symfony/validator/Constraints/Cascade.php deleted file mode 100644 index 86419d7e6..000000000 --- a/app/vendor/symfony/validator/Constraints/Cascade.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Validates a whole class, including nested objects in properties. - * - * @author Jules Pietri - */ -#[\Attribute(\Attribute::TARGET_CLASS)] -class Cascade extends Constraint -{ - public array $exclude = []; - - /** - * @param non-empty-string[]|non-empty-string|null $exclude Properties excluded from validation - */ - #[HasNamedArguments] - public function __construct(array|string|null $exclude = null, ?array $options = null) - { - if (\is_array($exclude) && !array_is_list($exclude)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($exclude, $options ?? []); - $options['exclude'] = array_flip((array) ($options['exclude'] ?? [])); - $exclude = $options['exclude'] ?? null; - } else { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - $exclude = array_flip((array) $exclude); - $this->exclude = $exclude; - } - - if (\is_array($options) && \array_key_exists('groups', $options)) { - throw new ConstraintDefinitionException(\sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); - } - - parent::__construct($options, null, $options['payload'] ?? null); - - $this->exclude = $exclude ?? $this->exclude; - } - - public function getTargets(): string|array - { - return self::CLASS_CONSTRAINT; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Charset.php b/app/vendor/symfony/validator/Constraints/Charset.php deleted file mode 100644 index aa22c503a..000000000 --- a/app/vendor/symfony/validator/Constraints/Charset.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * @author Alexandre Daubois - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -final class Charset extends Constraint -{ - public const BAD_ENCODING_ERROR = '94c5e58b-f892-4e25-8fd6-9d89c80bfe81'; - - protected const ERROR_NAMES = [ - self::BAD_ENCODING_ERROR => 'BAD_ENCODING_ERROR', - ]; - - #[HasNamedArguments] - public function __construct( - public array|string $encodings = [], - public string $message = 'The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}.', - ?array $groups = null, - mixed $payload = null, - ) { - parent::__construct(null, $groups, $payload); - - if ([] === $this->encodings) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires at least one encoding.', static::class)); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/CharsetValidator.php b/app/vendor/symfony/validator/Constraints/CharsetValidator.php deleted file mode 100644 index 63259a45d..000000000 --- a/app/vendor/symfony/validator/Constraints/CharsetValidator.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Alexandre Daubois - */ -final class CharsetValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Charset) { - throw new UnexpectedTypeException($constraint, Charset::class); - } - - if (null === $value) { - return; - } - - if (!\is_string($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - if (!\in_array(mb_detect_encoding($value, $constraint->encodings, true), (array) $constraint->encodings, true)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ detected }}', mb_detect_encoding($value, strict: true)) - ->setParameter('{{ encodings }}', implode(', ', (array) $constraint->encodings)) - ->setCode(Charset::BAD_ENCODING_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Choice.php b/app/vendor/symfony/validator/Constraints/Choice.php deleted file mode 100644 index cf353907d..000000000 --- a/app/vendor/symfony/validator/Constraints/Choice.php +++ /dev/null @@ -1,109 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is one of a given set of valid choices. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Choice extends Constraint -{ - public const NO_SUCH_CHOICE_ERROR = '8e179f1b-97aa-4560-a02f-2a8b42e49df7'; - public const TOO_FEW_ERROR = '11edd7eb-5872-4b6e-9f12-89923999fd0e'; - public const TOO_MANY_ERROR = '9bd98e49-211c-433f-8630-fd1c2d0f08c3'; - - protected const ERROR_NAMES = [ - self::NO_SUCH_CHOICE_ERROR => 'NO_SUCH_CHOICE_ERROR', - self::TOO_FEW_ERROR => 'TOO_FEW_ERROR', - self::TOO_MANY_ERROR => 'TOO_MANY_ERROR', - ]; - - public ?array $choices = null; - /** @var callable|string|null */ - public $callback; - public bool $multiple = false; - public bool $strict = true; - public ?int $min = null; - public ?int $max = null; - public string $message = 'The value you selected is not a valid choice.'; - public string $multipleMessage = 'One or more of the given values is invalid.'; - public string $minMessage = 'You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.'; - public string $maxMessage = 'You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.'; - public bool $match = true; - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'choices'; - } - - /** - * @param array|null $choices An array of choices (required unless a callback is specified) - * @param callable|string|null $callback Callback method to use instead of the choice option to get the choices - * @param bool|null $multiple Whether to expect the value to be an array of valid choices (defaults to false) - * @param bool|null $strict This option defaults to true and should not be used - * @param int<0, max>|null $min Minimum of valid choices if multiple values are expected - * @param positive-int|null $max Maximum of valid choices if multiple values are expected - * @param string[]|null $groups - * @param bool|null $match Whether to validate the values are part of the choices or not (defaults to true) - */ - #[HasNamedArguments] - public function __construct( - string|array|null $options = null, - ?array $choices = null, - callable|string|null $callback = null, - ?bool $multiple = null, - ?bool $strict = null, - ?int $min = null, - ?int $max = null, - ?string $message = null, - ?string $multipleMessage = null, - ?string $minMessage = null, - ?string $maxMessage = null, - ?array $groups = null, - mixed $payload = null, - ?bool $match = null, - ) { - if (\is_array($options) && $options && array_is_list($options)) { - trigger_deprecation('symfony/validator', '7.4', 'Support for passing the choices as the first argument to %s is deprecated.', static::class); - $choices ??= $options; - $options = null; - } elseif (\is_array($options) && [] !== $options) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->choices = $choices ?? $this->choices; - $this->callback = $callback ?? $this->callback; - $this->multiple = $multiple ?? $this->multiple; - $this->strict = $strict ?? $this->strict; - $this->min = $min ?? $this->min; - $this->max = $max ?? $this->max; - $this->message = $message ?? $this->message; - $this->multipleMessage = $multipleMessage ?? $this->multipleMessage; - $this->minMessage = $minMessage ?? $this->minMessage; - $this->maxMessage = $maxMessage ?? $this->maxMessage; - $this->match = $match ?? $this->match; - } -} diff --git a/app/vendor/symfony/validator/Constraints/ChoiceValidator.php b/app/vendor/symfony/validator/Constraints/ChoiceValidator.php deleted file mode 100644 index 916c0732a..000000000 --- a/app/vendor/symfony/validator/Constraints/ChoiceValidator.php +++ /dev/null @@ -1,108 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\RuntimeException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * ChoiceValidator validates that the value is one of the expected values. - * - * @author Fabien Potencier - * @author Florian Eckerstorfer - * @author Bernhard Schussek - */ -class ChoiceValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Choice) { - throw new UnexpectedTypeException($constraint, Choice::class); - } - - if (!\is_array($constraint->choices) && !$constraint->callback) { - throw new ConstraintDefinitionException('Either "choices" or "callback" must be specified on constraint Choice.'); - } - - if (null === $value) { - return; - } - - if ($constraint->multiple && !\is_array($value)) { - throw new UnexpectedValueException($value, 'array'); - } - - if ($constraint->callback) { - if (!\is_callable($choices = [$this->context->getObject(), $constraint->callback]) - && !\is_callable($choices = [$this->context->getClassName(), $constraint->callback]) - && !\is_callable($choices = $constraint->callback) - ) { - throw new ConstraintDefinitionException('The Choice constraint expects a valid callback.'); - } - $choices = $choices(); - if (!\is_array($choices)) { - throw new ConstraintDefinitionException(\sprintf('The Choice constraint callback "%s" is expected to return an array, but returned "%s".', trim($this->formatValue($constraint->callback), '"'), get_debug_type($choices))); - } - } else { - $choices = $constraint->choices; - } - - if (true !== $constraint->strict) { - throw new RuntimeException('The "strict" option of the Choice constraint should not be used.'); - } - - if ($constraint->multiple) { - foreach ($value as $_value) { - if ($constraint->match xor \in_array($_value, $choices, true)) { - $this->context->buildViolation($constraint->multipleMessage) - ->setParameter('{{ value }}', $this->formatValue($_value)) - ->setParameter('{{ choices }}', $this->formatValues($choices)) - ->setCode(Choice::NO_SUCH_CHOICE_ERROR) - ->setInvalidValue($_value) - ->addViolation(); - - return; - } - } - - $count = \count($value); - - if (null !== $constraint->min && $count < $constraint->min) { - $this->context->buildViolation($constraint->minMessage) - ->setParameter('{{ limit }}', $constraint->min) - ->setPlural($constraint->min) - ->setCode(Choice::TOO_FEW_ERROR) - ->addViolation(); - - return; - } - - if (null !== $constraint->max && $count > $constraint->max) { - $this->context->buildViolation($constraint->maxMessage) - ->setParameter('{{ limit }}', $constraint->max) - ->setPlural($constraint->max) - ->setCode(Choice::TOO_MANY_ERROR) - ->addViolation(); - } - } elseif ($constraint->match xor \in_array($value, $choices, true)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ choices }}', $this->formatValues($choices)) - ->setCode(Choice::NO_SUCH_CHOICE_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Cidr.php b/app/vendor/symfony/validator/Constraints/Cidr.php deleted file mode 100644 index a6e470177..000000000 --- a/app/vendor/symfony/validator/Constraints/Cidr.php +++ /dev/null @@ -1,116 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\InvalidArgumentException; - -/** - * Validates that a value is a valid CIDR notation. - * - * @see https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing - * - * @author Sorin Pop - * @author Calin Bolea - * @author Ninos Ego - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Cidr extends Constraint -{ - public const INVALID_CIDR_ERROR = '5649e53a-5afb-47c5-a360-ffbab3be8567'; - public const OUT_OF_RANGE_ERROR = 'b9f14a51-acbd-401a-a078-8c6b204ab32f'; - - protected const ERROR_NAMES = [ - self::INVALID_CIDR_ERROR => 'INVALID_CIDR_ERROR', - self::OUT_OF_RANGE_ERROR => 'OUT_OF_RANGE_VIOLATION', - ]; - - private const NET_MAXES = [ - Ip::V4 => 32, - Ip::V6 => 128, - Ip::ALL => 128, - - Ip::V4_NO_PUBLIC => 32, - Ip::V6_NO_PUBLIC => 128, - Ip::ALL_NO_PUBLIC => 128, - - Ip::V4_NO_PRIVATE => 32, - Ip::V6_NO_PRIVATE => 128, - Ip::ALL_NO_PRIVATE => 128, - - Ip::V4_NO_RESERVED => 32, - Ip::V6_NO_RESERVED => 128, - Ip::ALL_NO_RESERVED => 128, - - Ip::V4_ONLY_PUBLIC => 32, - Ip::V6_ONLY_PUBLIC => 128, - Ip::ALL_ONLY_PUBLIC => 128, - - Ip::V4_ONLY_PRIVATE => 32, - Ip::V6_ONLY_PRIVATE => 128, - Ip::ALL_ONLY_PRIVATE => 128, - - Ip::V4_ONLY_RESERVED => 32, - Ip::V6_ONLY_RESERVED => 128, - Ip::ALL_ONLY_RESERVED => 128, - ]; - - public string $version = Ip::ALL; - public string $message = 'This value is not a valid CIDR notation.'; - public string $netmaskRangeViolationMessage = 'The value of the netmask should be between {{ min }} and {{ max }}.'; - public int $netmaskMin = 0; - public int $netmaskMax; - - /** @var callable|null */ - public $normalizer; - - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $version = null, - ?int $netmaskMin = null, - ?int $netmaskMax = null, - ?string $message = null, - ?array $groups = null, - $payload = null, - ?callable $normalizer = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - $this->version = $version ?? $options['version'] ?? $this->version; - - if (!\array_key_exists($this->version, self::NET_MAXES)) { - throw new ConstraintDefinitionException(\sprintf('The option "version" must be one of "%s".', implode('", "', array_keys(self::NET_MAXES)))); - } - - $this->netmaskMin = $netmaskMin ?? $options['netmaskMin'] ?? $this->netmaskMin; - $this->netmaskMax = $netmaskMax ?? $options['netmaskMax'] ?? self::NET_MAXES[$this->version]; - $this->message = $message ?? $this->message; - $this->normalizer = $normalizer ?? $this->normalizer; - - unset($options['netmaskMin'], $options['netmaskMax'], $options['version']); - - if ($this->netmaskMin < 0 || $this->netmaskMax > self::NET_MAXES[$this->version] || $this->netmaskMin > $this->netmaskMax) { - throw new ConstraintDefinitionException(\sprintf('The netmask range must be between 0 and %d.', self::NET_MAXES[$this->version])); - } - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - - parent::__construct($options, $groups, $payload); - } -} diff --git a/app/vendor/symfony/validator/Constraints/CidrValidator.php b/app/vendor/symfony/validator/Constraints/CidrValidator.php deleted file mode 100644 index f9dc5c233..000000000 --- a/app/vendor/symfony/validator/Constraints/CidrValidator.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value is a CIDR notation. - * - * @author Sorin Pop - * @author Calin Bolea - * @author Ninos Ego - */ -class CidrValidator extends ConstraintValidator -{ - public function validate($value, Constraint $constraint): void - { - if (!$constraint instanceof Cidr) { - throw new UnexpectedTypeException($constraint, Cidr::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_string($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (null !== $constraint->normalizer) { - $value = ($constraint->normalizer)($value); - } - - $cidrParts = explode('/', $value, 2); - - if (!isset($cidrParts[1]) - || !ctype_digit($cidrParts[1]) - || '' === $cidrParts[0] - ) { - $this->context - ->buildViolation($constraint->message) - ->setCode(Cidr::INVALID_CIDR_ERROR) - ->addViolation(); - - return; - } - - $ipAddress = $cidrParts[0]; - $netmask = (int) $cidrParts[1]; - - if (!IpValidator::checkIP($ipAddress, $constraint->version)) { - $this->context - ->buildViolation($constraint->message) - ->setCode(Cidr::INVALID_CIDR_ERROR) - ->addViolation(); - - return; - } - - $netmaskMax = $constraint->netmaskMax; - - if (filter_var($ipAddress, \FILTER_VALIDATE_IP, \FILTER_FLAG_IPV4) && $netmaskMax > 32) { - $netmaskMax = 32; - } - - if ($netmask < $constraint->netmaskMin || $netmask > $netmaskMax) { - $this->context - ->buildViolation($constraint->netmaskRangeViolationMessage) - ->setParameter('{{ min }}', $constraint->netmaskMin) - ->setParameter('{{ max }}', $netmaskMax) - ->setCode(Cidr::OUT_OF_RANGE_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Collection.php b/app/vendor/symfony/validator/Constraints/Collection.php deleted file mode 100644 index 3954a6c38..000000000 --- a/app/vendor/symfony/validator/Constraints/Collection.php +++ /dev/null @@ -1,129 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Validates a collection with constraints defined for specific keys. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Collection extends Composite -{ - public const MISSING_FIELD_ERROR = '2fa2158c-2a7f-484b-98aa-975522539ff8'; - public const NO_SUCH_FIELD_ERROR = '7703c766-b5d5-4cef-ace7-ae0dd82304e9'; - - protected const ERROR_NAMES = [ - self::MISSING_FIELD_ERROR => 'MISSING_FIELD_ERROR', - self::NO_SUCH_FIELD_ERROR => 'NO_SUCH_FIELD_ERROR', - ]; - - public array $fields = []; - public bool $allowExtraFields = false; - public bool $allowMissingFields = false; - public string $extraFieldsMessage = 'This field was not expected.'; - public string $missingFieldsMessage = 'This field is missing.'; - - /** - * @param array>|null $fields An associative array defining keys in the collection and their constraints - * @param string[]|null $groups - * @param bool|null $allowExtraFields Whether to allow additional keys not declared in the configured fields (defaults to false) - * @param bool|null $allowMissingFields Whether to allow the collection to lack some fields declared in the configured fields (defaults to false) - */ - #[HasNamedArguments] - public function __construct(mixed $fields = null, ?array $groups = null, mixed $payload = null, ?bool $allowExtraFields = null, ?bool $allowMissingFields = null, ?string $extraFieldsMessage = null, ?string $missingFieldsMessage = null) - { - if (null === $fields) { - throw new MissingOptionsException(\sprintf('The options "fields" must be set for constraint "%s".', self::class), ['fields']); - } - - if (self::isFieldsOption($fields)) { - $this->fields = $fields; - } else { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = $fields; - } - - parent::__construct($options ?? null, $groups, $payload); - - $this->allowExtraFields = $allowExtraFields ?? $this->allowExtraFields; - $this->allowMissingFields = $allowMissingFields ?? $this->allowMissingFields; - $this->extraFieldsMessage = $extraFieldsMessage ?? $this->extraFieldsMessage; - $this->missingFieldsMessage = $missingFieldsMessage ?? $this->missingFieldsMessage; - } - - protected function initializeNestedConstraints(): void - { - parent::initializeNestedConstraints(); - - foreach ($this->fields as $fieldName => $field) { - // the XmlFileLoader and YamlFileLoader pass the field Optional - // and Required constraint as an array with exactly one element - if (\is_array($field) && 1 == \count($field)) { - $this->fields[$fieldName] = $field = $field[0]; - } - - if (!$field instanceof Optional && !$field instanceof Required) { - $this->fields[$fieldName] = new Required($field); - } - } - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['fields']; - } - - protected function getCompositeOption(): string - { - return 'fields'; - } - - private static function isFieldsOption($options): bool - { - if (!\is_array($options)) { - return false; - } - - foreach ($options as $optionOrField) { - if ($optionOrField instanceof Constraint) { - return true; - } - - if (null === $optionOrField) { - continue; - } - - if (!\is_array($optionOrField)) { - return false; - } - - if ($optionOrField && !($optionOrField[0] ?? null) instanceof Constraint) { - return false; - } - } - - return true; - } -} diff --git a/app/vendor/symfony/validator/Constraints/CollectionValidator.php b/app/vendor/symfony/validator/Constraints/CollectionValidator.php deleted file mode 100644 index 7d5b20bf1..000000000 --- a/app/vendor/symfony/validator/Constraints/CollectionValidator.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class CollectionValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Collection) { - throw new UnexpectedTypeException($constraint, Collection::class); - } - - if (null === $value) { - return; - } - - if (!\is_array($value) && !($value instanceof \Traversable && $value instanceof \ArrayAccess)) { - throw new UnexpectedValueException($value, 'array|(Traversable&ArrayAccess)'); - } - - // We need to keep the initialized context when CollectionValidator - // calls itself recursively (Collection constraints can be nested). - // Since the context of the validator is overwritten when initialize() - // is called for the nested constraint, the outer validator is - // acting on the wrong context when the nested validation terminates. - // - // A better solution - which should be approached in Symfony 3.0 - is to - // remove the initialize() method and pass the context as last argument - // to validate() instead. - $context = $this->context; - - foreach ($constraint->fields as $field => $fieldConstraint) { - $existsInArray = \is_array($value) && \array_key_exists($field, $value); - $existsInArrayAccess = $value instanceof \ArrayAccess && $value->offsetExists($field); - - if ($existsInArray || $existsInArrayAccess) { - if (\count($fieldConstraint->constraints) > 0) { - $context->getValidator() - ->inContext($context) - ->atPath('['.$field.']') - ->validate($value[$field], $fieldConstraint->constraints); - } - } elseif (!$fieldConstraint instanceof Optional && !$constraint->allowMissingFields) { - $context->buildViolation($constraint->missingFieldsMessage) - ->atPath('['.$field.']') - ->setParameter('{{ field }}', $this->formatValue($field)) - ->setInvalidValue(null) - ->setCode(Collection::MISSING_FIELD_ERROR) - ->addViolation(); - } - } - - if (!$constraint->allowExtraFields) { - foreach ($value as $field => $fieldValue) { - if (!isset($constraint->fields[$field])) { - $context->buildViolation($constraint->extraFieldsMessage) - ->atPath('['.$field.']') - ->setParameter('{{ field }}', $this->formatValue($field)) - ->setInvalidValue($fieldValue) - ->setCode(Collection::NO_SUCH_FIELD_ERROR) - ->addViolation(); - } - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Composite.php b/app/vendor/symfony/validator/Constraints/Composite.php deleted file mode 100644 index fdfaacc2e..000000000 --- a/app/vendor/symfony/validator/Constraints/Composite.php +++ /dev/null @@ -1,166 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * A constraint that is composed of other constraints. - * - * You should never use the nested constraint instances anywhere else, because - * their groups are adapted when passed to the constructor of this class. - * - * If you want to create your own composite constraint, extend this class and - * let {@link getCompositeOption()} return the name of the property which - * contains the nested constraints. - * - * @author Bernhard Schussek - */ -abstract class Composite extends Constraint -{ - /** - * The groups of the composite and its nested constraints are made - * consistent using the following strategy: - * - * - If groups are passed explicitly to the composite constraint, but - * not to the nested constraints, the options of the composite - * constraint are copied to the nested constraints; - * - * - If groups are passed explicitly to the nested constraints, but not - * to the composite constraint, the groups of all nested constraints - * are merged and used as groups for the composite constraint; - * - * - If groups are passed explicitly to both the composite and its nested - * constraints, the groups of the nested constraints must be a subset - * of the groups of the composite constraint. If not, a - * {@link ConstraintDefinitionException} is thrown. - * - * All this is done in the constructor, because constraints can then be - * cached. When constraints are loaded from the cache, no more group - * checks need to be done. - */ - #[HasNamedArguments] - public function __construct(mixed $options = null, ?array $groups = null, mixed $payload = null) - { - if (null !== $options) { - trigger_deprecation('symfony/validator', '7.4', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->initializeNestedConstraints(); - - foreach ((array) $this->getCompositeOption() as $option) { - /** @var Constraint[] $nestedConstraints */ - $nestedConstraints = $this->$option; - - if (!\is_array($nestedConstraints)) { - $nestedConstraints = [$nestedConstraints]; - } - - foreach ($nestedConstraints as $constraint) { - if (!$constraint instanceof Constraint) { - if (\is_object($constraint)) { - $constraint = get_debug_type($constraint); - } - - throw new ConstraintDefinitionException(\sprintf('The value "%s" is not an instance of Constraint in constraint "%s".', $constraint, get_debug_type($this))); - } - - if ($constraint instanceof Valid) { - throw new ConstraintDefinitionException(\sprintf('The constraint Valid cannot be nested inside constraint "%s". You can only declare the Valid constraint directly on a field or method.', get_debug_type($this))); - } - } - - if (!isset(((array) $this)['groups'])) { - $mergedGroups = []; - - foreach ($nestedConstraints as $constraint) { - foreach ($constraint->groups as $group) { - $mergedGroups[$group] = true; - } - } - - // prevent empty composite constraint to have empty groups - $this->groups = array_keys($mergedGroups) ?: [self::DEFAULT_GROUP]; - $this->$option = $nestedConstraints; - - continue; - } - - foreach ($nestedConstraints as $constraint) { - if (isset(((array) $constraint)['groups'])) { - $excessGroups = array_diff($constraint->groups, $this->groups); - - if (\count($excessGroups) > 0) { - throw new ConstraintDefinitionException(\sprintf('The group(s) "%s" passed to the constraint "%s" should also be passed to its containing constraint "%s".', implode('", "', $excessGroups), get_debug_type($constraint), get_debug_type($this))); - } - } else { - $constraint->groups = $this->groups; - } - } - - $this->$option = $nestedConstraints; - } - } - - /** - * Implicit group names are forwarded to nested constraints. - */ - public function addImplicitGroupName(string $group): void - { - parent::addImplicitGroupName($group); - - foreach ((array) $this->getCompositeOption() as $option) { - /* @var Constraint[] $nestedConstraints */ - $nestedConstraints = (array) $this->$option; - - foreach ($nestedConstraints as $constraint) { - $constraint->addImplicitGroupName($group); - } - } - } - - /** - * Returns the name of the property that contains the nested constraints. - */ - abstract protected function getCompositeOption(): array|string; - - /** - * @internal Used by metadata - * - * @return Constraint[] - */ - public function getNestedConstraints(): array - { - $constraints = []; - foreach ((array) $this->getCompositeOption() as $option) { - $constraints = array_merge($constraints, (array) $this->$option); - } - - return $constraints; - } - - /** - * Initializes the nested constraints. - * - * This method can be overwritten in subclasses to clean up the nested - * constraints passed to the constructor. - * - * @see Collection::initializeNestedConstraints() - */ - protected function initializeNestedConstraints(): void - { - } -} diff --git a/app/vendor/symfony/validator/Constraints/Compound.php b/app/vendor/symfony/validator/Constraints/Compound.php deleted file mode 100644 index 261871533..000000000 --- a/app/vendor/symfony/validator/Constraints/Compound.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Extend this class to create a reusable set of constraints. - * - * @author Maxime Steinhausser - */ -abstract class Compound extends Composite -{ - /** @var Constraint[] */ - public array $constraints = []; - - #[HasNamedArguments] - public function __construct(mixed $options = null, ?array $groups = null, mixed $payload = null) - { - if (isset($options[$this->getCompositeOption()])) { - throw new ConstraintDefinitionException(\sprintf('You can\'t redefine the "%s" option. Use the "%s::getConstraints()" method instead.', $this->getCompositeOption(), __CLASS__)); - } - - $this->constraints = $this->getConstraints($this->normalizeOptions($options)); - - parent::__construct($options, $groups, $payload); - } - - final protected function getCompositeOption(): string - { - return 'constraints'; - } - - final public function validatedBy(): string - { - return CompoundValidator::class; - } - - /** - * @param array $options - * - * @return Constraint[] - */ - abstract protected function getConstraints(array $options): array; -} diff --git a/app/vendor/symfony/validator/Constraints/CompoundValidator.php b/app/vendor/symfony/validator/Constraints/CompoundValidator.php deleted file mode 100644 index 11ce4855b..000000000 --- a/app/vendor/symfony/validator/Constraints/CompoundValidator.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Maxime Steinhausser - */ -class CompoundValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Compound) { - throw new UnexpectedTypeException($constraint, Compound::class); - } - - $context = $this->context; - - $validator = $context->getValidator()->inContext($context); - - $validator->validate($value, $constraint->constraints); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Count.php b/app/vendor/symfony/validator/Constraints/Count.php deleted file mode 100644 index c947c9225..000000000 --- a/app/vendor/symfony/validator/Constraints/Count.php +++ /dev/null @@ -1,100 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Validates a collection's element count. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Count extends Constraint -{ - public const TOO_FEW_ERROR = 'bef8e338-6ae5-4caf-b8e2-50e7b0579e69'; - public const TOO_MANY_ERROR = '756b1212-697c-468d-a9ad-50dd783bb169'; - public const NOT_EQUAL_COUNT_ERROR = '9fe5d43f-3784-4ece-a0e1-473fc02dadbc'; - public const NOT_DIVISIBLE_BY_ERROR = DivisibleBy::NOT_DIVISIBLE_BY; - - protected const ERROR_NAMES = [ - self::TOO_FEW_ERROR => 'TOO_FEW_ERROR', - self::TOO_MANY_ERROR => 'TOO_MANY_ERROR', - self::NOT_EQUAL_COUNT_ERROR => 'NOT_EQUAL_COUNT_ERROR', - self::NOT_DIVISIBLE_BY_ERROR => 'NOT_DIVISIBLE_BY_ERROR', - ]; - - public string $minMessage = 'This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.'; - public string $maxMessage = 'This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.'; - public string $exactMessage = 'This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.'; - public string $divisibleByMessage = 'The number of elements in this collection should be a multiple of {{ compared_value }}.'; - public ?int $min = null; - public ?int $max = null; - public ?int $divisibleBy = null; - - /** - * @param int<0, max>|null $exactly The exact expected number of elements - * @param int<0, max>|null $min Minimum expected number of elements - * @param int<0, max>|null $max Maximum expected number of elements - * @param positive-int|null $divisibleBy The number the collection count should be divisible by - * @param string[]|null $groups - * @param array|null $options - */ - #[HasNamedArguments] - public function __construct( - int|array|null $exactly = null, - ?int $min = null, - ?int $max = null, - ?int $divisibleBy = null, - ?string $exactMessage = null, - ?string $minMessage = null, - ?string $maxMessage = null, - ?string $divisibleByMessage = null, - ?array $groups = null, - mixed $payload = null, - ?array $options = null, - ) { - if (\is_array($exactly)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($exactly, $options ?? []); - $exactly = $options['value'] ?? null; - } elseif (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - $min ??= $options['min'] ?? null; - $max ??= $options['max'] ?? null; - - unset($options['value'], $options['min'], $options['max']); - - if (null !== $exactly && null === $min && null === $max) { - $min = $max = $exactly; - } - - parent::__construct($options, $groups, $payload); - - $this->min = $min; - $this->max = $max; - $this->divisibleBy = $divisibleBy ?? $this->divisibleBy; - $this->exactMessage = $exactMessage ?? $this->exactMessage; - $this->minMessage = $minMessage ?? $this->minMessage; - $this->maxMessage = $maxMessage ?? $this->maxMessage; - $this->divisibleByMessage = $divisibleByMessage ?? $this->divisibleByMessage; - - if (null === $this->min && null === $this->max && null === $this->divisibleBy) { - throw new MissingOptionsException(\sprintf('Either option "min", "max" or "divisibleBy" must be given for constraint "%s".', __CLASS__), ['min', 'max', 'divisibleBy']); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/CountValidator.php b/app/vendor/symfony/validator/Constraints/CountValidator.php deleted file mode 100644 index 40d889fe9..000000000 --- a/app/vendor/symfony/validator/Constraints/CountValidator.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class CountValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Count) { - throw new UnexpectedTypeException($constraint, Count::class); - } - - if (null === $value) { - return; - } - - if (!\is_array($value) && !$value instanceof \Countable) { - throw new UnexpectedValueException($value, 'array|\Countable'); - } - - $count = \count($value); - - if (null !== $constraint->max && $count > $constraint->max) { - $exactlyOptionEnabled = $constraint->min == $constraint->max; - - $this->context->buildViolation($exactlyOptionEnabled ? $constraint->exactMessage : $constraint->maxMessage) - ->setParameter('{{ count }}', $count) - ->setParameter('{{ limit }}', $constraint->max) - ->setInvalidValue($value) - ->setPlural($constraint->max) - ->setCode($exactlyOptionEnabled ? Count::NOT_EQUAL_COUNT_ERROR : Count::TOO_MANY_ERROR) - ->addViolation(); - - return; - } - - if (null !== $constraint->min && $count < $constraint->min) { - $exactlyOptionEnabled = $constraint->min == $constraint->max; - - $this->context->buildViolation($exactlyOptionEnabled ? $constraint->exactMessage : $constraint->minMessage) - ->setParameter('{{ count }}', $count) - ->setParameter('{{ limit }}', $constraint->min) - ->setInvalidValue($value) - ->setPlural($constraint->min) - ->setCode($exactlyOptionEnabled ? Count::NOT_EQUAL_COUNT_ERROR : Count::TOO_FEW_ERROR) - ->addViolation(); - - return; - } - - if (null !== $constraint->divisibleBy) { - $this->context - ->getValidator() - ->inContext($this->context) - ->validate($count, [ - new DivisibleBy( - value: $constraint->divisibleBy, - message: $constraint->divisibleByMessage, - ), - ], $this->context->getGroup()); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Country.php b/app/vendor/symfony/validator/Constraints/Country.php deleted file mode 100644 index 89d4717b4..000000000 --- a/app/vendor/symfony/validator/Constraints/Country.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Countries; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * Validates a value is a valid ISO 3166-1 alpha-2 country code. - * - * @see https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Country extends Constraint -{ - public const NO_SUCH_COUNTRY_ERROR = '8f900c12-61bd-455d-9398-996cd040f7f0'; - - protected const ERROR_NAMES = [ - self::NO_SUCH_COUNTRY_ERROR => 'NO_SUCH_COUNTRY_ERROR', - ]; - - public string $message = 'This value is not a valid country.'; - public bool $alpha3 = false; - - /** - * @param bool|null $alpha3 Whether to check for alpha-3 codes instead of alpha-2 (defaults to false) - * @param string[]|null $groups - * - * @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3#Current_codes - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?bool $alpha3 = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (!class_exists(Countries::class)) { - throw new LogicException('The Intl component is required to use the Country constraint. Try running "composer require symfony/intl".'); - } - - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->alpha3 = $alpha3 ?? $this->alpha3; - } -} diff --git a/app/vendor/symfony/validator/Constraints/CountryValidator.php b/app/vendor/symfony/validator/Constraints/CountryValidator.php deleted file mode 100644 index 067896922..000000000 --- a/app/vendor/symfony/validator/Constraints/CountryValidator.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Countries; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value is a valid country code. - * - * @author Bernhard Schussek - */ -class CountryValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Country) { - throw new UnexpectedTypeException($constraint, Country::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if ($constraint->alpha3 ? !Countries::alpha3CodeExists($value) : !Countries::exists($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Country::NO_SUCH_COUNTRY_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/CssColor.php b/app/vendor/symfony/validator/Constraints/CssColor.php deleted file mode 100644 index f73d2941b..000000000 --- a/app/vendor/symfony/validator/Constraints/CssColor.php +++ /dev/null @@ -1,124 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\InvalidArgumentException; - -/** - * Validates that a value is a valid CSS color. - * - * @author Mathieu Santostefano - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class CssColor extends Constraint -{ - public const HEX_LONG = 'hex_long'; - public const HEX_LONG_WITH_ALPHA = 'hex_long_with_alpha'; - public const HEX_SHORT = 'hex_short'; - public const HEX_SHORT_WITH_ALPHA = 'hex_short_with_alpha'; - public const BASIC_NAMED_COLORS = 'basic_named_colors'; - public const EXTENDED_NAMED_COLORS = 'extended_named_colors'; - public const SYSTEM_COLORS = 'system_colors'; - public const KEYWORDS = 'keywords'; - public const RGB = 'rgb'; - public const RGBA = 'rgba'; - public const HSL = 'hsl'; - public const HSLA = 'hsla'; - public const INVALID_FORMAT_ERROR = '454ab47b-aacf-4059-8f26-184b2dc9d48d'; - - protected const ERROR_NAMES = [ - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - ]; - - /** - * @var string[] - */ - private static array $validationModes = [ - self::HEX_LONG, - self::HEX_LONG_WITH_ALPHA, - self::HEX_SHORT, - self::HEX_SHORT_WITH_ALPHA, - self::BASIC_NAMED_COLORS, - self::EXTENDED_NAMED_COLORS, - self::SYSTEM_COLORS, - self::KEYWORDS, - self::RGB, - self::RGBA, - self::HSL, - self::HSLA, - ]; - - public string $message = 'This value is not a valid CSS color.'; - public array|string $formats; - - /** - * @param non-empty-string[]|non-empty-string $formats The types of CSS colors allowed ({@see https://symfony.com/doc/current/reference/constraints/CssColor.html#formats}) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(array|string $formats = [], ?string $message = null, ?array $groups = null, $payload = null, ?array $options = null) - { - $validationModesAsString = implode(', ', self::$validationModes); - - if (!$formats) { - $formats = self::$validationModes; - } elseif (\is_array($formats) && \is_string(key($formats))) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($formats, $options ?? []); - $formats = null; - } elseif (\is_array($formats)) { - if ([] === array_intersect(self::$validationModes, $formats)) { - throw new InvalidArgumentException(\sprintf('The "formats" parameter value is not valid. It must contain one or more of the following values: "%s".', $validationModesAsString)); - } - } elseif (\is_string($formats)) { - if (!\in_array($formats, self::$validationModes, true)) { - throw new InvalidArgumentException(\sprintf('The "formats" parameter value is not valid. It must contain one or more of the following values: "%s".', $validationModesAsString)); - } - - $formats = [$formats]; - } else { - throw new InvalidArgumentException('The "formats" parameter type is not valid. It should be a string or an array.'); - } - - parent::__construct($options, $groups, $payload); - - $this->formats = $formats ?? $this->formats; - $this->message = $message ?? $this->message; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'formats'; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['formats']; - } -} diff --git a/app/vendor/symfony/validator/Constraints/CssColorValidator.php b/app/vendor/symfony/validator/Constraints/CssColorValidator.php deleted file mode 100644 index 8ba2d2950..000000000 --- a/app/vendor/symfony/validator/Constraints/CssColorValidator.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Mathieu Santostefano - */ -class CssColorValidator extends ConstraintValidator -{ - private const PATTERN_HEX_LONG = '/^#[0-9a-f]{6}$/iD'; - private const PATTERN_HEX_LONG_WITH_ALPHA = '/^#[0-9a-f]{8}$/iD'; - private const PATTERN_HEX_SHORT = '/^#[0-9a-f]{3}$/iD'; - private const PATTERN_HEX_SHORT_WITH_ALPHA = '/^#[0-9a-f]{4}$/iD'; - // List comes from https://www.w3.org/wiki/CSS/Properties/color/keywords#Basic_Colors - private const PATTERN_BASIC_NAMED_COLORS = '/^(black|silver|gray|white|maroon|red|purple|fuchsia|green|lime|olive|yellow|navy|blue|teal|aqua)$/iD'; - // List comes from https://www.w3.org/wiki/CSS/Properties/color/keywords#Extended_colors - private const PATTERN_EXTENDED_NAMED_COLORS = '/^(aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)$/iD'; - // List comes from https://drafts.csswg.org/css-color/#css-system-colors - private const PATTERN_SYSTEM_COLORS = '/^(Canvas|CanvasText|LinkText|VisitedText|ActiveText|ButtonFace|ButtonText|ButtonBorder|Field|FieldText|Highlight|HighlightText|SelectedItem|SelectedItemText|Mark|MarkText|GrayText)$/iD'; - private const PATTERN_KEYWORDS = '/^(transparent|currentColor)$/iD'; - private const PATTERN_RGB = '/^rgb\(\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d)\s*\)$/iD'; - private const PATTERN_RGBA = '/^rgba\(\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|0?\.\d+|1(\.0)?)\s*\)$/iD'; - private const PATTERN_HSL = '/^hsl\(\s*(0|360|35\d|3[0-4]\d|[12]\d\d|0?\d?\d),\s*(0|100|\d{1,2})%,\s*(0|100|\d{1,2})%\s*\)$/iD'; - private const PATTERN_HSLA = '/^hsla\(\s*(0|360|35\d|3[0-4]\d|[12]\d\d|0?\d?\d),\s*(0|100|\d{1,2})%,\s*(0|100|\d{1,2})%,\s*(0|0?\.\d+|1(\.0)?)\s*\)$/iD'; - - private const COLOR_PATTERNS = [ - CssColor::HEX_LONG => self::PATTERN_HEX_LONG, - CssColor::HEX_LONG_WITH_ALPHA => self::PATTERN_HEX_LONG_WITH_ALPHA, - CssColor::HEX_SHORT => self::PATTERN_HEX_SHORT, - CssColor::HEX_SHORT_WITH_ALPHA => self::PATTERN_HEX_SHORT_WITH_ALPHA, - CssColor::BASIC_NAMED_COLORS => self::PATTERN_BASIC_NAMED_COLORS, - CssColor::EXTENDED_NAMED_COLORS => self::PATTERN_EXTENDED_NAMED_COLORS, - CssColor::SYSTEM_COLORS => self::PATTERN_SYSTEM_COLORS, - CssColor::KEYWORDS => self::PATTERN_KEYWORDS, - CssColor::RGB => self::PATTERN_RGB, - CssColor::RGBA => self::PATTERN_RGBA, - CssColor::HSL => self::PATTERN_HSL, - CssColor::HSLA => self::PATTERN_HSLA, - ]; - - public function validate($value, Constraint $constraint): void - { - if (!$constraint instanceof CssColor) { - throw new UnexpectedTypeException($constraint, CssColor::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_string($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $formats = array_flip((array) $constraint->formats); - $formatRegexes = array_intersect_key(self::COLOR_PATTERNS, $formats); - - foreach ($formatRegexes as $regex) { - if (preg_match($regex, (string) $value)) { - return; - } - } - - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue((string) $value)) - ->setCode(CssColor::INVALID_FORMAT_ERROR) - ->addViolation(); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Currency.php b/app/vendor/symfony/validator/Constraints/Currency.php deleted file mode 100644 index 678538a8a..000000000 --- a/app/vendor/symfony/validator/Constraints/Currency.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Currencies; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * Validates that a value is a valid 3-letter ISO 4217 currency name. - * - * @see https://en.wikipedia.org/wiki/ISO_4217 - * - * @author Miha Vrhovnik - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Currency extends Constraint -{ - public const NO_SUCH_CURRENCY_ERROR = '69945ac1-2db4-405f-bec7-d2772f73df52'; - - protected const ERROR_NAMES = [ - self::NO_SUCH_CURRENCY_ERROR => 'NO_SUCH_CURRENCY_ERROR', - ]; - - public string $message = 'This value is not a valid currency.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (!class_exists(Currencies::class)) { - throw new LogicException('The Intl component is required to use the Currency constraint. Try running "composer require symfony/intl".'); - } - - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/CurrencyValidator.php b/app/vendor/symfony/validator/Constraints/CurrencyValidator.php deleted file mode 100644 index ef662802f..000000000 --- a/app/vendor/symfony/validator/Constraints/CurrencyValidator.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Currencies; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value is a valid currency. - * - * @author Miha Vrhovnik - * @author Bernhard Schussek - */ -class CurrencyValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Currency) { - throw new UnexpectedTypeException($constraint, Currency::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (!Currencies::exists($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Currency::NO_SUCH_CURRENCY_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Date.php b/app/vendor/symfony/validator/Constraints/Date.php deleted file mode 100644 index f2ae75691..000000000 --- a/app/vendor/symfony/validator/Constraints/Date.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is a valid date, i.e. its string representation follows the Y-m-d format. - * - * @see https://www.php.net/manual/en/datetime.format.php - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Date extends Constraint -{ - public const INVALID_FORMAT_ERROR = '69819696-02ac-4a99-9ff0-14e127c4d1bc'; - public const INVALID_DATE_ERROR = '3c184ce5-b31d-4de7-8b76-326da7b2be93'; - - protected const ERROR_NAMES = [ - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - self::INVALID_DATE_ERROR => 'INVALID_DATE_ERROR', - ]; - - public string $message = 'This value is not a valid date.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/DateTime.php b/app/vendor/symfony/validator/Constraints/DateTime.php deleted file mode 100644 index 63c8bda90..000000000 --- a/app/vendor/symfony/validator/Constraints/DateTime.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is a valid "datetime" according to a given format. - * - * @see https://www.php.net/manual/en/datetime.format.php - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class DateTime extends Constraint -{ - public const INVALID_FORMAT_ERROR = '1a9da513-2640-4f84-9b6a-4d99dcddc628'; - public const INVALID_DATE_ERROR = 'd52afa47-620d-4d99-9f08-f4d85b36e33c'; - public const INVALID_TIME_ERROR = '5e797c9d-74f7-4098-baa3-94390c447b27'; - - protected const ERROR_NAMES = [ - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - self::INVALID_DATE_ERROR => 'INVALID_DATE_ERROR', - self::INVALID_TIME_ERROR => 'INVALID_TIME_ERROR', - ]; - - public string $format = 'Y-m-d H:i:s'; - public string $message = 'This value is not a valid datetime.'; - - /** - * @param non-empty-string|null $format The datetime format to match (defaults to 'Y-m-d H:i:s') - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(string|array|null $format = null, ?string $message = null, ?array $groups = null, mixed $payload = null, ?array $options = null) - { - if (\is_array($format)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($format, $options ?? []); - $format = null; - } elseif (null !== $format) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options['value'] = $format; - } - } - - parent::__construct($options, $groups, $payload); - - $this->format = $format ?? $this->format; - $this->message = $message ?? $this->message; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'format'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/DateTimeValidator.php b/app/vendor/symfony/validator/Constraints/DateTimeValidator.php deleted file mode 100644 index f5765cbf6..000000000 --- a/app/vendor/symfony/validator/Constraints/DateTimeValidator.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - * @author Diego Saint Esteben - */ -class DateTimeValidator extends DateValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof DateTime) { - throw new UnexpectedTypeException($constraint, DateTime::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - \DateTimeImmutable::createFromFormat($constraint->format, $value); - - $errors = \DateTimeImmutable::getLastErrors() ?: ['error_count' => 0, 'warnings' => []]; - - if (0 < $errors['error_count']) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ format }}', $this->formatValue($constraint->format)) - ->setCode(DateTime::INVALID_FORMAT_ERROR) - ->addViolation(); - - return; - } - - if (str_ends_with($constraint->format, '+')) { - $errors['warnings'] = array_filter($errors['warnings'], fn ($warning) => 'Trailing data' !== $warning); - } - - foreach ($errors['warnings'] as $warning) { - if ('The parsed date was invalid' === $warning) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ format }}', $this->formatValue($constraint->format)) - ->setCode(DateTime::INVALID_DATE_ERROR) - ->addViolation(); - } elseif ('The parsed time was invalid' === $warning) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ format }}', $this->formatValue($constraint->format)) - ->setCode(DateTime::INVALID_TIME_ERROR) - ->addViolation(); - } else { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ format }}', $this->formatValue($constraint->format)) - ->setCode(DateTime::INVALID_FORMAT_ERROR) - ->addViolation(); - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/DateValidator.php b/app/vendor/symfony/validator/Constraints/DateValidator.php deleted file mode 100644 index f71c5b376..000000000 --- a/app/vendor/symfony/validator/Constraints/DateValidator.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class DateValidator extends ConstraintValidator -{ - public const PATTERN = '/^(?\d{4})-(?\d{2})-(?\d{2})$/D'; - - /** - * Checks whether a date is valid. - * - * @internal - */ - public static function checkDate(int $year, int $month, int $day): bool - { - return checkdate($month, $day, $year); - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Date) { - throw new UnexpectedTypeException($constraint, Date::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (!preg_match(static::PATTERN, $value, $matches)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Date::INVALID_FORMAT_ERROR) - ->addViolation(); - - return; - } - - if (!self::checkDate( - $matches['year'] ?? $matches[1], - $matches['month'] ?? $matches[2], - $matches['day'] ?? $matches[3] - )) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Date::INVALID_DATE_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/DisableAutoMapping.php b/app/vendor/symfony/validator/Constraints/DisableAutoMapping.php deleted file mode 100644 index 926d8be25..000000000 --- a/app/vendor/symfony/validator/Constraints/DisableAutoMapping.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Disables auto mapping. - * - * Using the attribute on a property has higher precedence than using it on a class, - * which has higher precedence than any configuration that might be defined outside the class. - * - * @author Kévin Dunglas - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::TARGET_CLASS)] -class DisableAutoMapping extends Constraint -{ - #[HasNamedArguments] - public function __construct(?array $options = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - if (\is_array($options) && \array_key_exists('groups', $options)) { - throw new ConstraintDefinitionException(\sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); - } - - parent::__construct($options, null, $payload); - } - - public function getTargets(): string|array - { - return [self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT]; - } -} diff --git a/app/vendor/symfony/validator/Constraints/DivisibleBy.php b/app/vendor/symfony/validator/Constraints/DivisibleBy.php deleted file mode 100644 index e56ddfb7c..000000000 --- a/app/vendor/symfony/validator/Constraints/DivisibleBy.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is divisible by another value. - * - * @author Colin O'Dell - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class DivisibleBy extends AbstractComparison -{ - public const NOT_DIVISIBLE_BY = '6d99d6c3-1464-4ccf-bdc7-14d083cf455c'; - - protected const ERROR_NAMES = [ - self::NOT_DIVISIBLE_BY => 'NOT_DIVISIBLE_BY', - ]; - - public string $message = 'This value should be a multiple of {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/DivisibleByValidator.php b/app/vendor/symfony/validator/Constraints/DivisibleByValidator.php deleted file mode 100644 index d86875884..000000000 --- a/app/vendor/symfony/validator/Constraints/DivisibleByValidator.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates that values are a multiple of the given number. - * - * @author Colin O'Dell - */ -class DivisibleByValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - if (!is_numeric($value1)) { - throw new UnexpectedValueException($value1, 'numeric'); - } - - if (!is_numeric($value2)) { - throw new UnexpectedValueException($value2, 'numeric'); - } - - if (!$value2 = abs($value2)) { - return false; - } - if (\is_int($value1 = abs($value1)) && \is_int($value2)) { - return 0 === ($value1 % $value2); - } - if (!$remainder = fmod($value1, $value2)) { - return true; - } - if (\is_float($value2) && \INF !== $value2) { - $quotient = $value1 / $value2; - $rounded = round($quotient); - - return \sprintf('%.12e', $quotient) === \sprintf('%.12e', $rounded); - } - - return \sprintf('%.12e', $value2) === \sprintf('%.12e', $remainder); - } - - protected function getErrorCode(): ?string - { - return DivisibleBy::NOT_DIVISIBLE_BY; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Email.php b/app/vendor/symfony/validator/Constraints/Email.php deleted file mode 100644 index 193384019..000000000 --- a/app/vendor/symfony/validator/Constraints/Email.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Egulias\EmailValidator\EmailValidator as StrictEmailValidator; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\InvalidArgumentException; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * Validates that a value is a valid email address. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Email extends Constraint -{ - public const VALIDATION_MODE_HTML5_ALLOW_NO_TLD = 'html5-allow-no-tld'; - public const VALIDATION_MODE_HTML5 = 'html5'; - public const VALIDATION_MODE_STRICT = 'strict'; - - public const INVALID_FORMAT_ERROR = 'bd79c0ab-ddba-46cc-a703-a7a4b08de310'; - - public const VALIDATION_MODES = [ - self::VALIDATION_MODE_HTML5_ALLOW_NO_TLD, - self::VALIDATION_MODE_HTML5, - self::VALIDATION_MODE_STRICT, - ]; - - protected const ERROR_NAMES = [ - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - ]; - - public string $message = 'This value is not a valid email address.'; - public ?string $mode = null; - /** @var callable|null */ - public $normalizer; - - /** - * @param self::VALIDATION_MODE_*|null $mode The pattern used to validate the email address; pass null to use the default mode configured for the EmailValidator - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?string $mode = null, - ?callable $normalizer = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (\is_array($options) && \array_key_exists('mode', $options) && !\in_array($options['mode'], self::VALIDATION_MODES, true)) { - throw new InvalidArgumentException('The "mode" parameter value is not valid.'); - } - - if (null !== $mode && !\in_array($mode, self::VALIDATION_MODES, true)) { - throw new InvalidArgumentException('The "mode" parameter value is not valid.'); - } - - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->mode = $mode ?? $this->mode; - $this->normalizer = $normalizer ?? $this->normalizer; - - if (self::VALIDATION_MODE_STRICT === $this->mode && !class_exists(StrictEmailValidator::class)) { - throw new LogicException(\sprintf('The "egulias/email-validator" component is required to use the "%s" constraint in strict mode. Try running "composer require egulias/email-validator".', __CLASS__)); - } - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/EmailValidator.php b/app/vendor/symfony/validator/Constraints/EmailValidator.php deleted file mode 100644 index a70567cc7..000000000 --- a/app/vendor/symfony/validator/Constraints/EmailValidator.php +++ /dev/null @@ -1,104 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Egulias\EmailValidator\EmailValidator as EguliasEmailValidator; -use Egulias\EmailValidator\Validation\EmailValidation; -use Egulias\EmailValidator\Validation\NoRFCWarningsValidation; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\InvalidArgumentException; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class EmailValidator extends ConstraintValidator -{ - private const PATTERN_HTML5_ALLOW_NO_TLD = '/^[a-zA-Z0-9.!#$%&\'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/D'; - private const PATTERN_HTML5 = '/^[a-zA-Z0-9.!#$%&\'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/D'; - - private const EMAIL_PATTERNS = [ - Email::VALIDATION_MODE_HTML5 => self::PATTERN_HTML5, - Email::VALIDATION_MODE_HTML5_ALLOW_NO_TLD => self::PATTERN_HTML5_ALLOW_NO_TLD, - ]; - - private string $defaultMode; - - public function __construct(string $defaultMode = Email::VALIDATION_MODE_HTML5) - { - if (!\in_array($defaultMode, Email::VALIDATION_MODES, true)) { - throw new InvalidArgumentException('The "defaultMode" parameter value is not valid.'); - } - - $this->defaultMode = $defaultMode; - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Email) { - throw new UnexpectedTypeException($constraint, Email::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - if ('' === $value) { - return; - } - - if (null !== $constraint->normalizer) { - $value = ($constraint->normalizer)($value); - } - - if (null === $constraint->mode) { - if (Email::VALIDATION_MODE_STRICT === $this->defaultMode && !class_exists(EguliasEmailValidator::class)) { - throw new LogicException(\sprintf('The "egulias/email-validator" component is required to make the "%s" constraint default to strict mode. Try running "composer require egulias/email-validator".', Email::class)); - } - - $constraint->mode = $this->defaultMode; - } - - if (!\in_array($constraint->mode, Email::VALIDATION_MODES, true)) { - throw new InvalidArgumentException(\sprintf('The "%s::$mode" parameter value is not valid.', get_debug_type($constraint))); - } - - if (Email::VALIDATION_MODE_STRICT === $constraint->mode) { - $strictValidator = new EguliasEmailValidator(); - - if (interface_exists(EmailValidation::class) && !$strictValidator->isValid($value, new NoRFCWarningsValidation())) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Email::INVALID_FORMAT_ERROR) - ->addViolation(); - } elseif (!interface_exists(EmailValidation::class) && !$strictValidator->isValid($value, false, true)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Email::INVALID_FORMAT_ERROR) - ->addViolation(); - } - } elseif (!preg_match(self::EMAIL_PATTERNS[$constraint->mode], $value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Email::INVALID_FORMAT_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/EnableAutoMapping.php b/app/vendor/symfony/validator/Constraints/EnableAutoMapping.php deleted file mode 100644 index 58e77805a..000000000 --- a/app/vendor/symfony/validator/Constraints/EnableAutoMapping.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Enables auto mapping. - * - * Using the attribute on a property has higher precedence than using it on a class, - * which has higher precedence than any configuration that might be defined outside the class. - * - * @author Kévin Dunglas - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::TARGET_CLASS)] -class EnableAutoMapping extends Constraint -{ - #[HasNamedArguments] - public function __construct(?array $options = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - if (\is_array($options) && \array_key_exists('groups', $options)) { - throw new ConstraintDefinitionException(\sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); - } - - parent::__construct($options, null, $payload); - } - - public function getTargets(): string|array - { - return [self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT]; - } -} diff --git a/app/vendor/symfony/validator/Constraints/EqualTo.php b/app/vendor/symfony/validator/Constraints/EqualTo.php deleted file mode 100644 index 6ac5b22ca..000000000 --- a/app/vendor/symfony/validator/Constraints/EqualTo.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is equal to another value. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class EqualTo extends AbstractComparison -{ - public const NOT_EQUAL_ERROR = '478618a7-95ba-473d-9101-cabd45e49115'; - - protected const ERROR_NAMES = [ - self::NOT_EQUAL_ERROR => 'NOT_EQUAL_ERROR', - ]; - - public string $message = 'This value should be equal to {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/EqualToValidator.php b/app/vendor/symfony/validator/Constraints/EqualToValidator.php deleted file mode 100644 index a8b5bad9d..000000000 --- a/app/vendor/symfony/validator/Constraints/EqualToValidator.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates values are equal (==). - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -class EqualToValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - return $value1 == $value2; - } - - protected function getErrorCode(): ?string - { - return EqualTo::NOT_EQUAL_ERROR; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Existence.php b/app/vendor/symfony/validator/Constraints/Existence.php deleted file mode 100644 index 8a0131242..000000000 --- a/app/vendor/symfony/validator/Constraints/Existence.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * @author Bernhard Schussek - */ -abstract class Existence extends Composite -{ - public array|Constraint $constraints = []; - - #[HasNamedArguments] - public function __construct(mixed $constraints = null, ?array $groups = null, mixed $payload = null) - { - if (!$constraints instanceof Constraint && !\is_array($constraints) || \is_array($constraints) && !array_is_list($constraints)) { - parent::__construct($constraints, $groups, $payload); - } else { - $this->constraints = $constraints; - - parent::__construct(null, $groups, $payload); - } - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'constraints'; - } - - protected function getCompositeOption(): string - { - return 'constraints'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Expression.php b/app/vendor/symfony/validator/Constraints/Expression.php deleted file mode 100644 index 1c990cf6e..000000000 --- a/app/vendor/symfony/validator/Constraints/Expression.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\ExpressionLanguage\Expression as ExpressionObject; -use Symfony\Component\ExpressionLanguage\ExpressionLanguage; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Validates a value using an expression from the Expression Language component. - * - * @see https://symfony.com/doc/current/components/expression_language.html - * - * @author Fabien Potencier - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::TARGET_CLASS | \Attribute::IS_REPEATABLE)] -class Expression extends Constraint -{ - public const EXPRESSION_FAILED_ERROR = '6b3befbc-2f01-4ddf-be21-b57898905284'; - - protected const ERROR_NAMES = [ - self::EXPRESSION_FAILED_ERROR => 'EXPRESSION_FAILED_ERROR', - ]; - - public string $message = 'This value is not valid.'; - public string|ExpressionObject|null $expression = null; - public array $values = []; - public bool $negate = true; - - /** - * @param string|ExpressionObject|array|null $expression The expression to evaluate - * @param array|null $values The values of the custom variables used in the expression (defaults to an empty array) - * @param string[]|null $groups - * @param bool|null $negate Whether to fail if the expression evaluates to true (defaults to false) - */ - #[HasNamedArguments] - public function __construct( - string|ExpressionObject|array|null $expression, - ?string $message = null, - ?array $values = null, - ?array $groups = null, - mixed $payload = null, - ?array $options = null, - ?bool $negate = null, - ) { - if (!class_exists(ExpressionLanguage::class)) { - throw new LogicException(\sprintf('The "symfony/expression-language" component is required to use the "%s" constraint. Try running "composer require symfony/expression-language".', __CLASS__)); - } - - if (null === $expression && !isset($options['expression'])) { - throw new MissingOptionsException(\sprintf('The options "expression" must be set for constraint "%s".', self::class), ['expression']); - } - - if (\is_array($expression)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($expression, $options ?? []); - $expression = null; - } else { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->expression = $expression ?? $this->expression; - $this->values = $values ?? $this->values; - $this->negate = $negate ?? $this->negate; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'expression'; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['expression']; - } - - public function getTargets(): string|array - { - return [self::CLASS_CONSTRAINT, self::PROPERTY_CONSTRAINT]; - } - - public function validatedBy(): string - { - return 'validator.expression'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/ExpressionLanguageProvider.php b/app/vendor/symfony/validator/Constraints/ExpressionLanguageProvider.php deleted file mode 100644 index 0a3727503..000000000 --- a/app/vendor/symfony/validator/Constraints/ExpressionLanguageProvider.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\ExpressionLanguage\ExpressionFunction; -use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface; - -class ExpressionLanguageProvider implements ExpressionFunctionProviderInterface -{ - public function getFunctions(): array - { - return [ - new ExpressionFunction('is_valid', function (...$arguments) { - return \sprintf( - '0 === $context->getValidator()->inContext($context)->validate(%s)->getViolations()->count()', - implode(', ', $arguments) - ); - }, function (array $variables, ...$arguments): bool { - return 0 === $variables['context']->getValidator()->inContext($variables['context'])->validate(...$arguments)->getViolations()->count(); - }), - ]; - } -} diff --git a/app/vendor/symfony/validator/Constraints/ExpressionSyntax.php b/app/vendor/symfony/validator/Constraints/ExpressionSyntax.php deleted file mode 100644 index 55ed3c542..000000000 --- a/app/vendor/symfony/validator/Constraints/ExpressionSyntax.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is valid as an ExpressionLanguage expression. - * - * @author Andrey Sevastianov - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class ExpressionSyntax extends Constraint -{ - public const EXPRESSION_SYNTAX_ERROR = 'e219aa22-8b11-48ec-81a0-fc07cdb0e13f'; - - protected const ERROR_NAMES = [ - self::EXPRESSION_SYNTAX_ERROR => 'EXPRESSION_SYNTAX_ERROR', - ]; - - public string $message = 'This value should be a valid expression.'; - public ?string $service = null; - public ?array $allowedVariables = null; - - /** - * @param non-empty-string|null $service The service used to validate the constraint instead of the default one - * @param string[]|null $allowedVariables Restrict the available variables in the expression to these values (defaults to null that allows any variable) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?string $service = null, ?array $allowedVariables = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->service = $service ?? $this->service; - $this->allowedVariables = $allowedVariables ?? $this->allowedVariables; - } - - public function validatedBy(): string - { - return $this->service ?? static::class.'Validator'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/ExpressionSyntaxValidator.php b/app/vendor/symfony/validator/Constraints/ExpressionSyntaxValidator.php deleted file mode 100644 index 51c69f5e4..000000000 --- a/app/vendor/symfony/validator/Constraints/ExpressionSyntaxValidator.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\ExpressionLanguage\ExpressionLanguage; -use Symfony\Component\ExpressionLanguage\Parser; -use Symfony\Component\ExpressionLanguage\SyntaxError; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Andrey Sevastianov - */ -class ExpressionSyntaxValidator extends ConstraintValidator -{ - public function __construct( - private ?ExpressionLanguage $expressionLanguage = null, - ) { - } - - public function validate(mixed $expression, Constraint $constraint): void - { - if (!$constraint instanceof ExpressionSyntax) { - throw new UnexpectedTypeException($constraint, ExpressionSyntax::class); - } - - if (null === $expression || '' === $expression) { - return; - } - - if (!\is_string($expression) && !$expression instanceof \Stringable) { - throw new UnexpectedValueException($expression, 'string'); - } - - $this->expressionLanguage ??= new ExpressionLanguage(); - - try { - if (null === $constraint->allowedVariables && \defined(Parser::class.'::IGNORE_UNKNOWN_VARIABLES')) { - $this->expressionLanguage->lint($expression, [], Parser::IGNORE_UNKNOWN_VARIABLES); - } else { - $this->expressionLanguage->lint($expression, $constraint->allowedVariables); - } - } catch (SyntaxError $exception) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ syntax_error }}', $this->formatValue($exception->getMessage())) - ->setInvalidValue((string) $expression) - ->setCode(ExpressionSyntax::EXPRESSION_SYNTAX_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/ExpressionValidator.php b/app/vendor/symfony/validator/Constraints/ExpressionValidator.php deleted file mode 100644 index 17ee72499..000000000 --- a/app/vendor/symfony/validator/Constraints/ExpressionValidator.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\ExpressionLanguage\ExpressionLanguage; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Fabien Potencier - * @author Bernhard Schussek - */ -class ExpressionValidator extends ConstraintValidator -{ - private ExpressionLanguage $expressionLanguage; - - public function __construct(?ExpressionLanguage $expressionLanguage = null) - { - if ($expressionLanguage) { - $this->expressionLanguage = $expressionLanguage; - } - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Expression) { - throw new UnexpectedTypeException($constraint, Expression::class); - } - - $variables = $constraint->values; - $variables['value'] = $value; - $variables['this'] = $this->context->getObject(); - $variables['context'] = $this->context; - - if ($constraint->negate xor $this->getExpressionLanguage()->evaluate($constraint->expression, $variables)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value, self::OBJECT_TO_STRING)) - ->setCode(Expression::EXPRESSION_FAILED_ERROR) - ->addViolation(); - } - } - - private function getExpressionLanguage(): ExpressionLanguage - { - if (!isset($this->expressionLanguage)) { - $this->expressionLanguage = new ExpressionLanguage(); - $this->expressionLanguage->registerProvider(new ExpressionLanguageProvider()); - } - - return $this->expressionLanguage; - } -} diff --git a/app/vendor/symfony/validator/Constraints/File.php b/app/vendor/symfony/validator/Constraints/File.php deleted file mode 100644 index 169e94154..000000000 --- a/app/vendor/symfony/validator/Constraints/File.php +++ /dev/null @@ -1,231 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\HttpFoundation\File\UploadedFile; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\InvalidArgumentException; - -/** - * Validates that a value is a valid "file". - * - * A file can be one of the following: - * - A string (or object with a __toString() method) path to an existing file; - * - A valid {@see \Symfony\Component\HttpFoundation\File\File} object (including objects of {@see UploadedFile} class). - * - * @property int $maxSize - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class File extends Constraint -{ - // Check the Image constraint for clashes if adding new constants here - - public const NOT_FOUND_ERROR = 'd2a3fb6e-7ddc-4210-8fbf-2ab345ce1998'; - public const NOT_READABLE_ERROR = 'c20c92a4-5bfa-4202-9477-28e800e0f6ff'; - public const EMPTY_ERROR = '5d743385-9775-4aa5-8ff5-495fb1e60137'; - public const TOO_LARGE_ERROR = 'df8637af-d466-48c6-a59d-e7126250a654'; - public const INVALID_MIME_TYPE_ERROR = '744f00bc-4389-4c74-92de-9a43cde55534'; - public const INVALID_EXTENSION_ERROR = 'c8c7315c-6186-4719-8b71-5659e16bdcb7'; - public const FILENAME_TOO_LONG = 'e5706483-91a8-49d8-9a59-5e81a3c634a8'; - public const FILENAME_INVALID_CHARACTERS = '04ee58e1-42b4-45c7-8423-8a4a145fedd9'; - - public const FILENAME_COUNT_BYTES = 'bytes'; - public const FILENAME_COUNT_CODEPOINTS = 'codepoints'; - public const FILENAME_COUNT_GRAPHEMES = 'graphemes'; - - private const FILENAME_VALID_COUNT_UNITS = [ - self::FILENAME_COUNT_BYTES, - self::FILENAME_COUNT_CODEPOINTS, - self::FILENAME_COUNT_GRAPHEMES, - ]; - - protected const ERROR_NAMES = [ - self::NOT_FOUND_ERROR => 'NOT_FOUND_ERROR', - self::NOT_READABLE_ERROR => 'NOT_READABLE_ERROR', - self::EMPTY_ERROR => 'EMPTY_ERROR', - self::TOO_LARGE_ERROR => 'TOO_LARGE_ERROR', - self::INVALID_MIME_TYPE_ERROR => 'INVALID_MIME_TYPE_ERROR', - self::INVALID_EXTENSION_ERROR => 'INVALID_EXTENSION_ERROR', - self::FILENAME_TOO_LONG => 'FILENAME_TOO_LONG', - self::FILENAME_INVALID_CHARACTERS => 'FILENAME_INVALID_CHARACTERS', - ]; - - public ?bool $binaryFormat = null; - public array|string $mimeTypes = []; - public ?int $filenameMaxLength = null; - public array|string $extensions = []; - public ?string $filenameCharset = null; - /** @var self::FILENAME_COUNT_* */ - public string $filenameCountUnit = self::FILENAME_COUNT_BYTES; - - public string $notFoundMessage = 'The file could not be found.'; - public string $notReadableMessage = 'The file is not readable.'; - public string $maxSizeMessage = 'The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.'; - public string $mimeTypesMessage = 'The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.'; - public string $extensionsMessage = 'The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}.'; - public string $disallowEmptyMessage = 'An empty file is not allowed.'; - public string $filenameTooLongMessage = 'The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.'; - public string $filenameCharsetMessage = 'This filename does not match the expected charset.'; - - public string $uploadIniSizeErrorMessage = 'The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.'; - public string $uploadFormSizeErrorMessage = 'The file is too large.'; - public string $uploadPartialErrorMessage = 'The file was only partially uploaded.'; - public string $uploadNoFileErrorMessage = 'No file was uploaded.'; - public string $uploadNoTmpDirErrorMessage = 'No temporary folder was configured in php.ini.'; - public string $uploadCantWriteErrorMessage = 'Cannot write temporary file to disk.'; - public string $uploadExtensionErrorMessage = 'A PHP extension caused the upload to fail.'; - public string $uploadErrorMessage = 'The file could not be uploaded.'; - - protected int|string|null $maxSize = null; - - /** - * @param positive-int|string|null $maxSize The max size of the underlying file - * @param bool|null $binaryFormat Pass true to use binary-prefixed units (KiB, MiB, etc.) or false to use SI-prefixed units (kB, MB) in displayed messages. Pass null to guess the format from the maxSize option. (defaults to null) - * @param string[]|string|null $mimeTypes Acceptable media type(s). Prefer the extensions option that also enforce the file's extension consistency. - * @param positive-int|null $filenameMaxLength Maximum length of the file name - * @param string|null $disallowEmptyMessage Enable empty upload validation with this message in case of error - * @param string|null $uploadIniSizeErrorMessage Message if the file size exceeds the max size configured in php.ini - * @param string|null $uploadFormSizeErrorMessage Message if the file size exceeds the max size configured in the HTML input field - * @param string|null $uploadPartialErrorMessage Message if the file is only partially uploaded - * @param string|null $uploadNoTmpDirErrorMessage Message if there is no upload_tmp_dir in php.ini - * @param string|null $uploadCantWriteErrorMessage Message if the uploaded file can not be stored in the temporary directory - * @param string|null $uploadErrorMessage Message if an unknown error occurred on upload - * @param string[]|null $groups - * @param array|string|null $extensions A list of valid extensions to check. Related media types are also enforced ({@see https://symfony.com/doc/current/reference/constraints/File.html#extensions}) - * @param string|null $filenameCharset The charset to be used when computing filename length (defaults to null) - * @param self::FILENAME_COUNT_*|null $filenameCountUnit The character count unit used for checking the filename length (defaults to {@see self::FILENAME_COUNT_BYTES}) - * - * @see https://www.iana.org/assignments/media-types/media-types.xhtml Existing media types - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - int|string|null $maxSize = null, - ?bool $binaryFormat = null, - array|string|null $mimeTypes = null, - ?int $filenameMaxLength = null, - ?string $notFoundMessage = null, - ?string $notReadableMessage = null, - ?string $maxSizeMessage = null, - ?string $mimeTypesMessage = null, - ?string $disallowEmptyMessage = null, - ?string $filenameTooLongMessage = null, - - ?string $uploadIniSizeErrorMessage = null, - ?string $uploadFormSizeErrorMessage = null, - ?string $uploadPartialErrorMessage = null, - ?string $uploadNoFileErrorMessage = null, - ?string $uploadNoTmpDirErrorMessage = null, - ?string $uploadCantWriteErrorMessage = null, - ?string $uploadExtensionErrorMessage = null, - ?string $uploadErrorMessage = null, - ?array $groups = null, - mixed $payload = null, - array|string|null $extensions = null, - ?string $extensionsMessage = null, - ?string $filenameCharset = null, - ?string $filenameCountUnit = null, - ?string $filenameCharsetMessage = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->maxSize = $maxSize ?? $this->maxSize; - $this->binaryFormat = $binaryFormat ?? $this->binaryFormat; - $this->mimeTypes = $mimeTypes ?? $this->mimeTypes; - $this->filenameMaxLength = $filenameMaxLength ?? $this->filenameMaxLength; - $this->filenameCharset = $filenameCharset ?? $this->filenameCharset; - $this->filenameCountUnit = $filenameCountUnit ?? $this->filenameCountUnit; - $this->extensions = $extensions ?? $this->extensions; - $this->notFoundMessage = $notFoundMessage ?? $this->notFoundMessage; - $this->notReadableMessage = $notReadableMessage ?? $this->notReadableMessage; - $this->maxSizeMessage = $maxSizeMessage ?? $this->maxSizeMessage; - $this->mimeTypesMessage = $mimeTypesMessage ?? $this->mimeTypesMessage; - $this->extensionsMessage = $extensionsMessage ?? $this->extensionsMessage; - $this->disallowEmptyMessage = $disallowEmptyMessage ?? $this->disallowEmptyMessage; - $this->filenameTooLongMessage = $filenameTooLongMessage ?? $this->filenameTooLongMessage; - $this->filenameCharsetMessage = $filenameCharsetMessage ?? $this->filenameCharsetMessage; - $this->uploadIniSizeErrorMessage = $uploadIniSizeErrorMessage ?? $this->uploadIniSizeErrorMessage; - $this->uploadFormSizeErrorMessage = $uploadFormSizeErrorMessage ?? $this->uploadFormSizeErrorMessage; - $this->uploadPartialErrorMessage = $uploadPartialErrorMessage ?? $this->uploadPartialErrorMessage; - $this->uploadNoFileErrorMessage = $uploadNoFileErrorMessage ?? $this->uploadNoFileErrorMessage; - $this->uploadNoTmpDirErrorMessage = $uploadNoTmpDirErrorMessage ?? $this->uploadNoTmpDirErrorMessage; - $this->uploadCantWriteErrorMessage = $uploadCantWriteErrorMessage ?? $this->uploadCantWriteErrorMessage; - $this->uploadExtensionErrorMessage = $uploadExtensionErrorMessage ?? $this->uploadExtensionErrorMessage; - $this->uploadErrorMessage = $uploadErrorMessage ?? $this->uploadErrorMessage; - - if (null !== $this->maxSize) { - $this->normalizeBinaryFormat($this->maxSize); - } - - if (!\in_array($this->filenameCountUnit, self::FILENAME_VALID_COUNT_UNITS, true)) { - throw new InvalidArgumentException(\sprintf('The "filenameCountUnit" option must be one of the "%s::FILENAME_COUNT_*" constants ("%s" given).', __CLASS__, $this->filenameCountUnit)); - } - } - - public function __set(string $option, mixed $value): void - { - if ('maxSize' === $option) { - $this->normalizeBinaryFormat($value); - - return; - } - - parent::__set($option, $value); - } - - public function __get(string $option): mixed - { - if ('maxSize' === $option) { - return $this->maxSize; - } - - return parent::__get($option); - } - - public function __isset(string $option): bool - { - if ('maxSize' === $option) { - return true; - } - - return parent::__isset($option); - } - - private function normalizeBinaryFormat(int|string $maxSize): void - { - $factors = [ - 'k' => 1000, - 'ki' => 1 << 10, - 'm' => 1000 * 1000, - 'mi' => 1 << 20, - 'g' => 1000 * 1000 * 1000, - 'gi' => 1 << 30, - ]; - if (ctype_digit((string) $maxSize)) { - $this->maxSize = (int) $maxSize; - $this->binaryFormat ??= false; - } elseif (preg_match('/^(\d++)('.implode('|', array_keys($factors)).')$/i', $maxSize, $matches)) { - $this->maxSize = $matches[1] * $factors[$unit = strtolower($matches[2])]; - $this->binaryFormat ??= 2 === \strlen($unit); - } else { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum size.', $maxSize)); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/FileValidator.php b/app/vendor/symfony/validator/Constraints/FileValidator.php deleted file mode 100644 index 2b8e33494..000000000 --- a/app/vendor/symfony/validator/Constraints/FileValidator.php +++ /dev/null @@ -1,332 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\HttpFoundation\File\File as FileObject; -use Symfony\Component\HttpFoundation\File\UploadedFile; -use Symfony\Component\Mime\MimeTypes; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class FileValidator extends ConstraintValidator -{ - public const KB_BYTES = 1000; - public const MB_BYTES = 1000000; - public const KIB_BYTES = 1024; - public const MIB_BYTES = 1048576; - - private const SUFFICES = [ - 1 => 'bytes', - self::KB_BYTES => 'kB', - self::MB_BYTES => 'MB', - self::KIB_BYTES => 'KiB', - self::MIB_BYTES => 'MiB', - ]; - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof File) { - throw new UnexpectedTypeException($constraint, File::class); - } - - if (null === $value || '' === $value) { - return; - } - - if ($value instanceof UploadedFile && !$value->isValid()) { - switch ($value->getError()) { - case \UPLOAD_ERR_INI_SIZE: - $iniLimitSize = UploadedFile::getMaxFilesize(); - if ($constraint->maxSize && $constraint->maxSize < $iniLimitSize) { - $limitInBytes = $constraint->maxSize; - $binaryFormat = $constraint->binaryFormat; - } else { - $limitInBytes = $iniLimitSize; - $binaryFormat = $constraint->binaryFormat ?? true; - } - - [, $limitAsString, $suffix] = $this->factorizeSizes(0, $limitInBytes, $binaryFormat); - $this->context->buildViolation($constraint->uploadIniSizeErrorMessage) - ->setParameter('{{ limit }}', $limitAsString) - ->setParameter('{{ suffix }}', $suffix) - ->setCode((string) \UPLOAD_ERR_INI_SIZE) - ->addViolation(); - - return; - case \UPLOAD_ERR_FORM_SIZE: - $this->context->buildViolation($constraint->uploadFormSizeErrorMessage) - ->setCode((string) \UPLOAD_ERR_FORM_SIZE) - ->addViolation(); - - return; - case \UPLOAD_ERR_PARTIAL: - $this->context->buildViolation($constraint->uploadPartialErrorMessage) - ->setCode((string) \UPLOAD_ERR_PARTIAL) - ->addViolation(); - - return; - case \UPLOAD_ERR_NO_FILE: - $this->context->buildViolation($constraint->uploadNoFileErrorMessage) - ->setCode((string) \UPLOAD_ERR_NO_FILE) - ->addViolation(); - - return; - case \UPLOAD_ERR_NO_TMP_DIR: - $this->context->buildViolation($constraint->uploadNoTmpDirErrorMessage) - ->setCode((string) \UPLOAD_ERR_NO_TMP_DIR) - ->addViolation(); - - return; - case \UPLOAD_ERR_CANT_WRITE: - $this->context->buildViolation($constraint->uploadCantWriteErrorMessage) - ->setCode((string) \UPLOAD_ERR_CANT_WRITE) - ->addViolation(); - - return; - case \UPLOAD_ERR_EXTENSION: - $this->context->buildViolation($constraint->uploadExtensionErrorMessage) - ->setCode((string) \UPLOAD_ERR_EXTENSION) - ->addViolation(); - - return; - default: - $this->context->buildViolation($constraint->uploadErrorMessage) - ->setCode((string) $value->getError()) - ->addViolation(); - - return; - } - } - - if (!\is_scalar($value) && !$value instanceof FileObject && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $path = $value instanceof FileObject ? $value->getPathname() : (string) $value; - - if (!is_file($path)) { - $this->context->buildViolation($constraint->notFoundMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setCode(File::NOT_FOUND_ERROR) - ->addViolation(); - - return; - } - - if (!is_readable($path)) { - $this->context->buildViolation($constraint->notReadableMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setCode(File::NOT_READABLE_ERROR) - ->addViolation(); - - return; - } - - $basename = $value instanceof UploadedFile ? $value->getClientOriginalName() : basename($path); - $filenameCharset = $constraint->filenameCharset ?? (File::FILENAME_COUNT_BYTES !== $constraint->filenameCountUnit ? 'UTF-8' : null); - - if ($invalidFilenameCharset = null !== $filenameCharset) { - try { - $invalidFilenameCharset = !@mb_check_encoding($basename, $constraint->filenameCharset); - } catch (\ValueError $e) { - if (!str_starts_with($e->getMessage(), 'mb_check_encoding(): Argument #2 ($encoding) must be a valid encoding')) { - throw $e; - } - } - } - - $filenameLength = $invalidFilenameCharset ? 0 : match ($constraint->filenameCountUnit) { - File::FILENAME_COUNT_BYTES => \strlen($basename), - File::FILENAME_COUNT_CODEPOINTS => mb_strlen($basename, $filenameCharset), - File::FILENAME_COUNT_GRAPHEMES => grapheme_strlen($basename), - }; - - if ($invalidFilenameCharset || false === ($filenameLength ?? false)) { - $this->context->buildViolation($constraint->filenameCharsetMessage) - ->setParameter('{{ name }}', $this->formatValue($basename)) - ->setParameter('{{ charset }}', $filenameCharset) - ->setCode(File::FILENAME_INVALID_CHARACTERS) - ->addViolation(); - - return; - } - - if ($constraint->filenameMaxLength && $constraint->filenameMaxLength < $filenameLength) { - $this->context->buildViolation($constraint->filenameTooLongMessage) - ->setParameter('{{ filename_max_length }}', $this->formatValue($constraint->filenameMaxLength)) - ->setCode(File::FILENAME_TOO_LONG) - ->setPlural($constraint->filenameMaxLength) - ->addViolation(); - - return; - } - - if (!$sizeInBytes = filesize($path)) { - $this->context->buildViolation($constraint->disallowEmptyMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setParameter('{{ name }}', $this->formatValue($basename)) - ->setCode(File::EMPTY_ERROR) - ->addViolation(); - - return; - } - - if ($constraint->maxSize) { - $limitInBytes = $constraint->maxSize; - - if ($sizeInBytes > $limitInBytes) { - [$sizeAsString, $limitAsString, $suffix] = $this->factorizeSizes($sizeInBytes, $limitInBytes, $constraint->binaryFormat); - $this->context->buildViolation($constraint->maxSizeMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setParameter('{{ size }}', $sizeAsString) - ->setParameter('{{ limit }}', $limitAsString) - ->setParameter('{{ suffix }}', $suffix) - ->setParameter('{{ name }}', $this->formatValue($basename)) - ->setCode(File::TOO_LARGE_ERROR) - ->addViolation(); - - return; - } - } - - $mimeTypes = (array) $constraint->mimeTypes; - - if ($constraint->extensions) { - $fileExtension = strtolower(pathinfo($basename, \PATHINFO_EXTENSION)); - - $found = false; - $normalizedExtensions = []; - foreach ((array) $constraint->extensions as $k => $v) { - if (!\is_string($k)) { - $k = $v; - $v = null; - } - - $normalizedExtensions[] = $k; - - if ($fileExtension !== $k) { - continue; - } - - $found = true; - if (null === $v) { - if (!class_exists(MimeTypes::class)) { - throw new LogicException('You cannot validate the mime-type of files as the Mime component is not installed. Try running "composer require symfony/mime".'); - } - - $mimeTypesHelper = MimeTypes::getDefault(); - $v = $mimeTypesHelper->getMimeTypes($k); - } - - $mimeTypes = $mimeTypes ? array_intersect($v, $mimeTypes) : (array) $v; - break; - } - - if (!$found) { - $this->context->buildViolation($constraint->extensionsMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setParameter('{{ extension }}', $this->formatValue($fileExtension)) - ->setParameter('{{ extensions }}', $this->formatValues($normalizedExtensions)) - ->setParameter('{{ name }}', $this->formatValue($basename)) - ->setCode(File::INVALID_EXTENSION_ERROR) - ->addViolation(); - } - } - - if ($mimeTypes) { - if ($value instanceof FileObject) { - $mime = $value->getMimeType(); - } elseif (isset($mimeTypesHelper) || class_exists(MimeTypes::class)) { - $mime = ($mimeTypesHelper ?? MimeTypes::getDefault())->guessMimeType($path); - } elseif (!class_exists(FileObject::class)) { - throw new LogicException('You cannot validate the mime-type of files as the Mime component is not installed. Try running "composer require symfony/mime".'); - } else { - $mime = (new FileObject($value))->getMimeType(); - } - - foreach ($mimeTypes as $mimeType) { - if ($mimeType === $mime) { - return; - } - - if ($discrete = strstr($mimeType, '/*', true)) { - if (strstr($mime, '/', true) === $discrete) { - return; - } - } - } - - $this->context->buildViolation($constraint->mimeTypesMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setParameter('{{ type }}', $this->formatValue($mime)) - ->setParameter('{{ types }}', $this->formatValues($mimeTypes)) - ->setParameter('{{ name }}', $this->formatValue($basename)) - ->setCode(File::INVALID_MIME_TYPE_ERROR) - ->addViolation(); - } - } - - private static function moreDecimalsThan(string $double, int $numberOfDecimals): bool - { - return \strlen($double) > \strlen(round($double, $numberOfDecimals)); - } - - /** - * Convert the limit to the smallest possible number - * (i.e. try "MB", then "kB", then "bytes"). - */ - private function factorizeSizes(int $size, int|float $limit, bool $binaryFormat): array - { - if ($binaryFormat) { - $coef = self::MIB_BYTES; - $coefFactor = self::KIB_BYTES; - } else { - $coef = self::MB_BYTES; - $coefFactor = self::KB_BYTES; - } - - // If $limit < $coef, $limitAsString could be < 1 with less than 3 decimals. - // In this case, we would end up displaying an allowed size < 1 (eg: 0.1 MB). - // It looks better to keep on factorizing (to display 100 kB for example). - while ($limit < $coef) { - $coef /= $coefFactor; - } - - $limitAsString = (string) ($limit / $coef); - - // Restrict the limit to 2 decimals (without rounding! we - // need the precise value) - while (self::moreDecimalsThan($limitAsString, 2)) { - $coef /= $coefFactor; - $limitAsString = (string) ($limit / $coef); - } - - // Convert size to the same measure, but round to 2 decimals - $sizeAsString = (string) round($size / $coef, 2); - - // If the size and limit produce the same string output - // (due to rounding), reduce the coefficient - while ($sizeAsString === $limitAsString) { - $coef /= $coefFactor; - $limitAsString = (string) ($limit / $coef); - $sizeAsString = (string) round($size / $coef, 2); - } - - return [$sizeAsString, $limitAsString, self::SUFFICES[$coef]]; - } -} diff --git a/app/vendor/symfony/validator/Constraints/GreaterThan.php b/app/vendor/symfony/validator/Constraints/GreaterThan.php deleted file mode 100644 index 7ce6cf04b..000000000 --- a/app/vendor/symfony/validator/Constraints/GreaterThan.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is greater than another value. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class GreaterThan extends AbstractComparison -{ - public const TOO_LOW_ERROR = '778b7ae0-84d3-481a-9dec-35fdb64b1d78'; - - protected const ERROR_NAMES = [ - self::TOO_LOW_ERROR => 'TOO_LOW_ERROR', - ]; - - public string $message = 'This value should be greater than {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php b/app/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php deleted file mode 100644 index 103ca9f53..000000000 --- a/app/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is greater than or equal to another value. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class GreaterThanOrEqual extends AbstractComparison -{ - public const TOO_LOW_ERROR = 'ea4e51d1-3342-48bd-87f1-9e672cd90cad'; - - protected const ERROR_NAMES = [ - self::TOO_LOW_ERROR => 'TOO_LOW_ERROR', - ]; - - public string $message = 'This value should be greater than or equal to {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php b/app/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php deleted file mode 100644 index bcf80a82d..000000000 --- a/app/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates values are greater than or equal to the previous (>=). - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -class GreaterThanOrEqualValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - return null === $value2 || $value1 >= $value2; - } - - protected function getErrorCode(): ?string - { - return GreaterThanOrEqual::TOO_LOW_ERROR; - } -} diff --git a/app/vendor/symfony/validator/Constraints/GreaterThanValidator.php b/app/vendor/symfony/validator/Constraints/GreaterThanValidator.php deleted file mode 100644 index 1e8734fab..000000000 --- a/app/vendor/symfony/validator/Constraints/GreaterThanValidator.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates values are greater than the previous (>). - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -class GreaterThanValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - return null === $value2 || $value1 > $value2; - } - - protected function getErrorCode(): ?string - { - return GreaterThan::TOO_LOW_ERROR; - } -} diff --git a/app/vendor/symfony/validator/Constraints/GroupSequence.php b/app/vendor/symfony/validator/Constraints/GroupSequence.php deleted file mode 100644 index 440c29003..000000000 --- a/app/vendor/symfony/validator/Constraints/GroupSequence.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; - -/** - * A sequence of validation groups. - * - * When validating a group sequence, each group will only be validated if all - * of the previous groups in the sequence succeeded. For example: - * - * $validator->validate($address, null, new GroupSequence(['Basic', 'Strict'])); - * - * In the first step, all constraints that belong to the group "Basic" will be - * validated. If none of the constraints fail, the validator will then validate - * the constraints in group "Strict". This is useful, for example, if "Strict" - * contains expensive checks that require a lot of CPU or slow, external - * services. You usually don't want to run expensive checks if any of the cheap - * checks fail. - * - * When adding metadata to a class, you can override the "Default" group of - * that class with a group sequence: - * #[GroupSequence(['Address', 'Strict'])] - * class Address - * { - * // ... - * } - * - * Whenever you validate that object in the "Default" group, the group sequence - * will be validated: - * - * $validator->validate($address); - * - * If you want to execute the constraints of the "Default" group for a class - * with an overridden default group, pass the class name as group name instead: - * - * $validator->validate($address, null, "Address") - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_CLASS)] -class GroupSequence -{ - /** - * The groups in the sequence. - * - * @var array - */ - public array $groups; - - /** - * The group in which cascaded objects are validated when validating - * this sequence. - * - * By default, cascaded objects are validated in each of the groups of - * the sequence. - * - * If a class has a group sequence attached, that sequence replaces the - * "Default" group. When validating that class in the "Default" group, the - * group sequence is used instead, but still the "Default" group should be - * cascaded to other objects. - */ - public string|GroupSequence $cascadedGroup; - - /** - * Creates a new group sequence. - * - * @param array $groups The groups in the sequence - */ - #[HasNamedArguments] - public function __construct(array $groups) - { - if (!array_is_list($groups)) { - trigger_deprecation('symfony/validator', '7.4', 'Support for passing an array of options to "%s()" is deprecated.', __METHOD__); - } - - $this->groups = $groups['value'] ?? $groups; - } -} diff --git a/app/vendor/symfony/validator/Constraints/GroupSequenceProvider.php b/app/vendor/symfony/validator/Constraints/GroupSequenceProvider.php deleted file mode 100644 index b72dd0c4c..000000000 --- a/app/vendor/symfony/validator/Constraints/GroupSequenceProvider.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; - -/** - * Attribute to define a group sequence provider. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_CLASS)] -class GroupSequenceProvider -{ - #[HasNamedArguments] - public function __construct(public ?string $provider = null) - { - } -} diff --git a/app/vendor/symfony/validator/Constraints/Hostname.php b/app/vendor/symfony/validator/Constraints/Hostname.php deleted file mode 100644 index f388c950c..000000000 --- a/app/vendor/symfony/validator/Constraints/Hostname.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is a valid host name. - * - * @author Dmitrii Poddubnyi - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Hostname extends Constraint -{ - public const INVALID_HOSTNAME_ERROR = '7057ffdb-0af4-4f7e-bd5e-e9acfa6d7a2d'; - - protected const ERROR_NAMES = [ - self::INVALID_HOSTNAME_ERROR => 'INVALID_HOSTNAME_ERROR', - ]; - - public string $message = 'This value is not a valid hostname.'; - public bool $requireTld = true; - - /** - * @param bool|null $requireTld Whether to require the hostname to include its top-level domain (defaults to true) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?bool $requireTld = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->requireTld = $requireTld ?? $this->requireTld; - } -} diff --git a/app/vendor/symfony/validator/Constraints/HostnameValidator.php b/app/vendor/symfony/validator/Constraints/HostnameValidator.php deleted file mode 100644 index 605a74f33..000000000 --- a/app/vendor/symfony/validator/Constraints/HostnameValidator.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Dmitrii Poddubnyi - */ -class HostnameValidator extends ConstraintValidator -{ - /** - * https://tools.ietf.org/html/rfc2606. - */ - private const RESERVED_TLDS = [ - 'example', - 'invalid', - 'localhost', - 'test', - ]; - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Hostname) { - throw new UnexpectedTypeException($constraint, Hostname::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - if ('' === $value) { - return; - } - if (!$this->isValid($value) || ($constraint->requireTld && !$this->hasValidTld($value))) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Hostname::INVALID_HOSTNAME_ERROR) - ->addViolation(); - } - } - - private function isValid(string $domain): bool - { - return false !== filter_var($domain, \FILTER_VALIDATE_DOMAIN, \FILTER_FLAG_HOSTNAME); - } - - private function hasValidTld(string $domain): bool - { - return str_contains($domain, '.') && !\in_array(substr($domain, strrpos($domain, '.') + 1), self::RESERVED_TLDS, true); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Iban.php b/app/vendor/symfony/validator/Constraints/Iban.php deleted file mode 100644 index 4898155c1..000000000 --- a/app/vendor/symfony/validator/Constraints/Iban.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is a valid bank account number according to the IBAN format. - * - * @see https://en.wikipedia.org/wiki/International_Bank_Account_Number - * - * @author Manuel Reinhard - * @author Michael Schummel - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Iban extends Constraint -{ - public const INVALID_COUNTRY_CODE_ERROR = 'de78ee2c-bd50-44e2-aec8-3d8228aeadb9'; - public const INVALID_CHARACTERS_ERROR = '8d3d85e4-784f-4719-a5bc-d9e40d45a3a5'; - public const CHECKSUM_FAILED_ERROR = 'b9401321-f9bf-4dcb-83c1-f31094440795'; - public const INVALID_FORMAT_ERROR = 'c8d318f1-2ecc-41ba-b983-df70d225cf5a'; - public const NOT_SUPPORTED_COUNTRY_CODE_ERROR = 'e2c259f3-4b46-48e6-b72e-891658158ec8'; - - protected const ERROR_NAMES = [ - self::INVALID_COUNTRY_CODE_ERROR => 'INVALID_COUNTRY_CODE_ERROR', - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - self::CHECKSUM_FAILED_ERROR => 'CHECKSUM_FAILED_ERROR', - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - self::NOT_SUPPORTED_COUNTRY_CODE_ERROR => 'NOT_SUPPORTED_COUNTRY_CODE_ERROR', - ]; - - public string $message = 'This is not a valid International Bank Account Number (IBAN).'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/IbanValidator.php b/app/vendor/symfony/validator/Constraints/IbanValidator.php deleted file mode 100644 index 866dcec1f..000000000 --- a/app/vendor/symfony/validator/Constraints/IbanValidator.php +++ /dev/null @@ -1,298 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Manuel Reinhard - * @author Michael Schummel - * @author Bernhard Schussek - */ -class IbanValidator extends ConstraintValidator -{ - /** - * IBAN country specific formats. - * - * The first 2 characters from an IBAN format are the two-character ISO country code. - * The following 2 characters represent the check digits calculated from the rest of the IBAN characters. - * The rest are up to thirty alphanumeric characters for - * a BBAN (Basic Bank Account Number) which has a fixed length per country and, - * included within it, a bank identifier with a fixed position and a fixed length per country - * - * @see Resources/bin/sync-iban-formats.php - * @see https://www.swift.com/swift-resource/11971/download?language=en - * @see https://en.wikipedia.org/wiki/International_Bank_Account_Number - */ - private const FORMATS = [ - // auto-generated - 'AD' => 'AD\d{2}\d{4}\d{4}[\dA-Z]{12}', // Andorra - 'AE' => 'AE\d{2}\d{3}\d{16}', // United Arab Emirates (The) - 'AL' => 'AL\d{2}\d{8}[\dA-Z]{16}', // Albania - 'AO' => 'AO\d{2}\d{21}', // Angola - 'AT' => 'AT\d{2}\d{5}\d{11}', // Austria - 'AX' => 'FI\d{2}\d{3}\d{11}', // Finland - 'AZ' => 'AZ\d{2}[A-Z]{4}[\dA-Z]{20}', // Azerbaijan - 'BA' => 'BA\d{2}\d{3}\d{3}\d{8}\d{2}', // Bosnia and Herzegovina - 'BE' => 'BE\d{2}\d{3}\d{7}\d{2}', // Belgium - 'BF' => 'BF\d{2}[\dA-Z]{2}\d{22}', // Burkina Faso - 'BG' => 'BG\d{2}[A-Z]{4}\d{4}\d{2}[\dA-Z]{8}', // Bulgaria - 'BH' => 'BH\d{2}[A-Z]{4}[\dA-Z]{14}', // Bahrain - 'BI' => 'BI\d{2}\d{5}\d{5}\d{11}\d{2}', // Burundi - 'BJ' => 'BJ\d{2}[\dA-Z]{2}\d{22}', // Benin - 'BL' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'BR' => 'BR\d{2}\d{8}\d{5}\d{10}[A-Z]{1}[\dA-Z]{1}', // Brazil - 'BY' => 'BY\d{2}[\dA-Z]{4}\d{4}[\dA-Z]{16}', // Republic of Belarus - 'CF' => 'CF\d{2}\d{23}', // Central African Republic - 'CG' => 'CG\d{2}\d{23}', // Congo, Republic of the - 'CH' => 'CH\d{2}\d{5}[\dA-Z]{12}', // Switzerland - 'CI' => 'CI\d{2}[A-Z]{1}\d{23}', // Côte d'Ivoire - 'CM' => 'CM\d{2}\d{23}', // Cameroon - 'CR' => 'CR\d{2}\d{4}\d{14}', // Costa Rica - 'CV' => 'CV\d{2}\d{21}', // Cabo Verde - 'CY' => 'CY\d{2}\d{3}\d{5}[\dA-Z]{16}', // Cyprus - 'CZ' => 'CZ\d{2}\d{4}\d{6}\d{10}', // Czechia - 'DE' => 'DE\d{2}\d{8}\d{10}', // Germany - 'DJ' => 'DJ\d{2}\d{5}\d{5}\d{11}\d{2}', // Djibouti - 'DK' => 'DK\d{2}\d{4}\d{9}\d{1}', // Denmark - 'DO' => 'DO\d{2}[\dA-Z]{4}\d{20}', // Dominican Republic - 'DZ' => 'DZ\d{2}\d{22}', // Algeria - 'EE' => 'EE\d{2}\d{2}\d{14}', // Estonia - 'EG' => 'EG\d{2}\d{4}\d{4}\d{17}', // Egypt - 'ES' => 'ES\d{2}\d{4}\d{4}\d{1}\d{1}\d{10}', // Spain - 'FI' => 'FI\d{2}\d{3}\d{11}', // Finland - 'FK' => 'FK\d{2}[A-Z]{2}\d{12}', // Falkland Islands - 'FO' => 'FO\d{2}\d{4}\d{9}\d{1}', // Faroe Islands - 'FR' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'GA' => 'GA\d{2}\d{23}', // Gabon - 'GB' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom - 'GE' => 'GE\d{2}[A-Z]{2}\d{16}', // Georgia - 'GF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'GG' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom - 'GI' => 'GI\d{2}[A-Z]{4}[\dA-Z]{15}', // Gibraltar - 'GL' => 'GL\d{2}\d{4}\d{9}\d{1}', // Greenland - 'GP' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'GQ' => 'GQ\d{2}\d{23}', // Equatorial Guinea - 'GR' => 'GR\d{2}\d{3}\d{4}[\dA-Z]{16}', // Greece - 'GT' => 'GT\d{2}[\dA-Z]{4}[\dA-Z]{20}', // Guatemala - 'GW' => 'GW\d{2}[\dA-Z]{2}\d{19}', // Guinea-Bissau - 'HN' => 'HN\d{2}[A-Z]{4}\d{20}', // Honduras - 'HR' => 'HR\d{2}\d{7}\d{10}', // Croatia - 'HU' => 'HU\d{2}\d{3}\d{4}\d{1}\d{15}\d{1}', // Hungary - 'IE' => 'IE\d{2}[A-Z]{4}\d{6}\d{8}', // Ireland - 'IL' => 'IL\d{2}\d{3}\d{3}\d{13}', // Israel - 'IM' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom - 'IQ' => 'IQ\d{2}[A-Z]{4}\d{3}\d{12}', // Iraq - 'IR' => 'IR\d{2}\d{22}', // Iran - 'IS' => 'IS\d{2}\d{4}\d{2}\d{6}\d{10}', // Iceland - 'IT' => 'IT\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12}', // Italy - 'JE' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom - 'JO' => 'JO\d{2}[A-Z]{4}\d{4}[\dA-Z]{18}', // Jordan - 'KM' => 'KM\d{2}\d{23}', // Comoros - 'KW' => 'KW\d{2}[A-Z]{4}[\dA-Z]{22}', // Kuwait - 'KZ' => 'KZ\d{2}\d{3}[\dA-Z]{13}', // Kazakhstan - 'LB' => 'LB\d{2}\d{4}[\dA-Z]{20}', // Lebanon - 'LC' => 'LC\d{2}[A-Z]{4}[\dA-Z]{24}', // Saint Lucia - 'LI' => 'LI\d{2}\d{5}[\dA-Z]{12}', // Liechtenstein - 'LT' => 'LT\d{2}\d{5}\d{11}', // Lithuania - 'LU' => 'LU\d{2}\d{3}[\dA-Z]{13}', // Luxembourg - 'LV' => 'LV\d{2}[A-Z]{4}[\dA-Z]{13}', // Latvia - 'LY' => 'LY\d{2}\d{3}\d{3}\d{15}', // Libya - 'MA' => 'MA\d{2}\d{24}', // Morocco - 'MC' => 'MC\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Monaco - 'MD' => 'MD\d{2}[\dA-Z]{2}[\dA-Z]{18}', // Moldova - 'ME' => 'ME\d{2}\d{3}\d{13}\d{2}', // Montenegro - 'MF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'MG' => 'MG\d{2}\d{23}', // Madagascar - 'MK' => 'MK\d{2}\d{3}[\dA-Z]{10}\d{2}', // Macedonia - 'ML' => 'ML\d{2}[\dA-Z]{2}\d{22}', // Mali - 'MN' => 'MN\d{2}\d{4}\d{12}', // Mongolia - 'MQ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'MR' => 'MR\d{2}\d{5}\d{5}\d{11}\d{2}', // Mauritania - 'MT' => 'MT\d{2}[A-Z]{4}\d{5}[\dA-Z]{18}', // Malta - 'MU' => 'MU\d{2}[A-Z]{4}\d{2}\d{2}\d{12}\d{3}[A-Z]{3}', // Mauritius - 'MZ' => 'MZ\d{2}\d{21}', // Mozambique - 'NC' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'NE' => 'NE\d{2}[A-Z]{2}\d{22}', // Niger - 'NI' => 'NI\d{2}[A-Z]{4}\d{20}', // Nicaragua - 'NL' => 'NL\d{2}[A-Z]{4}\d{10}', // Netherlands (The) - 'NO' => 'NO\d{2}\d{4}\d{6}\d{1}', // Norway - 'OM' => 'OM\d{2}\d{3}[\dA-Z]{16}', // Oman - 'PF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'PK' => 'PK\d{2}[A-Z]{4}[\dA-Z]{16}', // Pakistan - 'PL' => 'PL\d{2}\d{8}\d{16}', // Poland - 'PM' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'PS' => 'PS\d{2}[A-Z]{4}[\dA-Z]{21}', // Palestine, State of - 'PT' => 'PT\d{2}\d{4}\d{4}\d{11}\d{2}', // Portugal - 'QA' => 'QA\d{2}[A-Z]{4}[\dA-Z]{21}', // Qatar - 'RE' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'RO' => 'RO\d{2}[A-Z]{4}[\dA-Z]{16}', // Romania - 'RS' => 'RS\d{2}\d{3}\d{13}\d{2}', // Serbia - 'RU' => 'RU\d{2}\d{9}\d{5}[\dA-Z]{15}', // Russia - 'SA' => 'SA\d{2}\d{2}[\dA-Z]{18}', // Saudi Arabia - 'SC' => 'SC\d{2}[A-Z]{4}\d{2}\d{2}\d{16}[A-Z]{3}', // Seychelles - 'SD' => 'SD\d{2}\d{2}\d{12}', // Sudan - 'SE' => 'SE\d{2}\d{3}\d{16}\d{1}', // Sweden - 'SI' => 'SI\d{2}\d{5}\d{8}\d{2}', // Slovenia - 'SK' => 'SK\d{2}\d{4}\d{6}\d{10}', // Slovakia - 'SM' => 'SM\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12}', // San Marino - 'SN' => 'SN\d{2}[A-Z]{2}\d{22}', // Senegal - 'SO' => 'SO\d{2}\d{4}\d{3}\d{12}', // Somalia - 'ST' => 'ST\d{2}\d{8}\d{11}\d{2}', // Sao Tome and Principe - 'SV' => 'SV\d{2}[A-Z]{4}\d{20}', // El Salvador - 'TD' => 'TD\d{2}\d{23}', // Chad - 'TF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'TG' => 'TG\d{2}[A-Z]{2}\d{22}', // Togo - 'TL' => 'TL\d{2}\d{3}\d{14}\d{2}', // Timor-Leste - 'TN' => 'TN\d{2}\d{2}\d{3}\d{13}\d{2}', // Tunisia - 'TR' => 'TR\d{2}\d{5}\d{1}[\dA-Z]{16}', // Turkey - 'UA' => 'UA\d{2}\d{6}[\dA-Z]{19}', // Ukraine - 'VA' => 'VA\d{2}\d{3}\d{15}', // Vatican City State - 'VG' => 'VG\d{2}[A-Z]{4}\d{16}', // Virgin Islands - 'WF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'XK' => 'XK\d{2}\d{4}\d{10}\d{2}', // Kosovo - 'YE' => 'YE\d{2}[A-Z]{4}\d{4}[\dA-Z]{18}', // Yemen - 'YT' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - ]; - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Iban) { - throw new UnexpectedTypeException($constraint, Iban::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - // Remove spaces (regular, non-breaking, and narrow non-breaking) and convert to uppercase - $canonicalized = str_replace([' ', "\xc2\xa0", "\xe2\x80\xaf"], '', strtoupper($value)); - - // The IBAN must contain only digits and characters... - if (!ctype_alnum($canonicalized)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - // ...start with a two-letter country code - $countryCode = substr($canonicalized, 0, 2); - - if (!ctype_alpha($countryCode)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::INVALID_COUNTRY_CODE_ERROR) - ->addViolation(); - - return; - } - - // ...have a format available - if (!\array_key_exists($countryCode, self::FORMATS)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::NOT_SUPPORTED_COUNTRY_CODE_ERROR) - ->addViolation(); - - return; - } - - // ...and have a valid format - if (!preg_match('/^'.self::FORMATS[$countryCode].'$/', $canonicalized) - ) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::INVALID_FORMAT_ERROR) - ->addViolation(); - - return; - } - - // Check digits should always between 2 and 98 - // A ECBS document (https://www.ecbs.org/Download/EBS204_V3.PDF) replicates part of the ISO/IEC 7064:2003 standard as a method for generating check digits in the range 02 to 98. - $checkDigits = (int) substr($canonicalized, 2, 2); - if ($checkDigits < 2 || $checkDigits > 98) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::CHECKSUM_FAILED_ERROR) - ->addViolation(); - - return; - } - - // Move the first four characters to the end - // e.g. CH93 0076 2011 6238 5295 7 - // -> 0076 2011 6238 5295 7 CH93 - $canonicalized = substr($canonicalized, 4).substr($canonicalized, 0, 4); - - // Convert all remaining letters to their ordinals - // The result is an integer, which is too large for PHP's int - // data type, so we store it in a string instead. - // e.g. 0076 2011 6238 5295 7 CH93 - // -> 0076 2011 6238 5295 7 121893 - $checkSum = self::toBigInt($canonicalized); - - // Do a modulo-97 operation on the large integer - // We cannot use PHP's modulo operator, so we calculate the - // modulo step-wisely instead - if (1 !== self::bigModulo97($checkSum)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::CHECKSUM_FAILED_ERROR) - ->addViolation(); - } - } - - private static function toBigInt(string $string): string - { - $chars = str_split($string); - $bigInt = ''; - - foreach ($chars as $char) { - // Convert uppercase characters to ordinals, starting with 10 for "A" - if (ctype_upper($char)) { - $bigInt .= (\ord($char) - 55); - - continue; - } - - // Simply append digits - $bigInt .= $char; - } - - return $bigInt; - } - - private static function bigModulo97(string $bigInt): int - { - $parts = str_split($bigInt, 7); - $rest = 0; - - foreach ($parts as $part) { - $rest = ($rest.$part) % 97; - } - - return $rest; - } -} diff --git a/app/vendor/symfony/validator/Constraints/IdenticalTo.php b/app/vendor/symfony/validator/Constraints/IdenticalTo.php deleted file mode 100644 index e06cb5356..000000000 --- a/app/vendor/symfony/validator/Constraints/IdenticalTo.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is identical to another value. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class IdenticalTo extends AbstractComparison -{ - public const NOT_IDENTICAL_ERROR = '2a8cc50f-58a2-4536-875e-060a2ce69ed5'; - - protected const ERROR_NAMES = [ - self::NOT_IDENTICAL_ERROR => 'NOT_IDENTICAL_ERROR', - ]; - - public string $message = 'This value should be identical to {{ compared_value_type }} {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/IdenticalToValidator.php b/app/vendor/symfony/validator/Constraints/IdenticalToValidator.php deleted file mode 100644 index 0f5d50678..000000000 --- a/app/vendor/symfony/validator/Constraints/IdenticalToValidator.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates values are identical (===). - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -class IdenticalToValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - return $value1 === $value2; - } - - protected function getErrorCode(): ?string - { - return IdenticalTo::NOT_IDENTICAL_ERROR; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Image.php b/app/vendor/symfony/validator/Constraints/Image.php deleted file mode 100644 index b47dc8ba6..000000000 --- a/app/vendor/symfony/validator/Constraints/Image.php +++ /dev/null @@ -1,239 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; - -/** - * Validates that a file (or a path to a file) is a valid image. - * - * @author Benjamin Dulau - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Image extends File -{ - public const SIZE_NOT_DETECTED_ERROR = '6d55c3f4-e58e-4fe3-91ee-74b492199956'; - public const TOO_WIDE_ERROR = '7f87163d-878f-47f5-99ba-a8eb723a1ab2'; - public const TOO_NARROW_ERROR = '9afbd561-4f90-4a27-be62-1780fc43604a'; - public const TOO_HIGH_ERROR = '7efae81c-4877-47ba-aa65-d01ccb0d4645'; - public const TOO_LOW_ERROR = 'aef0cb6a-c07f-4894-bc08-1781420d7b4c'; - public const TOO_FEW_PIXEL_ERROR = '1b06b97d-ae48-474e-978f-038a74854c43'; - public const TOO_MANY_PIXEL_ERROR = 'ee0804e8-44db-4eac-9775-be91aaf72ce1'; - public const RATIO_TOO_BIG_ERROR = '70cafca6-168f-41c9-8c8c-4e47a52be643'; - public const RATIO_TOO_SMALL_ERROR = '59b8c6ef-bcf2-4ceb-afff-4642ed92f12e'; - public const SQUARE_NOT_ALLOWED_ERROR = '5d41425b-facb-47f7-a55a-de9fbe45cb46'; - public const LANDSCAPE_NOT_ALLOWED_ERROR = '6f895685-7cf2-4d65-b3da-9029c5581d88'; - public const PORTRAIT_NOT_ALLOWED_ERROR = '65608156-77da-4c79-a88c-02ef6d18c782'; - public const CORRUPTED_IMAGE_ERROR = '5d4163f3-648f-4e39-87fd-cc5ea7aad2d1'; - - // Include the mapping from the base class - - protected const ERROR_NAMES = [ - self::NOT_FOUND_ERROR => 'NOT_FOUND_ERROR', - self::NOT_READABLE_ERROR => 'NOT_READABLE_ERROR', - self::EMPTY_ERROR => 'EMPTY_ERROR', - self::TOO_LARGE_ERROR => 'TOO_LARGE_ERROR', - self::INVALID_MIME_TYPE_ERROR => 'INVALID_MIME_TYPE_ERROR', - self::FILENAME_TOO_LONG => 'FILENAME_TOO_LONG', - self::SIZE_NOT_DETECTED_ERROR => 'SIZE_NOT_DETECTED_ERROR', - self::TOO_WIDE_ERROR => 'TOO_WIDE_ERROR', - self::TOO_NARROW_ERROR => 'TOO_NARROW_ERROR', - self::TOO_HIGH_ERROR => 'TOO_HIGH_ERROR', - self::TOO_LOW_ERROR => 'TOO_LOW_ERROR', - self::TOO_FEW_PIXEL_ERROR => 'TOO_FEW_PIXEL_ERROR', - self::TOO_MANY_PIXEL_ERROR => 'TOO_MANY_PIXEL_ERROR', - self::RATIO_TOO_BIG_ERROR => 'RATIO_TOO_BIG_ERROR', - self::RATIO_TOO_SMALL_ERROR => 'RATIO_TOO_SMALL_ERROR', - self::SQUARE_NOT_ALLOWED_ERROR => 'SQUARE_NOT_ALLOWED_ERROR', - self::LANDSCAPE_NOT_ALLOWED_ERROR => 'LANDSCAPE_NOT_ALLOWED_ERROR', - self::PORTRAIT_NOT_ALLOWED_ERROR => 'PORTRAIT_NOT_ALLOWED_ERROR', - self::CORRUPTED_IMAGE_ERROR => 'CORRUPTED_IMAGE_ERROR', - ]; - - public array|string $mimeTypes = []; - public ?int $minWidth = null; - public ?int $maxWidth = null; - public ?int $maxHeight = null; - public ?int $minHeight = null; - public int|float|null $maxRatio = null; - public int|float|null $minRatio = null; - public int|float|null $minPixels = null; - public int|float|null $maxPixels = null; - public bool $allowSquare = true; - public bool $allowLandscape = true; - public bool $allowPortrait = true; - public bool $detectCorrupted = false; - - // The constant for a wrong MIME type is taken from the parent class. - public string $mimeTypesMessage = 'This file is not a valid image.'; - public string $sizeNotDetectedMessage = 'The size of the image could not be detected.'; - public string $maxWidthMessage = 'The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.'; - public string $minWidthMessage = 'The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.'; - public string $maxHeightMessage = 'The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.'; - public string $minHeightMessage = 'The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.'; - public string $minPixelsMessage = 'The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels.'; - public string $maxPixelsMessage = 'The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels.'; - public string $maxRatioMessage = 'The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.'; - public string $minRatioMessage = 'The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.'; - public string $allowSquareMessage = 'The image is square ({{ width }}x{{ height }}px). Square images are not allowed.'; - public string $allowLandscapeMessage = 'The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.'; - public string $allowPortraitMessage = 'The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.'; - public string $corruptedMessage = 'The image file is corrupted.'; - - /** - * @param positive-int|string|null $maxSize The max size of the underlying file - * @param bool|null $binaryFormat Pass true to use binary-prefixed units (KiB, MiB, etc.) or false to use SI-prefixed units (kB, MB) in displayed messages. Pass null to guess the format from the maxSize option. (defaults to null) - * @param non-empty-string[]|null $mimeTypes Acceptable media types - * @param positive-int|null $filenameMaxLength Maximum length of the file name - * @param string|null $disallowEmptyMessage Enable empty upload validation with this message in case of error - * @param string|null $uploadIniSizeErrorMessage Message if the file size exceeds the max size configured in php.ini - * @param string|null $uploadFormSizeErrorMessage Message if the file size exceeds the max size configured in the HTML input field - * @param string|null $uploadPartialErrorMessage Message if the file is only partially uploaded - * @param string|null $uploadNoTmpDirErrorMessage Message if there is no upload_tmp_dir in php.ini - * @param string|null $uploadCantWriteErrorMessage Message if the uploaded file can not be stored in the temporary directory - * @param string|null $uploadErrorMessage Message if an unknown error occurred on upload - * @param string[]|null $groups - * @param int<0, int>|null $minWidth Minimum image width - * @param positive-int|null $maxWidth Maximum image width - * @param positive-int|null $maxHeight Maximum image height - * @param int<0, int>|null $minHeight Minimum image weight - * @param positive-int|float|null $maxRatio Maximum image ratio - * @param int<0, max>|float|null $minRatio Minimum image ratio - * @param int<0, max>|float|null $minPixels Minimum amount of pixels - * @param positive-int|float|null $maxPixels Maximum amount of pixels - * @param bool|null $allowSquare Whether to allow a square image (defaults to true) - * @param bool|null $allowLandscape Whether to allow a landscape image (defaults to true) - * @param bool|null $allowPortrait Whether to allow a portrait image (defaults to true) - * @param bool|null $detectCorrupted Whether to validate the image is not corrupted (defaults to false) - * @param string|null $sizeNotDetectedMessage Message if the system can not determine image size and there is a size constraint to validate - * - * @see https://www.iana.org/assignments/media-types/media-types.xhtml Existing media types - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - int|string|null $maxSize = null, - ?bool $binaryFormat = null, - ?array $mimeTypes = null, - ?int $filenameMaxLength = null, - ?int $minWidth = null, - ?int $maxWidth = null, - ?int $maxHeight = null, - ?int $minHeight = null, - int|float|null $maxRatio = null, - int|float|null $minRatio = null, - int|float|null $minPixels = null, - int|float|null $maxPixels = null, - ?bool $allowSquare = null, - ?bool $allowLandscape = null, - ?bool $allowPortrait = null, - ?bool $detectCorrupted = null, - ?string $notFoundMessage = null, - ?string $notReadableMessage = null, - ?string $maxSizeMessage = null, - ?string $mimeTypesMessage = null, - ?string $disallowEmptyMessage = null, - ?string $filenameTooLongMessage = null, - ?string $uploadIniSizeErrorMessage = null, - ?string $uploadFormSizeErrorMessage = null, - ?string $uploadPartialErrorMessage = null, - ?string $uploadNoFileErrorMessage = null, - ?string $uploadNoTmpDirErrorMessage = null, - ?string $uploadCantWriteErrorMessage = null, - ?string $uploadExtensionErrorMessage = null, - ?string $uploadErrorMessage = null, - ?string $sizeNotDetectedMessage = null, - ?string $maxWidthMessage = null, - ?string $minWidthMessage = null, - ?string $maxHeightMessage = null, - ?string $minHeightMessage = null, - ?string $minPixelsMessage = null, - ?string $maxPixelsMessage = null, - ?string $maxRatioMessage = null, - ?string $minRatioMessage = null, - ?string $allowSquareMessage = null, - ?string $allowLandscapeMessage = null, - ?string $allowPortraitMessage = null, - ?string $corruptedMessage = null, - ?array $groups = null, - mixed $payload = null, - array|string|null $extensions = null, - ?string $extensionsMessage = null, - ?string $filenameCharset = null, - ?string $filenameCountUnit = null, - ?string $filenameCharsetMessage = null, - ) { - parent::__construct( - $options, - $maxSize, - $binaryFormat, - $mimeTypes, - $filenameMaxLength, - $notFoundMessage, - $notReadableMessage, - $maxSizeMessage, - $mimeTypesMessage, - $disallowEmptyMessage, - $filenameTooLongMessage, - $uploadIniSizeErrorMessage, - $uploadFormSizeErrorMessage, - $uploadPartialErrorMessage, - $uploadNoFileErrorMessage, - $uploadNoTmpDirErrorMessage, - $uploadCantWriteErrorMessage, - $uploadExtensionErrorMessage, - $uploadErrorMessage, - $groups, - $payload, - $extensions, - $extensionsMessage, - $filenameCharset, - $filenameCountUnit, - $filenameCharsetMessage, - ); - - $this->minWidth = $minWidth ?? $this->minWidth; - $this->maxWidth = $maxWidth ?? $this->maxWidth; - $this->maxHeight = $maxHeight ?? $this->maxHeight; - $this->minHeight = $minHeight ?? $this->minHeight; - $this->maxRatio = $maxRatio ?? $this->maxRatio; - $this->minRatio = $minRatio ?? $this->minRatio; - $this->minPixels = $minPixels ?? $this->minPixels; - $this->maxPixels = $maxPixels ?? $this->maxPixels; - $this->allowSquare = $allowSquare ?? $this->allowSquare; - $this->allowLandscape = $allowLandscape ?? $this->allowLandscape; - $this->allowPortrait = $allowPortrait ?? $this->allowPortrait; - $this->detectCorrupted = $detectCorrupted ?? $this->detectCorrupted; - $this->sizeNotDetectedMessage = $sizeNotDetectedMessage ?? $this->sizeNotDetectedMessage; - $this->maxWidthMessage = $maxWidthMessage ?? $this->maxWidthMessage; - $this->minWidthMessage = $minWidthMessage ?? $this->minWidthMessage; - $this->maxHeightMessage = $maxHeightMessage ?? $this->maxHeightMessage; - $this->minHeightMessage = $minHeightMessage ?? $this->minHeightMessage; - $this->minPixelsMessage = $minPixelsMessage ?? $this->minPixelsMessage; - $this->maxPixelsMessage = $maxPixelsMessage ?? $this->maxPixelsMessage; - $this->maxRatioMessage = $maxRatioMessage ?? $this->maxRatioMessage; - $this->minRatioMessage = $minRatioMessage ?? $this->minRatioMessage; - $this->allowSquareMessage = $allowSquareMessage ?? $this->allowSquareMessage; - $this->allowLandscapeMessage = $allowLandscapeMessage ?? $this->allowLandscapeMessage; - $this->allowPortraitMessage = $allowPortraitMessage ?? $this->allowPortraitMessage; - $this->corruptedMessage = $corruptedMessage ?? $this->corruptedMessage; - - if ([] === $this->mimeTypes && [] === $this->extensions) { - $this->mimeTypes = 'image/*'; - } - - if (!\in_array('image/*', (array) $this->mimeTypes, true) && !\array_key_exists('mimeTypesMessage', $options ?? []) && null === $mimeTypesMessage) { - $this->mimeTypesMessage = 'The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.'; - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/ImageValidator.php b/app/vendor/symfony/validator/Constraints/ImageValidator.php deleted file mode 100644 index 9075a5b23..000000000 --- a/app/vendor/symfony/validator/Constraints/ImageValidator.php +++ /dev/null @@ -1,288 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\HttpFoundation\File\File; -use Symfony\Component\Mime\MimeTypes; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * Validates whether a value is a valid image file and is valid - * against minWidth, maxWidth, minHeight and maxHeight constraints. - * - * @author Benjamin Dulau - * @author Bernhard Schussek - */ -class ImageValidator extends FileValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Image) { - throw new UnexpectedTypeException($constraint, Image::class); - } - - $violations = \count($this->context->getViolations()); - - parent::validate($value, $constraint); - - $failed = \count($this->context->getViolations()) !== $violations; - - if ($failed || null === $value || '' === $value) { - return; - } - - if (null === $constraint->minWidth && null === $constraint->maxWidth - && null === $constraint->minHeight && null === $constraint->maxHeight - && null === $constraint->minPixels && null === $constraint->maxPixels - && null === $constraint->minRatio && null === $constraint->maxRatio - && $constraint->allowSquare && $constraint->allowLandscape && $constraint->allowPortrait - && !$constraint->detectCorrupted) { - return; - } - - $isSvg = $this->isSvg($value); - - if ($isSvg) { - $size = $this->getSvgSize($value); - } else { - $size = @getimagesize($value); - } - - if (!$size || (0 === $size[0]) || (0 === $size[1])) { - $this->context->buildViolation($constraint->sizeNotDetectedMessage) - ->setCode(Image::SIZE_NOT_DETECTED_ERROR) - ->addViolation(); - - return; - } - - $width = $size[0]; - $height = $size[1]; - - if (!$isSvg && $constraint->minWidth) { - if (!ctype_digit((string) $constraint->minWidth)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid minimum width.', $constraint->minWidth)); - } - - if ($width < $constraint->minWidth) { - $this->context->buildViolation($constraint->minWidthMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ min_width }}', $constraint->minWidth) - ->setCode(Image::TOO_NARROW_ERROR) - ->addViolation(); - - return; - } - } - - if (!$isSvg && $constraint->maxWidth) { - if (!ctype_digit((string) $constraint->maxWidth)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum width.', $constraint->maxWidth)); - } - - if ($width > $constraint->maxWidth) { - $this->context->buildViolation($constraint->maxWidthMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ max_width }}', $constraint->maxWidth) - ->setCode(Image::TOO_WIDE_ERROR) - ->addViolation(); - - return; - } - } - - if (!$isSvg && $constraint->minHeight) { - if (!ctype_digit((string) $constraint->minHeight)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid minimum height.', $constraint->minHeight)); - } - - if ($height < $constraint->minHeight) { - $this->context->buildViolation($constraint->minHeightMessage) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ min_height }}', $constraint->minHeight) - ->setCode(Image::TOO_LOW_ERROR) - ->addViolation(); - - return; - } - } - - if (!$isSvg && $constraint->maxHeight) { - if (!ctype_digit((string) $constraint->maxHeight)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum height.', $constraint->maxHeight)); - } - - if ($height > $constraint->maxHeight) { - $this->context->buildViolation($constraint->maxHeightMessage) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ max_height }}', $constraint->maxHeight) - ->setCode(Image::TOO_HIGH_ERROR) - ->addViolation(); - } - } - - $pixels = $width * $height; - - if (!$isSvg && null !== $constraint->minPixels) { - if (!ctype_digit((string) $constraint->minPixels)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid minimum amount of pixels.', $constraint->minPixels)); - } - - if ($pixels < $constraint->minPixels) { - $this->context->buildViolation($constraint->minPixelsMessage) - ->setParameter('{{ pixels }}', $pixels) - ->setParameter('{{ min_pixels }}', $constraint->minPixels) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ width }}', $width) - ->setCode(Image::TOO_FEW_PIXEL_ERROR) - ->addViolation(); - } - } - - if (!$isSvg && null !== $constraint->maxPixels) { - if (!ctype_digit((string) $constraint->maxPixels)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum amount of pixels.', $constraint->maxPixels)); - } - - if ($pixels > $constraint->maxPixels) { - $this->context->buildViolation($constraint->maxPixelsMessage) - ->setParameter('{{ pixels }}', $pixels) - ->setParameter('{{ max_pixels }}', $constraint->maxPixels) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ width }}', $width) - ->setCode(Image::TOO_MANY_PIXEL_ERROR) - ->addViolation(); - } - } - - $ratio = round($width / $height, 2); - - if (null !== $constraint->minRatio) { - if (!is_numeric((string) $constraint->minRatio)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid minimum ratio.', $constraint->minRatio)); - } - - if ($ratio < round($constraint->minRatio, 2)) { - $this->context->buildViolation($constraint->minRatioMessage) - ->setParameter('{{ ratio }}', $ratio) - ->setParameter('{{ min_ratio }}', round($constraint->minRatio, 2)) - ->setCode(Image::RATIO_TOO_SMALL_ERROR) - ->addViolation(); - } - } - - if (null !== $constraint->maxRatio) { - if (!is_numeric((string) $constraint->maxRatio)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum ratio.', $constraint->maxRatio)); - } - - if ($ratio > round($constraint->maxRatio, 2)) { - $this->context->buildViolation($constraint->maxRatioMessage) - ->setParameter('{{ ratio }}', $ratio) - ->setParameter('{{ max_ratio }}', round($constraint->maxRatio, 2)) - ->setCode(Image::RATIO_TOO_BIG_ERROR) - ->addViolation(); - } - } - - if (!$constraint->allowSquare && $width == $height) { - $this->context->buildViolation($constraint->allowSquareMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Image::SQUARE_NOT_ALLOWED_ERROR) - ->addViolation(); - } - - if (!$constraint->allowLandscape && $width > $height) { - $this->context->buildViolation($constraint->allowLandscapeMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Image::LANDSCAPE_NOT_ALLOWED_ERROR) - ->addViolation(); - } - - if (!$constraint->allowPortrait && $width < $height) { - $this->context->buildViolation($constraint->allowPortraitMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Image::PORTRAIT_NOT_ALLOWED_ERROR) - ->addViolation(); - } - - if ($constraint->detectCorrupted) { - if (!\function_exists('imagecreatefromstring')) { - throw new LogicException('Corrupted images detection requires installed and enabled GD extension.'); - } - - $resource = @imagecreatefromstring(file_get_contents($value)); - - if (false === $resource) { - $this->context->buildViolation($constraint->corruptedMessage) - ->setCode(Image::CORRUPTED_IMAGE_ERROR) - ->addViolation(); - - return; - } - } - } - - private function isSvg(mixed $value): bool - { - if ($value instanceof File) { - $mime = $value->getMimeType(); - } elseif (class_exists(MimeTypes::class)) { - $mime = MimeTypes::getDefault()->guessMimeType($value); - } elseif (!class_exists(File::class)) { - return false; - } else { - $mime = (new File($value))->getMimeType(); - } - - return 'image/svg+xml' === $mime; - } - - /** - * @return array{int, int}|null index 0 and 1 contains respectively the width and the height of the image, null if size can't be found - */ - private function getSvgSize(mixed $value): ?array - { - if ($value instanceof File) { - $content = $value->getContent(); - } elseif (!class_exists(File::class)) { - return null; - } else { - $content = (new File($value))->getContent(); - } - - if (1 === preg_match('/]+width="(?[0-9]+)"[^<>]*>/', $content, $widthMatches)) { - $width = (int) $widthMatches['width']; - } - - if (1 === preg_match('/]+height="(?[0-9]+)"[^<>]*>/', $content, $heightMatches)) { - $height = (int) $heightMatches['height']; - } - - if (1 === preg_match('/]+viewBox="-?[0-9]+ -?[0-9]+ (?-?[0-9]+) (?-?[0-9]+)"[^<>]*>/', $content, $viewBoxMatches)) { - $width ??= (int) $viewBoxMatches['width']; - $height ??= (int) $viewBoxMatches['height']; - } - - if (isset($width) && isset($height)) { - return [$width, $height]; - } - - return null; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Ip.php b/app/vendor/symfony/validator/Constraints/Ip.php deleted file mode 100644 index 91f247156..000000000 --- a/app/vendor/symfony/validator/Constraints/Ip.php +++ /dev/null @@ -1,141 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\InvalidArgumentException; - -/** - * Validates that a value is a valid IP address. - * - * @author Bernhard Schussek - * @author Joseph Bielawski - * @author Ninos Ego - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Ip extends Constraint -{ - public const V4 = '4'; - public const V6 = '6'; - public const ALL = 'all'; - - // adds inverse FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE flags (skip both) - public const V4_NO_PUBLIC = '4_no_public'; - public const V6_NO_PUBLIC = '6_no_public'; - public const ALL_NO_PUBLIC = 'all_no_public'; - - // adds FILTER_FLAG_NO_PRIV_RANGE flag (skip private ranges) - public const V4_NO_PRIVATE = '4_no_priv'; - public const V4_NO_PRIV = self::V4_NO_PRIVATE; // BC: Alias - public const V6_NO_PRIVATE = '6_no_priv'; - public const V6_NO_PRIV = self::V6_NO_PRIVATE; // BC: Alias - public const ALL_NO_PRIVATE = 'all_no_priv'; - public const ALL_NO_PRIV = self::ALL_NO_PRIVATE; // BC: Alias - - // adds FILTER_FLAG_NO_RES_RANGE flag (skip reserved ranges) - public const V4_NO_RESERVED = '4_no_res'; - public const V4_NO_RES = self::V4_NO_RESERVED; // BC: Alias - public const V6_NO_RESERVED = '6_no_res'; - public const V6_NO_RES = self::V6_NO_RESERVED; // BC: Alias - public const ALL_NO_RESERVED = 'all_no_res'; - public const ALL_NO_RES = self::ALL_NO_RESERVED; // BC: Alias - - // adds FILTER_FLAG_NO_PRIV_RANGE and FILTER_FLAG_NO_RES_RANGE flags (skip both) - public const V4_ONLY_PUBLIC = '4_public'; - public const V6_ONLY_PUBLIC = '6_public'; - public const ALL_ONLY_PUBLIC = 'all_public'; - - // adds inverse FILTER_FLAG_NO_PRIV_RANGE - public const V4_ONLY_PRIVATE = '4_private'; - public const V6_ONLY_PRIVATE = '6_private'; - public const ALL_ONLY_PRIVATE = 'all_private'; - - // adds inverse FILTER_FLAG_NO_RES_RANGE - public const V4_ONLY_RESERVED = '4_reserved'; - public const V6_ONLY_RESERVED = '6_reserved'; - public const ALL_ONLY_RESERVED = 'all_reserved'; - - public const INVALID_IP_ERROR = 'b1b427ae-9f6f-41b0-aa9b-84511fbb3c5b'; - - protected const VERSIONS = [ - self::V4, - self::V6, - self::ALL, - - self::V4_NO_PUBLIC, - self::V6_NO_PUBLIC, - self::ALL_NO_PUBLIC, - - self::V4_NO_PRIVATE, - self::V6_NO_PRIVATE, - self::ALL_NO_PRIVATE, - - self::V4_NO_RESERVED, - self::V6_NO_RESERVED, - self::ALL_NO_RESERVED, - - self::V4_ONLY_PUBLIC, - self::V6_ONLY_PUBLIC, - self::ALL_ONLY_PUBLIC, - - self::V4_ONLY_PRIVATE, - self::V6_ONLY_PRIVATE, - self::ALL_ONLY_PRIVATE, - - self::V4_ONLY_RESERVED, - self::V6_ONLY_RESERVED, - self::ALL_ONLY_RESERVED, - ]; - - protected const ERROR_NAMES = [ - self::INVALID_IP_ERROR => 'INVALID_IP_ERROR', - ]; - - public string $version = self::V4; - public string $message = 'This is not a valid IP address.'; - /** @var callable|null */ - public $normalizer; - - /** - * @param self::V4*|self::V6*|self::ALL*|null $version The IP version to validate (defaults to {@see self::V4}) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $version = null, - ?string $message = null, - ?callable $normalizer = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->version = $version ?? $this->version; - $this->message = $message ?? $this->message; - $this->normalizer = $normalizer ?? $this->normalizer; - - if (!\in_array($this->version, static::VERSIONS, true)) { - throw new ConstraintDefinitionException(\sprintf('The option "version" must be one of "%s".', implode('", "', static::VERSIONS))); - } - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/IpValidator.php b/app/vendor/symfony/validator/Constraints/IpValidator.php deleted file mode 100644 index e2bf0d29a..000000000 --- a/app/vendor/symfony/validator/Constraints/IpValidator.php +++ /dev/null @@ -1,95 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value is a valid IP address. - * - * @author Bernhard Schussek - * @author Joseph Bielawski - * @author Ninos Ego - */ -class IpValidator extends ConstraintValidator -{ - /** - * Checks whether an IP address is valid. - * - * @internal - */ - public static function checkIp(string $ip, mixed $version): bool - { - $flag = match ($version) { - Ip::V4, Ip::V4_NO_PUBLIC, Ip::V4_ONLY_PRIVATE, Ip::V4_ONLY_RESERVED => \FILTER_FLAG_IPV4, - Ip::V6, Ip::V6_NO_PUBLIC, Ip::V6_ONLY_PRIVATE, Ip::V6_ONLY_RESERVED => \FILTER_FLAG_IPV6, - Ip::V4_NO_PRIVATE => \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE, - Ip::V6_NO_PRIVATE => \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE, - Ip::ALL_NO_PRIVATE => \FILTER_FLAG_NO_PRIV_RANGE, - Ip::V4_NO_RESERVED => \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_RES_RANGE, - Ip::V6_NO_RESERVED => \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_RES_RANGE, - Ip::ALL_NO_RESERVED => \FILTER_FLAG_NO_RES_RANGE, - Ip::V4_ONLY_PUBLIC => \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE, - Ip::V6_ONLY_PUBLIC => \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE, - Ip::ALL_ONLY_PUBLIC => \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE, - default => 0, - }; - - if (!filter_var($ip, \FILTER_VALIDATE_IP, $flag)) { - return false; - } - - $inverseFlag = match ($version) { - Ip::V4_NO_PUBLIC, Ip::V6_NO_PUBLIC, Ip::ALL_NO_PUBLIC => \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE, - Ip::V4_ONLY_PRIVATE, Ip::V6_ONLY_PRIVATE, Ip::ALL_ONLY_PRIVATE => \FILTER_FLAG_NO_PRIV_RANGE, - Ip::V4_ONLY_RESERVED, Ip::V6_ONLY_RESERVED, Ip::ALL_ONLY_RESERVED => \FILTER_FLAG_NO_RES_RANGE, - default => 0, - }; - - if ($inverseFlag && filter_var($ip, \FILTER_VALIDATE_IP, $inverseFlag)) { - return false; - } - - return true; - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Ip) { - throw new UnexpectedTypeException($constraint, Ip::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (null !== $constraint->normalizer) { - $value = ($constraint->normalizer)($value); - } - - if (!self::checkIp($value, $constraint->version)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Ip::INVALID_IP_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/IsFalse.php b/app/vendor/symfony/validator/Constraints/IsFalse.php deleted file mode 100644 index 722f2a247..000000000 --- a/app/vendor/symfony/validator/Constraints/IsFalse.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is false. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class IsFalse extends Constraint -{ - public const NOT_FALSE_ERROR = 'd53a91b0-def3-426a-83d7-269da7ab4200'; - - protected const ERROR_NAMES = [ - self::NOT_FALSE_ERROR => 'NOT_FALSE_ERROR', - ]; - - public string $message = 'This value should be false.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/IsFalseValidator.php b/app/vendor/symfony/validator/Constraints/IsFalseValidator.php deleted file mode 100644 index 78c4c5a92..000000000 --- a/app/vendor/symfony/validator/Constraints/IsFalseValidator.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek - */ -class IsFalseValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof IsFalse) { - throw new UnexpectedTypeException($constraint, IsFalse::class); - } - - if (null === $value || false === $value || 0 === $value || '0' === $value) { - return; - } - - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(IsFalse::NOT_FALSE_ERROR) - ->addViolation(); - } -} diff --git a/app/vendor/symfony/validator/Constraints/IsNull.php b/app/vendor/symfony/validator/Constraints/IsNull.php deleted file mode 100644 index 7447aed9f..000000000 --- a/app/vendor/symfony/validator/Constraints/IsNull.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is exactly equal to null. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class IsNull extends Constraint -{ - public const NOT_NULL_ERROR = '60d2f30b-8cfa-4372-b155-9656634de120'; - - protected const ERROR_NAMES = [ - self::NOT_NULL_ERROR => 'NOT_NULL_ERROR', - ]; - - public string $message = 'This value should be null.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/IsNullValidator.php b/app/vendor/symfony/validator/Constraints/IsNullValidator.php deleted file mode 100644 index c292854bd..000000000 --- a/app/vendor/symfony/validator/Constraints/IsNullValidator.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek - */ -class IsNullValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof IsNull) { - throw new UnexpectedTypeException($constraint, IsNull::class); - } - - if (null !== $value) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(IsNull::NOT_NULL_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/IsTrue.php b/app/vendor/symfony/validator/Constraints/IsTrue.php deleted file mode 100644 index 58d25b594..000000000 --- a/app/vendor/symfony/validator/Constraints/IsTrue.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is true. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class IsTrue extends Constraint -{ - public const NOT_TRUE_ERROR = '2beabf1c-54c0-4882-a928-05249b26e23b'; - - protected const ERROR_NAMES = [ - self::NOT_TRUE_ERROR => 'NOT_TRUE_ERROR', - ]; - - public string $message = 'This value should be true.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/IsTrueValidator.php b/app/vendor/symfony/validator/Constraints/IsTrueValidator.php deleted file mode 100644 index 69e411402..000000000 --- a/app/vendor/symfony/validator/Constraints/IsTrueValidator.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek - */ -class IsTrueValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof IsTrue) { - throw new UnexpectedTypeException($constraint, IsTrue::class); - } - - if (null === $value || true === $value || 1 === $value || '1' === $value) { - return; - } - - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(IsTrue::NOT_TRUE_ERROR) - ->addViolation(); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Isbn.php b/app/vendor/symfony/validator/Constraints/Isbn.php deleted file mode 100644 index 5251150f3..000000000 --- a/app/vendor/symfony/validator/Constraints/Isbn.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is a valid ISBN according to ISBN-10 or ISBN-13 formats. - * - * @see https://en.wikipedia.org/wiki/ISBN - * - * @author The Whole Life To Learn - * @author Manuel Reinhard - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Isbn extends Constraint -{ - public const ISBN_10 = 'isbn10'; - public const ISBN_13 = 'isbn13'; - - public const TOO_SHORT_ERROR = '949acbb0-8ef5-43ed-a0e9-032dfd08ae45'; - public const TOO_LONG_ERROR = '3171387d-f80a-47b3-bd6e-60598545316a'; - public const INVALID_CHARACTERS_ERROR = '23d21cea-da99-453d-98b1-a7d916fbb339'; - public const CHECKSUM_FAILED_ERROR = '2881c032-660f-46b6-8153-d352d9706640'; - public const TYPE_NOT_RECOGNIZED_ERROR = 'fa54a457-f042-441f-89c4-066ee5bdd3e1'; - - protected const ERROR_NAMES = [ - self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR', - self::TOO_LONG_ERROR => 'TOO_LONG_ERROR', - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - self::CHECKSUM_FAILED_ERROR => 'CHECKSUM_FAILED_ERROR', - self::TYPE_NOT_RECOGNIZED_ERROR => 'TYPE_NOT_RECOGNIZED_ERROR', - ]; - - public string $isbn10Message = 'This value is not a valid ISBN-10.'; - public string $isbn13Message = 'This value is not a valid ISBN-13.'; - public string $bothIsbnMessage = 'This value is neither a valid ISBN-10 nor a valid ISBN-13.'; - public ?string $type = null; - public ?string $message = null; - - /** - * @param self::ISBN_*|null $type The type of ISBN to validate (i.e. {@see Isbn::ISBN_10}, {@see Isbn::ISBN_13} or null to accept both, defaults to null) - * @param string|null $message If defined, this message has priority over the others - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - string|array|null $type = null, - ?string $message = null, - ?string $isbn10Message = null, - ?string $isbn13Message = null, - ?string $bothIsbnMessage = null, - ?array $groups = null, - mixed $payload = null, - ?array $options = null, - ) { - if (\is_array($type)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($type, $options ?? []); - $type = $options['type'] ?? null; - } elseif (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->isbn10Message = $isbn10Message ?? $this->isbn10Message; - $this->isbn13Message = $isbn13Message ?? $this->isbn13Message; - $this->bothIsbnMessage = $bothIsbnMessage ?? $this->bothIsbnMessage; - $this->type = $type ?? $this->type; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'type'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/IsbnValidator.php b/app/vendor/symfony/validator/Constraints/IsbnValidator.php deleted file mode 100644 index de5f4437b..000000000 --- a/app/vendor/symfony/validator/Constraints/IsbnValidator.php +++ /dev/null @@ -1,181 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether the value is a valid ISBN-10 or ISBN-13. - * - * @author The Whole Life To Learn - * @author Manuel Reinhard - * @author Bernhard Schussek - * - * @see https://en.wikipedia.org/wiki/Isbn - */ -class IsbnValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Isbn) { - throw new UnexpectedTypeException($constraint, Isbn::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - $canonical = str_replace('-', '', $value); - - // Explicitly validate against ISBN-10 - if (Isbn::ISBN_10 === $constraint->type) { - if (true !== ($code = $this->validateIsbn10($canonical))) { - $this->context->buildViolation($this->getMessage($constraint, $constraint->type)) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($code) - ->addViolation(); - } - - return; - } - - // Explicitly validate against ISBN-13 - if (Isbn::ISBN_13 === $constraint->type) { - if (true !== ($code = $this->validateIsbn13($canonical))) { - $this->context->buildViolation($this->getMessage($constraint, $constraint->type)) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($code) - ->addViolation(); - } - - return; - } - - // Try both ISBNs - - // First, try ISBN-10 - $code = $this->validateIsbn10($canonical); - - // The ISBN can only be an ISBN-13 if the value was too long for ISBN-10 - if (Isbn::TOO_LONG_ERROR === $code) { - // Try ISBN-13 now - $code = $this->validateIsbn13($canonical); - - // If too short, this means we have 11 or 12 digits - if (Isbn::TOO_SHORT_ERROR === $code) { - $code = Isbn::TYPE_NOT_RECOGNIZED_ERROR; - } - } - - if (true !== $code) { - $this->context->buildViolation($this->getMessage($constraint)) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($code) - ->addViolation(); - } - } - - protected function validateIsbn10(string $isbn): string|bool - { - // Choose an algorithm so that ERROR_INVALID_CHARACTERS is preferred - // over ERROR_TOO_SHORT/ERROR_TOO_LONG - // Otherwise "0-45122-5244" passes, but "0-45122_5244" reports - // "too long" - - // Error priority: - // 1. ERROR_INVALID_CHARACTERS - // 2. ERROR_TOO_SHORT/ERROR_TOO_LONG - // 3. ERROR_CHECKSUM_FAILED - - $checkSum = 0; - - for ($i = 0; $i < 10; ++$i) { - // If we test the length before the loop, we get an ERROR_TOO_SHORT - // when actually an ERROR_INVALID_CHARACTERS is wanted, e.g. for - // "0-45122_5244" (typo) - if (!isset($isbn[$i])) { - return Isbn::TOO_SHORT_ERROR; - } - - if ('X' === $isbn[$i]) { - $digit = 10; - } elseif (ctype_digit($isbn[$i])) { - $digit = $isbn[$i]; - } else { - return Isbn::INVALID_CHARACTERS_ERROR; - } - - $checkSum += $digit * (10 - $i); - } - - if (isset($isbn[$i])) { - return Isbn::TOO_LONG_ERROR; - } - - return 0 === $checkSum % 11 ? true : Isbn::CHECKSUM_FAILED_ERROR; - } - - protected function validateIsbn13(string $isbn): string|bool - { - // Error priority: - // 1. ERROR_INVALID_CHARACTERS - // 2. ERROR_TOO_SHORT/ERROR_TOO_LONG - // 3. ERROR_CHECKSUM_FAILED - - if (!ctype_digit($isbn)) { - return Isbn::INVALID_CHARACTERS_ERROR; - } - - $length = \strlen($isbn); - - if ($length < 13) { - return Isbn::TOO_SHORT_ERROR; - } - - if ($length > 13) { - return Isbn::TOO_LONG_ERROR; - } - - $checkSum = 0; - - for ($i = 0; $i < 13; $i += 2) { - $checkSum += $isbn[$i]; - } - - for ($i = 1; $i < 12; $i += 2) { - $checkSum += $isbn[$i] * 3; - } - - return 0 === $checkSum % 10 ? true : Isbn::CHECKSUM_FAILED_ERROR; - } - - protected function getMessage(Isbn $constraint, ?string $type = null): string - { - if (null !== $constraint->message) { - return $constraint->message; - } elseif (Isbn::ISBN_10 === $type) { - return $constraint->isbn10Message; - } elseif (Isbn::ISBN_13 === $type) { - return $constraint->isbn13Message; - } - - return $constraint->bothIsbnMessage; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Isin.php b/app/vendor/symfony/validator/Constraints/Isin.php deleted file mode 100644 index 821ec62d5..000000000 --- a/app/vendor/symfony/validator/Constraints/Isin.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is a valid International Securities Identification Number (ISIN). - * - * @see https://en.wikipedia.org/wiki/International_Securities_Identification_Number - * - * @author Laurent Masforné - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Isin extends Constraint -{ - public const VALIDATION_LENGTH = 12; - public const VALIDATION_PATTERN = '/[A-Z]{2}[A-Z0-9]{9}[0-9]{1}/'; - - public const INVALID_LENGTH_ERROR = '88738dfc-9ed5-ba1e-aebe-402a2a9bf58e'; - public const INVALID_PATTERN_ERROR = '3d08ce0-ded9-a93d-9216-17ac21265b65e'; - public const INVALID_CHECKSUM_ERROR = '32089b-0ee1-93ba-399e-aa232e62f2d29d'; - - protected const ERROR_NAMES = [ - self::INVALID_LENGTH_ERROR => 'INVALID_LENGTH_ERROR', - self::INVALID_PATTERN_ERROR => 'INVALID_PATTERN_ERROR', - self::INVALID_CHECKSUM_ERROR => 'INVALID_CHECKSUM_ERROR', - ]; - - public string $message = 'This value is not a valid International Securities Identification Number (ISIN).'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/IsinValidator.php b/app/vendor/symfony/validator/Constraints/IsinValidator.php deleted file mode 100644 index 32b3b93d5..000000000 --- a/app/vendor/symfony/validator/Constraints/IsinValidator.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Laurent Masforné - * - * @see https://en.wikipedia.org/wiki/International_Securities_Identification_Number - */ -class IsinValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Isin) { - throw new UnexpectedTypeException($constraint, Isin::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = strtoupper($value); - - if (Isin::VALIDATION_LENGTH !== \strlen($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Isin::INVALID_LENGTH_ERROR) - ->addViolation(); - - return; - } - - if (!preg_match(Isin::VALIDATION_PATTERN, $value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Isin::INVALID_PATTERN_ERROR) - ->addViolation(); - - return; - } - - if (!$this->isCorrectChecksum($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Isin::INVALID_CHECKSUM_ERROR) - ->addViolation(); - } - } - - private function isCorrectChecksum(string $input): bool - { - $characters = str_split($input); - foreach ($characters as $i => $char) { - $characters[$i] = \intval($char, 36); - } - $number = implode('', $characters); - - return 0 === $this->context->getValidator()->validate($number, new Luhn())->count(); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Issn.php b/app/vendor/symfony/validator/Constraints/Issn.php deleted file mode 100644 index 1c4ba88d0..000000000 --- a/app/vendor/symfony/validator/Constraints/Issn.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is a valid International Standard Serial Number (ISSN). - * - * @see https://en.wikipedia.org/wiki/ISSN - * - * @author Antonio J. García Lagar - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Issn extends Constraint -{ - public const TOO_SHORT_ERROR = '6a20dd3d-f463-4460-8e7b-18a1b98abbfb'; - public const TOO_LONG_ERROR = '37cef893-5871-464e-8b12-7fb79324833c'; - public const MISSING_HYPHEN_ERROR = '2983286f-8134-4693-957a-1ec4ef887b15'; - public const INVALID_CHARACTERS_ERROR = 'a663d266-37c2-4ece-a914-ae891940c588'; - public const INVALID_CASE_ERROR = '7b6dd393-7523-4a6c-b84d-72b91bba5e1a'; - public const CHECKSUM_FAILED_ERROR = 'b0f92dbc-667c-48de-b526-ad9586d43e85'; - - protected const ERROR_NAMES = [ - self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR', - self::TOO_LONG_ERROR => 'TOO_LONG_ERROR', - self::MISSING_HYPHEN_ERROR => 'MISSING_HYPHEN_ERROR', - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - self::INVALID_CASE_ERROR => 'INVALID_CASE_ERROR', - self::CHECKSUM_FAILED_ERROR => 'CHECKSUM_FAILED_ERROR', - ]; - - public string $message = 'This value is not a valid ISSN.'; - public bool $caseSensitive = false; - public bool $requireHyphen = false; - - /** - * @param bool|null $caseSensitive Whether to allow the value to end with a lowercase character (defaults to false) - * @param bool|null $requireHyphen Whether to require a hyphenated ISSN value (defaults to false) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?bool $caseSensitive = null, - ?bool $requireHyphen = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->caseSensitive = $caseSensitive ?? $this->caseSensitive; - $this->requireHyphen = $requireHyphen ?? $this->requireHyphen; - } -} diff --git a/app/vendor/symfony/validator/Constraints/IssnValidator.php b/app/vendor/symfony/validator/Constraints/IssnValidator.php deleted file mode 100644 index f8668c63d..000000000 --- a/app/vendor/symfony/validator/Constraints/IssnValidator.php +++ /dev/null @@ -1,128 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether the value is a valid ISSN. - * - * @author Antonio J. García Lagar - * @author Bernhard Schussek - * - * @see https://en.wikipedia.org/wiki/Issn - */ -class IssnValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Issn) { - throw new UnexpectedTypeException($constraint, Issn::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - $canonical = $value; - - // 1234-567X - // ^ - if (isset($canonical[4]) && '-' === $canonical[4]) { - // remove hyphen - $canonical = substr($canonical, 0, 4).substr($canonical, 5); - } elseif ($constraint->requireHyphen) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::MISSING_HYPHEN_ERROR) - ->addViolation(); - - return; - } - - $length = \strlen($canonical); - - if ($length < 8) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::TOO_SHORT_ERROR) - ->addViolation(); - - return; - } - - if ($length > 8) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::TOO_LONG_ERROR) - ->addViolation(); - - return; - } - - // 1234567X - // ^^^^^^^ digits only - if (!ctype_digit(substr($canonical, 0, 7))) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - // 1234567X - // ^ digit, x or X - if (!ctype_digit($canonical[7]) && 'x' !== $canonical[7] && 'X' !== $canonical[7]) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - // 1234567X - // ^ case-sensitive? - if ($constraint->caseSensitive && 'x' === $canonical[7]) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::INVALID_CASE_ERROR) - ->addViolation(); - - return; - } - - // Calculate a checksum. "X" equals 10. - $checkSum = 'X' === $canonical[7] || 'x' === $canonical[7] ? 10 : $canonical[7]; - - for ($i = 0; $i < 7; ++$i) { - // Multiply the first digit by 8, the second by 7, etc. - $checkSum += (8 - $i) * (int) $canonical[$i]; - } - - if (0 !== $checkSum % 11) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::CHECKSUM_FAILED_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Json.php b/app/vendor/symfony/validator/Constraints/Json.php deleted file mode 100644 index 8798c94aa..000000000 --- a/app/vendor/symfony/validator/Constraints/Json.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value has valid JSON syntax. - * - * @author Imad ZAIRIG - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Json extends Constraint -{ - public const INVALID_JSON_ERROR = '0789c8ad-2d2b-49a4-8356-e2ce63998504'; - - protected const ERROR_NAMES = [ - self::INVALID_JSON_ERROR => 'INVALID_JSON_ERROR', - ]; - - public string $message = 'This value should be valid JSON.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/JsonValidator.php b/app/vendor/symfony/validator/Constraints/JsonValidator.php deleted file mode 100644 index e65831ca8..000000000 --- a/app/vendor/symfony/validator/Constraints/JsonValidator.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Imad ZAIRIG - */ -class JsonValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Json) { - throw new UnexpectedTypeException($constraint, Json::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (!json_validate($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Json::INVALID_JSON_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Language.php b/app/vendor/symfony/validator/Constraints/Language.php deleted file mode 100644 index dfa91b4f7..000000000 --- a/app/vendor/symfony/validator/Constraints/Language.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Languages; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * Validates that a value is a valid language Unicode language identifier. - * - * @see https://unicode.org/reports/tr35/#Unicode_language_identifier - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Language extends Constraint -{ - public const NO_SUCH_LANGUAGE_ERROR = 'ee65fec4-9a20-4202-9f39-ca558cd7bdf7'; - - protected const ERROR_NAMES = [ - self::NO_SUCH_LANGUAGE_ERROR => 'NO_SUCH_LANGUAGE_ERROR', - ]; - - public string $message = 'This value is not a valid language.'; - public bool $alpha3 = false; - - /** - * @param bool|null $alpha3 Pass true to validate the language with three-letter code (ISO 639-2 (2T)) or false with two-letter code (ISO 639-1) (defaults to false) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?bool $alpha3 = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (!class_exists(Languages::class)) { - throw new LogicException('The Intl component is required to use the Language constraint. Try running "composer require symfony/intl".'); - } - - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->alpha3 = $alpha3 ?? $this->alpha3; - } -} diff --git a/app/vendor/symfony/validator/Constraints/LanguageValidator.php b/app/vendor/symfony/validator/Constraints/LanguageValidator.php deleted file mode 100644 index 9f9832006..000000000 --- a/app/vendor/symfony/validator/Constraints/LanguageValidator.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Languages; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value is a valid language code. - * - * @author Bernhard Schussek - */ -class LanguageValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Language) { - throw new UnexpectedTypeException($constraint, Language::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if ($constraint->alpha3 ? !Languages::alpha3CodeExists($value) : !Languages::exists($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Language::NO_SUCH_LANGUAGE_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Length.php b/app/vendor/symfony/validator/Constraints/Length.php deleted file mode 100644 index 3c7f93ae6..000000000 --- a/app/vendor/symfony/validator/Constraints/Length.php +++ /dev/null @@ -1,128 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\InvalidArgumentException; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Validates that a given string length is between some minimum and maximum value. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Length extends Constraint -{ - public const TOO_SHORT_ERROR = '9ff3fdc4-b214-49db-8718-39c315e33d45'; - public const TOO_LONG_ERROR = 'd94b19cc-114f-4f44-9cc4-4138e80a87b9'; - public const NOT_EQUAL_LENGTH_ERROR = '4b6f5c76-22b4-409d-af16-fbe823ba9332'; - public const INVALID_CHARACTERS_ERROR = '35e6a710-aa2e-4719-b58e-24b35749b767'; - - protected const ERROR_NAMES = [ - self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR', - self::TOO_LONG_ERROR => 'TOO_LONG_ERROR', - self::NOT_EQUAL_LENGTH_ERROR => 'NOT_EQUAL_LENGTH_ERROR', - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - ]; - - public const COUNT_BYTES = 'bytes'; - public const COUNT_CODEPOINTS = 'codepoints'; - public const COUNT_GRAPHEMES = 'graphemes'; - - private const VALID_COUNT_UNITS = [ - self::COUNT_BYTES, - self::COUNT_CODEPOINTS, - self::COUNT_GRAPHEMES, - ]; - - public string $maxMessage = 'This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.'; - public string $minMessage = 'This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.'; - public string $exactMessage = 'This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.'; - public string $charsetMessage = 'This value does not match the expected {{ charset }} charset.'; - public ?int $max = null; - public ?int $min = null; - public string $charset = 'UTF-8'; - /** @var callable|null */ - public $normalizer; - /** @var self::COUNT_* */ - public string $countUnit = self::COUNT_CODEPOINTS; - - /** - * @param positive-int|null $exactly The exact expected length - * @param int<0, max>|null $min The minimum expected length - * @param positive-int|null $max The maximum expected length - * @param string|null $charset The charset to be used when computing value's length (defaults to UTF-8) - * @param callable|null $normalizer A callable to normalize value before it is validated - * @param self::COUNT_*|null $countUnit The character count unit for the length check (defaults to {@see Length::COUNT_CODEPOINTS}) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - int|array|null $exactly = null, - ?int $min = null, - ?int $max = null, - ?string $charset = null, - ?callable $normalizer = null, - ?string $countUnit = null, - ?string $exactMessage = null, - ?string $minMessage = null, - ?string $maxMessage = null, - ?string $charsetMessage = null, - ?array $groups = null, - mixed $payload = null, - ?array $options = null, - ) { - if (\is_array($exactly)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($exactly, $options ?? []); - $exactly = $options['value'] ?? null; - } elseif (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - $min ??= $options['min'] ?? null; - $max ??= $options['max'] ?? null; - - unset($options['value'], $options['min'], $options['max']); - - if (null !== $exactly && null === $min && null === $max) { - $min = $max = $exactly; - } - - parent::__construct($options, $groups, $payload); - - $this->min = $min; - $this->max = $max; - $this->charset = $charset ?? $this->charset; - $this->normalizer = $normalizer ?? $this->normalizer; - $this->countUnit = $countUnit ?? $this->countUnit; - $this->exactMessage = $exactMessage ?? $this->exactMessage; - $this->minMessage = $minMessage ?? $this->minMessage; - $this->maxMessage = $maxMessage ?? $this->maxMessage; - $this->charsetMessage = $charsetMessage ?? $this->charsetMessage; - - if (null === $this->min && null === $this->max) { - throw new MissingOptionsException(\sprintf('Either option "min" or "max" must be given for constraint "%s".', __CLASS__), ['min', 'max']); - } - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - - if (!\in_array($this->countUnit, self::VALID_COUNT_UNITS, true)) { - throw new InvalidArgumentException(\sprintf('The "countUnit" option must be one of the "%s"::COUNT_* constants ("%s" given).', __CLASS__, $this->countUnit)); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/LengthValidator.php b/app/vendor/symfony/validator/Constraints/LengthValidator.php deleted file mode 100644 index b30f6722d..000000000 --- a/app/vendor/symfony/validator/Constraints/LengthValidator.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class LengthValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Length) { - throw new UnexpectedTypeException($constraint, Length::class); - } - - if (null === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $stringValue = (string) $value; - - if (null !== $constraint->normalizer) { - $stringValue = ($constraint->normalizer)($stringValue); - } - - try { - $invalidCharset = !@mb_check_encoding($stringValue, $constraint->charset); - } catch (\ValueError $e) { - if (!str_starts_with($e->getMessage(), 'mb_check_encoding(): Argument #2 ($encoding) must be a valid encoding')) { - throw $e; - } - - $invalidCharset = true; - } - - $length = $invalidCharset ? 0 : match ($constraint->countUnit) { - Length::COUNT_BYTES => \strlen($stringValue), - Length::COUNT_CODEPOINTS => mb_strlen($stringValue, $constraint->charset), - Length::COUNT_GRAPHEMES => grapheme_strlen($stringValue), - }; - - if ($invalidCharset || false === ($length ?? false)) { - $this->context->buildViolation($constraint->charsetMessage) - ->setParameter('{{ value }}', $this->formatValue($stringValue)) - ->setParameter('{{ charset }}', $constraint->charset) - ->setInvalidValue($value) - ->setCode(Length::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - if (null !== $constraint->max && $length > $constraint->max) { - $exactlyOptionEnabled = $constraint->min == $constraint->max; - - $builder = $this->context->buildViolation($exactlyOptionEnabled ? $constraint->exactMessage : $constraint->maxMessage); - if (null !== $constraint->min) { - $builder->setParameter('{{ min }}', $constraint->min); - } - - $builder - ->setParameter('{{ value }}', $this->formatValue($stringValue)) - ->setParameter('{{ limit }}', $constraint->max) - ->setParameter('{{ max }}', $constraint->max) // To be consistent with the min error message - ->setParameter('{{ value_length }}', $length) - ->setInvalidValue($value) - ->setPlural($constraint->max) - ->setCode($exactlyOptionEnabled ? Length::NOT_EQUAL_LENGTH_ERROR : Length::TOO_LONG_ERROR) - ->addViolation(); - - return; - } - - if (null !== $constraint->min && $length < $constraint->min) { - $exactlyOptionEnabled = $constraint->min == $constraint->max; - - $builder = $this->context->buildViolation($exactlyOptionEnabled ? $constraint->exactMessage : $constraint->minMessage); - if (null !== $constraint->max) { - $builder->setParameter('{{ max }}', $constraint->max); - } - - $builder - ->setParameter('{{ value }}', $this->formatValue($stringValue)) - ->setParameter('{{ limit }}', $constraint->min) - ->setParameter('{{ min }}', $constraint->min) // To be consistent with the max error message - ->setParameter('{{ value_length }}', $length) - ->setInvalidValue($value) - ->setPlural($constraint->min) - ->setCode($exactlyOptionEnabled ? Length::NOT_EQUAL_LENGTH_ERROR : Length::TOO_SHORT_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/LessThan.php b/app/vendor/symfony/validator/Constraints/LessThan.php deleted file mode 100644 index d9be15958..000000000 --- a/app/vendor/symfony/validator/Constraints/LessThan.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is less than another value. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class LessThan extends AbstractComparison -{ - public const TOO_HIGH_ERROR = '079d7420-2d13-460c-8756-de810eeb37d2'; - - protected const ERROR_NAMES = [ - self::TOO_HIGH_ERROR => 'TOO_HIGH_ERROR', - ]; - - public string $message = 'This value should be less than {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/LessThanOrEqual.php b/app/vendor/symfony/validator/Constraints/LessThanOrEqual.php deleted file mode 100644 index ddeaf2c38..000000000 --- a/app/vendor/symfony/validator/Constraints/LessThanOrEqual.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is less than or equal to another value. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class LessThanOrEqual extends AbstractComparison -{ - public const TOO_HIGH_ERROR = '30fbb013-d015-4232-8b3b-8f3be97a7e14'; - - protected const ERROR_NAMES = [ - self::TOO_HIGH_ERROR => 'TOO_HIGH_ERROR', - ]; - - public string $message = 'This value should be less than or equal to {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php b/app/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php deleted file mode 100644 index 55b3b0a12..000000000 --- a/app/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates values are less than or equal to the previous (<=). - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -class LessThanOrEqualValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - return null === $value2 || $value1 <= $value2; - } - - protected function getErrorCode(): ?string - { - return LessThanOrEqual::TOO_HIGH_ERROR; - } -} diff --git a/app/vendor/symfony/validator/Constraints/LessThanValidator.php b/app/vendor/symfony/validator/Constraints/LessThanValidator.php deleted file mode 100644 index b6cbae18b..000000000 --- a/app/vendor/symfony/validator/Constraints/LessThanValidator.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates values are less than the previous (<). - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -class LessThanValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - return null === $value2 || $value1 < $value2; - } - - protected function getErrorCode(): ?string - { - return LessThan::TOO_HIGH_ERROR; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Locale.php b/app/vendor/symfony/validator/Constraints/Locale.php deleted file mode 100644 index d309fecee..000000000 --- a/app/vendor/symfony/validator/Constraints/Locale.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Locales; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * Validates that a value is a valid locale (e.g. fr, fr_FR, etc.). - * - * @see https://unicode-org.github.io/icu/userguide/locale/ - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Locale extends Constraint -{ - public const NO_SUCH_LOCALE_ERROR = 'a0af4293-1f1a-4a1c-a328-979cba6182a2'; - - protected const ERROR_NAMES = [ - self::NO_SUCH_LOCALE_ERROR => 'NO_SUCH_LOCALE_ERROR', - ]; - - public string $message = 'This value is not a valid locale.'; - public bool $canonicalize = true; - - /** - * @param bool|null $canonicalize Whether to canonicalize the value before validation (defaults to true) (see {@see https://www.php.net/manual/en/locale.canonicalize.php}) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?bool $canonicalize = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (!class_exists(Locales::class)) { - throw new LogicException('The Intl component is required to use the Locale constraint. Try running "composer require symfony/intl".'); - } - - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->canonicalize = $canonicalize ?? $this->canonicalize; - } -} diff --git a/app/vendor/symfony/validator/Constraints/LocaleValidator.php b/app/vendor/symfony/validator/Constraints/LocaleValidator.php deleted file mode 100644 index 7f1bfe265..000000000 --- a/app/vendor/symfony/validator/Constraints/LocaleValidator.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Locales; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value is a valid locale code. - * - * @author Bernhard Schussek - */ -class LocaleValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Locale) { - throw new UnexpectedTypeException($constraint, Locale::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $inputValue = (string) $value; - $value = $inputValue; - if ($constraint->canonicalize) { - $value = \Locale::canonicalize($value); - } - - if (null === $value || !Locales::exists($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($inputValue)) - ->setCode(Locale::NO_SUCH_LOCALE_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Luhn.php b/app/vendor/symfony/validator/Constraints/Luhn.php deleted file mode 100644 index f2e93a867..000000000 --- a/app/vendor/symfony/validator/Constraints/Luhn.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value (typically a credit card number) passes the Luhn algorithm. - * - * @see https://en.wikipedia.org/wiki/Luhn_algorithm - * - * @author Tim Nagel - * @author Greg Knapp http://gregk.me/2011/php-implementation-of-bank-card-luhn-algorithm/ - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Luhn extends Constraint -{ - public const INVALID_CHARACTERS_ERROR = 'dfad6d23-1b74-4374-929b-5cbb56fc0d9e'; - public const CHECKSUM_FAILED_ERROR = '4d760774-3f50-4cd5-a6d5-b10a3299d8d3'; - - protected const ERROR_NAMES = [ - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - self::CHECKSUM_FAILED_ERROR => 'CHECKSUM_FAILED_ERROR', - ]; - - public string $message = 'Invalid card number.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/LuhnValidator.php b/app/vendor/symfony/validator/Constraints/LuhnValidator.php deleted file mode 100644 index 242b9ad4b..000000000 --- a/app/vendor/symfony/validator/Constraints/LuhnValidator.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates a PAN using the LUHN Algorithm. - * - * For a list of example card numbers that are used to test this - * class, please see the LuhnValidatorTest class. - * - * @see http://en.wikipedia.org/wiki/Luhn_algorithm - * - * @author Tim Nagel - * @author Greg Knapp http://gregk.me/2011/php-implementation-of-bank-card-luhn-algorithm/ - * @author Bernhard Schussek - */ -class LuhnValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Luhn) { - throw new UnexpectedTypeException($constraint, Luhn::class); - } - - if (null === $value || '' === $value) { - return; - } - - // Work with strings only, because long numbers are represented as floats - // internally and don't work with strlen() - if (!\is_string($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (!ctype_digit($value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Luhn::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - $checkSum = 0; - $length = \strlen($value); - - for ($i = $length - 1; $i >= 0; --$i) { - if (($i % 2) ^ ($length % 2)) { - // Starting with the last digit and walking left, add every second - // digit to the check sum - // e.g. 7 9 9 2 7 3 9 8 7 1 3 - // ^ ^ ^ ^ ^ ^ - // = 7 + 9 + 7 + 9 + 7 + 3 - $checkSum += (int) $value[$i]; - } else { - // Starting with the second last digit and walking left, double every - // second digit and add it to the check sum - // For doubles greater than 9, sum the individual digits - // e.g. 7 9 9 2 7 3 9 8 7 1 3 - // ^ ^ ^ ^ ^ - // = 1+8 + 4 + 6 + 1+6 + 2 - $checkSum += (((int) (2 * $value[$i] / 10)) + (2 * $value[$i]) % 10); - } - } - - if (0 === $checkSum || 0 !== $checkSum % 10) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Luhn::CHECKSUM_FAILED_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/MacAddress.php b/app/vendor/symfony/validator/Constraints/MacAddress.php deleted file mode 100644 index 566495b38..000000000 --- a/app/vendor/symfony/validator/Constraints/MacAddress.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Validates that a value is a valid MAC address. - * - * @author Ninos Ego - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class MacAddress extends Constraint -{ - public const ALL = 'all'; - public const ALL_NO_BROADCAST = 'all_no_broadcast'; - public const LOCAL_ALL = 'local_all'; - public const LOCAL_NO_BROADCAST = 'local_no_broadcast'; - public const LOCAL_UNICAST = 'local_unicast'; - public const LOCAL_MULTICAST = 'local_multicast'; - public const LOCAL_MULTICAST_NO_BROADCAST = 'local_multicast_no_broadcast'; - public const UNIVERSAL_ALL = 'universal_all'; - public const UNIVERSAL_UNICAST = 'universal_unicast'; - public const UNIVERSAL_MULTICAST = 'universal_multicast'; - public const UNICAST_ALL = 'unicast_all'; - public const MULTICAST_ALL = 'multicast_all'; - public const MULTICAST_NO_BROADCAST = 'multicast_no_broadcast'; - public const BROADCAST = 'broadcast'; - - public const INVALID_MAC_ERROR = 'a183fbff-6968-43b4-82a2-cc5cf7150036'; - - private const TYPES = [ - self::ALL, - self::ALL_NO_BROADCAST, - self::LOCAL_ALL, - self::LOCAL_NO_BROADCAST, - self::LOCAL_UNICAST, - self::LOCAL_MULTICAST, - self::LOCAL_MULTICAST_NO_BROADCAST, - self::UNIVERSAL_ALL, - self::UNIVERSAL_UNICAST, - self::UNIVERSAL_MULTICAST, - self::UNICAST_ALL, - self::MULTICAST_ALL, - self::MULTICAST_NO_BROADCAST, - self::BROADCAST, - ]; - - protected const ERROR_NAMES = [ - self::INVALID_MAC_ERROR => 'INVALID_MAC_ERROR', - ]; - - public ?\Closure $normalizer; - - /** - * @param self::ALL*|self::LOCAL_*|self::UNIVERSAL_*|self::UNICAST_*|self::MULTICAST_*|self::BROADCAST $type A mac address type to validate (defaults to {@see self::ALL}) - */ - #[HasNamedArguments] - public function __construct( - public string $message = 'This value is not a valid MAC address.', - public string $type = self::ALL, - ?callable $normalizer = null, - ?array $groups = null, - mixed $payload = null, - ) { - parent::__construct(null, $groups, $payload); - - if (!\in_array($this->type, self::TYPES, true)) { - throw new ConstraintDefinitionException(\sprintf('The option "type" must be one of "%s".', implode('", "', self::TYPES))); - } - - $this->normalizer = null !== $normalizer ? $normalizer(...) : null; - } -} diff --git a/app/vendor/symfony/validator/Constraints/MacAddressValidator.php b/app/vendor/symfony/validator/Constraints/MacAddressValidator.php deleted file mode 100644 index 803798128..000000000 --- a/app/vendor/symfony/validator/Constraints/MacAddressValidator.php +++ /dev/null @@ -1,118 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value is a valid MAC address. - * - * @author Ninos Ego - */ -class MacAddressValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof MacAddress) { - throw new UnexpectedTypeException($constraint, MacAddress::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (null !== $constraint->normalizer) { - $value = ($constraint->normalizer)($value); - } - - if (!self::checkMac($value, $constraint->type)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(MacAddress::INVALID_MAC_ERROR) - ->addViolation(); - } - } - - /** - * Checks whether a MAC address is valid. - */ - private static function checkMac(string $mac, string $type): bool - { - if (!filter_var($mac, \FILTER_VALIDATE_MAC)) { - return false; - } - - return match ($type) { - MacAddress::ALL => true, - MacAddress::ALL_NO_BROADCAST => !self::isBroadcast($mac), - MacAddress::LOCAL_ALL => self::isLocal($mac), - MacAddress::LOCAL_NO_BROADCAST => self::isLocal($mac) && !self::isBroadcast($mac), - MacAddress::LOCAL_UNICAST => self::isLocal($mac) && self::isUnicast($mac), - MacAddress::LOCAL_MULTICAST => self::isLocal($mac) && !self::isUnicast($mac), - MacAddress::LOCAL_MULTICAST_NO_BROADCAST => self::isLocal($mac) && !self::isUnicast($mac) && !self::isBroadcast($mac), - MacAddress::UNIVERSAL_ALL => !self::isLocal($mac), - MacAddress::UNIVERSAL_UNICAST => !self::isLocal($mac) && self::isUnicast($mac), - MacAddress::UNIVERSAL_MULTICAST => !self::isLocal($mac) && !self::isUnicast($mac), - MacAddress::UNICAST_ALL => self::isUnicast($mac), - MacAddress::MULTICAST_ALL => !self::isUnicast($mac), - MacAddress::MULTICAST_NO_BROADCAST => !self::isUnicast($mac) && !self::isBroadcast($mac), - MacAddress::BROADCAST => self::isBroadcast($mac), - }; - } - - /** - * Checks whether a MAC address is unicast or multicast. - */ - private static function isUnicast(string $mac): bool - { - return match (self::sanitize($mac)[1]) { - '0', '4', '8', 'c', '2', '6', 'a', 'e' => true, - default => false, - }; - } - - /** - * Checks whether a MAC address is local or universal. - */ - private static function isLocal(string $mac): bool - { - return match (self::sanitize($mac)[1]) { - '2', '6', 'a', 'e', '3', '7', 'b', 'f' => true, - default => false, - }; - } - - /** - * Checks whether a MAC address is broadcast. - */ - private static function isBroadcast(string $mac): bool - { - return 'ffffffffffff' === self::sanitize($mac); - } - - /** - * Returns the sanitized MAC address. - */ - private static function sanitize(string $mac): string - { - return strtolower(str_replace([':', '-', '.'], '', $mac)); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Negative.php b/app/vendor/symfony/validator/Constraints/Negative.php deleted file mode 100644 index ff52073ea..000000000 --- a/app/vendor/symfony/validator/Constraints/Negative.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is a negative number. - * - * @author Jan Schädlich - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Negative extends LessThan -{ - use ZeroComparisonConstraintTrait; - - public string $message = 'This value should be negative.'; -} diff --git a/app/vendor/symfony/validator/Constraints/NegativeOrZero.php b/app/vendor/symfony/validator/Constraints/NegativeOrZero.php deleted file mode 100644 index 610af4954..000000000 --- a/app/vendor/symfony/validator/Constraints/NegativeOrZero.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is a negative number or equal to zero. - * - * @author Jan Schädlich - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class NegativeOrZero extends LessThanOrEqual -{ - use ZeroComparisonConstraintTrait; - - public string $message = 'This value should be either negative or zero.'; -} diff --git a/app/vendor/symfony/validator/Constraints/NoSuspiciousCharacters.php b/app/vendor/symfony/validator/Constraints/NoSuspiciousCharacters.php deleted file mode 100644 index 2a5ba530c..000000000 --- a/app/vendor/symfony/validator/Constraints/NoSuspiciousCharacters.php +++ /dev/null @@ -1,123 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * Validates that the given string does not contain characters used in spoofing security attacks. - * - * @see https://www.php.net/manual/en/class.spoofchecker.php - * - * @author Mathieu Lechat - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class NoSuspiciousCharacters extends Constraint -{ - public const RESTRICTION_LEVEL_ERROR = '1ece07dc-dca2-45f1-ba47-8d7dc3a12774'; - public const INVISIBLE_ERROR = '6ed60e6c-179b-4e93-8a6c-667d85c6de5e'; - public const MIXED_NUMBERS_ERROR = '9f01fc26-3bc4-44b1-a6b1-c08e2412053a'; - public const HIDDEN_OVERLAY_ERROR = '56380dc5-0476-4f04-bbaa-b68cd1c2d974'; - - protected const ERROR_NAMES = [ - self::RESTRICTION_LEVEL_ERROR => 'RESTRICTION_LEVEL_ERROR', - self::INVISIBLE_ERROR => 'INVISIBLE_ERROR', - self::MIXED_NUMBERS_ERROR => 'MIXED_NUMBERS_ERROR', - self::HIDDEN_OVERLAY_ERROR => 'INVALID_CASE_ERROR', - ]; - - /** - * Check a string for the presence of invisible characters such as zero-width spaces, - * or character sequences that are likely not to display such as multiple occurrences of the same non-spacing mark. - */ - public const CHECK_INVISIBLE = 32; - - /** - * Check that a string does not mix numbers from different numbering systems; - * for example “8” (Digit Eight) and “৪” (Bengali Digit Four). - */ - public const CHECK_MIXED_NUMBERS = 128; - - /** - * Check that a string does not have a combining character following a character in which it would be hidden; - * for example “i” (Latin Small Letter I) followed by a U+0307 (Combining Dot Above). - */ - public const CHECK_HIDDEN_OVERLAY = 256; - - /** @see https://unicode.org/reports/tr39/#ascii_only */ - public const RESTRICTION_LEVEL_ASCII = 268435456; - - /** @see https://unicode.org/reports/tr39/#single_script */ - public const RESTRICTION_LEVEL_SINGLE_SCRIPT = 536870912; - - /** @see https://unicode.org/reports/tr39/#highly_restrictive */ - public const RESTRICTION_LEVEL_HIGH = 805306368; - - /** @see https://unicode.org/reports/tr39/#moderately_restrictive */ - public const RESTRICTION_LEVEL_MODERATE = 1073741824; - - /** @see https://unicode.org/reports/tr39/#minimally_restrictive */ - public const RESTRICTION_LEVEL_MINIMAL = 1342177280; - - /** @see https://unicode.org/reports/tr39/#unrestricted */ - public const RESTRICTION_LEVEL_NONE = 1610612736; - - public string $restrictionLevelMessage = 'This value contains characters that are not allowed by the current restriction-level.'; - public string $invisibleMessage = 'Using invisible characters is not allowed.'; - public string $mixedNumbersMessage = 'Mixing numbers from different scripts is not allowed.'; - public string $hiddenOverlayMessage = 'Using hidden overlay characters is not allowed.'; - - public int $checks = self::CHECK_INVISIBLE | self::CHECK_MIXED_NUMBERS | self::CHECK_HIDDEN_OVERLAY; - public ?int $restrictionLevel = null; - public ?array $locales = null; - - /** - * @param int-mask-of|null $checks A bitmask of the checks to perform on the string (defaults to all checks) - * @param int-mask-of|null $restrictionLevel Configures the set of acceptable characters for the validated string through a specified "level" (defaults to - * {@see NoSuspiciousCharacters::RESTRICTION_LEVEL_MODERATE} on ICU >= 58, {@see NoSuspiciousCharacters::RESTRICTION_LEVEL_SINGLE_SCRIPT} otherwise) - * @param string[]|null $locales Restrict the string's characters to those normally used with these locales. Pass null to use the default locales configured for the NoSuspiciousCharactersValidator. (defaults to null) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $restrictionLevelMessage = null, - ?string $invisibleMessage = null, - ?string $mixedNumbersMessage = null, - ?string $hiddenOverlayMessage = null, - ?int $checks = null, - ?int $restrictionLevel = null, - ?array $locales = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (!class_exists(\Spoofchecker::class)) { - throw new LogicException('The intl extension is required to use the NoSuspiciousCharacters constraint.'); - } - - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->restrictionLevelMessage = $restrictionLevelMessage ?? $this->restrictionLevelMessage; - $this->invisibleMessage = $invisibleMessage ?? $this->invisibleMessage; - $this->mixedNumbersMessage = $mixedNumbersMessage ?? $this->mixedNumbersMessage; - $this->hiddenOverlayMessage = $hiddenOverlayMessage ?? $this->hiddenOverlayMessage; - $this->checks = $checks ?? $this->checks; - $this->restrictionLevel = $restrictionLevel ?? $this->restrictionLevel; - $this->locales = $locales ?? $this->locales; - } -} diff --git a/app/vendor/symfony/validator/Constraints/NoSuspiciousCharactersValidator.php b/app/vendor/symfony/validator/Constraints/NoSuspiciousCharactersValidator.php deleted file mode 100644 index 0b7a78ef9..000000000 --- a/app/vendor/symfony/validator/Constraints/NoSuspiciousCharactersValidator.php +++ /dev/null @@ -1,123 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Mathieu Lechat - */ -class NoSuspiciousCharactersValidator extends ConstraintValidator -{ - private const CHECK_RESTRICTION_LEVEL = 16; - private const CHECK_SINGLE_SCRIPT = 16; - private const CHECK_CHAR_LIMIT = 64; - - private const CHECK_ERROR = [ - self::CHECK_RESTRICTION_LEVEL => [ - 'code' => NoSuspiciousCharacters::RESTRICTION_LEVEL_ERROR, - 'messageProperty' => 'restrictionLevelMessage', - ], - NoSuspiciousCharacters::CHECK_INVISIBLE => [ - 'code' => NoSuspiciousCharacters::INVISIBLE_ERROR, - 'messageProperty' => 'invisibleMessage', - ], - self::CHECK_CHAR_LIMIT => [ - 'code' => NoSuspiciousCharacters::RESTRICTION_LEVEL_ERROR, - 'messageProperty' => 'restrictionLevelMessage', - ], - NoSuspiciousCharacters::CHECK_MIXED_NUMBERS => [ - 'code' => NoSuspiciousCharacters::MIXED_NUMBERS_ERROR, - 'messageProperty' => 'mixedNumbersMessage', - ], - NoSuspiciousCharacters::CHECK_HIDDEN_OVERLAY => [ - 'code' => NoSuspiciousCharacters::HIDDEN_OVERLAY_ERROR, - 'messageProperty' => 'hiddenOverlayMessage', - ], - ]; - - /** - * @param string[] $defaultLocales - */ - public function __construct(private readonly array $defaultLocales = []) - { - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof NoSuspiciousCharacters) { - throw new UnexpectedTypeException($constraint, NoSuspiciousCharacters::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - if ('' === $value = (string) $value) { - return; - } - - $checker = new \Spoofchecker(); - $checks = $constraint->checks; - - if (method_exists($checker, 'setRestrictionLevel')) { - $checks |= self::CHECK_RESTRICTION_LEVEL; - $checker->setRestrictionLevel($constraint->restrictionLevel ?? NoSuspiciousCharacters::RESTRICTION_LEVEL_MODERATE); - } elseif (NoSuspiciousCharacters::RESTRICTION_LEVEL_MINIMAL === $constraint->restrictionLevel) { - $checks |= self::CHECK_CHAR_LIMIT; - } elseif (NoSuspiciousCharacters::RESTRICTION_LEVEL_SINGLE_SCRIPT === $constraint->restrictionLevel) { - $checks |= self::CHECK_SINGLE_SCRIPT | self::CHECK_CHAR_LIMIT; - } elseif ($constraint->restrictionLevel) { - throw new LogicException('You can only use one of RESTRICTION_LEVEL_NONE, RESTRICTION_LEVEL_MINIMAL or RESTRICTION_LEVEL_SINGLE_SCRIPT with intl compiled against ICU < 58.'); - } else { - $checks |= self::CHECK_SINGLE_SCRIPT; - } - - $checker->setAllowedLocales(implode(',', $constraint->locales ?? $this->defaultLocales)); - - $checker->setChecks($checks); - - if (!$checker->isSuspicious($value, $errorCode)) { - return; - } - - foreach (self::CHECK_ERROR as $check => $error) { - if (\PHP_VERSION_ID < 80204) { - if (!($checks & $check)) { - continue; - } - - $checker->setChecks($check); - - if (!$checker->isSuspicious($value)) { - continue; - } - } elseif (!($errorCode & $check)) { - continue; - } - - $this->context->buildViolation($constraint->{$error['messageProperty']}) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($error['code']) - ->addViolation() - ; - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/NotBlank.php b/app/vendor/symfony/validator/Constraints/NotBlank.php deleted file mode 100644 index f26f6aff8..000000000 --- a/app/vendor/symfony/validator/Constraints/NotBlank.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\InvalidArgumentException; - -/** - * Validates that a value is not blank. - * - * @author Bernhard Schussek - * @author Kévin Dunglas - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class NotBlank extends Constraint -{ - public const IS_BLANK_ERROR = 'c1051bb4-d103-4f74-8988-acbcafc7fdc3'; - - protected const ERROR_NAMES = [ - self::IS_BLANK_ERROR => 'IS_BLANK_ERROR', - ]; - - public string $message = 'This value should not be blank.'; - public bool $allowNull = false; - /** @var callable|null */ - public $normalizer; - - /** - * @param bool|null $allowNull Whether to allow null values (defaults to false) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?bool $allowNull = null, ?callable $normalizer = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->allowNull = $allowNull ?? $this->allowNull; - $this->normalizer = $normalizer ?? $this->normalizer; - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/NotBlankValidator.php b/app/vendor/symfony/validator/Constraints/NotBlankValidator.php deleted file mode 100644 index 2b21b3f3c..000000000 --- a/app/vendor/symfony/validator/Constraints/NotBlankValidator.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek - * @author Kévin Dunglas - */ -class NotBlankValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof NotBlank) { - throw new UnexpectedTypeException($constraint, NotBlank::class); - } - - if ($constraint->allowNull && null === $value) { - return; - } - - if (\is_string($value) && null !== $constraint->normalizer) { - $value = ($constraint->normalizer)($value); - } - - if (false === $value || (!$value && '0' != $value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(NotBlank::IS_BLANK_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/NotCompromisedPassword.php b/app/vendor/symfony/validator/Constraints/NotCompromisedPassword.php deleted file mode 100644 index 8a6219580..000000000 --- a/app/vendor/symfony/validator/Constraints/NotCompromisedPassword.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Checks if a password has been leaked in a data breach. - * - * @author Kévin Dunglas - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class NotCompromisedPassword extends Constraint -{ - public const COMPROMISED_PASSWORD_ERROR = 'd9bcdbfe-a9d6-4bfa-a8ff-da5fd93e0f6d'; - - protected const ERROR_NAMES = [ - self::COMPROMISED_PASSWORD_ERROR => 'COMPROMISED_PASSWORD_ERROR', - ]; - - public string $message = 'This password has been leaked in a data breach, it must not be used. Please use another password.'; - public int $threshold = 1; - public bool $skipOnError = false; - - /** - * @param positive-int|null $threshold The number of times the password should have been leaked to consider it is compromised (defaults to 1) - * @param bool|null $skipOnError Whether to ignore HTTP errors while requesting the API and thus consider the password valid (defaults to false) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?int $threshold = null, - ?bool $skipOnError = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->threshold = $threshold ?? $this->threshold; - $this->skipOnError = $skipOnError ?? $this->skipOnError; - } -} diff --git a/app/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php b/app/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php deleted file mode 100644 index 3b1d25b4c..000000000 --- a/app/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php +++ /dev/null @@ -1,108 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\HttpClient\HttpClient; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; -use Symfony\Contracts\HttpClient\Exception\ExceptionInterface; -use Symfony\Contracts\HttpClient\HttpClientInterface; - -/** - * Checks if a password has been leaked in a data breach using haveibeenpwned.com's API. - * Use a k-anonymity model to protect the password being searched for. - * - * @see https://haveibeenpwned.com/API/v2#SearchingPwnedPasswordsByRange - * - * @author Kévin Dunglas - */ -class NotCompromisedPasswordValidator extends ConstraintValidator -{ - private const DEFAULT_API_ENDPOINT = 'https://api.pwnedpasswords.com/range/%s'; - - private HttpClientInterface $httpClient; - private string $charset; - private bool $enabled; - private string $endpoint; - - public function __construct(?HttpClientInterface $httpClient = null, string $charset = 'UTF-8', bool $enabled = true, ?string $endpoint = null) - { - if (null === $httpClient && !class_exists(HttpClient::class)) { - throw new LogicException(\sprintf('The "%s" class requires the "HttpClient" component. Try running "composer require symfony/http-client".', self::class)); - } - - $this->httpClient = $httpClient ?? HttpClient::create(); - $this->charset = $charset; - $this->enabled = $enabled; - $this->endpoint = $endpoint ?? self::DEFAULT_API_ENDPOINT; - } - - /** - * @throws ExceptionInterface - */ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof NotCompromisedPassword) { - throw new UnexpectedTypeException($constraint, NotCompromisedPassword::class); - } - - if (!$this->enabled) { - return; - } - - if (null !== $value && !\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - if ('' === $value) { - return; - } - - if ('UTF-8' !== $this->charset) { - $value = mb_convert_encoding($value, 'UTF-8', $this->charset); - } - - $hash = strtoupper(sha1($value)); - $hashPrefix = substr($hash, 0, 5); - $url = \sprintf($this->endpoint, $hashPrefix); - - try { - $result = $this->httpClient->request('GET', $url, ['headers' => ['Add-Padding' => 'true']])->getContent(); - } catch (ExceptionInterface $e) { - if ($constraint->skipOnError) { - return; - } - - throw $e; - } - - foreach (explode("\r\n", $result) as $line) { - if (!str_contains($line, ':')) { - continue; - } - - [$hashSuffix, $count] = explode(':', $line); - - if ($hashPrefix.$hashSuffix === $hash && $constraint->threshold <= (int) $count) { - $this->context->buildViolation($constraint->message) - ->setCode(NotCompromisedPassword::COMPROMISED_PASSWORD_ERROR) - ->addViolation(); - - return; - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/NotEqualTo.php b/app/vendor/symfony/validator/Constraints/NotEqualTo.php deleted file mode 100644 index 02d466566..000000000 --- a/app/vendor/symfony/validator/Constraints/NotEqualTo.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is not equal to another value. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class NotEqualTo extends AbstractComparison -{ - public const IS_EQUAL_ERROR = 'aa2e33da-25c8-4d76-8c6c-812f02ea89dd'; - - protected const ERROR_NAMES = [ - self::IS_EQUAL_ERROR => 'IS_EQUAL_ERROR', - ]; - - public string $message = 'This value should not be equal to {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/NotEqualToValidator.php b/app/vendor/symfony/validator/Constraints/NotEqualToValidator.php deleted file mode 100644 index 9b5413a59..000000000 --- a/app/vendor/symfony/validator/Constraints/NotEqualToValidator.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates values are all unequal (!=). - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -class NotEqualToValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - return $value1 != $value2; - } - - protected function getErrorCode(): ?string - { - return NotEqualTo::IS_EQUAL_ERROR; - } -} diff --git a/app/vendor/symfony/validator/Constraints/NotIdenticalTo.php b/app/vendor/symfony/validator/Constraints/NotIdenticalTo.php deleted file mode 100644 index 3654bfb03..000000000 --- a/app/vendor/symfony/validator/Constraints/NotIdenticalTo.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is not identical to another value. - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class NotIdenticalTo extends AbstractComparison -{ - public const IS_IDENTICAL_ERROR = '4aaac518-0dda-4129-a6d9-e216b9b454a0'; - - protected const ERROR_NAMES = [ - self::IS_IDENTICAL_ERROR => 'IS_IDENTICAL_ERROR', - ]; - - public string $message = 'This value should not be identical to {{ compared_value_type }} {{ compared_value }}.'; -} diff --git a/app/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php b/app/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php deleted file mode 100644 index ef7d2f43a..000000000 --- a/app/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates values aren't identical (!==). - * - * @author Daniel Holmes - * @author Bernhard Schussek - */ -class NotIdenticalToValidator extends AbstractComparisonValidator -{ - protected function compareValues(mixed $value1, mixed $value2): bool - { - return $value1 !== $value2; - } - - protected function getErrorCode(): ?string - { - return NotIdenticalTo::IS_IDENTICAL_ERROR; - } -} diff --git a/app/vendor/symfony/validator/Constraints/NotNull.php b/app/vendor/symfony/validator/Constraints/NotNull.php deleted file mode 100644 index b00c72bed..000000000 --- a/app/vendor/symfony/validator/Constraints/NotNull.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is not strictly equal to null. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class NotNull extends Constraint -{ - public const IS_NULL_ERROR = 'ad32d13f-c3d4-423b-909a-857b961eb720'; - - protected const ERROR_NAMES = [ - self::IS_NULL_ERROR => 'IS_NULL_ERROR', - ]; - - public string $message = 'This value should not be null.'; - - /** - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/NotNullValidator.php b/app/vendor/symfony/validator/Constraints/NotNullValidator.php deleted file mode 100644 index 0fd773685..000000000 --- a/app/vendor/symfony/validator/Constraints/NotNullValidator.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek - */ -class NotNullValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof NotNull) { - throw new UnexpectedTypeException($constraint, NotNull::class); - } - - if (null === $value) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(NotNull::IS_NULL_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Optional.php b/app/vendor/symfony/validator/Constraints/Optional.php deleted file mode 100644 index df331a676..000000000 --- a/app/vendor/symfony/validator/Constraints/Optional.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * @author Bernhard Schussek - */ -class Optional extends Existence -{ -} diff --git a/app/vendor/symfony/validator/Constraints/PasswordStrength.php b/app/vendor/symfony/validator/Constraints/PasswordStrength.php deleted file mode 100644 index 7ad2b13fd..000000000 --- a/app/vendor/symfony/validator/Constraints/PasswordStrength.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Validates that the given password has reached a minimum strength. - * - * @author Florent Morselli - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -final class PasswordStrength extends Constraint -{ - public const STRENGTH_VERY_WEAK = 0; - public const STRENGTH_WEAK = 1; - public const STRENGTH_MEDIUM = 2; - public const STRENGTH_STRONG = 3; - public const STRENGTH_VERY_STRONG = 4; - - public const PASSWORD_STRENGTH_ERROR = '4234df00-45dd-49a4-b303-a75dbf8b10d8'; - - protected const ERROR_NAMES = [ - self::PASSWORD_STRENGTH_ERROR => 'PASSWORD_STRENGTH_ERROR', - ]; - - public string $message = 'The password strength is too low. Please use a stronger password.'; - - public int $minScore; - - /** - * @param self::STRENGTH_*|null $minScore The minimum required strength of the password (defaults to {@see PasswordStrength::STRENGTH_MEDIUM}) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?int $minScore = null, ?array $groups = null, mixed $payload = null, ?string $message = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options['minScore'] ??= self::STRENGTH_MEDIUM; - } else { - $minScore ??= self::STRENGTH_MEDIUM; - } - - parent::__construct($options, $groups, $payload); - - $this->minScore = $minScore ?? $this->minScore; - $this->message = $message ?? $this->message; - - if ($this->minScore < 1 || 4 < $this->minScore) { - throw new ConstraintDefinitionException(\sprintf('The parameter "minScore" of the "%s" constraint must be an integer between 1 and 4.', self::class)); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/PasswordStrengthValidator.php b/app/vendor/symfony/validator/Constraints/PasswordStrengthValidator.php deleted file mode 100644 index 509ea2a42..000000000 --- a/app/vendor/symfony/validator/Constraints/PasswordStrengthValidator.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -final class PasswordStrengthValidator extends ConstraintValidator -{ - /** - * @param (\Closure(string):PasswordStrength::STRENGTH_*)|null $passwordStrengthEstimator - */ - public function __construct( - private readonly ?\Closure $passwordStrengthEstimator = null, - ) { - } - - public function validate(#[\SensitiveParameter] mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof PasswordStrength) { - throw new UnexpectedTypeException($constraint, PasswordStrength::class); - } - - if (null === $value) { - return; - } - - if (!\is_string($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - $passwordStrengthEstimator = $this->passwordStrengthEstimator ?? self::estimateStrength(...); - $strength = $passwordStrengthEstimator((string) $value); - - if ($strength < $constraint->minScore) { - $this->context->buildViolation($constraint->message) - ->setCode(PasswordStrength::PASSWORD_STRENGTH_ERROR) - ->setParameter('{{ strength }}', $strength) - ->addViolation(); - } - } - - /** - * Returns the estimated strength of a password. - * - * The higher the value, the stronger the password. - * - * @return PasswordStrength::STRENGTH_* - */ - public static function estimateStrength(#[\SensitiveParameter] string $password): int - { - if (!$length = \strlen($password)) { - return PasswordStrength::STRENGTH_VERY_WEAK; - } - $password = count_chars($password, 1); - $chars = \count($password); - - $control = $digit = $upper = $lower = $symbol = $other = 0; - foreach ($password as $chr => $count) { - match (true) { - $chr < 32 || 127 === $chr => $control = 33, - 48 <= $chr && $chr <= 57 => $digit = 10, - 65 <= $chr && $chr <= 90 => $upper = 26, - 97 <= $chr && $chr <= 122 => $lower = 26, - 128 <= $chr => $other = 128, - default => $symbol = 33, - }; - } - - $pool = $lower + $upper + $digit + $symbol + $control + $other; - $entropy = $chars * log($pool, 2) + ($length - $chars) * log($chars, 2); - - return match (true) { - $entropy >= 120 => PasswordStrength::STRENGTH_VERY_STRONG, - $entropy >= 100 => PasswordStrength::STRENGTH_STRONG, - $entropy >= 80 => PasswordStrength::STRENGTH_MEDIUM, - $entropy >= 60 => PasswordStrength::STRENGTH_WEAK, - default => PasswordStrength::STRENGTH_VERY_WEAK, - }; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Positive.php b/app/vendor/symfony/validator/Constraints/Positive.php deleted file mode 100644 index 9a5aea43f..000000000 --- a/app/vendor/symfony/validator/Constraints/Positive.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is a positive number. - * - * @author Jan Schädlich - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Positive extends GreaterThan -{ - use ZeroComparisonConstraintTrait; - - public string $message = 'This value should be positive.'; -} diff --git a/app/vendor/symfony/validator/Constraints/PositiveOrZero.php b/app/vendor/symfony/validator/Constraints/PositiveOrZero.php deleted file mode 100644 index f1f761bcf..000000000 --- a/app/vendor/symfony/validator/Constraints/PositiveOrZero.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * Validates that a value is a positive number or equal to zero. - * - * @author Jan Schädlich - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class PositiveOrZero extends GreaterThanOrEqual -{ - use ZeroComparisonConstraintTrait; - - public string $message = 'This value should be either positive or zero.'; -} diff --git a/app/vendor/symfony/validator/Constraints/Range.php b/app/vendor/symfony/validator/Constraints/Range.php deleted file mode 100644 index 231058aec..000000000 --- a/app/vendor/symfony/validator/Constraints/Range.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Validates that a given number or DateTime object is between some minimum and maximum. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Range extends Constraint -{ - public const INVALID_CHARACTERS_ERROR = 'ad9a9798-7a99-4df7-8ce9-46e416a1e60b'; - public const NOT_IN_RANGE_ERROR = '04b91c99-a946-4221-afc5-e65ebac401eb'; - public const TOO_HIGH_ERROR = '2d28afcb-e32e-45fb-a815-01c431a86a69'; - public const TOO_LOW_ERROR = '76454e69-502c-46c5-9643-f447d837c4d5'; - - protected const ERROR_NAMES = [ - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - self::NOT_IN_RANGE_ERROR => 'NOT_IN_RANGE_ERROR', - self::TOO_HIGH_ERROR => 'TOO_HIGH_ERROR', - self::TOO_LOW_ERROR => 'TOO_LOW_ERROR', - ]; - - public string $notInRangeMessage = 'This value should be between {{ min }} and {{ max }}.'; - public string $minMessage = 'This value should be {{ limit }} or more.'; - public string $maxMessage = 'This value should be {{ limit }} or less.'; - public string $invalidMessage = 'This value should be a valid number.'; - public string $invalidDateTimeMessage = 'This value is not a valid datetime.'; - public mixed $min = null; - public ?string $minPropertyPath = null; - public mixed $max = null; - public ?string $maxPropertyPath = null; - - /** - * @param string|null $invalidMessage The message if min and max values are numeric but the given value is not - * @param string|null $invalidDateTimeMessage The message if min and max values are PHP datetimes but the given value is not - * @param int|float|non-empty-string|null $min The minimum value, either numeric or a datetime string representation - * @param non-empty-string|null $minPropertyPath Property path to the min value - * @param int|float|non-empty-string|null $max The maximum value, either numeric or a datetime string representation - * @param non-empty-string|null $maxPropertyPath Property path to the max value - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $notInRangeMessage = null, - ?string $minMessage = null, - ?string $maxMessage = null, - ?string $invalidMessage = null, - ?string $invalidDateTimeMessage = null, - mixed $min = null, - ?string $minPropertyPath = null, - mixed $max = null, - ?string $maxPropertyPath = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->notInRangeMessage = $notInRangeMessage ?? $this->notInRangeMessage; - $this->minMessage = $minMessage ?? $this->minMessage; - $this->maxMessage = $maxMessage ?? $this->maxMessage; - $this->invalidMessage = $invalidMessage ?? $this->invalidMessage; - $this->invalidDateTimeMessage = $invalidDateTimeMessage ?? $this->invalidDateTimeMessage; - $this->min = $min ?? $this->min; - $this->minPropertyPath = $minPropertyPath ?? $this->minPropertyPath; - $this->max = $max ?? $this->max; - $this->maxPropertyPath = $maxPropertyPath ?? $this->maxPropertyPath; - - if (null === $this->min && null === $this->minPropertyPath && null === $this->max && null === $this->maxPropertyPath) { - throw new MissingOptionsException(\sprintf('Either option "min", "minPropertyPath", "max" or "maxPropertyPath" must be given for constraint "%s".', __CLASS__), ['min', 'minPropertyPath', 'max', 'maxPropertyPath']); - } - - if (null !== $this->min && null !== $this->minPropertyPath) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires only one of the "min" or "minPropertyPath" options to be set, not both.', static::class)); - } - - if (null !== $this->max && null !== $this->maxPropertyPath) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires only one of the "max" or "maxPropertyPath" options to be set, not both.', static::class)); - } - - if ((null !== $this->minPropertyPath || null !== $this->maxPropertyPath) && !class_exists(PropertyAccess::class)) { - throw new LogicException(\sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "minPropertyPath" or "maxPropertyPath" option. Try running "composer require symfony/property-access".', static::class)); - } - - if (null !== $this->min && null !== $this->max && ($minMessage || $maxMessage || isset($options['minMessage']) || isset($options['maxMessage']))) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint can not use "minMessage" and "maxMessage" when the "min" and "max" options are both set. Use "notInRangeMessage" instead.', static::class)); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/RangeValidator.php b/app/vendor/symfony/validator/Constraints/RangeValidator.php deleted file mode 100644 index 8702ea840..000000000 --- a/app/vendor/symfony/validator/Constraints/RangeValidator.php +++ /dev/null @@ -1,188 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; -use Symfony\Component\PropertyAccess\Exception\UninitializedPropertyException; -use Symfony\Component\PropertyAccess\PropertyAccess; -use Symfony\Component\PropertyAccess\PropertyAccessorInterface; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek - */ -class RangeValidator extends ConstraintValidator -{ - public function __construct(private ?PropertyAccessorInterface $propertyAccessor = null) - { - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Range) { - throw new UnexpectedTypeException($constraint, Range::class); - } - - if (null === $value) { - return; - } - - $min = $this->getLimit($constraint->minPropertyPath, $constraint->min, $constraint); - $max = $this->getLimit($constraint->maxPropertyPath, $constraint->max, $constraint); - - if (!is_numeric($value) && !$value instanceof \DateTimeInterface) { - if ($this->isParsableDatetimeString($min) && $this->isParsableDatetimeString($max)) { - $this->context->buildViolation($constraint->invalidDateTimeMessage) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setCode(Range::INVALID_CHARACTERS_ERROR) - ->addViolation(); - } else { - $this->context->buildViolation($constraint->invalidMessage) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setCode(Range::INVALID_CHARACTERS_ERROR) - ->addViolation(); - } - - return; - } - - // Convert strings to DateTimes if comparing another DateTime - // This allows to compare with any date/time value supported by - // the DateTime constructor: - // https://php.net/datetime.formats - if ($value instanceof \DateTimeInterface) { - if (\is_string($min)) { - try { - $min = new $value($min); - } catch (\Exception) { - throw new ConstraintDefinitionException(\sprintf('The min value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $min, get_debug_type($value), get_debug_type($constraint))); - } - } - - if (\is_string($max)) { - try { - $max = new $value($max); - } catch (\Exception) { - throw new ConstraintDefinitionException(\sprintf('The max value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $max, get_debug_type($value), get_debug_type($constraint))); - } - } - } - - $hasLowerLimit = null !== $min; - $hasUpperLimit = null !== $max; - - if ($hasLowerLimit && $hasUpperLimit && ($value < $min || $value > $max)) { - $message = $constraint->notInRangeMessage; - $code = Range::NOT_IN_RANGE_ERROR; - - $violationBuilder = $this->context->buildViolation($message) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setParameter('{{ min }}', $this->formatValue($min, self::PRETTY_DATE)) - ->setParameter('{{ max }}', $this->formatValue($max, self::PRETTY_DATE)) - ->setCode($code); - - if (null !== $constraint->maxPropertyPath) { - $violationBuilder->setParameter('{{ max_limit_path }}', $constraint->maxPropertyPath); - } - - if (null !== $constraint->minPropertyPath) { - $violationBuilder->setParameter('{{ min_limit_path }}', $constraint->minPropertyPath); - } - - $violationBuilder->addViolation(); - - return; - } - - if ($hasUpperLimit && $value > $max) { - $violationBuilder = $this->context->buildViolation($constraint->maxMessage) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setParameter('{{ limit }}', $this->formatValue($max, self::PRETTY_DATE)) - ->setCode(Range::TOO_HIGH_ERROR); - - if (null !== $constraint->maxPropertyPath) { - $violationBuilder->setParameter('{{ max_limit_path }}', $constraint->maxPropertyPath); - } - - if (null !== $constraint->minPropertyPath) { - $violationBuilder->setParameter('{{ min_limit_path }}', $constraint->minPropertyPath); - } - - $violationBuilder->addViolation(); - - return; - } - - if ($hasLowerLimit && $value < $min) { - $violationBuilder = $this->context->buildViolation($constraint->minMessage) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setParameter('{{ limit }}', $this->formatValue($min, self::PRETTY_DATE)) - ->setCode(Range::TOO_LOW_ERROR); - - if (null !== $constraint->maxPropertyPath) { - $violationBuilder->setParameter('{{ max_limit_path }}', $constraint->maxPropertyPath); - } - - if (null !== $constraint->minPropertyPath) { - $violationBuilder->setParameter('{{ min_limit_path }}', $constraint->minPropertyPath); - } - - $violationBuilder->addViolation(); - } - } - - private function getLimit(?string $propertyPath, mixed $default, Constraint $constraint): mixed - { - if (null === $propertyPath) { - return $default; - } - - if (null === $object = $this->context->getObject()) { - return $default; - } - - try { - return $this->getPropertyAccessor()->getValue($object, $propertyPath); - } catch (NoSuchPropertyException $e) { - throw new ConstraintDefinitionException(\sprintf('Invalid property path "%s" provided to "%s" constraint: ', $propertyPath, get_debug_type($constraint)).$e->getMessage(), 0, $e); - } catch (UninitializedPropertyException) { - return null; - } - } - - private function getPropertyAccessor(): PropertyAccessorInterface - { - return $this->propertyAccessor ??= PropertyAccess::createPropertyAccessor(); - } - - private function isParsableDatetimeString(mixed $boundary): bool - { - if (null === $boundary) { - return true; - } - - if (!\is_string($boundary)) { - return false; - } - - try { - new \DateTimeImmutable($boundary); - } catch (\Exception) { - return false; - } - - return true; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Regex.php b/app/vendor/symfony/validator/Constraints/Regex.php deleted file mode 100644 index 8ab6d0619..000000000 --- a/app/vendor/symfony/validator/Constraints/Regex.php +++ /dev/null @@ -1,149 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\InvalidArgumentException; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Validates that a value matches a regular expression. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Regex extends Constraint -{ - public const REGEX_FAILED_ERROR = 'de1e3db3-5ed4-4941-aae4-59f3667cc3a3'; - - protected const ERROR_NAMES = [ - self::REGEX_FAILED_ERROR => 'REGEX_FAILED_ERROR', - ]; - - public string $message = 'This value is not valid.'; - public ?string $pattern = null; - public ?string $htmlPattern = null; - public bool $match = true; - /** @var callable|null */ - public $normalizer; - - /** - * @param string|null $pattern The regular expression to match - * @param string|null $htmlPattern The pattern to use in the HTML5 pattern attribute - * @param bool|null $match Whether to validate the value matches the configured pattern or not (defaults to true) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - string|array|null $pattern, - ?string $message = null, - ?string $htmlPattern = null, - ?bool $match = null, - ?callable $normalizer = null, - ?array $groups = null, - mixed $payload = null, - ?array $options = null, - ) { - if (null === $pattern && !isset($options['pattern'])) { - throw new MissingOptionsException(\sprintf('The options "pattern" must be set for constraint "%s".', self::class), ['pattern']); - } - - if (\is_array($pattern)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($pattern, $options ?? []); - $pattern = $options['pattern'] ?? null; - } elseif (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->pattern = $pattern ?? $this->pattern; - $this->message = $message ?? $this->message; - $this->htmlPattern = $htmlPattern ?? $this->htmlPattern; - $this->match = $match ?? $this->match; - $this->normalizer = $normalizer ?? $this->normalizer; - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'pattern'; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['pattern']; - } - - /** - * Converts the htmlPattern to a suitable format for HTML5 pattern. - * Example: /^[a-z]+$/ would be converted to [a-z]+ - * However, if options are specified, it cannot be converted. - * - * @see http://dev.w3.org/html5/spec/single-page.html#the-pattern-attribute - */ - public function getHtmlPattern(): ?string - { - // If htmlPattern is specified, use it - if (null !== $this->htmlPattern) { - return $this->htmlPattern ?: null; - } - - // Quit if delimiters not at very beginning/end (e.g. when options are passed) - if ($this->pattern[0] !== $this->pattern[\strlen($this->pattern) - 1]) { - return null; - } - - $delimiter = $this->pattern[0]; - - // Unescape the delimiter - $pattern = str_replace('\\'.$delimiter, $delimiter, substr($this->pattern, 1, -1)); - - // If the pattern is inverted, we can wrap it in - // ((?!pattern).)* - if (!$this->match) { - return '((?!'.$pattern.').)*'; - } - - // If the pattern contains an or statement, wrap the pattern in - // .*(pattern).* and quit. Otherwise we'd need to parse the pattern - if (str_contains($pattern, '|')) { - return '.*('.$pattern.').*'; - } - - // Trim leading ^, otherwise prepend .* - $pattern = '^' === $pattern[0] ? substr($pattern, 1) : '.*'.$pattern; - - // Trim trailing $, otherwise append .* - return '$' === $pattern[\strlen($pattern) - 1] ? substr($pattern, 0, -1) : $pattern.'.*'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/RegexValidator.php b/app/vendor/symfony/validator/Constraints/RegexValidator.php deleted file mode 100644 index f05c6fa50..000000000 --- a/app/vendor/symfony/validator/Constraints/RegexValidator.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value match or not given regexp pattern. - * - * @author Bernhard Schussek - * @author Joseph Bielawski - */ -class RegexValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Regex) { - throw new UnexpectedTypeException($constraint, Regex::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (null !== $constraint->normalizer) { - $value = ($constraint->normalizer)($value); - } - - $expectedResult = $constraint->match ? 1 : 0; - - if (preg_match($constraint->pattern, $value) !== $expectedResult) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ pattern }}', $constraint->pattern) - ->setCode(Regex::REGEX_FAILED_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Required.php b/app/vendor/symfony/validator/Constraints/Required.php deleted file mode 100644 index 2a1a27f6a..000000000 --- a/app/vendor/symfony/validator/Constraints/Required.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -/** - * @author Bernhard Schussek - */ -class Required extends Existence -{ -} diff --git a/app/vendor/symfony/validator/Constraints/Sequentially.php b/app/vendor/symfony/validator/Constraints/Sequentially.php deleted file mode 100644 index ff53be7af..000000000 --- a/app/vendor/symfony/validator/Constraints/Sequentially.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Use this constraint to sequentially validate nested constraints. - * Validation for the nested constraints collection will stop at first violation. - * - * @author Maxime Steinhausser - */ -#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Sequentially extends Composite -{ - public array|Constraint $constraints = []; - - /** - * @param Constraint[]|null $constraints An array of validation constraints - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(mixed $constraints = null, ?array $groups = null, mixed $payload = null) - { - if (null === $constraints || [] === $constraints) { - throw new MissingOptionsException(\sprintf('The options "constraints" must be set for constraint "%s".', self::class), ['constraints']); - } - - if (!$constraints instanceof Constraint && !\is_array($constraints) || \is_array($constraints) && !array_is_list($constraints)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - $options = $constraints; - } else { - $this->constraints = $constraints; - } - - parent::__construct($options ?? null, $groups, $payload); - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'constraints'; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['constraints']; - } - - protected function getCompositeOption(): string - { - return 'constraints'; - } - - public function getTargets(): string|array - { - return [self::CLASS_CONSTRAINT, self::PROPERTY_CONSTRAINT]; - } -} diff --git a/app/vendor/symfony/validator/Constraints/SequentiallyValidator.php b/app/vendor/symfony/validator/Constraints/SequentiallyValidator.php deleted file mode 100644 index f5b4cb243..000000000 --- a/app/vendor/symfony/validator/Constraints/SequentiallyValidator.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Maxime Steinhausser - */ -class SequentiallyValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Sequentially) { - throw new UnexpectedTypeException($constraint, Sequentially::class); - } - - $context = $this->context; - - $validator = $context->getValidator()->inContext($context); - - $originalCount = $validator->getViolations()->count(); - - foreach ($constraint->constraints as $c) { - if ($originalCount !== $validator->validate($value, $c)->getViolations()->count()) { - break; - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Time.php b/app/vendor/symfony/validator/Constraints/Time.php deleted file mode 100644 index e166ec0ff..000000000 --- a/app/vendor/symfony/validator/Constraints/Time.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates that a value is a valid time that follows the H:i:s format. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Time extends Constraint -{ - public const INVALID_FORMAT_ERROR = '9d27b2bb-f755-4fbf-b725-39b1edbdebdf'; - public const INVALID_TIME_ERROR = '8532f9e1-84b2-4d67-8989-0818bc38533b'; - - protected const ERROR_NAMES = [ - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - self::INVALID_TIME_ERROR => 'INVALID_TIME_ERROR', - ]; - - public bool $withSeconds = true; - public string $message = 'This value is not a valid time.'; - - /** - * @param string[]|null $groups - * @param bool|null $withSeconds Whether to allow seconds in the given value (defaults to true) - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?array $groups = null, - mixed $payload = null, - ?bool $withSeconds = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->withSeconds = $withSeconds ?? $this->withSeconds; - $this->message = $message ?? $this->message; - } -} diff --git a/app/vendor/symfony/validator/Constraints/TimeValidator.php b/app/vendor/symfony/validator/Constraints/TimeValidator.php deleted file mode 100644 index 42f00c24b..000000000 --- a/app/vendor/symfony/validator/Constraints/TimeValidator.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class TimeValidator extends ConstraintValidator -{ - public const PATTERN = '/^(\d{2}):(\d{2}):(\d{2})$/D'; - public const PATTERN_WITHOUT_SECONDS = '/^(\d{2}):(\d{2})$/D'; - - /** - * Checks whether a time is valid. - * - * @internal - */ - public static function checkTime(int $hour, int $minute, float $second): bool - { - return $hour >= 0 && $hour < 24 && $minute >= 0 && $minute < 60 && $second >= 0 && $second < 60; - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Time) { - throw new UnexpectedTypeException($constraint, Time::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (!preg_match($constraint->withSeconds ? static::PATTERN : static::PATTERN_WITHOUT_SECONDS, $value, $matches)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Time::INVALID_FORMAT_ERROR) - ->addViolation(); - - return; - } - - if (!self::checkTime($matches[1], $matches[2], $constraint->withSeconds ? $matches[3] : 0)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Time::INVALID_TIME_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Timezone.php b/app/vendor/symfony/validator/Constraints/Timezone.php deleted file mode 100644 index 0a05085a1..000000000 --- a/app/vendor/symfony/validator/Constraints/Timezone.php +++ /dev/null @@ -1,105 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Validates that a value is a valid timezone identifier. - * - * @author Javier Spagnoletti - * @author Hugo Hamon - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Timezone extends Constraint -{ - public const TIMEZONE_IDENTIFIER_ERROR = '5ce113e6-5e64-4ea2-90fe-d2233956db13'; - public const TIMEZONE_IDENTIFIER_IN_ZONE_ERROR = 'b57767b1-36c0-40ac-a3d7-629420c775b8'; - public const TIMEZONE_IDENTIFIER_IN_COUNTRY_ERROR = 'c4a22222-dc92-4fc0-abb0-d95b268c7d0b'; - public const TIMEZONE_IDENTIFIER_INTL_ERROR = '45863c26-88dc-41ba-bf53-c73bd1f7e90d'; - - public int $zone = \DateTimeZone::ALL; - public ?string $countryCode = null; - public bool $intlCompatible = false; - public string $message = 'This value is not a valid timezone.'; - - protected const ERROR_NAMES = [ - self::TIMEZONE_IDENTIFIER_ERROR => 'TIMEZONE_IDENTIFIER_ERROR', - self::TIMEZONE_IDENTIFIER_IN_ZONE_ERROR => 'TIMEZONE_IDENTIFIER_IN_ZONE_ERROR', - self::TIMEZONE_IDENTIFIER_IN_COUNTRY_ERROR => 'TIMEZONE_IDENTIFIER_IN_COUNTRY_ERROR', - self::TIMEZONE_IDENTIFIER_INTL_ERROR => 'TIMEZONE_IDENTIFIER_INTL_ERROR', - ]; - - /** - * @param int|null $zone Restrict valid timezones to this geographical zone (defaults to {@see \DateTimeZone::ALL}) - * @param string|null $countryCode Restrict the valid timezones to this country if the zone option is {@see \DateTimeZone::PER_COUNTRY} - * @param bool|null $intlCompatible Whether to restrict valid timezones to ones available in PHP's intl (defaults to false) - * @param string[]|null $groups - * - * @see \DateTimeZone - */ - #[HasNamedArguments] - public function __construct( - int|array|null $zone = null, - ?string $message = null, - ?string $countryCode = null, - ?bool $intlCompatible = null, - ?array $groups = null, - mixed $payload = null, - ?array $options = null, - ) { - if (\is_array($zone)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($zone, $options ?? []); - $zone = null; - } elseif (null !== $zone) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options['value'] = $zone; - } - } - - parent::__construct($options, $groups, $payload); - - $this->zone = $zone ?? $this->zone; - $this->message = $message ?? $this->message; - $this->countryCode = $countryCode ?? $this->countryCode; - $this->intlCompatible = $intlCompatible ?? $this->intlCompatible; - - if (null === $this->countryCode) { - if (0 >= $this->zone || \DateTimeZone::ALL_WITH_BC < $this->zone) { - throw new ConstraintDefinitionException('The option "zone" must be a valid range of "\DateTimeZone" constants.'); - } - } elseif (\DateTimeZone::PER_COUNTRY !== (\DateTimeZone::PER_COUNTRY & $this->zone)) { - throw new ConstraintDefinitionException('The option "countryCode" can only be used when the "zone" option is configured with "\DateTimeZone::PER_COUNTRY".'); - } - if ($this->intlCompatible && !class_exists(\IntlTimeZone::class)) { - throw new ConstraintDefinitionException('The option "intlCompatible" can only be used when the PHP intl extension is available.'); - } - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'zone'; - } -} diff --git a/app/vendor/symfony/validator/Constraints/TimezoneValidator.php b/app/vendor/symfony/validator/Constraints/TimezoneValidator.php deleted file mode 100644 index c6c7cbbfc..000000000 --- a/app/vendor/symfony/validator/Constraints/TimezoneValidator.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Intl\Exception\MissingResourceException; -use Symfony\Component\Intl\Timezones; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether a value is a valid timezone identifier. - * - * @author Javier Spagnoletti - * @author Hugo Hamon - */ -class TimezoneValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Timezone) { - throw new UnexpectedTypeException($constraint, Timezone::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if ($constraint->intlCompatible && 'Etc/Unknown' === \IntlTimeZone::createTimeZone($value)->getID()) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Timezone::TIMEZONE_IDENTIFIER_INTL_ERROR) - ->addViolation(); - - return; - } - - if ( - \in_array($value, self::getPhpTimezones($constraint->zone, $constraint->countryCode), true) - || \in_array($value, self::getIntlTimezones($constraint->zone, $constraint->countryCode), true) - ) { - return; - } - - if ($constraint->countryCode) { - $code = Timezone::TIMEZONE_IDENTIFIER_IN_COUNTRY_ERROR; - } elseif (\DateTimeZone::ALL !== $constraint->zone) { - $code = Timezone::TIMEZONE_IDENTIFIER_IN_ZONE_ERROR; - } else { - $code = Timezone::TIMEZONE_IDENTIFIER_ERROR; - } - - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($code) - ->addViolation(); - } - - private static function getPhpTimezones(int $zone, ?string $countryCode = null): array - { - if (null !== $countryCode) { - try { - return @\DateTimeZone::listIdentifiers($zone, $countryCode) ?: []; - } catch (\ValueError) { - return []; - } - } - - return \DateTimeZone::listIdentifiers($zone); - } - - private static function getIntlTimezones(int $zone, ?string $countryCode = null): array - { - if (!class_exists(Timezones::class)) { - return []; - } - - if (null !== $countryCode) { - try { - return Timezones::forCountryCode($countryCode); - } catch (MissingResourceException) { - return []; - } - } - - $timezones = Timezones::getIds(); - - if (\DateTimeZone::ALL === (\DateTimeZone::ALL & $zone)) { - return $timezones; - } - - $filtered = []; - foreach ((new \ReflectionClass(\DateTimeZone::class))->getConstants() as $const => $flag) { - if ($flag !== ($flag & $zone)) { - continue; - } - - $filtered[] = array_filter($timezones, static fn ($id) => 0 === stripos($id, $const.'/')); - } - - return $filtered ? array_merge(...$filtered) : []; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Traverse.php b/app/vendor/symfony/validator/Constraints/Traverse.php deleted file mode 100644 index 6571b31f1..000000000 --- a/app/vendor/symfony/validator/Constraints/Traverse.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Validates an object that needs to be traversed. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_CLASS)] -class Traverse extends Constraint -{ - public bool $traverse = true; - - /** - * @param bool|null $traverse Whether to traverse the given object or not (defaults to true). Pass an associative array to configure the constraint's options (e.g. payload). - */ - #[HasNamedArguments] - public function __construct(bool|array|null $traverse = null, mixed $payload = null) - { - if (\is_array($traverse) && \array_key_exists('groups', $traverse)) { - throw new ConstraintDefinitionException(\sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); - } - - if (\is_array($traverse)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - $options = $traverse; - $traverse = $options['traverse'] ?? null; - } - - parent::__construct($options ?? null, $payload); - - $this->traverse = $traverse ?? $this->traverse; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'traverse'; - } - - public function getTargets(): string|array - { - return self::CLASS_CONSTRAINT; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Type.php b/app/vendor/symfony/validator/Constraints/Type.php deleted file mode 100644 index a2050e11d..000000000 --- a/app/vendor/symfony/validator/Constraints/Type.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Validates that a value is of a specific data type. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Type extends Constraint -{ - public const INVALID_TYPE_ERROR = 'ba785a8c-82cb-4283-967c-3cf342181b40'; - - protected const ERROR_NAMES = [ - self::INVALID_TYPE_ERROR => 'INVALID_TYPE_ERROR', - ]; - - public string $message = 'This value should be of type {{ type }}.'; - public string|array|null $type = null; - - /** - * @param string|list|null $type The type(s) to enforce on the value - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct(string|array|null $type, ?string $message = null, ?array $groups = null, mixed $payload = null, ?array $options = null) - { - if (null === $type && !isset($options['type'])) { - throw new MissingOptionsException(\sprintf('The options "type" must be set for constraint "%s".', self::class), ['type']); - } - - if (\is_array($type) && \is_string(key($type))) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($type, $options ?? []); - $type = $options['type'] ?? null; - } elseif (null !== $type) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - } elseif (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->type = $type ?? $this->type; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getDefaultOption(): ?string - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return 'type'; - } - - /** - * @deprecated since Symfony 7.4 - */ - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['type']; - } -} diff --git a/app/vendor/symfony/validator/Constraints/TypeValidator.php b/app/vendor/symfony/validator/Constraints/TypeValidator.php deleted file mode 100644 index 94c0c8639..000000000 --- a/app/vendor/symfony/validator/Constraints/TypeValidator.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek - */ -class TypeValidator extends ConstraintValidator -{ - private const VALIDATION_FUNCTIONS = [ - 'bool' => 'is_bool', - 'boolean' => 'is_bool', - 'int' => 'is_int', - 'integer' => 'is_int', - 'long' => 'is_int', - 'float' => 'is_float', - 'double' => 'is_float', - 'real' => 'is_float', - 'number' => 'is_int || is_float && !is_nan', - 'finite-float' => 'is_float && is_finite', - 'finite-number' => 'is_int || is_float && is_finite', - 'numeric' => 'is_numeric', - 'string' => 'is_string', - 'scalar' => 'is_scalar', - 'array' => 'is_array', - 'list' => 'is_array && array_is_list', - 'associative_array' => 'is_array && !array_is_list', - 'iterable' => 'is_iterable', - 'countable' => 'is_countable', - 'callable' => 'is_callable', - 'object' => 'is_object', - 'resource' => 'is_resource', - 'null' => 'is_null', - 'alnum' => 'ctype_alnum', - 'alpha' => 'ctype_alpha', - 'cntrl' => 'ctype_cntrl', - 'digit' => 'ctype_digit', - 'graph' => 'ctype_graph', - 'lower' => 'ctype_lower', - 'print' => 'ctype_print', - 'punct' => 'ctype_punct', - 'space' => 'ctype_space', - 'upper' => 'ctype_upper', - 'xdigit' => 'ctype_xdigit', - ]; - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Type) { - throw new UnexpectedTypeException($constraint, Type::class); - } - - if (null === $value) { - return; - } - - $types = (array) $constraint->type; - - foreach ($types as $type) { - $type = strtolower($type); - if (isset(self::VALIDATION_FUNCTIONS[$type]) && match ($type) { - 'finite-float' => \is_float($value) && is_finite($value), - 'finite-number' => \is_int($value) || \is_float($value) && is_finite($value), - 'number' => \is_int($value) || \is_float($value) && !is_nan($value), - 'list' => \is_array($value) && array_is_list($value), - 'associative_array' => \is_array($value) && !array_is_list($value), - default => self::VALIDATION_FUNCTIONS[$type]($value), - }) { - return; - } - - if ($value instanceof $type) { - return; - } - } - - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ type }}', implode('|', $types)) - ->setCode(Type::INVALID_TYPE_ERROR) - ->addViolation(); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Ulid.php b/app/vendor/symfony/validator/Constraints/Ulid.php deleted file mode 100644 index c9f9dbaf6..000000000 --- a/app/vendor/symfony/validator/Constraints/Ulid.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Validates that a value is a valid Universally Unique Lexicographically Sortable Identifier (ULID). - * - * @see https://github.com/ulid/spec - * - * @author Laurent Clouet - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Ulid extends Constraint -{ - public const TOO_SHORT_ERROR = '7b44804e-37d5-4df4-9bdd-b738d4a45bb4'; - public const TOO_LONG_ERROR = '9608249f-6da1-4d53-889e-9864b58c4d37'; - public const TOO_LARGE_ERROR = 'df8cfb9a-ce6d-4a69-ae5a-eea7ab6f278b'; - public const INVALID_CHARACTERS_ERROR = 'e4155739-5135-4258-9c81-ae7b44b5311e'; - public const INVALID_FORMAT_ERROR = '34d5cdd7-5aac-4ba0-b9a2-b45e0bab3e2e'; - - protected const ERROR_NAMES = [ - self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR', - self::TOO_LONG_ERROR => 'TOO_LONG_ERROR', - self::TOO_LARGE_ERROR => 'TOO_LARGE_ERROR', - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - ]; - - public const FORMAT_BASE_32 = 'base32'; - public const FORMAT_BASE_58 = 'base58'; - public const FORMAT_RFC_4122 = 'rfc4122'; - - public string $message = 'This is not a valid ULID.'; - public string $format = self::FORMAT_BASE_32; - - /** - * @param string[]|null $groups - * @param self::FORMAT_*|null $format - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?array $groups = null, - mixed $payload = null, - ?string $format = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->format = $format ?? $this->format; - - if (!\in_array($this->format, [self::FORMAT_BASE_32, self::FORMAT_BASE_58, self::FORMAT_RFC_4122], true)) { - throw new ConstraintDefinitionException(\sprintf('The "%s" validation format is not supported.', $format)); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/UlidValidator.php b/app/vendor/symfony/validator/Constraints/UlidValidator.php deleted file mode 100644 index ae49ad34b..000000000 --- a/app/vendor/symfony/validator/Constraints/UlidValidator.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether the value is a valid ULID (Universally Unique Lexicographically Sortable Identifier). - * Cf https://github.com/ulid/spec for ULID specifications. - * - * @author Laurent Clouet - */ -class UlidValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Ulid) { - throw new UnexpectedTypeException($constraint, Ulid::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - [$requiredLength, $requiredCharset] = match ($constraint->format) { - Ulid::FORMAT_BASE_32 => [26, '0123456789ABCDEFGHJKMNPQRSTVWXYZabcdefghjkmnpqrstvwxyz'], - Ulid::FORMAT_BASE_58 => [22, '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'], - Ulid::FORMAT_RFC_4122 => [36, '0123456789ABCDEFabcdef-'], - }; - - if ($requiredLength !== \strlen($value)) { - $this->context->buildViolation($constraint->message) - ->setParameters([ - '{{ value }}' => $this->formatValue($value), - '{{ format }}' => $constraint->format, - ]) - ->setCode($requiredLength > \strlen($value) ? Ulid::TOO_SHORT_ERROR : Ulid::TOO_LONG_ERROR) - ->addViolation(); - - return; - } - - if (\strlen($value) !== strspn($value, $requiredCharset)) { - $this->context->buildViolation($constraint->message) - ->setParameters([ - '{{ value }}' => $this->formatValue($value), - '{{ format }}' => $constraint->format, - ]) - ->setCode(Ulid::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - if (Ulid::FORMAT_BASE_32 === $constraint->format) { - // Largest valid ULID is '7ZZZZZZZZZZZZZZZZZZZZZZZZZ' - // Cf https://github.com/ulid/spec#overflow-errors-when-parsing-base32-strings - if ($value[0] > '7') { - $this->context->buildViolation($constraint->message) - ->setParameters([ - '{{ value }}' => $this->formatValue($value), - '{{ format }}' => $constraint->format, - ]) - ->setCode(Ulid::TOO_LARGE_ERROR) - ->addViolation(); - } - } elseif (Ulid::FORMAT_RFC_4122 === $constraint->format) { - if (!preg_match('/^[^-]{8}-[^-]{4}-[^-]{4}-[^-]{4}-[^-]{12}$/', $value)) { - $this->context->buildViolation($constraint->message) - ->setParameters([ - '{{ value }}' => $this->formatValue($value), - '{{ format }}' => $constraint->format, - ]) - ->setCode(Ulid::INVALID_FORMAT_ERROR) - ->addViolation(); - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Unique.php b/app/vendor/symfony/validator/Constraints/Unique.php deleted file mode 100644 index 3794b192c..000000000 --- a/app/vendor/symfony/validator/Constraints/Unique.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\InvalidArgumentException; - -/** - * Validates that all the elements of the given collection are unique. - * - * @author Yevgeniy Zholkevskiy - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Unique extends Constraint -{ - public const IS_NOT_UNIQUE = '7911c98d-b845-4da0-94b7-a8dac36bc55a'; - - public array|string $fields = []; - public ?string $errorPath = null; - public bool $stopOnFirstError = true; - - protected const ERROR_NAMES = [ - self::IS_NOT_UNIQUE => 'IS_NOT_UNIQUE', - ]; - - public string $message = 'This collection should contain only unique elements.'; - /** @var callable|null */ - public $normalizer; - - /** - * @param string[]|null $groups - * @param string[]|string|null $fields Defines the key or keys in the collection that should be checked for uniqueness (defaults to null, which ensure uniqueness for all keys) - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - ?callable $normalizer = null, - ?array $groups = null, - mixed $payload = null, - array|string|null $fields = null, - ?string $errorPath = null, - ?bool $stopOnFirstError = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->normalizer = $normalizer ?? $this->normalizer; - $this->fields = $fields ?? $this->fields; - $this->errorPath = $errorPath ?? $this->errorPath; - $this->stopOnFirstError = $stopOnFirstError ?? $this->stopOnFirstError; - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/UniqueValidator.php b/app/vendor/symfony/validator/Constraints/UniqueValidator.php deleted file mode 100644 index cabc34751..000000000 --- a/app/vendor/symfony/validator/Constraints/UniqueValidator.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Yevgeniy Zholkevskiy - */ -class UniqueValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Unique) { - throw new UnexpectedTypeException($constraint, Unique::class); - } - - $fields = (array) $constraint->fields; - - if (null === $value) { - return; - } - - if (!\is_array($value) && !$value instanceof \IteratorAggregate) { - throw new UnexpectedValueException($value, 'array|IteratorAggregate'); - } - - $collectionElements = []; - $normalizer = $this->getNormalizer($constraint); - foreach ($value as $index => $element) { - $element = $normalizer($element); - - if ($fields && !(\is_array($element) && $element = $this->reduceElementKeys($fields, $element))) { - continue; - } - - if (!\in_array($element, $collectionElements, true)) { - $collectionElements[] = $element; - continue; - } - - $violationBuilder = $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($element)) - ->setCode(Unique::IS_NOT_UNIQUE); - - if (!$constraint->stopOnFirstError || null !== $constraint->errorPath) { - $violationBuilder->atPath("[$index]".(null !== $constraint->errorPath ? ".{$constraint->errorPath}" : '')); - } - - $violationBuilder->addViolation(); - - if ($constraint->stopOnFirstError) { - return; - } - } - } - - private function getNormalizer(Unique $unique): callable - { - return $unique->normalizer ?? static fn ($value) => $value; - } - - private function reduceElementKeys(array $fields, array $element): array - { - $output = []; - foreach ($fields as $field) { - if (!\is_string($field)) { - throw new UnexpectedTypeException($field, 'string'); - } - if (\array_key_exists($field, $element)) { - $output[$field] = $element[$field]; - } - } - - return $output; - } -} diff --git a/app/vendor/symfony/validator/Constraints/Url.php b/app/vendor/symfony/validator/Constraints/Url.php deleted file mode 100644 index 08d391e38..000000000 --- a/app/vendor/symfony/validator/Constraints/Url.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\InvalidArgumentException; - -/** - * Validates that a value is a valid URL string. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Url extends Constraint -{ - public const INVALID_URL_ERROR = '57c2f299-1154-4870-89bb-ef3b1f5ad229'; - public const MISSING_TLD_ERROR = '8a5d387f-0716-46b4-844b-67367faf435a'; - - protected const ERROR_NAMES = [ - self::INVALID_URL_ERROR => 'INVALID_URL_ERROR', - self::MISSING_TLD_ERROR => 'MISSING_TLD_ERROR', - ]; - - public string $message = 'This value is not a valid URL.'; - public string $tldMessage = 'This URL is missing a top-level domain.'; - public array $protocols = ['http', 'https']; - public bool $relativeProtocol = false; - public bool $requireTld = false; - /** @var callable|null */ - public $normalizer; - - /** - * @param string[]|string|null $protocols The protocols considered to be valid for the URL (e.g. http, https, ftp, etc.) (defaults to ['http', 'https']; use '*' to allow any protocol) - * @param bool|null $relativeProtocol Whether to accept URL without the protocol (i.e. //example.com) (defaults to false) - * @param string[]|null $groups - * @param bool|null $requireTld Whether to require the URL to include a top-level domain (defaults to false) - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - array|string|null $protocols = null, - ?bool $relativeProtocol = null, - ?callable $normalizer = null, - ?array $groups = null, - mixed $payload = null, - ?bool $requireTld = null, - ?string $tldMessage = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - if (null === ($options['requireTld'] ?? $requireTld)) { - trigger_deprecation('symfony/validator', '7.1', 'Not passing a value for the "requireTld" option to the Url constraint is deprecated. Its default value will change to "true".'); - } - - if (\is_string($protocols)) { - $protocols = (array) $protocols; - } - - $this->message = $message ?? $this->message; - $this->protocols = $protocols ?? $this->protocols; - $this->relativeProtocol = $relativeProtocol ?? $this->relativeProtocol; - $this->normalizer = $normalizer ?? $this->normalizer; - $this->requireTld = $requireTld ?? $this->requireTld; - $this->tldMessage = $tldMessage ?? $this->tldMessage; - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/UrlValidator.php b/app/vendor/symfony/validator/Constraints/UrlValidator.php deleted file mode 100644 index ad17f5d25..000000000 --- a/app/vendor/symfony/validator/Constraints/UrlValidator.php +++ /dev/null @@ -1,108 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Bernhard Schussek - */ -class UrlValidator extends ConstraintValidator -{ - public const PATTERN = <<<'REGEX' - {^ - (%s):// # protocol - ((?:[\pL\pN\-._~!$&'()*+,;=]|%%[0-9A-Fa-f]{2})++(?::(?:[:\pL\pN\-._~!$&'()*+,;=]|%%[0-9A-Fa-f]{2})*+)?@)? # basic auth - ( - (?: - (?: - (?:[\pL\pN\pS\pM\-\_]++\.)+ - (?: - (?:xn--[a-z0-9-]++) # punycode in tld - | - (?:[\pL\pN\pM]++) # no punycode in tld - ) - ) # a multi-level domain name - | - [a-z0-9\-\_]++ # a single-level domain name - )\.? - | # or - \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} # an IP address - | # or - \[ - (?:(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-f]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,1}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,2}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,3}(?:(?:[0-9a-f]{1,4})))?::(?:(?:[0-9a-f]{1,4})):)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,4}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,5}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,6}(?:(?:[0-9a-f]{1,4})))?::)))) - \] # an IPv6 address - ) - (:[0-9]+)? # a port (optional) - (?:/ (?:[\pL\pN\pS\pM\-._~!$&'()*+,;=:@]|%%[0-9A-Fa-f]{2})* )* # a path - (?:\? (?:[\pL\pN\-._~!$&'()*+,;=:@/?[\]]|%%[0-9A-Fa-f]{2})* )? # a query (optional) - (?:\# (?:[\pL\pN\-._~!$&'()*+,;=:@/?]|%%[0-9A-Fa-f]{2})* )? # a fragment (optional) - $}ixuD - REGEX; - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Url) { - throw new UnexpectedTypeException($constraint, Url::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - if ('' === $value) { - return; - } - - if (null !== $constraint->normalizer) { - $value = ($constraint->normalizer)($value); - } - - if (['*'] === $constraint->protocols) { - // Use RFC 3986 compliant scheme pattern: scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) - $protocols = '[a-zA-Z][a-zA-Z0-9+.-]*'; - } else { - $protocols = implode('|', $constraint->protocols); - } - - $pattern = $constraint->relativeProtocol ? str_replace('(%s):', '(?:(%s):)?', static::PATTERN) : static::PATTERN; - $pattern = sprintf($pattern, $protocols); - - if (!preg_match($pattern, $value)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Url::INVALID_URL_ERROR) - ->addViolation(); - - return; - } - - if ($constraint->requireTld) { - $urlHost = parse_url($value, \PHP_URL_HOST); - // the host of URLs with a TLD must include at least a '.' (but it can't be an IP address like '127.0.0.1') - if (!str_contains($urlHost, '.') || filter_var($urlHost, \FILTER_VALIDATE_IP)) { - $this->context->buildViolation($constraint->tldMessage) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Url::MISSING_TLD_ERROR) - ->addViolation(); - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Uuid.php b/app/vendor/symfony/validator/Constraints/Uuid.php deleted file mode 100644 index 3602c2fb8..000000000 --- a/app/vendor/symfony/validator/Constraints/Uuid.php +++ /dev/null @@ -1,128 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\InvalidArgumentException; - -/** - * Validates that a value is a valid Universally unique identifier (UUID). - * - * @see https://en.wikipedia.org/wiki/Universally_unique_identifier - * @see https://datatracker.ietf.org/doc/html/rfc4122 - * - * @author Colin O'Dell - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Uuid extends Constraint -{ - public const TOO_SHORT_ERROR = 'aa314679-dac9-4f54-bf97-b2049df8f2a3'; - public const TOO_LONG_ERROR = '494897dd-36f8-4d31-8923-71a8d5f3000d'; - public const INVALID_CHARACTERS_ERROR = '51120b12-a2bc-41bf-aa53-cd73daf330d0'; - public const INVALID_HYPHEN_PLACEMENT_ERROR = '98469c83-0309-4f5d-bf95-a496dcaa869c'; - public const INVALID_VERSION_ERROR = '21ba13b4-b185-4882-ac6f-d147355987eb'; - public const INVALID_TIME_BASED_VERSION_ERROR = '484081ca-6fbd-11ed-ade8-a3bdfd0fcf2f'; - public const INVALID_VARIANT_ERROR = '164ef693-2b9d-46de-ad7f-836201f0c2db'; - - protected const ERROR_NAMES = [ - self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR', - self::TOO_LONG_ERROR => 'TOO_LONG_ERROR', - self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', - self::INVALID_HYPHEN_PLACEMENT_ERROR => 'INVALID_HYPHEN_PLACEMENT_ERROR', - self::INVALID_VERSION_ERROR => 'INVALID_VERSION_ERROR', - self::INVALID_VARIANT_ERROR => 'INVALID_VARIANT_ERROR', - ]; - - // Possible versions defined by RFC 9562/4122 - public const V1_MAC = 1; - public const V2_DCE = 2; - public const V3_MD5 = 3; - public const V4_RANDOM = 4; - public const V5_SHA1 = 5; - public const V6_SORTABLE = 6; - public const V7_MONOTONIC = 7; - public const V8_CUSTOM = 8; - - public const ALL_VERSIONS = [ - self::V1_MAC, - self::V2_DCE, - self::V3_MD5, - self::V4_RANDOM, - self::V5_SHA1, - self::V6_SORTABLE, - self::V7_MONOTONIC, - self::V8_CUSTOM, - ]; - - public const TIME_BASED_VERSIONS = [ - self::V1_MAC, - self::V6_SORTABLE, - self::V7_MONOTONIC, - ]; - - /** - * Message to display when validation fails. - */ - public string $message = 'This is not a valid UUID.'; - - /** - * Strict mode only allows UUIDs that meet the formal definition and formatting per RFC 9562/4122. - * - * Set this to `false` to allow legacy formats with different dash positioning or wrapping characters - */ - public bool $strict = true; - - /** - * Array of allowed versions (see version constants above). - * - * All UUID versions are allowed by default - * - * @var int[] - */ - public array $versions = self::ALL_VERSIONS; - - /** @var callable|null */ - public $normalizer; - - /** - * @param self::V*[]|self::V*|null $versions Specific UUID versions (defaults to {@see Uuid::ALL_VERSIONS}) - * @param bool|null $strict Whether to force the value to follow the RFC's input format rules; pass false to allow alternate formats (defaults to true) - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - ?array $options = null, - ?string $message = null, - array|int|null $versions = null, - ?bool $strict = null, - ?callable $normalizer = null, - ?array $groups = null, - mixed $payload = null, - ) { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->message = $message ?? $this->message; - $this->versions = (array) ($versions ?? $this->versions); - $this->strict = $strict ?? $this->strict; - $this->normalizer = $normalizer ?? $this->normalizer; - - if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(\sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/UuidValidator.php b/app/vendor/symfony/validator/Constraints/UuidValidator.php deleted file mode 100644 index b7a553e3f..000000000 --- a/app/vendor/symfony/validator/Constraints/UuidValidator.php +++ /dev/null @@ -1,257 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * Validates whether the value is a valid UUID (also known as GUID). - * - * Strict validation will allow a UUID as specified per RFC 9562/4122. - * Loose validation will allow any type of UUID. - * - * @author Colin O'Dell - * @author Bernhard Schussek - * - * @see https://datatracker.ietf.org/doc/html/rfc9562 - * @see https://en.wikipedia.org/wiki/Universally_unique_identifier - */ -class UuidValidator extends ConstraintValidator -{ - // The strict pattern matches UUIDs like this: - // xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx - - // Roughly speaking: - // x = any hexadecimal character - // M = any allowed version {1..8} - // N = any allowed variant {8, 9, a, b} - - public const STRICT_LENGTH = 36; - public const STRICT_FIRST_HYPHEN_POSITION = 8; - public const STRICT_LAST_HYPHEN_POSITION = 23; - public const STRICT_VERSION_POSITION = 14; - public const STRICT_VARIANT_POSITION = 19; - - // The loose pattern validates similar yet non-compliant UUIDs. - // Hyphens are completely optional. If present, they should only appear - // between every fourth character: - // xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx - // xxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx - // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - - // The value can also be wrapped with characters like []{}: - // {xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx} - - // Neither the version nor the variant is validated by this pattern. - - public const LOOSE_MAX_LENGTH = 39; - public const LOOSE_FIRST_HYPHEN_POSITION = 4; - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Uuid) { - throw new UnexpectedTypeException($constraint, Uuid::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - if (null !== $constraint->normalizer) { - $value = ($constraint->normalizer)($value); - } - - if ($constraint->strict) { - $this->validateStrict($value, $constraint); - - return; - } - - $this->validateLoose($value, $constraint); - } - - private function validateLoose(string $value, Uuid $constraint): void - { - // Error priority: - // 1. ERROR_INVALID_CHARACTERS - // 2. ERROR_INVALID_HYPHEN_PLACEMENT - // 3. ERROR_TOO_SHORT/ERROR_TOO_LONG - - // Trim any wrapping characters like [] or {} used by some legacy systems - $trimmed = trim($value, '[]{}'); - - // Position of the next expected hyphen - $h = self::LOOSE_FIRST_HYPHEN_POSITION; - - // Expected length - $l = self::LOOSE_MAX_LENGTH; - - for ($i = 0; $i < $l; ++$i) { - // Check length - if (!isset($trimmed[$i])) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::TOO_SHORT_ERROR) - ->addViolation(); - - return; - } - - // Hyphens must occur every fifth position - // xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx - // ^ ^ ^ ^ ^ ^ ^ - if ('-' === $trimmed[$i]) { - if ($i !== $h) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) - ->addViolation(); - - return; - } - - $h += 5; - - continue; - } - - // Missing hyphens are ignored - if ($i === $h) { - $h += 4; - --$l; - } - - // Check characters - if (!ctype_xdigit($trimmed[$i])) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - } - - // Check length again - if (isset($trimmed[$i])) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::TOO_LONG_ERROR) - ->addViolation(); - } - } - - private function validateStrict(string $value, Uuid $constraint): void - { - // Error priority: - // 1. ERROR_INVALID_CHARACTERS - // 2. ERROR_INVALID_HYPHEN_PLACEMENT - // 3. ERROR_TOO_SHORT/ERROR_TOO_LONG - // 4. ERROR_INVALID_VERSION - // 5. ERROR_INVALID_VARIANT - - // Position of the next expected hyphen - $h = self::STRICT_FIRST_HYPHEN_POSITION; - - for ($i = 0; $i < self::STRICT_LENGTH; ++$i) { - // Check length - if (!isset($value[$i])) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::TOO_SHORT_ERROR) - ->addViolation(); - - return; - } - - // Check hyphen placement - // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - // ^ ^ ^ ^ - if ('-' === $value[$i]) { - if ($i !== $h) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) - ->addViolation(); - - return; - } - - // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - // ^ - if ($h < self::STRICT_LAST_HYPHEN_POSITION) { - $h += 5; - } - - continue; - } - - // Check characters - if (!ctype_xdigit($value[$i])) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - // Missing hyphen - if ($i === $h) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) - ->addViolation(); - - return; - } - } - - // Check length again - if (isset($value[$i])) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::TOO_LONG_ERROR) - ->addViolation(); - } - - // Check version - if (!\in_array($value[self::STRICT_VERSION_POSITION], $constraint->versions)) { - $code = Uuid::TIME_BASED_VERSIONS === $constraint->versions ? Uuid::INVALID_TIME_BASED_VERSION_ERROR : Uuid::INVALID_VERSION_ERROR; - - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($code) - ->addViolation(); - } - - // Check variant - first two bits must equal "10" - // 0b10xx - // & 0b1100 (12) - // = 0b1000 (8) - if (8 !== (hexdec($value[self::STRICT_VARIANT_POSITION]) & 12)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_VARIANT_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Valid.php b/app/vendor/symfony/validator/Constraints/Valid.php deleted file mode 100644 index 6106627c6..000000000 --- a/app/vendor/symfony/validator/Constraints/Valid.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; - -/** - * Validates an object embedded in an object's property. - * - * @author Bernhard Schussek - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Valid extends Constraint -{ - public bool $traverse = true; - - /** - * @param string[]|null $groups - * @param bool|null $traverse Whether to validate {@see \Traversable} objects (defaults to true) - */ - #[HasNamedArguments] - public function __construct(?array $options = null, ?array $groups = null, $payload = null, ?bool $traverse = null) - { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - parent::__construct($options, $groups, $payload); - - $this->traverse = $traverse ?? $this->traverse; - } - - public function __get(string $option): mixed - { - if ('groups' === $option) { - // when this is reached, no groups have been configured - return null; - } - - return parent::__get($option); - } - - public function addImplicitGroupName(string $group): void - { - if (null !== $this->groups) { - parent::addImplicitGroupName($group); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/ValidValidator.php b/app/vendor/symfony/validator/Constraints/ValidValidator.php deleted file mode 100644 index b1a02d2e9..000000000 --- a/app/vendor/symfony/validator/Constraints/ValidValidator.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Christian Flothmann - */ -class ValidValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Valid) { - throw new UnexpectedTypeException($constraint, Valid::class); - } - - if (null === $value) { - return; - } - - $this->context - ->getValidator() - ->inContext($this->context) - ->validate($value, null, $this->context->getGroup()); - } -} diff --git a/app/vendor/symfony/validator/Constraints/Video.php b/app/vendor/symfony/validator/Constraints/Video.php deleted file mode 100644 index 796dfb94e..000000000 --- a/app/vendor/symfony/validator/Constraints/Video.php +++ /dev/null @@ -1,254 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Process\ExecutableFinder; -use Symfony\Component\Process\Process; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Exception\LogicException; - -/** - * @author Kev - * @author Nicolas Grekas - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Video extends File -{ - public const SIZE_NOT_DETECTED_ERROR = '5dab98df-43c8-481b-94f9-46a3c958285c'; - public const TOO_WIDE_ERROR = '9e18d6a4-aeda-4644-be8e-9e29dbfd6c4a'; - public const TOO_NARROW_ERROR = 'b267f54b-d994-46d4-9ca6-338fc4f7962f'; - public const TOO_HIGH_ERROR = '44f4c411-0199-48c2-b597-df1f5944ccde'; - public const TOO_LOW_ERROR = '0b6bc3ce-df90-40f9-90aa-5bbb840cb481'; - public const TOO_FEW_PIXEL_ERROR = '510ddf98-2eda-436e-be7e-b6f107bc0e22'; - public const TOO_MANY_PIXEL_ERROR = 'ff0a8ee8-951d-4c97-afe2-03c0d61a2a02'; - public const RATIO_TOO_BIG_ERROR = '5e6b9c21-d4d8-444d-9f4c-e3ff1e25a9a6'; - public const RATIO_TOO_SMALL_ERROR = '26985857-7447-49dc-b271-1477a76cc63c'; - public const SQUARE_NOT_ALLOWED_ERROR = '18500335-b868-4056-b2a2-aa2aeeb0cbdf'; - public const LANDSCAPE_NOT_ALLOWED_ERROR = 'cbf38fbc-04c0-457a-8c29-a6f3080e415a'; - public const PORTRAIT_NOT_ALLOWED_ERROR = '6c3e34a8-94d5-4434-9f20-fb9c0f3ab531'; - public const CORRUPTED_VIDEO_ERROR = '591b9c4d-d357-425f-8672-6b187816550e'; - public const MULTIPLE_VIDEO_STREAMS_ERROR = '2d1b2b2e-3f37-4fdd-9a2a-8b6b77b2a6a3'; - public const UNSUPPORTED_VIDEO_CODEC_ERROR = 'a9f2f6f7-2b5a-4f3c-b746-d3e2e9d1b2a1'; - public const UNSUPPORTED_VIDEO_CONTAINER_ERROR = 'b7c9d2a4-5e1f-4aa0-8f9d-1c3e2b4a6d7e'; - - // Include the mapping from the base class - - protected const ERROR_NAMES = [ - self::NOT_FOUND_ERROR => 'NOT_FOUND_ERROR', - self::NOT_READABLE_ERROR => 'NOT_READABLE_ERROR', - self::EMPTY_ERROR => 'EMPTY_ERROR', - self::TOO_LARGE_ERROR => 'TOO_LARGE_ERROR', - self::INVALID_MIME_TYPE_ERROR => 'INVALID_MIME_TYPE_ERROR', - self::FILENAME_TOO_LONG => 'FILENAME_TOO_LONG', - self::SIZE_NOT_DETECTED_ERROR => 'SIZE_NOT_DETECTED_ERROR', - self::TOO_WIDE_ERROR => 'TOO_WIDE_ERROR', - self::TOO_NARROW_ERROR => 'TOO_NARROW_ERROR', - self::TOO_HIGH_ERROR => 'TOO_HIGH_ERROR', - self::TOO_LOW_ERROR => 'TOO_LOW_ERROR', - self::TOO_FEW_PIXEL_ERROR => 'TOO_FEW_PIXEL_ERROR', - self::TOO_MANY_PIXEL_ERROR => 'TOO_MANY_PIXEL_ERROR', - self::RATIO_TOO_BIG_ERROR => 'RATIO_TOO_BIG_ERROR', - self::RATIO_TOO_SMALL_ERROR => 'RATIO_TOO_SMALL_ERROR', - self::SQUARE_NOT_ALLOWED_ERROR => 'SQUARE_NOT_ALLOWED_ERROR', - self::LANDSCAPE_NOT_ALLOWED_ERROR => 'LANDSCAPE_NOT_ALLOWED_ERROR', - self::PORTRAIT_NOT_ALLOWED_ERROR => 'PORTRAIT_NOT_ALLOWED_ERROR', - self::CORRUPTED_VIDEO_ERROR => 'CORRUPTED_VIDEO_ERROR', - self::MULTIPLE_VIDEO_STREAMS_ERROR => 'MULTIPLE_VIDEO_STREAMS_ERROR', - self::UNSUPPORTED_VIDEO_CODEC_ERROR => 'UNSUPPORTED_VIDEO_CODEC_ERROR', - self::UNSUPPORTED_VIDEO_CONTAINER_ERROR => 'UNSUPPORTED_VIDEO_CONTAINER_ERROR', - ]; - - public array|string $mimeTypes = 'video/*'; - public ?int $minWidth = null; - public ?int $maxWidth = null; - public ?int $maxHeight = null; - public ?int $minHeight = null; - public int|float|null $maxRatio = null; - public int|float|null $minRatio = null; - public int|float|null $minPixels = null; - public int|float|null $maxPixels = null; - public ?bool $allowSquare = true; - public ?bool $allowLandscape = true; - public ?bool $allowPortrait = true; - public array $allowedCodecs = ['h264', 'hevc', 'h265', 'vp9', 'av1', 'mpeg4', 'mpeg2video']; - public array $allowedContainers = ['mp4', 'mov', 'mkv', 'webm', 'avi']; - - // The constant for a wrong MIME type is taken from the parent class. - public string $mimeTypesMessage = 'This file is not a valid video.'; - public string $sizeNotDetectedMessage = 'The size of the video could not be detected.'; - public string $maxWidthMessage = 'The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.'; - public string $minWidthMessage = 'The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.'; - public string $maxHeightMessage = 'The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.'; - public string $minHeightMessage = 'The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.'; - public string $minPixelsMessage = 'The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels.'; - public string $maxPixelsMessage = 'The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels.'; - public string $maxRatioMessage = 'The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.'; - public string $minRatioMessage = 'The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.'; - public string $allowSquareMessage = 'The video is square ({{ width }}x{{ height }}px). Square videos are not allowed.'; - public string $allowLandscapeMessage = 'The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed.'; - public string $allowPortraitMessage = 'The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed.'; - public string $corruptedMessage = 'The video file is corrupted.'; - public string $multipleVideoStreamsMessage = 'The video contains multiple streams. Only one stream is allowed.'; - public string $unsupportedCodecMessage = 'Unsupported video codec "{{ codec }}".'; - public string $unsupportedContainerMessage = 'Unsupported video container "{{ container }}".'; - - /** - * @param positive-int|string|null $maxSize The max size of the underlying file - * @param bool|null $binaryFormat Pass true to use binary-prefixed units (KiB, MiB, etc.) or false to use SI-prefixed units (kB, MB) in displayed messages. Pass null to guess the format from the maxSize option. (defaults to null) - * @param non-empty-string[]|null $mimeTypes Acceptable media types - * @param positive-int|null $filenameMaxLength Maximum length of the file name - * @param string|null $disallowEmptyMessage Enable empty upload validation with this message in case of error - * @param string|null $uploadIniSizeErrorMessage Message if the file size exceeds the max size configured in php.ini - * @param string|null $uploadFormSizeErrorMessage Message if the file size exceeds the max size configured in the HTML input field - * @param string|null $uploadPartialErrorMessage Message if the file is only partially uploaded - * @param string|null $uploadNoTmpDirErrorMessage Message if there is no upload_tmp_dir in php.ini - * @param string|null $uploadCantWriteErrorMessage Message if the uploaded file can not be stored in the temporary directory - * @param string|null $uploadErrorMessage Message if an unknown error occurred on upload - * @param string[]|null $groups - * @param int<0, int>|null $minWidth Minimum video width - * @param positive-int|null $maxWidth Maximum video width - * @param positive-int|null $maxHeight Maximum video height - * @param int<0, int>|null $minHeight Minimum video weight - * @param positive-int|float|null $maxRatio Maximum video ratio - * @param int<0, max>|float|null $minRatio Minimum video ratio - * @param int<0, max>|float|null $minPixels Minimum amount of pixels - * @param positive-int|float|null $maxPixels Maximum amount of pixels - * @param bool|null $allowSquare Whether to allow a square video (defaults to true) - * @param bool|null $allowLandscape Whether to allow a landscape video (defaults to true) - * @param bool|null $allowPortrait Whether to allow a portrait video (defaults to true) - * @param string|null $sizeNotDetectedMessage Message if the system can not determine video size and there is a size constraint to validate - * @param string[]|null $allowedCodecs Allowed codec names - * @param string[]|null $allowedContainers Allowed container names - * - * @see https://www.iana.org/assignments/media-types/media-types.xhtml Existing media types - */ - #[HasNamedArguments] - public function __construct( - int|string|null $maxSize = null, - ?bool $binaryFormat = null, - array|string|null $mimeTypes = null, - ?int $filenameMaxLength = null, - ?int $minWidth = null, - ?int $maxWidth = null, - ?int $maxHeight = null, - ?int $minHeight = null, - int|float|null $maxRatio = null, - int|float|null $minRatio = null, - int|float|null $minPixels = null, - int|float|null $maxPixels = null, - ?bool $allowSquare = null, - ?bool $allowLandscape = null, - ?bool $allowPortrait = null, - ?array $allowedCodecs = null, - ?array $allowedContainers = null, - ?string $notFoundMessage = null, - ?string $notReadableMessage = null, - ?string $maxSizeMessage = null, - ?string $mimeTypesMessage = null, - ?string $disallowEmptyMessage = null, - ?string $filenameTooLongMessage = null, - ?string $uploadIniSizeErrorMessage = null, - ?string $uploadFormSizeErrorMessage = null, - ?string $uploadPartialErrorMessage = null, - ?string $uploadNoFileErrorMessage = null, - ?string $uploadNoTmpDirErrorMessage = null, - ?string $uploadCantWriteErrorMessage = null, - ?string $uploadExtensionErrorMessage = null, - ?string $uploadErrorMessage = null, - ?string $sizeNotDetectedMessage = null, - ?string $maxWidthMessage = null, - ?string $minWidthMessage = null, - ?string $maxHeightMessage = null, - ?string $minHeightMessage = null, - ?string $minPixelsMessage = null, - ?string $maxPixelsMessage = null, - ?string $maxRatioMessage = null, - ?string $minRatioMessage = null, - ?string $allowSquareMessage = null, - ?string $allowLandscapeMessage = null, - ?string $allowPortraitMessage = null, - ?string $corruptedMessage = null, - ?string $multipleVideoStreamsMessage = null, - ?string $unsupportedCodecMessage = null, - ?string $unsupportedContainerMessage = null, - ?array $groups = null, - mixed $payload = null, - ) { - static $hasFfprobe; - if (!$hasFfprobe) { - if (!class_exists(Process::class)) { - throw new LogicException('The Process component is required to use the Video constraint. Try running "composer require symfony/process".'); - } - if (!$hasFfprobe ??= (new ExecutableFinder())->find('ffprobe')) { - throw new LogicException('The ffprobe binary is required to use the Video constraint.'); - } - } - - parent::__construct( - null, - $maxSize, - $binaryFormat, - $mimeTypes, - $filenameMaxLength, - $notFoundMessage, - $notReadableMessage, - $maxSizeMessage, - $mimeTypesMessage, - $disallowEmptyMessage, - $filenameTooLongMessage, - $uploadIniSizeErrorMessage, - $uploadFormSizeErrorMessage, - $uploadPartialErrorMessage, - $uploadNoFileErrorMessage, - $uploadNoTmpDirErrorMessage, - $uploadCantWriteErrorMessage, - $uploadExtensionErrorMessage, - $uploadErrorMessage, - $groups, - $payload - ); - - $this->minWidth = $minWidth ?? $this->minWidth; - $this->maxWidth = $maxWidth ?? $this->maxWidth; - $this->maxHeight = $maxHeight ?? $this->maxHeight; - $this->minHeight = $minHeight ?? $this->minHeight; - $this->maxRatio = $maxRatio ?? $this->maxRatio; - $this->minRatio = $minRatio ?? $this->minRatio; - $this->minPixels = $minPixels ?? $this->minPixels; - $this->maxPixels = $maxPixels ?? $this->maxPixels; - $this->allowSquare = $allowSquare ?? $this->allowSquare; - $this->allowLandscape = $allowLandscape ?? $this->allowLandscape; - $this->allowPortrait = $allowPortrait ?? $this->allowPortrait; - $this->allowedCodecs = $allowedCodecs ?? $this->allowedCodecs; - $this->allowedContainers = $allowedContainers ?? $this->allowedContainers; - $this->sizeNotDetectedMessage = $sizeNotDetectedMessage ?? $this->sizeNotDetectedMessage; - $this->maxWidthMessage = $maxWidthMessage ?? $this->maxWidthMessage; - $this->minWidthMessage = $minWidthMessage ?? $this->minWidthMessage; - $this->maxHeightMessage = $maxHeightMessage ?? $this->maxHeightMessage; - $this->minHeightMessage = $minHeightMessage ?? $this->minHeightMessage; - $this->minPixelsMessage = $minPixelsMessage ?? $this->minPixelsMessage; - $this->maxPixelsMessage = $maxPixelsMessage ?? $this->maxPixelsMessage; - $this->maxRatioMessage = $maxRatioMessage ?? $this->maxRatioMessage; - $this->minRatioMessage = $minRatioMessage ?? $this->minRatioMessage; - $this->allowSquareMessage = $allowSquareMessage ?? $this->allowSquareMessage; - $this->allowLandscapeMessage = $allowLandscapeMessage ?? $this->allowLandscapeMessage; - $this->allowPortraitMessage = $allowPortraitMessage ?? $this->allowPortraitMessage; - $this->corruptedMessage = $corruptedMessage ?? $this->corruptedMessage; - $this->multipleVideoStreamsMessage = $multipleVideoStreamsMessage ?? $this->multipleVideoStreamsMessage; - $this->unsupportedCodecMessage = $unsupportedCodecMessage ?? $this->unsupportedCodecMessage; - $this->unsupportedContainerMessage = $unsupportedContainerMessage ?? $this->unsupportedContainerMessage; - - if (!\in_array('video/*', (array) $this->mimeTypes, true) && null === $mimeTypesMessage) { - $this->mimeTypesMessage = 'The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.'; - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/VideoValidator.php b/app/vendor/symfony/validator/Constraints/VideoValidator.php deleted file mode 100644 index afbe30b5f..000000000 --- a/app/vendor/symfony/validator/Constraints/VideoValidator.php +++ /dev/null @@ -1,265 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Process\Process; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Kev - * @author Nicolas Grekas - */ -class VideoValidator extends FileValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Video) { - throw new UnexpectedTypeException($constraint, Video::class); - } - - $violations = \count($this->context->getViolations()); - - parent::validate($value, $constraint); - - $failed = \count($this->context->getViolations()) !== $violations; - - if ($failed || null === $value || '' === $value) { - return; - } - - if (null === $constraint->minWidth && null === $constraint->maxWidth - && null === $constraint->minHeight && null === $constraint->maxHeight - && null === $constraint->minPixels && null === $constraint->maxPixels - && null === $constraint->minRatio && null === $constraint->maxRatio - && $constraint->allowSquare && $constraint->allowLandscape && $constraint->allowPortrait - ) { - return; - } - - $process = new Process([ - 'ffprobe', - '-v', 'error', - '-select_streams', 'v', - '-show_entries', 'stream=index,codec_type,codec_name,width,height', - '-show_entries', 'format=format_name', - '-of', 'json', - (string) $value, - ]); - $process->run(); - - if (!$process->isSuccessful()) { - $this->context->buildViolation($constraint->corruptedMessage) - ->setCode(Video::CORRUPTED_VIDEO_ERROR) - ->addViolation(); - - return; - } - - $meta = json_decode($process->getOutput(), true) ?: []; - $streams = $meta['streams'] ?? []; - $formats = explode(',', strtolower($meta['format']['format_name'] ?? 'unknown')); - - if (!($streams[0]['width'] ?? false) || !($streams[0]['height'] ?? false)) { - $this->context->buildViolation($constraint->sizeNotDetectedMessage) - ->setCode(Video::SIZE_NOT_DETECTED_ERROR) - ->addViolation(); - - return; - } - - $width = $streams[0]['width']; - $height = $streams[0]['height']; - - if (1 !== \count($streams)) { - $this->context->buildViolation($constraint->multipleVideoStreamsMessage) - ->setCode(Video::MULTIPLE_VIDEO_STREAMS_ERROR) - ->addViolation(); - - return; - } - - if ($constraint->allowedCodecs) { - foreach ($streams as $stream) { - $codec = strtolower($stream['codec_name'] ?? 'unknown'); - if (!\in_array($codec, $constraint->allowedCodecs, true)) { - $this->context->buildViolation($constraint->unsupportedCodecMessage) - ->setParameter('{{ codec }}', $codec) - ->setCode(Video::UNSUPPORTED_VIDEO_CODEC_ERROR) - ->addViolation(); - - return; - } - } - } - - if ($constraint->allowedContainers && !array_intersect($formats, $constraint->allowedContainers)) { - $this->context->buildViolation($constraint->unsupportedContainerMessage) - ->setParameter('{{ container }}', $formats[0]) - ->setCode(Video::UNSUPPORTED_VIDEO_CONTAINER_ERROR) - ->addViolation(); - - return; - } - - if ($constraint->minWidth) { - if ($constraint->minWidth < 0) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid minimum width.', $constraint->minWidth)); - } - - if ($width < $constraint->minWidth) { - $this->context->buildViolation($constraint->minWidthMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ min_width }}', $constraint->minWidth) - ->setCode(Video::TOO_NARROW_ERROR) - ->addViolation(); - - return; - } - } - - if ($constraint->maxWidth) { - if ($constraint->maxWidth < 0) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum width.', $constraint->maxWidth)); - } - - if ($width > $constraint->maxWidth) { - $this->context->buildViolation($constraint->maxWidthMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ max_width }}', $constraint->maxWidth) - ->setCode(Video::TOO_WIDE_ERROR) - ->addViolation(); - - return; - } - } - - if ($constraint->minHeight) { - if ($constraint->minHeight < 0) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid minimum height.', $constraint->minHeight)); - } - - if ($height < $constraint->minHeight) { - $this->context->buildViolation($constraint->minHeightMessage) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ min_height }}', $constraint->minHeight) - ->setCode(Video::TOO_LOW_ERROR) - ->addViolation(); - - return; - } - } - - if ($constraint->maxHeight) { - if ($constraint->maxHeight < 0) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum height.', $constraint->maxHeight)); - } - - if ($height > $constraint->maxHeight) { - $this->context->buildViolation($constraint->maxHeightMessage) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ max_height }}', $constraint->maxHeight) - ->setCode(Video::TOO_HIGH_ERROR) - ->addViolation(); - } - } - - $pixels = $width * $height; - - if (null !== $constraint->minPixels) { - if ($constraint->minPixels < 0) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid minimum amount of pixels.', $constraint->minPixels)); - } - - if ($pixels < $constraint->minPixels) { - $this->context->buildViolation($constraint->minPixelsMessage) - ->setParameter('{{ pixels }}', $pixels) - ->setParameter('{{ min_pixels }}', $constraint->minPixels) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ width }}', $width) - ->setCode(Video::TOO_FEW_PIXEL_ERROR) - ->addViolation(); - } - } - - if (null !== $constraint->maxPixels) { - if ($constraint->maxPixels < 0) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum amount of pixels.', $constraint->maxPixels)); - } - - if ($pixels > $constraint->maxPixels) { - $this->context->buildViolation($constraint->maxPixelsMessage) - ->setParameter('{{ pixels }}', $pixels) - ->setParameter('{{ max_pixels }}', $constraint->maxPixels) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ width }}', $width) - ->setCode(Video::TOO_MANY_PIXEL_ERROR) - ->addViolation(); - } - } - - $ratio = round($height > 0 ? $width / $height : 0, 2); - - if (null !== $constraint->minRatio) { - if (!is_numeric((string) $constraint->minRatio)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid minimum ratio.', $constraint->minRatio)); - } - - if ($ratio < round($constraint->minRatio, 2)) { - $this->context->buildViolation($constraint->minRatioMessage) - ->setParameter('{{ ratio }}', $ratio) - ->setParameter('{{ min_ratio }}', round($constraint->minRatio, 2)) - ->setCode(Video::RATIO_TOO_SMALL_ERROR) - ->addViolation(); - } - } - - if (null !== $constraint->maxRatio) { - if (!is_numeric((string) $constraint->maxRatio)) { - throw new ConstraintDefinitionException(\sprintf('"%s" is not a valid maximum ratio.', $constraint->maxRatio)); - } - - if ($ratio > round($constraint->maxRatio, 2)) { - $this->context->buildViolation($constraint->maxRatioMessage) - ->setParameter('{{ ratio }}', $ratio) - ->setParameter('{{ max_ratio }}', round($constraint->maxRatio, 2)) - ->setCode(Video::RATIO_TOO_BIG_ERROR) - ->addViolation(); - } - } - - if (!$constraint->allowSquare && $width == $height) { - $this->context->buildViolation($constraint->allowSquareMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Video::SQUARE_NOT_ALLOWED_ERROR) - ->addViolation(); - } - - if (!$constraint->allowLandscape && $width > $height) { - $this->context->buildViolation($constraint->allowLandscapeMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Video::LANDSCAPE_NOT_ALLOWED_ERROR) - ->addViolation(); - } - - if (!$constraint->allowPortrait && $width < $height) { - $this->context->buildViolation($constraint->allowPortraitMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Video::PORTRAIT_NOT_ALLOWED_ERROR) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Week.php b/app/vendor/symfony/validator/Constraints/Week.php deleted file mode 100644 index f40f3462a..000000000 --- a/app/vendor/symfony/validator/Constraints/Week.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * @author Alexandre Daubois - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -final class Week extends Constraint -{ - public const INVALID_FORMAT_ERROR = '19012dd1-01c8-4ce8-959f-72ad22684f5f'; - public const INVALID_WEEK_NUMBER_ERROR = 'd67ebfc9-45fe-4e4c-a038-5eaa56895ea3'; - public const TOO_LOW_ERROR = '9b506423-77a3-4749-aa34-c822a08be978'; - public const TOO_HIGH_ERROR = '85156377-d1e6-42cd-8f6e-dc43c2ecb72b'; - - protected const ERROR_NAMES = [ - self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', - self::INVALID_WEEK_NUMBER_ERROR => 'INVALID_WEEK_NUMBER_ERROR', - self::TOO_LOW_ERROR => 'TOO_LOW_ERROR', - self::TOO_HIGH_ERROR => 'TOO_HIGH_ERROR', - ]; - - /** - * @param non-empty-string|null $min - * @param non-empty-string|null $max - */ - #[HasNamedArguments] - public function __construct( - public ?string $min = null, - public ?string $max = null, - public string $invalidFormatMessage = 'This value does not represent a valid week in the ISO 8601 format.', - public string $invalidWeekNumberMessage = 'This value is not a valid week.', - public string $tooLowMessage = 'This value should not be before week "{{ min }}".', - public string $tooHighMessage = 'This value should not be after week "{{ max }}".', - ?array $groups = null, - mixed $payload = null, - ) { - parent::__construct(null, $groups, $payload); - - if (null !== $min && !preg_match('/^\d{4}-W(0[1-9]|[1-4][0-9]|5[0-3])$/', $min)) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires the min week to be in the ISO 8601 format if set.', __CLASS__)); - } - - if (null !== $max && !preg_match('/^\d{4}-W(0[1-9]|[1-4][0-9]|5[0-3])$/', $max)) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires the max week to be in the ISO 8601 format if set.', __CLASS__)); - } - - if (null !== $min && null !== $max) { - [$minYear, $minWeekNumber] = explode('-W', $min, 2); - [$maxYear, $maxWeekNumber] = explode('-W', $max, 2); - - if ($minYear > $maxYear || ($minYear === $maxYear && $minWeekNumber > $maxWeekNumber)) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires the min week to be less than or equal to the max week.', __CLASS__)); - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/WeekValidator.php b/app/vendor/symfony/validator/Constraints/WeekValidator.php deleted file mode 100644 index 8139b156e..000000000 --- a/app/vendor/symfony/validator/Constraints/WeekValidator.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Alexandre Daubois - */ -final class WeekValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Week) { - throw new UnexpectedTypeException($constraint, Week::class); - } - - if (null === $value) { - return; - } - - if (!\is_string($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - if (!preg_match('/^\d{4}-W(0[1-9]|[1-4][0-9]|5[0-3])$/D', $value)) { - $this->context->buildViolation($constraint->invalidFormatMessage) - ->setCode(Week::INVALID_FORMAT_ERROR) - ->addViolation(); - - return; - } - - [$year, $weekNumber] = explode('-W', $value, 2); - $weeksInYear = (int) date('W', mktime(0, 0, 0, 12, 28, $year)); - - if ($weekNumber > $weeksInYear) { - $this->context->buildViolation($constraint->invalidWeekNumberMessage) - ->setCode(Week::INVALID_WEEK_NUMBER_ERROR) - ->setParameter('{{ value }}', $value) - ->addViolation(); - - return; - } - - if ($constraint->min) { - [$minYear, $minWeekNumber] = explode('-W', $constraint->min, 2); - if ($year < $minYear || ($year === $minYear && $weekNumber < $minWeekNumber)) { - $this->context->buildViolation($constraint->tooLowMessage) - ->setCode(Week::TOO_LOW_ERROR) - ->setInvalidValue($value) - ->setParameter('{{ min }}', $constraint->min) - ->addViolation(); - - return; - } - } - - if ($constraint->max) { - [$maxYear, $maxWeekNumber] = explode('-W', $constraint->max, 2); - if ($year > $maxYear || ($year === $maxYear && $weekNumber > $maxWeekNumber)) { - $this->context->buildViolation($constraint->tooHighMessage) - ->setCode(Week::TOO_HIGH_ERROR) - ->setInvalidValue($value) - ->setParameter('{{ max }}', $constraint->max) - ->addViolation(); - } - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/When.php b/app/vendor/symfony/validator/Constraints/When.php deleted file mode 100644 index 884d44fb2..000000000 --- a/app/vendor/symfony/validator/Constraints/When.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\ExpressionLanguage\Expression; -use Symfony\Component\ExpressionLanguage\ExpressionLanguage; -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * Conditionally apply validation constraints based on an expression using the ExpressionLanguage syntax. - * - * @see https://symfony.com/doc/current/components/expression_language.html - */ -#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class When extends Composite -{ - public string|Expression|\Closure $expression; - public array|Constraint $constraints = []; - public array $values = []; - public array|Constraint $otherwise = []; - - /** - * @param string|Expression|\Closure(object): bool $expression The condition to evaluate, either as a closure or using the ExpressionLanguage syntax - * @param Constraint[]|Constraint|null $constraints One or multiple constraints that are applied if the expression returns true - * @param array|null $values The values of the custom variables used in the expression (defaults to []) - * @param string[]|null $groups - * @param Constraint[]|Constraint $otherwise One or multiple constraints that are applied if the expression returns false - */ - #[HasNamedArguments] - public function __construct(string|Expression|array|\Closure $expression, array|Constraint|null $constraints = null, ?array $values = null, ?array $groups = null, $payload = null, ?array $options = null, array|Constraint $otherwise = []) - { - if (!$expression instanceof \Closure && !class_exists(ExpressionLanguage::class)) { - throw new LogicException(\sprintf('The "symfony/expression-language" component is required to use the "%s" constraint. Try running "composer require symfony/expression-language".', __CLASS__)); - } - - if (\is_array($expression)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options = array_merge($expression, $options ?? []); - } else { - if (\is_array($options)) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - - $options['expression'] = $expression; - if (null !== $constraints) { - $options['constraints'] = $constraints; - } - $options['otherwise'] = $otherwise; - } else { - if (null === $constraints) { - throw new MissingOptionsException(\sprintf('The options "constraints" must be set for constraint "%s".', self::class), ['constraints']); - } - - $this->expression = $expression; - $this->constraints = $constraints; - $this->otherwise = $otherwise; - } - } - - if (!\is_array($options['constraints'] ?? [])) { - $options['constraints'] = [$options['constraints']]; - } - - if (!\is_array($options['otherwise'] ?? [])) { - $options['otherwise'] = [$options['otherwise']]; - } - - parent::__construct($options, $groups, $payload); - - $this->values = $values ?? $this->values; - } - - public function getRequiredOptions(): array - { - if (0 === \func_num_args() || func_get_arg(0)) { - trigger_deprecation('symfony/validator', '7.4', 'The %s() method is deprecated.', __METHOD__); - } - - return ['expression', 'constraints']; - } - - public function getTargets(): string|array - { - return [self::CLASS_CONSTRAINT, self::PROPERTY_CONSTRAINT]; - } - - protected function getCompositeOption(): array|string - { - return ['constraints', 'otherwise']; - } -} diff --git a/app/vendor/symfony/validator/Constraints/WhenValidator.php b/app/vendor/symfony/validator/Constraints/WhenValidator.php deleted file mode 100644 index 1ef14469f..000000000 --- a/app/vendor/symfony/validator/Constraints/WhenValidator.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\ExpressionLanguage\ExpressionLanguage; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -final class WhenValidator extends ConstraintValidator -{ - public function __construct(private ?ExpressionLanguage $expressionLanguage = null) - { - } - - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof When) { - throw new UnexpectedTypeException($constraint, When::class); - } - - $context = $this->context; - $variables = $constraint->values; - $variables['value'] = $value; - $variables['this'] = $context->getObject(); - $variables['context'] = $context; - - if ($constraint->expression instanceof \Closure) { - $result = ($constraint->expression)($context->getObject()); - } else { - $result = $this->getExpressionLanguage()->evaluate($constraint->expression, $variables); - } - - if ($result) { - $context->getValidator()->inContext($context) - ->validate($value, $constraint->constraints); - } elseif ($constraint->otherwise) { - $context->getValidator()->inContext($context) - ->validate($value, $constraint->otherwise); - } - } - - private function getExpressionLanguage(): ExpressionLanguage - { - if (!class_exists(ExpressionLanguage::class)) { - throw new LogicException(\sprintf('The "symfony/expression-language" component is required to use the "%s" validator. Try running "composer require symfony/expression-language".', __CLASS__)); - } - - return $this->expressionLanguage ??= new ExpressionLanguage(); - } -} diff --git a/app/vendor/symfony/validator/Constraints/WordCount.php b/app/vendor/symfony/validator/Constraints/WordCount.php deleted file mode 100644 index 6b889aa4a..000000000 --- a/app/vendor/symfony/validator/Constraints/WordCount.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\MissingOptionsException; - -/** - * @author Alexandre Daubois - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -final class WordCount extends Constraint -{ - public const TOO_SHORT_ERROR = 'cc4925df-b5a6-42dd-87f3-21919f349bf3'; - public const TOO_LONG_ERROR = 'a951a642-f662-4fad-8761-79250eef74cb'; - - protected const ERROR_NAMES = [ - self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR', - self::TOO_LONG_ERROR => 'TOO_LONG_ERROR', - ]; - - /** - * @param int<0, max>|null $min - * @param positive-int|null $max - */ - #[HasNamedArguments] - public function __construct( - public ?int $min = null, - public ?int $max = null, - public ?string $locale = null, - public string $minMessage = 'This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words.', - public string $maxMessage = 'This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less.', - ?array $groups = null, - mixed $payload = null, - ) { - if (!class_exists(\IntlBreakIterator::class)) { - throw new \RuntimeException(\sprintf('The "%s" constraint requires the "intl" PHP extension.', __CLASS__)); - } - - if (null === $min && null === $max) { - throw new MissingOptionsException(\sprintf('Either option "min" or "max" must be given for constraint "%s".', __CLASS__), ['min', 'max']); - } - - if (null !== $min && $min <= 0) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires the min word count to be a positive integer if set.', __CLASS__)); - } - - if (null !== $max && $max <= 0) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires the max word count to be a positive integer if set.', __CLASS__)); - } - - if (null !== $min && null !== $max && $min > $max) { - throw new ConstraintDefinitionException(\sprintf('The "%s" constraint requires the min word count to be less than or equal to the max word count.', __CLASS__)); - } - - parent::__construct(null, $groups, $payload); - } -} diff --git a/app/vendor/symfony/validator/Constraints/WordCountValidator.php b/app/vendor/symfony/validator/Constraints/WordCountValidator.php deleted file mode 100644 index 0fe6e885a..000000000 --- a/app/vendor/symfony/validator/Constraints/WordCountValidator.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; - -/** - * @author Alexandre Daubois - */ -final class WordCountValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!class_exists(\IntlBreakIterator::class)) { - throw new \RuntimeException(\sprintf('The "%s" constraint requires the "intl" PHP extension.', __CLASS__)); - } - - if (!$constraint instanceof WordCount) { - throw new UnexpectedTypeException($constraint, WordCount::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_string($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $iterator = \IntlBreakIterator::createWordInstance($constraint->locale); - $iterator->setText($value); - $words = iterator_to_array($iterator->getPartsIterator()); - - // erase "blank words" and don't count them as words - $wordsCount = \count(array_filter(array_map(trim(...), $words), fn ($word) => '' !== $word)); - - if (null !== $constraint->min && $wordsCount < $constraint->min) { - $this->context->buildViolation($constraint->minMessage) - ->setParameter('{{ count }}', $wordsCount) - ->setParameter('{{ min }}', $constraint->min) - ->setPlural($constraint->min) - ->setInvalidValue($value) - ->addViolation(); - } elseif (null !== $constraint->max && $wordsCount > $constraint->max) { - $this->context->buildViolation($constraint->maxMessage) - ->setParameter('{{ count }}', $wordsCount) - ->setParameter('{{ max }}', $constraint->max) - ->setPlural($constraint->max) - ->setInvalidValue($value) - ->addViolation(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/Yaml.php b/app/vendor/symfony/validator/Constraints/Yaml.php deleted file mode 100644 index 99f2092d1..000000000 --- a/app/vendor/symfony/validator/Constraints/Yaml.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Yaml\Parser; - -/** - * @author Kev - */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] -class Yaml extends Constraint -{ - public const INVALID_YAML_ERROR = '63313a31-837c-42bb-99eb-542c76aacc48'; - - protected const ERROR_NAMES = [ - self::INVALID_YAML_ERROR => 'INVALID_YAML_ERROR', - ]; - - /** - * @param int-mask-of<\Symfony\Component\Yaml\Yaml::PARSE_*> $flags - * @param string[]|null $groups - */ - #[HasNamedArguments] - public function __construct( - public string $message = 'This value is not valid YAML.', - public int $flags = 0, - ?array $groups = null, - mixed $payload = null, - ) { - if (!class_exists(Parser::class)) { - throw new LogicException('The Yaml component is required to use the Yaml constraint. Try running "composer require symfony/yaml".'); - } - - parent::__construct(null, $groups, $payload); - } -} diff --git a/app/vendor/symfony/validator/Constraints/YamlValidator.php b/app/vendor/symfony/validator/Constraints/YamlValidator.php deleted file mode 100644 index 165e3fad8..000000000 --- a/app/vendor/symfony/validator/Constraints/YamlValidator.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; -use Symfony\Component\Yaml\Exception\ParseException; -use Symfony\Component\Yaml\Parser; - -/** - * @author Kev - */ -class YamlValidator extends ConstraintValidator -{ - public function validate(mixed $value, Constraint $constraint): void - { - if (!$constraint instanceof Yaml) { - throw new UnexpectedTypeException($constraint, Yaml::class); - } - - if (null === $value || '' === $value) { - return; - } - - if (!\is_scalar($value) && !$value instanceof \Stringable) { - throw new UnexpectedValueException($value, 'string'); - } - - $value = (string) $value; - - $parser = new Parser(); - - /** @see \Symfony\Component\Yaml\Command\LintCommand::validate() */ - $prevErrorHandler = set_error_handler(static function ($level, $message, $file, $line) use (&$prevErrorHandler, $parser) { - if (\E_USER_DEPRECATED === $level) { - throw new ParseException($message, $parser->getRealCurrentLineNb() + 1); - } - - return $prevErrorHandler ? $prevErrorHandler($level, $message, $file, $line) : false; - }); - - try { - $parser->parse($value, $constraint->flags); - } catch (ParseException $e) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ error }}', $e->getMessage()) - ->setParameter('{{ line }}', $e->getParsedLine()) - ->setCode(Yaml::INVALID_YAML_ERROR) - ->addViolation(); - } finally { - restore_error_handler(); - } - } -} diff --git a/app/vendor/symfony/validator/Constraints/ZeroComparisonConstraintTrait.php b/app/vendor/symfony/validator/Constraints/ZeroComparisonConstraintTrait.php deleted file mode 100644 index d0841adea..000000000 --- a/app/vendor/symfony/validator/Constraints/ZeroComparisonConstraintTrait.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Constraints; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * @internal - * - * @author Jan Schädlich - * @author Alexander M. Turek - */ -trait ZeroComparisonConstraintTrait -{ - #[HasNamedArguments] - public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null) - { - if (null !== $options) { - trigger_deprecation('symfony/validator', '7.3', 'Passing an array of options to configure the "%s" constraint is deprecated, use named arguments instead.', static::class); - } - - if (\is_array($options) && isset($options['propertyPath'])) { - throw new ConstraintDefinitionException(\sprintf('The "propertyPath" option of the "%s" constraint cannot be set.', static::class)); - } - - if (\is_array($options) && isset($options['value'])) { - throw new ConstraintDefinitionException(\sprintf('The "value" option of the "%s" constraint cannot be set.', static::class)); - } - - parent::__construct(0, null, $message, $groups, $payload, $options); - } - - public function validatedBy(): string - { - return parent::class.'Validator'; - } -} diff --git a/app/vendor/symfony/validator/ContainerConstraintValidatorFactory.php b/app/vendor/symfony/validator/ContainerConstraintValidatorFactory.php deleted file mode 100644 index 49e8d5aa3..000000000 --- a/app/vendor/symfony/validator/ContainerConstraintValidatorFactory.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Psr\Container\ContainerInterface; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; -use Symfony\Component\Validator\Exception\ValidatorException; - -/** - * Uses a service container to create constraint validators. - * - * @author Kris Wallsmith - */ -class ContainerConstraintValidatorFactory implements ConstraintValidatorFactoryInterface -{ - private array $validators; - - public function __construct( - private ContainerInterface $container, - ) { - $this->validators = []; - } - - /** - * @throws ValidatorException When the validator class does not exist - * @throws UnexpectedTypeException When the validator is not an instance of ConstraintValidatorInterface - */ - public function getInstance(Constraint $constraint): ConstraintValidatorInterface - { - $name = $constraint->validatedBy(); - - if (!isset($this->validators[$name])) { - if ($this->container->has($name)) { - $this->validators[$name] = $this->container->get($name); - } else { - if (!class_exists($name)) { - throw new ValidatorException(\sprintf('Constraint validator "%s" does not exist or is not enabled. Check the "validatedBy" method in your constraint class "%s".', $name, get_debug_type($constraint))); - } - - $this->validators[$name] = new $name(); - } - } - - if (!$this->validators[$name] instanceof ConstraintValidatorInterface) { - throw new UnexpectedTypeException($this->validators[$name], ConstraintValidatorInterface::class); - } - - return $this->validators[$name]; - } -} diff --git a/app/vendor/symfony/validator/Context/ExecutionContext.php b/app/vendor/symfony/validator/Context/ExecutionContext.php deleted file mode 100644 index 1fd373309..000000000 --- a/app/vendor/symfony/validator/Context/ExecutionContext.php +++ /dev/null @@ -1,275 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Context; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintViolation; -use Symfony\Component\Validator\ConstraintViolationList; -use Symfony\Component\Validator\ConstraintViolationListInterface; -use Symfony\Component\Validator\Mapping\ClassMetadataInterface; -use Symfony\Component\Validator\Mapping\MemberMetadata; -use Symfony\Component\Validator\Mapping\MetadataInterface; -use Symfony\Component\Validator\Mapping\PropertyMetadataInterface; -use Symfony\Component\Validator\Util\PropertyPath; -use Symfony\Component\Validator\Validator\LazyProperty; -use Symfony\Component\Validator\Validator\ValidatorInterface; -use Symfony\Component\Validator\Violation\ConstraintViolationBuilder; -use Symfony\Component\Validator\Violation\ConstraintViolationBuilderInterface; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * The context used and created by {@link ExecutionContextFactory}. - * - * @author Bernhard Schussek - * - * @see ExecutionContextInterface - * - * @internal - */ -class ExecutionContext implements ExecutionContextInterface -{ - /** - * The violations generated in the current context. - */ - private ConstraintViolationList $violations; - - /** - * The currently validated value. - */ - private mixed $value = null; - - /** - * The currently validated object. - */ - private ?object $object = null; - - /** - * The property path leading to the current value. - */ - private string $propertyPath = ''; - - /** - * The current validation metadata. - */ - private ?MetadataInterface $metadata = null; - - /** - * The currently validated group. - */ - private ?string $group = null; - - /** - * The currently validated constraint. - */ - private ?Constraint $constraint = null; - - /** - * Stores which objects have been validated in which group. - * - * @var bool[][] - */ - private array $validatedObjects = []; - - /** - * Stores which class constraint has been validated for which object. - * - * @var bool[] - */ - private array $validatedConstraints = []; - - /** - * Stores which objects have been initialized. - * - * @var bool[] - */ - private array $initializedObjects = []; - - /** - * @var \SplObjectStorage - */ - private \SplObjectStorage $cachedObjectsRefs; - - /** - * @internal Called by {@link ExecutionContextFactory}. Should not be used in user code. - * - * @param mixed $root the root value of the validated object graph - */ - public function __construct( - private ValidatorInterface $validator, - private mixed $root, - private TranslatorInterface $translator, - private string|false|null $translationDomain = null, - ) { - $this->violations = new ConstraintViolationList(); - $this->cachedObjectsRefs = new \SplObjectStorage(); - } - - public function setNode(mixed $value, ?object $object, ?MetadataInterface $metadata, string $propertyPath): void - { - $this->value = $value; - $this->object = $object; - $this->metadata = $metadata; - $this->propertyPath = $propertyPath; - } - - public function setGroup(?string $group): void - { - $this->group = $group; - } - - public function setConstraint(Constraint $constraint): void - { - $this->constraint = $constraint; - } - - public function addViolation(string|\Stringable $message, array $parameters = []): void - { - $this->violations->add(new ConstraintViolation( - false === $this->translationDomain ? - strtr($message, $parameters) : - $this->translator->trans($message, $parameters, $this->translationDomain), - $message, - $parameters, - $this->root, - $this->propertyPath, - $this->getValue(), - null, - null, - $this->constraint - )); - } - - public function buildViolation(string|\Stringable $message, array $parameters = []): ConstraintViolationBuilderInterface - { - return new ConstraintViolationBuilder( - $this->violations, - $this->constraint, - $message, - $parameters, - $this->root, - $this->propertyPath, - $this->getValue(), - $this->translator, - $this->translationDomain - ); - } - - public function getViolations(): ConstraintViolationListInterface - { - return $this->violations; - } - - public function getValidator(): ValidatorInterface - { - return $this->validator; - } - - public function getRoot(): mixed - { - return $this->root; - } - - public function getValue(): mixed - { - if ($this->value instanceof LazyProperty) { - return $this->value->getPropertyValue(); - } - - return $this->value; - } - - public function getObject(): ?object - { - return $this->object; - } - - public function getMetadata(): ?MetadataInterface - { - return $this->metadata; - } - - public function getGroup(): ?string - { - return $this->group; - } - - public function getConstraint(): ?Constraint - { - return $this->constraint; - } - - public function getClassName(): ?string - { - return $this->metadata instanceof MemberMetadata || $this->metadata instanceof ClassMetadataInterface ? $this->metadata->getClassName() : null; - } - - public function getPropertyName(): ?string - { - return $this->metadata instanceof PropertyMetadataInterface ? $this->metadata->getPropertyName() : null; - } - - public function getPropertyPath(string $subPath = ''): string - { - return PropertyPath::append($this->propertyPath, $subPath); - } - - public function markGroupAsValidated(string $cacheKey, string $groupHash): void - { - if (!isset($this->validatedObjects[$cacheKey])) { - $this->validatedObjects[$cacheKey] = []; - } - - $this->validatedObjects[$cacheKey][$groupHash] = true; - } - - public function isGroupValidated(string $cacheKey, string $groupHash): bool - { - return isset($this->validatedObjects[$cacheKey][$groupHash]); - } - - public function markConstraintAsValidated(string $cacheKey, string $constraintHash): void - { - $this->validatedConstraints[$cacheKey.':'.$constraintHash] = true; - } - - public function isConstraintValidated(string $cacheKey, string $constraintHash): bool - { - return isset($this->validatedConstraints[$cacheKey.':'.$constraintHash]); - } - - public function markObjectAsInitialized(string $cacheKey): void - { - $this->initializedObjects[$cacheKey] = true; - } - - public function isObjectInitialized(string $cacheKey): bool - { - return isset($this->initializedObjects[$cacheKey]); - } - - /** - * @internal - */ - public function generateCacheKey(object $object): string - { - if (!isset($this->cachedObjectsRefs[$object])) { - $this->cachedObjectsRefs[$object] = spl_object_hash($object); - } - - return $this->cachedObjectsRefs[$object]; - } - - public function __clone() - { - $this->violations = clone $this->violations; - } -} diff --git a/app/vendor/symfony/validator/Context/ExecutionContextFactory.php b/app/vendor/symfony/validator/Context/ExecutionContextFactory.php deleted file mode 100644 index 39c2add35..000000000 --- a/app/vendor/symfony/validator/Context/ExecutionContextFactory.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Context; - -use Symfony\Component\Validator\Validator\ValidatorInterface; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * Creates new {@link ExecutionContext} instances. - * - * @author Bernhard Schussek - * - * @internal - */ -class ExecutionContextFactory implements ExecutionContextFactoryInterface -{ - public function __construct( - private TranslatorInterface $translator, - private string|false|null $translationDomain = null, - ) { - } - - public function createContext(ValidatorInterface $validator, mixed $root): ExecutionContextInterface - { - return new ExecutionContext( - $validator, - $root, - $this->translator, - $this->translationDomain - ); - } -} diff --git a/app/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php b/app/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php deleted file mode 100644 index 71d17ce3f..000000000 --- a/app/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Context; - -use Symfony\Component\Validator\Validator\ValidatorInterface; - -/** - * Creates instances of {@link ExecutionContextInterface}. - * - * You can use a custom factory if you want to customize the execution context - * that is passed through the validation run. - * - * @author Bernhard Schussek - */ -interface ExecutionContextFactoryInterface -{ - /** - * Creates a new execution context. - * - * @param mixed $root The root value of the validated - * object graph - */ - public function createContext(ValidatorInterface $validator, mixed $root): ExecutionContextInterface; -} diff --git a/app/vendor/symfony/validator/Context/ExecutionContextInterface.php b/app/vendor/symfony/validator/Context/ExecutionContextInterface.php deleted file mode 100644 index 56e39bd6a..000000000 --- a/app/vendor/symfony/validator/Context/ExecutionContextInterface.php +++ /dev/null @@ -1,285 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Context; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintViolationListInterface; -use Symfony\Component\Validator\Mapping; -use Symfony\Component\Validator\Mapping\MetadataInterface; -use Symfony\Component\Validator\Validator\ValidatorInterface; -use Symfony\Component\Validator\Violation\ConstraintViolationBuilderInterface; - -/** - * The context of a validation run. - * - * The context collects all violations generated during the validation. By - * default, validators execute all validations in a new context: - * - * $violations = $validator->validate($object); - * - * When you make another call to the validator, while the validation is in - * progress, the violations will be isolated from each other: - * - * public function validate(mixed $value, Constraint $constraint): void - * { - * $validator = $this->context->getValidator(); - * - * // The violations are not added to $this->context - * $violations = $validator->validate($value); - * } - * - * However, if you want to add the violations to the current context, use the - * {@link ValidatorInterface::inContext()} method: - * - * public function validate(mixed $value, Constraint $constraint): void - * { - * $validator = $this->context->getValidator(); - * - * // The violations are added to $this->context - * $validator - * ->inContext($this->context) - * ->validate($value) - * ; - * } - * - * Additionally, the context provides information about the current state of - * the validator, such as the currently validated class, the name of the - * currently validated property and more. These values change over time, so you - * cannot store a context and expect that the methods still return the same - * results later on. - * - * @author Bernhard Schussek - */ -interface ExecutionContextInterface -{ - /** - * Adds a violation at the current node of the validation graph. - * - * @param string|\Stringable $message The error message as a string or a stringable object - * @param array $params The parameters substituted in the error message - */ - public function addViolation(string $message, array $params = []): void; - - /** - * Returns a builder for adding a violation with extended information. - * - * Call {@link ConstraintViolationBuilderInterface::addViolation()} to - * add the violation when you're done with the configuration: - * - * $context->buildViolation('Please enter a number between %min% and %max%.') - * ->setParameter('%min%', '3') - * ->setParameter('%max%', '10') - * ->setTranslationDomain('number_validation') - * ->addViolation(); - * - * @param string|\Stringable $message The error message as a string or a stringable object - * @param array $parameters The parameters substituted in the error message - */ - public function buildViolation(string $message, array $parameters = []): ConstraintViolationBuilderInterface; - - /** - * Returns the validator. - * - * Useful if you want to validate additional constraints: - * - * public function validate(mixed $value, Constraint $constraint): void - * { - * $validator = $this->context->getValidator(); - * - * $violations = $validator->validate($value, new Length(min: 3)); - * - * if (count($violations) > 0) { - * // ... - * } - * } - */ - public function getValidator(): ValidatorInterface; - - /** - * Returns the currently validated object. - * - * If the validator is currently validating a class constraint, the - * object of that class is returned. If it is validating a property or - * getter constraint, the object that the property/getter belongs to is - * returned. - * - * In other cases, null is returned. - */ - public function getObject(): ?object; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - * - * @param object|null $object The currently validated object - * @param string $propertyPath The property path to the current value - */ - public function setNode(mixed $value, ?object $object, ?MetadataInterface $metadata, string $propertyPath): void; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - * - * @param string|null $group The validated group - */ - public function setGroup(?string $group): void; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - */ - public function setConstraint(Constraint $constraint): void; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - * - * @param string $cacheKey The hash of the object - * @param string $groupHash The group's name or hash, if it is group - * sequence - */ - public function markGroupAsValidated(string $cacheKey, string $groupHash): void; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - * - * @param string $cacheKey The hash of the object - * @param string $groupHash The group's name or hash, if it is group - * sequence - */ - public function isGroupValidated(string $cacheKey, string $groupHash): bool; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - * - * @param string $cacheKey The hash of the object - * @param string $constraintHash The hash of the constraint - */ - public function markConstraintAsValidated(string $cacheKey, string $constraintHash): void; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - * - * @param string $cacheKey The hash of the object - * @param string $constraintHash The hash of the constraint - */ - public function isConstraintValidated(string $cacheKey, string $constraintHash): bool; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - * - * @param string $cacheKey The hash of the object - * - * @see ObjectInitializerInterface - */ - public function markObjectAsInitialized(string $cacheKey): void; - - /** - * Warning: Should not be called by user code, to be used by the validator engine only. - * - * @param string $cacheKey The hash of the object - * - * @see ObjectInitializerInterface - */ - public function isObjectInitialized(string $cacheKey): bool; - - /** - * Returns the violations generated by the validator so far. - */ - public function getViolations(): ConstraintViolationListInterface; - - /** - * Returns the value at which validation was started in the object graph. - * - * The validator, when given an object, traverses the properties and - * related objects and their properties. The root of the validation is the - * object from which the traversal started. - * - * The current value is returned by {@link getValue}. - */ - public function getRoot(): mixed; - - /** - * Returns the value that the validator is currently validating. - * - * If you want to retrieve the object that was originally passed to the - * validator, use {@link getRoot}. - */ - public function getValue(): mixed; - - /** - * Returns the metadata for the currently validated value. - * - * With the core implementation, this method returns a - * {@link Mapping\ClassMetadataInterface} instance if the current value is an object, - * a {@link Mapping\PropertyMetadata} instance if the current value is - * the value of a property and a {@link Mapping\GetterMetadata} instance if - * the validated value is the result of a getter method. - * - * If the validated value is neither of these, for example if the validator - * has been called with a plain value and constraint, this method returns - * null. - */ - public function getMetadata(): ?MetadataInterface; - - /** - * Returns the validation group that is currently being validated. - */ - public function getGroup(): ?string; - - /** - * Returns the class name of the current node. - * - * If the metadata of the current node does not implement - * {@link Mapping\ClassMetadataInterface} or if no metadata is available for the - * current node, this method returns null. - */ - public function getClassName(): ?string; - - /** - * Returns the property name of the current node. - * - * If the metadata of the current node does not implement - * {@link PropertyMetadataInterface} or if no metadata is available for the - * current node, this method returns null. - */ - public function getPropertyName(): ?string; - - /** - * Returns the property path to the value that the validator is currently - * validating. - * - * For example, take the following object graph: - * - *
-     * (Person)---($address: Address)---($street: string)
-     * 
- * - * When the Person instance is passed to the validator, the - * property path is initially empty. When the $address property - * of that person is validated, the property path is "address". When - * the $street property of the related Address instance - * is validated, the property path is "address.street". - * - * Properties of objects are prefixed with a dot in the property path. - * Indices of arrays or objects implementing the {@link \ArrayAccess} - * interface are enclosed in brackets. For example, if the property in - * the previous example is $addresses and contains an array - * of Address instance, the property path generated for the - * $street property of one of these addresses is for example - * "addresses[0].street". - * - * @param string $subPath Optional. The suffix appended to the current - * property path. - * - * @return string The current property path. The result may be an empty - * string if the validator is currently validating the - * root value of the validation graph. - */ - public function getPropertyPath(string $subPath = ''): string; -} diff --git a/app/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php b/app/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php deleted file mode 100644 index 1b5439783..000000000 --- a/app/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\DataCollector; - -use Symfony\Component\Form\FormInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\DataCollector\DataCollector; -use Symfony\Component\HttpKernel\DataCollector\LateDataCollectorInterface; -use Symfony\Component\Validator\Validator\TraceableValidator; -use Symfony\Component\VarDumper\Caster\Caster; -use Symfony\Component\VarDumper\Caster\ClassStub; -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * @author Maxime Steinhausser - * - * @final - */ -class ValidatorDataCollector extends DataCollector implements LateDataCollectorInterface -{ - public function __construct( - private TraceableValidator $validator, - ) { - $this->reset(); - } - - public function collect(Request $request, Response $response, ?\Throwable $exception = null): void - { - // Everything is collected once, on kernel terminate. - } - - public function reset(): void - { - $this->data = [ - 'calls' => $this->cloneVar([]), - 'violations_count' => 0, - ]; - } - - public function lateCollect(): void - { - $collected = $this->validator->getCollectedData(); - $this->data['calls'] = $this->cloneVar($collected); - $this->data['violations_count'] = array_reduce($collected, fn ($previous, $item) => $previous + \count($item['violations']), 0); - } - - public function getCalls(): Data - { - return $this->data['calls']; - } - - public function getViolationsCount(): int - { - return $this->data['violations_count']; - } - - public function getName(): string - { - return 'validator'; - } - - protected function getCasters(): array - { - return parent::getCasters() + [ - \Exception::class => function (\Exception $e, array $a, Stub $s) { - foreach (["\0Exception\0previous", "\0Exception\0trace"] as $k) { - if (isset($a[$k])) { - unset($a[$k]); - ++$s->cut; - } - } - - return $a; - }, - FormInterface::class => fn (FormInterface $f, array $a) => [ - Caster::PREFIX_VIRTUAL.'name' => $f->getName(), - Caster::PREFIX_VIRTUAL.'type_class' => new ClassStub($f->getConfig()->getType()->getInnerType()::class), - Caster::PREFIX_VIRTUAL.'data' => $f->getData(), - ], - ]; - } -} diff --git a/app/vendor/symfony/validator/DependencyInjection/AddAutoMappingConfigurationPass.php b/app/vendor/symfony/validator/DependencyInjection/AddAutoMappingConfigurationPass.php deleted file mode 100644 index 0a6250696..000000000 --- a/app/vendor/symfony/validator/DependencyInjection/AddAutoMappingConfigurationPass.php +++ /dev/null @@ -1,84 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -/** - * Injects the automapping configuration as last argument of loaders tagged with the "validator.auto_mapper" tag. - * - * @author Kévin Dunglas - */ -class AddAutoMappingConfigurationPass implements CompilerPassInterface -{ - public function process(ContainerBuilder $container): void - { - if (!$container->hasParameter('validator.auto_mapping') || !$container->hasDefinition('validator.builder')) { - return; - } - - $config = $container->getParameter('validator.auto_mapping'); - - $globalNamespaces = []; - $servicesToNamespaces = []; - foreach ($config as $namespace => $value) { - if ([] === $value['services']) { - $globalNamespaces[] = $namespace; - - continue; - } - - foreach ($value['services'] as $service) { - $servicesToNamespaces[$service][] = $namespace; - } - } - - $validatorBuilder = $container->getDefinition('validator.builder'); - foreach ($container->findTaggedServiceIds('validator.auto_mapper') as $id => $tags) { - $regexp = $this->getRegexp(array_merge($globalNamespaces, $servicesToNamespaces[$id] ?? [])); - $validatorBuilder->addMethodCall('addLoader', [new Reference($id)]); - $container->getDefinition($id)->setArgument('$classValidatorRegexp', $regexp); - } - - $container->getParameterBag()->remove('validator.auto_mapping'); - } - - /** - * Builds a regexp to check if a class is auto-mapped. - */ - private function getRegexp(array $patterns): ?string - { - if (!$patterns) { - return null; - } - - $regexps = []; - foreach ($patterns as $pattern) { - // Escape namespace - $regex = preg_quote(ltrim($pattern, '\\')); - - // Wildcards * and ** - $regex = strtr($regex, ['\\*\\*' => '.*?', '\\*' => '[^\\\\]*?']); - - // If this class does not end by a slash, anchor the end - if (!str_ends_with($regex, '\\')) { - $regex .= '$'; - } - - $regexps[] = '^'.$regex; - } - - return \sprintf('{%s}', implode('|', $regexps)); - } -} diff --git a/app/vendor/symfony/validator/DependencyInjection/AddConstraintValidatorsPass.php b/app/vendor/symfony/validator/DependencyInjection/AddConstraintValidatorsPass.php deleted file mode 100644 index eb60c94cb..000000000 --- a/app/vendor/symfony/validator/DependencyInjection/AddConstraintValidatorsPass.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -/** - * @author Johannes M. Schmitt - * @author Robin Chalas - */ -class AddConstraintValidatorsPass implements CompilerPassInterface -{ - public function process(ContainerBuilder $container): void - { - if (!$container->hasDefinition('validator.validator_factory')) { - return; - } - - $validators = []; - foreach ($container->findTaggedServiceIds('validator.constraint_validator', true) as $id => $attributes) { - $definition = $container->getDefinition($id); - - if (isset($attributes[0]['alias'])) { - $validators[$attributes[0]['alias']] = new Reference($id); - } - - $validators[$definition->getClass()] = new Reference($id); - } - - $container - ->getDefinition('validator.validator_factory') - ->replaceArgument(0, ServiceLocatorTagPass::register($container, $validators)) - ; - } -} diff --git a/app/vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php b/app/vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php deleted file mode 100644 index df7385b0c..000000000 --- a/app/vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -/** - * @author Fabien Potencier - * @author Robin Chalas - */ -class AddValidatorInitializersPass implements CompilerPassInterface -{ - public function process(ContainerBuilder $container): void - { - if (!$container->hasDefinition('validator.builder')) { - return; - } - - $initializers = []; - foreach ($container->findTaggedServiceIds('validator.initializer', true) as $id => $attributes) { - $initializers[] = new Reference($id); - } - - $container->getDefinition('validator.builder')->addMethodCall('addObjectInitializers', [$initializers]); - } -} diff --git a/app/vendor/symfony/validator/DependencyInjection/AttributeMetadataPass.php b/app/vendor/symfony/validator/DependencyInjection/AttributeMetadataPass.php deleted file mode 100644 index 0c3db8b06..000000000 --- a/app/vendor/symfony/validator/DependencyInjection/AttributeMetadataPass.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\Validator\Exception\MappingException; - -/** - * @author Nicolas Grekas - */ -final class AttributeMetadataPass implements CompilerPassInterface -{ - public function process(ContainerBuilder $container): void - { - if (!$container->hasDefinition('validator.builder')) { - return; - } - - $resolve = $container->getParameterBag()->resolveValue(...); - $mappedClasses = []; - foreach ($container->getDefinitions() as $id => $definition) { - if (!$definition->hasTag('validator.attribute_metadata')) { - continue; - } - $class = $resolve($definition->getClass()); - foreach ($definition->getTag('validator.attribute_metadata') as $attributes) { - if ($class !== $for = $attributes['for'] ?? $class) { - $this->checkSourceMapsToTarget($container, $class, $for); - } - - $mappedClasses[$for][$class] = true; - } - } - - if (!$mappedClasses) { - return; - } - - ksort($mappedClasses); - - $container->getDefinition('validator.builder') - ->addMethodCall('addAttributeMappings', [array_map('array_keys', $mappedClasses)]); - } - - private function checkSourceMapsToTarget(ContainerBuilder $container, string $source, string $target): void - { - $source = $container->getReflectionClass($source); - $target = $container->getReflectionClass($target); - - foreach ($source->getProperties() as $p) { - if ($p->class === $source->name && !($target->hasProperty($p->name) && $target->getProperty($p->name)->class === $target->name)) { - throw new MappingException(\sprintf('The property "%s" on "%s" is not present on "%s".', $p->name, $source->name, $target->name)); - } - } - - foreach ($source->getMethods() as $m) { - if ($m->class === $source->name && !($target->hasMethod($m->name) && $target->getMethod($m->name)->class === $target->name)) { - throw new MappingException(\sprintf('The method "%s" on "%s" is not present on "%s".', $m->name, $source->name, $target->name)); - } - } - } -} diff --git a/app/vendor/symfony/validator/Exception/BadMethodCallException.php b/app/vendor/symfony/validator/Exception/BadMethodCallException.php deleted file mode 100644 index 939161bff..000000000 --- a/app/vendor/symfony/validator/Exception/BadMethodCallException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -/** - * Base BadMethodCallException for the Validator component. - * - * @author Bernhard Schussek - */ -class BadMethodCallException extends \BadMethodCallException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/validator/Exception/ConstraintDefinitionException.php b/app/vendor/symfony/validator/Exception/ConstraintDefinitionException.php deleted file mode 100644 index b24fdd68d..000000000 --- a/app/vendor/symfony/validator/Exception/ConstraintDefinitionException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -class ConstraintDefinitionException extends ValidatorException -{ -} diff --git a/app/vendor/symfony/validator/Exception/ExceptionInterface.php b/app/vendor/symfony/validator/Exception/ExceptionInterface.php deleted file mode 100644 index 390e8c053..000000000 --- a/app/vendor/symfony/validator/Exception/ExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -/** - * Base ExceptionInterface for the Validator component. - * - * @author Bernhard Schussek - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/app/vendor/symfony/validator/Exception/GroupDefinitionException.php b/app/vendor/symfony/validator/Exception/GroupDefinitionException.php deleted file mode 100644 index ab7e91d9e..000000000 --- a/app/vendor/symfony/validator/Exception/GroupDefinitionException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -class GroupDefinitionException extends ValidatorException -{ -} diff --git a/app/vendor/symfony/validator/Exception/InvalidArgumentException.php b/app/vendor/symfony/validator/Exception/InvalidArgumentException.php deleted file mode 100644 index 22da39bb2..000000000 --- a/app/vendor/symfony/validator/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -/** - * Base InvalidArgumentException for the Validator component. - * - * @author Bernhard Schussek - */ -class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/validator/Exception/InvalidOptionsException.php b/app/vendor/symfony/validator/Exception/InvalidOptionsException.php deleted file mode 100644 index 69576760a..000000000 --- a/app/vendor/symfony/validator/Exception/InvalidOptionsException.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -class InvalidOptionsException extends ValidatorException -{ - public function __construct( - string $message, - private array $options, - ) { - parent::__construct($message); - } - - public function getOptions(): array - { - return $this->options; - } -} diff --git a/app/vendor/symfony/validator/Exception/LogicException.php b/app/vendor/symfony/validator/Exception/LogicException.php deleted file mode 100644 index 41d0975c3..000000000 --- a/app/vendor/symfony/validator/Exception/LogicException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -class LogicException extends \LogicException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/validator/Exception/MappingException.php b/app/vendor/symfony/validator/Exception/MappingException.php deleted file mode 100644 index 4c8c057b9..000000000 --- a/app/vendor/symfony/validator/Exception/MappingException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -class MappingException extends ValidatorException -{ -} diff --git a/app/vendor/symfony/validator/Exception/MissingOptionsException.php b/app/vendor/symfony/validator/Exception/MissingOptionsException.php deleted file mode 100644 index d40d1c9af..000000000 --- a/app/vendor/symfony/validator/Exception/MissingOptionsException.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -class MissingOptionsException extends ValidatorException -{ - public function __construct( - string $message, - private array $options, - ) { - parent::__construct($message); - } - - public function getOptions(): array - { - return $this->options; - } -} diff --git a/app/vendor/symfony/validator/Exception/NoSuchMetadataException.php b/app/vendor/symfony/validator/Exception/NoSuchMetadataException.php deleted file mode 100644 index 4cac74cf3..000000000 --- a/app/vendor/symfony/validator/Exception/NoSuchMetadataException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -/** - * @author Bernhard Schussek - */ -class NoSuchMetadataException extends ValidatorException -{ -} diff --git a/app/vendor/symfony/validator/Exception/OutOfBoundsException.php b/app/vendor/symfony/validator/Exception/OutOfBoundsException.php deleted file mode 100644 index 30906e8a8..000000000 --- a/app/vendor/symfony/validator/Exception/OutOfBoundsException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -/** - * Base OutOfBoundsException for the Validator component. - * - * @author Bernhard Schussek - */ -class OutOfBoundsException extends \OutOfBoundsException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/validator/Exception/RuntimeException.php b/app/vendor/symfony/validator/Exception/RuntimeException.php deleted file mode 100644 index df4a50c47..000000000 --- a/app/vendor/symfony/validator/Exception/RuntimeException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -/** - * Base RuntimeException for the Validator component. - * - * @author Bernhard Schussek - */ -class RuntimeException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/validator/Exception/UnexpectedTypeException.php b/app/vendor/symfony/validator/Exception/UnexpectedTypeException.php deleted file mode 100644 index 24ae4b3ac..000000000 --- a/app/vendor/symfony/validator/Exception/UnexpectedTypeException.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -class UnexpectedTypeException extends ValidatorException -{ - public function __construct(mixed $value, string $expectedType) - { - parent::__construct(\sprintf('Expected argument of type "%s", "%s" given', $expectedType, get_debug_type($value))); - } -} diff --git a/app/vendor/symfony/validator/Exception/UnexpectedValueException.php b/app/vendor/symfony/validator/Exception/UnexpectedValueException.php deleted file mode 100644 index 1a65ebd7d..000000000 --- a/app/vendor/symfony/validator/Exception/UnexpectedValueException.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -/** - * @author Christian Flothmann - */ -class UnexpectedValueException extends UnexpectedTypeException -{ - public function __construct( - mixed $value, - private string $expectedType, - ) { - parent::__construct($value, $expectedType); - } - - public function getExpectedType(): string - { - return $this->expectedType; - } -} diff --git a/app/vendor/symfony/validator/Exception/UnsupportedMetadataException.php b/app/vendor/symfony/validator/Exception/UnsupportedMetadataException.php deleted file mode 100644 index aff569b95..000000000 --- a/app/vendor/symfony/validator/Exception/UnsupportedMetadataException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -/** - * @author Bernhard Schussek - */ -class UnsupportedMetadataException extends InvalidArgumentException -{ -} diff --git a/app/vendor/symfony/validator/Exception/ValidationFailedException.php b/app/vendor/symfony/validator/Exception/ValidationFailedException.php deleted file mode 100644 index fa8cc7cbf..000000000 --- a/app/vendor/symfony/validator/Exception/ValidationFailedException.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -use Symfony\Component\Validator\ConstraintViolationListInterface; - -/** - * @author Jan Vernieuwe - */ -class ValidationFailedException extends RuntimeException -{ - public function __construct( - private mixed $value, - private ConstraintViolationListInterface $violations, - ) { - parent::__construct($violations); - } - - public function getValue(): mixed - { - return $this->value; - } - - public function getViolations(): ConstraintViolationListInterface - { - return $this->violations; - } -} diff --git a/app/vendor/symfony/validator/Exception/ValidatorException.php b/app/vendor/symfony/validator/Exception/ValidatorException.php deleted file mode 100644 index 28bd4704e..000000000 --- a/app/vendor/symfony/validator/Exception/ValidatorException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Exception; - -class ValidatorException extends RuntimeException -{ -} diff --git a/app/vendor/symfony/validator/GroupProviderInterface.php b/app/vendor/symfony/validator/GroupProviderInterface.php deleted file mode 100644 index 7651ca223..000000000 --- a/app/vendor/symfony/validator/GroupProviderInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Constraints\GroupSequence; - -/** - * Defines the interface for a validation group provider. - * - * @author Yonel Ceruto - */ -interface GroupProviderInterface -{ - /** - * Returns which validation groups should be used for a certain state - * of the object. - * - * @return string[]|string[][]|GroupSequence - */ - public function getGroups(object $object): array|GroupSequence; -} diff --git a/app/vendor/symfony/validator/GroupSequenceProviderInterface.php b/app/vendor/symfony/validator/GroupSequenceProviderInterface.php deleted file mode 100644 index 32fae2365..000000000 --- a/app/vendor/symfony/validator/GroupSequenceProviderInterface.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Constraints\GroupSequence; - -/** - * Defines the interface for a group sequence provider. - */ -interface GroupSequenceProviderInterface -{ - /** - * Returns which validation groups should be used for a certain state - * of the object. - * - * @return string[]|string[][]|GroupSequence - */ - public function getGroupSequence(): array|GroupSequence; -} diff --git a/app/vendor/symfony/validator/LICENSE b/app/vendor/symfony/validator/LICENSE deleted file mode 100644 index 0138f8f07..000000000 --- a/app/vendor/symfony/validator/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-present Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/symfony/validator/Mapping/AutoMappingStrategy.php b/app/vendor/symfony/validator/Mapping/AutoMappingStrategy.php deleted file mode 100644 index 4012ddcff..000000000 --- a/app/vendor/symfony/validator/Mapping/AutoMappingStrategy.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -/** - * Specifies how the auto-mapping feature should behave. - * - * @author Maxime Steinhausser - */ -final class AutoMappingStrategy -{ - /** - * Nothing explicitly set, rely on auto-mapping configured regex. - */ - public const NONE = 0; - - /** - * Explicitly enabled. - */ - public const ENABLED = 1; - - /** - * Explicitly disabled. - */ - public const DISABLED = 2; - - /** - * Not instantiable. - */ - private function __construct() - { - } -} diff --git a/app/vendor/symfony/validator/Mapping/CascadingStrategy.php b/app/vendor/symfony/validator/Mapping/CascadingStrategy.php deleted file mode 100644 index 6bab8ac4e..000000000 --- a/app/vendor/symfony/validator/Mapping/CascadingStrategy.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -/** - * Specifies whether an object should be cascaded. - * - * Cascading is relevant for any node type but class nodes. If such a node - * contains an object of value, and if cascading is enabled, then the node - * traverser will try to find class metadata for that object and validate the - * object against that metadata. - * - * If no metadata is found for a cascaded object, and if that object implements - * {@link \Traversable}, the node traverser will iterate over the object and - * cascade each object or collection contained within, unless iteration is - * prohibited by the specified {@link TraversalStrategy}. - * - * Although the constants currently represent a boolean switch, they are - * implemented as bit mask in order to allow future extensions. - * - * @author Bernhard Schussek - * - * @see TraversalStrategy - */ -class CascadingStrategy -{ - /** - * Specifies that a node should not be cascaded. - */ - public const NONE = 1; - - /** - * Specifies that a node should be cascaded. - */ - public const CASCADE = 2; - - /** - * Not instantiable. - */ - private function __construct() - { - } -} diff --git a/app/vendor/symfony/validator/Mapping/ClassMetadata.php b/app/vendor/symfony/validator/Mapping/ClassMetadata.php deleted file mode 100644 index b9ac2ec41..000000000 --- a/app/vendor/symfony/validator/Mapping/ClassMetadata.php +++ /dev/null @@ -1,522 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\Cascade; -use Symfony\Component\Validator\Constraints\Composite; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\Constraints\Traverse; -use Symfony\Component\Validator\Constraints\Valid; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\GroupDefinitionException; -use Symfony\Component\Validator\GroupSequenceProviderInterface; - -/** - * Default implementation of {@link ClassMetadataInterface}. - * - * This class supports serialization and cloning. - * - * @author Bernhard Schussek - * @author Fabien Potencier - */ -class ClassMetadata extends GenericMetadata implements ClassMetadataInterface -{ - private string $name; - private string $defaultGroup; - - /** - * @var MemberMetadata[][] - */ - private array $members = []; - - /** - * @var PropertyMetadata[] - */ - private array $properties = []; - - /** - * @var GetterMetadata[] - */ - private array $getters = []; - - private ?GroupSequence $groupSequence = null; - private bool $groupSequenceProvider = false; - private ?string $groupProvider = null; - - /** - * The strategy for cascading objects. - * - * By default, objects are not cascaded. - * - * @var CascadingStrategy::* - */ - private int $cascadingStrategy = CascadingStrategy::NONE; - - /** - * The strategy for traversing traversable objects. - * - * By default, only instances of {@link \Traversable} are traversed. - * - * @var TraversalStrategy::* - */ - private int $traversalStrategy = TraversalStrategy::IMPLICIT; - - private \ReflectionClass $reflClass; - - public function __construct(string $class) - { - $this->name = $class; - // class name without namespace - if (false !== $nsSep = strrpos($class, '\\')) { - $this->defaultGroup = substr($class, $nsSep + 1); - } else { - $this->defaultGroup = $class; - } - } - - public function __serialize(): array - { - if (self::class === (new \ReflectionMethod($this, '__sleep'))->class || self::class !== (new \ReflectionMethod($this, '__serialize'))->class) { - return array_filter([ - 'cascadingStrategy' => CascadingStrategy::NONE !== $this->cascadingStrategy ? $this->cascadingStrategy : null, - 'traversalStrategy' => TraversalStrategy::IMPLICIT !== $this->traversalStrategy ? $this->traversalStrategy : null, - ] + parent::__serialize() + [ - 'getters' => $this->getters, - 'groupSequence' => $this->groupSequence, - 'groupSequenceProvider' => $this->groupSequenceProvider, - 'groupProvider' => $this->groupProvider, - 'members' => $this->members, - 'name' => $this->name, - 'properties' => $this->properties, - 'defaultGroup' => $this->defaultGroup, - ]); - } - - trigger_deprecation('symfony/validator', '7.4', 'Implementing "%s::__sleep()" is deprecated, use "__serialize()" instead.', get_debug_type($this)); - - $data = []; - foreach ($this->__sleep() as $key) { - try { - if (($r = new \ReflectionProperty($this, $key))->isInitialized($this)) { - $data[$key] = $r->getValue($this); - } - } catch (\ReflectionException) { - $data[$key] = $this->$key; - } - } - - return $data; - } - - /** - * @deprecated since Symfony 7.4, will be removed in 8.0 - */ - public function __sleep(): array - { - trigger_deprecation('symfony/validator', '7.4', 'Calling "%s::__sleep()" is deprecated, use "__serialize()" instead.', get_debug_type($this)); - - return [ - 'constraints', - 'constraintsByGroup', - 'traversalStrategy', - 'autoMappingStrategy', - 'getters', - 'groupSequence', - 'groupSequenceProvider', - 'groupProvider', - 'members', - 'name', - 'properties', - 'defaultGroup', - ]; - } - - public function getClassName(): string - { - return $this->name; - } - - /** - * Returns the name of the default group for this class. - * - * For each class, the group "Default" is an alias for the group - * "", where is the non-namespaced name of the - * class. All constraints implicitly or explicitly assigned to group - * "Default" belong to both of these groups, unless the class defines - * a group sequence. - * - * If a class defines a group sequence, validating the class in "Default" - * will validate the group sequence. The constraints assigned to "Default" - * can still be validated by validating the class in "". - */ - public function getDefaultGroup(): string - { - return $this->defaultGroup; - } - - /** - * If the constraint {@link Cascade} is added, the cascading strategy will be - * changed to {@link CascadingStrategy::CASCADE}. - * - * If the constraint {@link Traverse} is added, the traversal strategy will be - * changed. Depending on the $traverse property of that constraint, - * the traversal strategy will be set to one of the following: - * - * - {@link TraversalStrategy::IMPLICIT} by default - * - {@link TraversalStrategy::NONE} if $traverse is disabled - * - {@link TraversalStrategy::TRAVERSE} if $traverse is enabled - */ - public function addConstraint(Constraint $constraint): static - { - $this->checkConstraint($constraint); - - if ($constraint instanceof Traverse) { - $this->traversalStrategy = $constraint->traverse ? TraversalStrategy::TRAVERSE : TraversalStrategy::NONE; - - // The constraint is not added - return $this; - } - - if ($constraint instanceof Cascade) { - $this->cascadingStrategy = CascadingStrategy::CASCADE; - - foreach ($this->getReflectionClass()->getProperties() as $property) { - if (isset($constraint->exclude[$property->getName()])) { - continue; - } - - if ($this->canCascade($property->getType())) { - $this->addPropertyConstraint($property->getName(), new Valid()); - } - } - - // The constraint is not added - return $this; - } - - $constraint->addImplicitGroupName($this->getDefaultGroup()); - - if ($constraint instanceof Valid && null === $constraint->groups) { - $this->cascadingStrategy = CascadingStrategy::CASCADE; - $this->traversalStrategy = $constraint->traverse ? TraversalStrategy::IMPLICIT : TraversalStrategy::NONE; - - // The constraint is not added - return $this; - } - - parent::addConstraint($constraint); - - return $this; - } - - /** - * Adds a constraint to the given property. - * - * @return $this - */ - public function addPropertyConstraint(string $property, Constraint $constraint): static - { - if (!isset($this->properties[$property])) { - $this->properties[$property] = new PropertyMetadata($this->getClassName(), $property); - - $this->addPropertyMetadata($this->properties[$property]); - } - - $constraint->addImplicitGroupName($this->getDefaultGroup()); - - $this->properties[$property]->addConstraint($constraint); - - return $this; - } - - /** - * @param Constraint[] $constraints - * - * @return $this - */ - public function addPropertyConstraints(string $property, array $constraints): static - { - foreach ($constraints as $constraint) { - $this->addPropertyConstraint($property, $constraint); - } - - return $this; - } - - /** - * Adds a constraint to the getter of the given property. - * - * The name of the getter is assumed to be the name of the property with an - * uppercased first letter and the prefix "get", "is" or "has". - * - * @return $this - */ - public function addGetterConstraint(string $property, Constraint $constraint): static - { - if (!isset($this->getters[$property])) { - $this->getters[$property] = new GetterMetadata($this->getClassName(), $property); - - $this->addPropertyMetadata($this->getters[$property]); - } - - $constraint->addImplicitGroupName($this->getDefaultGroup()); - - $this->getters[$property]->addConstraint($constraint); - - return $this; - } - - /** - * Adds a constraint to the getter of the given property. - * - * @return $this - */ - public function addGetterMethodConstraint(string $property, string $method, Constraint $constraint): static - { - if (!isset($this->getters[$property])) { - $this->getters[$property] = new GetterMetadata($this->getClassName(), $property, $method); - - $this->addPropertyMetadata($this->getters[$property]); - } - - $constraint->addImplicitGroupName($this->getDefaultGroup()); - - $this->getters[$property]->addConstraint($constraint); - - return $this; - } - - /** - * @param Constraint[] $constraints - * - * @return $this - */ - public function addGetterConstraints(string $property, array $constraints): static - { - foreach ($constraints as $constraint) { - $this->addGetterConstraint($property, $constraint); - } - - return $this; - } - - /** - * @param Constraint[] $constraints - * - * @return $this - */ - public function addGetterMethodConstraints(string $property, string $method, array $constraints): static - { - foreach ($constraints as $constraint) { - $this->addGetterMethodConstraint($property, $method, $constraint); - } - - return $this; - } - - /** - * Merges the constraints of the given metadata into this object. - */ - public function mergeConstraints(self $source): void - { - if ($source->isGroupSequenceProvider()) { - $this->setGroupProvider($source->getGroupProvider()); - $this->setGroupSequenceProvider(true); - } - - foreach ($source->getConstraints() as $constraint) { - $this->addConstraint(clone $constraint); - } - - foreach ($source->getConstrainedProperties() as $property) { - foreach ($source->getPropertyMetadata($property) as $member) { - $member = clone $member; - - foreach ($member->getConstraints() as $constraint) { - $constraint->addImplicitGroupName($this->getDefaultGroup()); - $member->addConstraint($constraint); - } - - if ($member instanceof MemberMetadata && !$member->isPrivate($this->name)) { - $property = $member->getPropertyName(); - $this->members[$property][] = $member; - - if ($member instanceof PropertyMetadata && !isset($this->properties[$property])) { - $this->properties[$property] = $member; - } elseif ($member instanceof GetterMetadata && !isset($this->getters[$property])) { - $this->getters[$property] = $member; - } - } else { - $this->addPropertyMetadata($member); - } - } - } - } - - public function hasPropertyMetadata(string $property): bool - { - return \array_key_exists($property, $this->members); - } - - public function getPropertyMetadata(string $property): array - { - return $this->members[$property] ?? []; - } - - public function getConstrainedProperties(): array - { - return array_keys($this->members); - } - - /** - * Sets the default group sequence for this class. - * - * @param string[]|GroupSequence $groupSequence An array of group names - * - * @return $this - * - * @throws GroupDefinitionException - */ - public function setGroupSequence(array|GroupSequence $groupSequence): static - { - if ($this->isGroupSequenceProvider()) { - throw new GroupDefinitionException('Defining a static group sequence is not allowed with a group sequence provider.'); - } - - if (\is_array($groupSequence)) { - $groupSequence = new GroupSequence($groupSequence); - } - - if (\in_array(Constraint::DEFAULT_GROUP, $groupSequence->groups, true)) { - throw new GroupDefinitionException(\sprintf('The group "%s" is not allowed in group sequences.', Constraint::DEFAULT_GROUP)); - } - - if (!\in_array($this->getDefaultGroup(), $groupSequence->groups, true)) { - throw new GroupDefinitionException(\sprintf('The group "%s" is missing in the group sequence.', $this->getDefaultGroup())); - } - - $this->groupSequence = $groupSequence; - - return $this; - } - - public function hasGroupSequence(): bool - { - return isset($this->groupSequence) && \count($this->groupSequence->groups) > 0; - } - - public function getGroupSequence(): ?GroupSequence - { - return $this->groupSequence; - } - - /** - * Returns a ReflectionClass instance for this class. - */ - public function getReflectionClass(): \ReflectionClass - { - return $this->reflClass ??= new \ReflectionClass($this->getClassName()); - } - - /** - * Sets whether a group sequence provider should be used. - * - * @throws GroupDefinitionException - */ - public function setGroupSequenceProvider(bool $active): void - { - if ($this->hasGroupSequence()) { - throw new GroupDefinitionException('Defining a group sequence provider is not allowed with a static group sequence.'); - } - - if (null === $this->groupProvider && !$this->getReflectionClass()->implementsInterface(GroupSequenceProviderInterface::class)) { - throw new GroupDefinitionException(\sprintf('Class "%s" must implement GroupSequenceProviderInterface.', $this->name)); - } - - $this->groupSequenceProvider = $active; - } - - public function isGroupSequenceProvider(): bool - { - return $this->groupSequenceProvider; - } - - public function setGroupProvider(?string $provider): void - { - $this->groupProvider = $provider; - } - - public function getGroupProvider(): ?string - { - return $this->groupProvider; - } - - public function getCascadingStrategy(): int - { - return $this->cascadingStrategy; - } - - public function getTraversalStrategy(): int - { - return $this->traversalStrategy; - } - - private function addPropertyMetadata(PropertyMetadataInterface $metadata): void - { - $property = $metadata->getPropertyName(); - - $this->members[$property][] = $metadata; - } - - private function checkConstraint(Constraint $constraint): void - { - if (!\in_array(Constraint::CLASS_CONSTRAINT, (array) $constraint->getTargets(), true)) { - throw new ConstraintDefinitionException(\sprintf('The constraint "%s" cannot be put on classes.', get_debug_type($constraint))); - } - - if ($constraint instanceof Composite) { - foreach ($constraint->getNestedConstraints() as $nestedConstraint) { - $this->checkConstraint($nestedConstraint); - } - } - } - - private function canCascade(?\ReflectionType $type = null): bool - { - if (null === $type) { - return false; - } - - if ($type instanceof \ReflectionIntersectionType) { - foreach ($type->getTypes() as $nestedType) { - if ($this->canCascade($nestedType)) { - return true; - } - } - - return false; - } - - if ($type instanceof \ReflectionUnionType) { - foreach ($type->getTypes() as $nestedType) { - if (!$this->canCascade($nestedType)) { - return false; - } - } - - return true; - } - - return $type instanceof \ReflectionNamedType && (\in_array($type->getName(), ['array', 'null'], true) || class_exists($type->getName())); - } -} diff --git a/app/vendor/symfony/validator/Mapping/ClassMetadataInterface.php b/app/vendor/symfony/validator/Mapping/ClassMetadataInterface.php deleted file mode 100644 index 6625e37e6..000000000 --- a/app/vendor/symfony/validator/Mapping/ClassMetadataInterface.php +++ /dev/null @@ -1,92 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\GroupSequenceProviderInterface; - -/** - * Stores all metadata needed for validating objects of specific class. - * - * Most importantly, the metadata stores the constraints against which an object - * and its properties should be validated. - * - * Additionally, the metadata stores whether the "Default" group is overridden - * by a group sequence for that class and whether instances of that class - * should be traversed or not. - * - * @author Bernhard Schussek - * - * @see MetadataInterface - * @see GroupSequence - * @see GroupSequenceProviderInterface - * @see TraversalStrategy - * - * @method string|null getGroupProvider() - */ -interface ClassMetadataInterface extends MetadataInterface -{ - /** - * Returns the names of all constrained properties. - * - * @return string[] - */ - public function getConstrainedProperties(): array; - - /** - * Returns whether the "Default" group is overridden by a group sequence. - * - * If it is, you can access the group sequence with {@link getGroupSequence()}. - */ - public function hasGroupSequence(): bool; - - /** - * Returns the group sequence that overrides the "Default" group for this - * class. - */ - public function getGroupSequence(): ?GroupSequence; - - /** - * Returns whether the "Default" group is overridden by a dynamic group - * sequence obtained by the validated objects. - * - * If this method returns true, the class must implement - * {@link GroupSequenceProviderInterface}. - * This interface will be used to obtain the group sequence when an object - * of this class is validated. - */ - public function isGroupSequenceProvider(): bool; - - /** - * Check if there's any metadata attached to the given named property. - * - * @param string $property The property name - */ - public function hasPropertyMetadata(string $property): bool; - - /** - * Returns all metadata instances for the given named property. - * - * If your implementation does not support properties, throw an exception - * in this method (for example a BadMethodCallException). - * - * @param string $property The property name - * - * @return PropertyMetadataInterface[] - */ - public function getPropertyMetadata(string $property): array; - - /** - * Returns the name of the backing PHP class. - */ - public function getClassName(): string; -} diff --git a/app/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php b/app/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php deleted file mode 100644 index d46dccc66..000000000 --- a/app/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Factory; - -use Symfony\Component\Validator\Exception\LogicException; -use Symfony\Component\Validator\Mapping\MetadataInterface; - -/** - * Metadata factory that does not store metadata. - * - * This implementation is useful if you want to validate values against - * constraints only and you don't need to add constraints to classes and - * properties. - * - * @author Fabien Potencier - */ -class BlackHoleMetadataFactory implements MetadataFactoryInterface -{ - public function getMetadataFor(mixed $value): MetadataInterface - { - throw new LogicException('This class does not support metadata.'); - } - - public function hasMetadataFor(mixed $value): bool - { - return false; - } -} diff --git a/app/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php b/app/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php deleted file mode 100644 index 1404df963..000000000 --- a/app/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php +++ /dev/null @@ -1,156 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Factory; - -use Psr\Cache\CacheItemPoolInterface; -use Symfony\Component\Validator\Exception\NoSuchMetadataException; -use Symfony\Component\Validator\Mapping\ClassMetadata; -use Symfony\Component\Validator\Mapping\Loader\LoaderInterface; -use Symfony\Component\Validator\Mapping\MetadataInterface; - -/** - * Creates new {@link ClassMetadataInterface} instances. - * - * Whenever {@link getMetadataFor()} is called for the first time with a given - * class name or object of that class, a new metadata instance is created and - * returned. On subsequent requests for the same class, the same metadata - * instance will be returned. - * - * You can optionally pass a {@link LoaderInterface} instance to the constructor. - * Whenever a new metadata instance is created, it is passed to the loader, - * which can configure the metadata based on configuration loaded from the - * filesystem or a database. If you want to use multiple loaders, wrap them in a - * {@link LoaderChain}. - * - * You can also optionally pass a {@link CacheInterface} instance to the - * constructor. This cache will be used for persisting the generated metadata - * between multiple PHP requests. - * - * @author Bernhard Schussek - */ -class LazyLoadingMetadataFactory implements MetadataFactoryInterface -{ - /** - * The loaded metadata, indexed by class name. - * - * @var ClassMetadata[] - */ - protected array $loadedClasses = []; - - public function __construct( - protected ?LoaderInterface $loader = null, - protected ?CacheItemPoolInterface $cache = null, - ) { - } - - /** - * If the method was called with the same class name (or an object of that - * class) before, the same metadata instance is returned. - * - * If the factory was configured with a cache, this method will first look - * for an existing metadata instance in the cache. If an existing instance - * is found, it will be returned without further ado. - * - * Otherwise, a new metadata instance is created. If the factory was - * configured with a loader, the metadata is passed to the - * {@link LoaderInterface::loadClassMetadata()} method for further - * configuration. At last, the new object is returned. - */ - public function getMetadataFor(mixed $value): MetadataInterface - { - if (!\is_object($value) && !\is_string($value)) { - throw new NoSuchMetadataException(\sprintf('Cannot create metadata for non-objects. Got: "%s".', get_debug_type($value))); - } - - $class = ltrim(\is_object($value) ? $value::class : $value, '\\'); - - if (isset($this->loadedClasses[$class])) { - return $this->loadedClasses[$class]; - } - - if (!class_exists($class) && !interface_exists($class, false)) { - throw new NoSuchMetadataException(\sprintf('The class or interface "%s" does not exist.', $class)); - } - - $cacheItem = $this->cache?->getItem($this->escapeClassName($class)); - if ($cacheItem?->isHit()) { - $metadata = $cacheItem->get(); - - // Include constraints from the parent class - $this->mergeConstraints($metadata); - - return $this->loadedClasses[$class] = $metadata; - } - - $metadata = new ClassMetadata($class); - - $this->loader?->loadClassMetadata($metadata); - - if (null !== $cacheItem) { - $this->cache->save($cacheItem->set($metadata)); - } - - // Include constraints from the parent class - $this->mergeConstraints($metadata); - - return $this->loadedClasses[$class] = $metadata; - } - - private function mergeConstraints(ClassMetadata $metadata): void - { - if ($metadata->getReflectionClass()->isInterface()) { - return; - } - - // Include constraints from the parent class - if ($parent = $metadata->getReflectionClass()->getParentClass()) { - $metadata->mergeConstraints($this->getMetadataFor($parent->name)); - } - - // Include constraints from all directly implemented interfaces - foreach ($metadata->getReflectionClass()->getInterfaces() as $interface) { - if ('Symfony\Component\Validator\GroupSequenceProviderInterface' === $interface->name) { - continue; - } - - if ($parent && \in_array($interface->getName(), $parent->getInterfaceNames(), true)) { - continue; - } - - $metadata->mergeConstraints($this->getMetadataFor($interface->name)); - } - } - - public function hasMetadataFor(mixed $value): bool - { - if (!\is_object($value) && !\is_string($value)) { - return false; - } - - $class = ltrim(\is_object($value) ? $value::class : $value, '\\'); - - return class_exists($class) || interface_exists($class, false); - } - - /** - * Replaces backslashes by dots in a class name. - */ - private function escapeClassName(string $class): string - { - if (str_contains($class, '@')) { - // anonymous class: replace all PSR6-reserved characters - return str_replace(["\0", '\\', '/', '@', ':', '{', '}', '(', ')'], '.', $class); - } - - return str_replace('\\', '.', $class); - } -} diff --git a/app/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php b/app/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php deleted file mode 100644 index b7a86ffc8..000000000 --- a/app/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Factory; - -use Symfony\Component\Validator\Exception\NoSuchMetadataException; -use Symfony\Component\Validator\Mapping\MetadataInterface; - -/** - * Returns {@link MetadataInterface} instances for values. - * - * @author Bernhard Schussek - */ -interface MetadataFactoryInterface -{ - /** - * Returns the metadata for the given value. - * - * @throws NoSuchMetadataException If no metadata exists for the given value - */ - public function getMetadataFor(mixed $value): MetadataInterface; - - /** - * Returns whether the class is able to return metadata for the given value. - */ - public function hasMetadataFor(mixed $value): bool; -} diff --git a/app/vendor/symfony/validator/Mapping/GenericMetadata.php b/app/vendor/symfony/validator/Mapping/GenericMetadata.php deleted file mode 100644 index ce743e84b..000000000 --- a/app/vendor/symfony/validator/Mapping/GenericMetadata.php +++ /dev/null @@ -1,231 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\Cascade; -use Symfony\Component\Validator\Constraints\DisableAutoMapping; -use Symfony\Component\Validator\Constraints\EnableAutoMapping; -use Symfony\Component\Validator\Constraints\Traverse; -use Symfony\Component\Validator\Constraints\Valid; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * A generic container of {@link Constraint} objects. - * - * This class supports serialization and cloning. - * - * @author Bernhard Schussek - */ -class GenericMetadata implements MetadataInterface -{ - /** - * @var Constraint[] - */ - private array $constraints = []; - - /** - * @var array - */ - private array $constraintsByGroup = []; - - /** - * The strategy for cascading objects. - * - * By default, objects are not cascaded. - * - * @var CascadingStrategy::* - */ - private int $cascadingStrategy = CascadingStrategy::NONE; - - /** - * The strategy for traversing traversable objects. - * - * By default, traversable objects are not traversed. - * - * @var TraversalStrategy::* - */ - private int $traversalStrategy = TraversalStrategy::NONE; - - /** - * Is auto-mapping enabled? - * - * @var AutoMappingStrategy::* - */ - private int $autoMappingStrategy = AutoMappingStrategy::NONE; - - public function __serialize(): array - { - if (self::class === (new \ReflectionMethod($this, '__sleep'))->class || self::class !== (new \ReflectionMethod($this, '__serialize'))->class) { - return array_filter([ - 'constraints' => $this->constraints, - 'constraintsByGroup' => $this->constraintsByGroup, - 'cascadingStrategy' => CascadingStrategy::NONE !== $this->cascadingStrategy ? $this->cascadingStrategy : null, - 'traversalStrategy' => TraversalStrategy::NONE !== $this->traversalStrategy ? $this->traversalStrategy : null, - 'autoMappingStrategy' => AutoMappingStrategy::NONE !== $this->autoMappingStrategy ? $this->autoMappingStrategy : null, - ]); - } - - trigger_deprecation('symfony/validator', '7.4', 'Implementing "%s::__sleep()" is deprecated, use "__serialize()" instead.', get_debug_type($this)); - - $data = []; - foreach ($this->__sleep() as $key) { - try { - if (($r = new \ReflectionProperty($this, $key))->isInitialized($this)) { - $data[$key] = $r->getValue($this); - } - } catch (\ReflectionException) { - $data[$key] = $this->$key; - } - } - - return $data; - } - - /** - * @deprecated since Symfony 7.4, will be replaced by `__serialize()` in 8.0 - */ - public function __sleep(): array - { - trigger_deprecation('symfony/validator', '7.4', 'Calling "%s::__sleep()" is deprecated, use "__serialize()" instead.', get_debug_type($this)); - - return [ - 'constraints', - 'constraintsByGroup', - 'cascadingStrategy', - 'traversalStrategy', - 'autoMappingStrategy', - ]; - } - - public function __clone() - { - $constraints = $this->constraints; - - $this->constraints = []; - $this->constraintsByGroup = []; - - foreach ($constraints as $constraint) { - $this->addConstraint(clone $constraint); - } - } - - /** - * Adds a constraint. - * - * If the constraint {@link Valid} is added, the cascading strategy will be - * changed to {@link CascadingStrategy::CASCADE}. Depending on the - * $traverse property of that constraint, the traversal strategy - * will be set to one of the following: - * - * - {@link TraversalStrategy::IMPLICIT} if $traverse is enabled - * - {@link TraversalStrategy::NONE} if $traverse is disabled - * - * @return $this - * - * @throws ConstraintDefinitionException When trying to add the {@link Cascade} - * or {@link Traverse} constraint - */ - public function addConstraint(Constraint $constraint): static - { - if ($constraint instanceof Traverse || $constraint instanceof Cascade) { - throw new ConstraintDefinitionException(\sprintf('The constraint "%s" can only be put on classes. Please use "Symfony\Component\Validator\Constraints\Valid" instead.', get_debug_type($constraint))); - } - - if ($constraint instanceof Valid && null === $constraint->groups) { - $this->cascadingStrategy = CascadingStrategy::CASCADE; - $this->traversalStrategy = $constraint->traverse ? TraversalStrategy::IMPLICIT : TraversalStrategy::NONE; - - // The constraint is not added - return $this; - } - - if ($constraint instanceof DisableAutoMapping || $constraint instanceof EnableAutoMapping) { - $this->autoMappingStrategy = $constraint instanceof EnableAutoMapping ? AutoMappingStrategy::ENABLED : AutoMappingStrategy::DISABLED; - - // The constraint is not added - return $this; - } - - if (!\in_array($constraint, $this->constraints, true)) { - $this->constraints[] = $constraint; - } - - foreach ($constraint->groups as $group) { - if (!\in_array($constraint, $this->constraintsByGroup[$group] ??= [], true)) { - $this->constraintsByGroup[$group][] = $constraint; - } - } - - return $this; - } - - /** - * Adds a list of constraints. - * - * @param Constraint[] $constraints - * - * @return $this - */ - public function addConstraints(array $constraints): static - { - foreach ($constraints as $constraint) { - $this->addConstraint($constraint); - } - - return $this; - } - - /** - * @return Constraint[] - */ - public function getConstraints(): array - { - return $this->constraints; - } - - /** - * Returns whether this element has any constraints. - */ - public function hasConstraints(): bool - { - return \count($this->constraints) > 0; - } - - /** - * Aware of the global group (* group). - * - * @return Constraint[] - */ - public function findConstraints(string $group): array - { - return $this->constraintsByGroup[$group] ?? []; - } - - public function getCascadingStrategy(): int - { - return $this->cascadingStrategy; - } - - public function getTraversalStrategy(): int - { - return $this->traversalStrategy; - } - - /** - * @see AutoMappingStrategy - */ - public function getAutoMappingStrategy(): int - { - return $this->autoMappingStrategy; - } -} diff --git a/app/vendor/symfony/validator/Mapping/GetterMetadata.php b/app/vendor/symfony/validator/Mapping/GetterMetadata.php deleted file mode 100644 index a4e2352ec..000000000 --- a/app/vendor/symfony/validator/Mapping/GetterMetadata.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -use Symfony\Component\Validator\Exception\ValidatorException; - -/** - * Stores all metadata needed for validating a class property via its getter - * method. - * - * A property getter is any method that is equal to the property's name, - * prefixed with "get", "is" or "has". That method will be used to access the - * property's value. - * - * The getter will be invoked by reflection, so the access of private and - * protected getters is supported. - * - * This class supports serialization and cloning. - * - * @author Bernhard Schussek - * - * @see PropertyMetadataInterface - */ -class GetterMetadata extends MemberMetadata -{ - /** - * @param string $class The class the getter is defined on - * @param string $property The property which the getter returns - * @param string|null $method The method that is called to retrieve the value being validated (null for auto-detection) - * - * @throws ValidatorException - */ - public function __construct(string $class, string $property, ?string $method = null) - { - if (null === $method) { - $getMethod = 'get'.ucfirst($property); - $isMethod = 'is'.ucfirst($property); - $hasMethod = 'has'.ucfirst($property); - - if (method_exists($class, $getMethod)) { - $method = $getMethod; - } elseif (method_exists($class, $isMethod)) { - $method = $isMethod; - } elseif (method_exists($class, $hasMethod)) { - $method = $hasMethod; - } else { - throw new ValidatorException(\sprintf('Neither of these methods exist in class "%s": "%s", "%s", "%s".', $class, $getMethod, $isMethod, $hasMethod)); - } - } elseif (!method_exists($class, $method)) { - throw new ValidatorException(\sprintf('The "%s()" method does not exist in class "%s".', $method, $class)); - } - - parent::__construct($class, $method, $property); - } - - public function getPropertyValue(mixed $object): mixed - { - return $this->newReflectionMember($object)->invoke($object); - } - - protected function newReflectionMember(object|string $objectOrClassName): \ReflectionMethod|\ReflectionProperty - { - return new \ReflectionMethod($objectOrClassName, $this->getName()); - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php b/app/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php deleted file mode 100644 index d6b1ab777..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php +++ /dev/null @@ -1,131 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Validator\Attribute\HasNamedArguments; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MappingException; - -/** - * Base loader for validation metadata. - * - * This loader supports the loading of constraints from Symfony's default - * namespace (see {@link DEFAULT_NAMESPACE}) using the short class names of - * those constraints. Constraints can also be loaded using their fully - * qualified class names. At last, namespace aliases can be defined to load - * constraints with the syntax "alias:ShortName". - * - * @author Bernhard Schussek - */ -abstract class AbstractLoader implements LoaderInterface -{ - /** - * The namespace to load constraints from by default. - */ - public const DEFAULT_NAMESPACE = '\\Symfony\\Component\\Validator\\Constraints\\'; - - protected array $namespaces = []; - - /** - * @var array - */ - private array $namedArgumentsCache = []; - - /** - * Adds a namespace alias. - * - * The namespace alias can be used to reference constraints from specific - * namespaces in {@link newConstraint()}: - * - * $this->addNamespaceAlias('mynamespace', '\\Acme\\Package\\Constraints\\'); - * - * $constraint = $this->newConstraint('mynamespace:NotNull'); - */ - protected function addNamespaceAlias(string $alias, string $namespace): void - { - $this->namespaces[$alias] = $namespace; - } - - /** - * Creates a new constraint instance for the given constraint name. - * - * @param string $name The constraint name. Either a constraint relative - * to the default constraint namespace, or a fully - * qualified class name. Alternatively, the constraint - * may be preceded by a namespace alias and a colon. - * The namespace alias must have been defined using - * {@link addNamespaceAlias()}. - * @param mixed $options The constraint options - * - * @throws MappingException If the namespace prefix is undefined - */ - protected function newConstraint(string $name, mixed $options = null): Constraint - { - if (str_contains($name, '\\') && class_exists($name)) { - $className = $name; - } elseif (str_contains($name, ':')) { - [$prefix, $className] = explode(':', $name, 2); - - if (!isset($this->namespaces[$prefix])) { - throw new MappingException(\sprintf('Undefined namespace prefix "%s".', $prefix)); - } - - $className = $this->namespaces[$prefix].$className; - } else { - $className = self::DEFAULT_NAMESPACE.$name; - } - - if ($this->namedArgumentsCache[$className] ??= (bool) (new \ReflectionMethod($className, '__construct'))->getAttributes(HasNamedArguments::class)) { - if (null === $options) { - return new $className(); - } - - if (!\is_array($options)) { - return new $className($options); - } - - if (1 === \count($options) && isset($options['value'])) { - if (\func_num_args() < 3 || !func_get_arg(2)) { - trigger_deprecation('symfony/validator', '7.4', 'Using the "value" option to configure the "%s" constraint is deprecated.', $className); - } - - return new $className($options['value']); - } - - if (array_is_list($options)) { - trigger_deprecation('symfony/validator', '7.4', 'Configuring the "%s" without passing its option names is deprecated.', $className); - - return new $className($options); - } - - try { - return new $className(...$options); - } catch (\Error $e) { - if (str_starts_with($e->getMessage(), 'Unknown named parameter ')) { - trigger_deprecation('symfony/validator', '7.4', 'Using option names not matching the named arguments of the "%s" constraint is deprecated.', $className); - - return new $className($options); - } - - throw $e; - } - } - - if ($options) { - trigger_deprecation('symfony/validator', '7.3', 'Using constraints not supporting named arguments is deprecated. Try adding the HasNamedArguments attribute to %s.', $className); - - return new $className($options); - } - - return new $className(); - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/AttributeLoader.php b/app/vendor/symfony/validator/Mapping/Loader/AttributeLoader.php deleted file mode 100644 index 100490c70..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/AttributeLoader.php +++ /dev/null @@ -1,127 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\Callback; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\Constraints\GroupSequenceProvider; -use Symfony\Component\Validator\Exception\MappingException; -use Symfony\Component\Validator\Mapping\ClassMetadata; - -/** - * Loads validation metadata using PHP attributes. - * - * @author Bernhard Schussek - * @author Alexander M. Turek - * @author Alexandre Daubois - */ -class AttributeLoader implements LoaderInterface -{ - /** - * @param array $mappedClasses - */ - public function __construct( - private bool $allowAnyClass = true, - private array $mappedClasses = [], - ) { - } - - /** - * @return class-string[] - */ - public function getMappedClasses(): array - { - return array_keys($this->mappedClasses); - } - - public function loadClassMetadata(ClassMetadata $metadata): bool - { - if (!$sourceClasses = $this->mappedClasses[$metadata->getClassName()] ??= $this->allowAnyClass ? [$metadata->getClassName()] : []) { - return false; - } - - $success = false; - foreach ($sourceClasses as $sourceClass) { - $reflClass = $metadata->getClassName() === $sourceClass ? $metadata->getReflectionClass() : new \ReflectionClass($sourceClass); - $success = $this->doLoadClassMetadata($reflClass, $metadata) || $success; - } - - return $success; - } - - private function doLoadClassMetadata(\ReflectionClass $reflClass, ClassMetadata $metadata): bool - { - $className = $reflClass->name; - $success = false; - - foreach ($this->getAttributes($reflClass) as $constraint) { - if ($constraint instanceof GroupSequence) { - $metadata->setGroupSequence($constraint->groups); - } elseif ($constraint instanceof GroupSequenceProvider) { - $metadata->setGroupProvider($constraint->provider); - $metadata->setGroupSequenceProvider(true); - } elseif ($constraint instanceof Constraint) { - $metadata->addConstraint($constraint); - } - - $success = true; - } - - foreach ($reflClass->getProperties() as $property) { - if ($property->getDeclaringClass()->name === $className) { - foreach ($this->getAttributes($property) as $constraint) { - if ($constraint instanceof Constraint) { - $metadata->addPropertyConstraint($property->name, $constraint); - } - - $success = true; - } - } - } - - foreach ($reflClass->getMethods() as $method) { - if ($method->getDeclaringClass()->name === $className) { - foreach ($this->getAttributes($method) as $constraint) { - if ($constraint instanceof Callback) { - $constraint->callback = $method->getName(); - - $metadata->addConstraint($constraint); - } elseif ($constraint instanceof Constraint) { - if (preg_match('/^(get|is|has)(.+)$/i', $method->name, $matches)) { - $metadata->addGetterMethodConstraint(lcfirst($matches[2]), $matches[0], $constraint); - } else { - throw new MappingException(\sprintf('The constraint on "%s::%s()" cannot be added. Constraints can only be added on methods beginning with "get", "is" or "has".', $className, $method->name)); - } - } - - $success = true; - } - } - } - - return $success; - } - - private function getAttributes(\ReflectionMethod|\ReflectionClass|\ReflectionProperty $reflection): iterable - { - foreach ($reflection->getAttributes(GroupSequence::class) as $attribute) { - yield $attribute->newInstance(); - } - foreach ($reflection->getAttributes(GroupSequenceProvider::class) as $attribute) { - yield $attribute->newInstance(); - } - foreach ($reflection->getAttributes(Constraint::class, \ReflectionAttribute::IS_INSTANCEOF) as $attribute) { - yield $attribute->newInstance(); - } - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/AutoMappingTrait.php b/app/vendor/symfony/validator/Mapping/Loader/AutoMappingTrait.php deleted file mode 100644 index 4661ce657..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/AutoMappingTrait.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Validator\Mapping\AutoMappingStrategy; -use Symfony\Component\Validator\Mapping\ClassMetadata; - -/** - * Utility methods to create auto mapping loaders. - * - * @author Kévin Dunglas - */ -trait AutoMappingTrait -{ - private function isAutoMappingEnabledForClass(ClassMetadata $metadata, ?string $classValidatorRegexp = null): bool - { - // Check if AutoMapping constraint is set first - if (AutoMappingStrategy::NONE !== $strategy = $metadata->getAutoMappingStrategy()) { - return AutoMappingStrategy::ENABLED === $strategy; - } - - // Fallback on the config - return null !== $classValidatorRegexp && preg_match($classValidatorRegexp, $metadata->getClassName()); - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/FileLoader.php b/app/vendor/symfony/validator/Mapping/Loader/FileLoader.php deleted file mode 100644 index ea46ffc8c..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/FileLoader.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Validator\Exception\MappingException; - -/** - * Base loader for loading validation metadata from a file. - * - * @author Bernhard Schussek - * - * @see YamlFileLoader - * @see XmlFileLoader - */ -abstract class FileLoader extends AbstractLoader -{ - /** - * Creates a new loader. - * - * @param string $file The mapping file to load - * - * @throws MappingException If the file does not exist or is not readable - */ - public function __construct( - protected string $file, - ) { - if (!is_file($file)) { - throw new MappingException(\sprintf('The mapping file "%s" does not exist.', $file)); - } - - if (!is_readable($file)) { - throw new MappingException(\sprintf('The mapping file "%s" is not readable.', $file)); - } - - if (!stream_is_local($this->file)) { - throw new MappingException(\sprintf('The mapping file "%s" is not a local file.', $file)); - } - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/FilesLoader.php b/app/vendor/symfony/validator/Mapping/Loader/FilesLoader.php deleted file mode 100644 index c536226c1..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/FilesLoader.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -/** - * Base loader for loading validation metadata from a list of files. - * - * @author Bulat Shakirzyanov - * @author Bernhard Schussek - * - * @see YamlFilesLoader - * @see XmlFilesLoader - */ -abstract class FilesLoader extends LoaderChain -{ - /** - * Creates a new loader. - * - * @param array $paths An array of file paths - */ - public function __construct(array $paths) - { - parent::__construct($this->getFileLoaders($paths)); - } - - /** - * Returns an array of file loaders for the given file paths. - * - * @return LoaderInterface[] - */ - protected function getFileLoaders(array $paths): array - { - $loaders = []; - - foreach ($paths as $path) { - $loaders[] = $this->getFileLoaderInstance($path); - } - - return $loaders; - } - - /** - * Creates a loader for the given file path. - */ - abstract protected function getFileLoaderInstance(string $path): LoaderInterface; -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/LoaderChain.php b/app/vendor/symfony/validator/Mapping/Loader/LoaderChain.php deleted file mode 100644 index 88510a262..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/LoaderChain.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Validator\Exception\MappingException; -use Symfony\Component\Validator\Mapping\ClassMetadata; - -/** - * Loads validation metadata from multiple {@link LoaderInterface} instances. - * - * Pass the loaders when constructing the chain. Once - * {@link loadClassMetadata()} is called, that method will be called on all - * loaders in the chain. - * - * @author Bernhard Schussek - */ -class LoaderChain implements LoaderInterface -{ - /** - * @param LoaderInterface[] $loaders The metadata loaders to use - * - * @throws MappingException If any of the loaders has an invalid type - */ - public function __construct( - protected array $loaders, - ) { - foreach ($loaders as $loader) { - if (!$loader instanceof LoaderInterface) { - throw new MappingException(\sprintf('Class "%s" is expected to implement LoaderInterface.', get_debug_type($loader))); - } - } - } - - public function loadClassMetadata(ClassMetadata $metadata): bool - { - $success = false; - - foreach ($this->loaders as $loader) { - $success = $loader->loadClassMetadata($metadata) || $success; - } - - return $success; - } - - /** - * @return LoaderInterface[] - */ - public function getLoaders(): array - { - return $this->loaders; - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php b/app/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php deleted file mode 100644 index 159bcdffc..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Validator\Mapping\ClassMetadata; - -/** - * Loads validation metadata into {@link ClassMetadata} instances. - * - * @author Bernhard Schussek - */ -interface LoaderInterface -{ - /** - * Loads validation metadata into a {@link ClassMetadata} instance. - */ - public function loadClassMetadata(ClassMetadata $metadata): bool; -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/PropertyInfoLoader.php b/app/vendor/symfony/validator/Mapping/Loader/PropertyInfoLoader.php deleted file mode 100644 index 57d65696e..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/PropertyInfoLoader.php +++ /dev/null @@ -1,326 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface; -use Symfony\Component\PropertyInfo\PropertyListExtractorInterface; -use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface; -use Symfony\Component\PropertyInfo\Type as PropertyInfoType; -use Symfony\Component\TypeInfo\Type as TypeInfoType; -use Symfony\Component\TypeInfo\Type\BuiltinType; -use Symfony\Component\TypeInfo\Type\CollectionType; -use Symfony\Component\TypeInfo\Type\CompositeTypeInterface; -use Symfony\Component\TypeInfo\Type\IntersectionType; -use Symfony\Component\TypeInfo\Type\NullableType; -use Symfony\Component\TypeInfo\Type\ObjectType; -use Symfony\Component\TypeInfo\Type\UnionType; -use Symfony\Component\TypeInfo\Type\WrappingTypeInterface; -use Symfony\Component\TypeInfo\TypeIdentifier; -use Symfony\Component\Validator\Constraints\All; -use Symfony\Component\Validator\Constraints\NotBlank; -use Symfony\Component\Validator\Constraints\NotNull; -use Symfony\Component\Validator\Constraints\Type; -use Symfony\Component\Validator\Mapping\AutoMappingStrategy; -use Symfony\Component\Validator\Mapping\ClassMetadata; - -/** - * Guesses and loads the appropriate constraints using PropertyInfo. - * - * @author Kévin Dunglas - */ -final class PropertyInfoLoader implements LoaderInterface -{ - use AutoMappingTrait; - - public function __construct( - private PropertyListExtractorInterface $listExtractor, - private PropertyTypeExtractorInterface $typeExtractor, - private PropertyAccessExtractorInterface $accessExtractor, - private ?string $classValidatorRegexp = null, - ) { - } - - public function loadClassMetadata(ClassMetadata $metadata): bool - { - $className = $metadata->getClassName(); - if (!$properties = $this->listExtractor->getProperties($className)) { - return false; - } - - $loaded = false; - $enabledForClass = $this->isAutoMappingEnabledForClass($metadata, $this->classValidatorRegexp); - foreach ($properties as $property) { - if (false === $this->accessExtractor->isWritable($className, $property)) { - continue; - } - - if (!property_exists($className, $property)) { - continue; - } - - $types = $this->getPropertyTypes($className, $property); - if (null === $types) { - continue; - } - - $enabledForProperty = $enabledForClass; - $hasTypeConstraint = false; - $hasNotNullConstraint = false; - $hasNotBlankConstraint = false; - $allConstraint = null; - foreach ($metadata->getPropertyMetadata($property) as $propertyMetadata) { - // Enabling or disabling auto-mapping explicitly always takes precedence - if (AutoMappingStrategy::DISABLED === $propertyMetadata->getAutoMappingStrategy()) { - continue 2; - } - - if (AutoMappingStrategy::ENABLED === $propertyMetadata->getAutoMappingStrategy()) { - $enabledForProperty = true; - } - - foreach ($propertyMetadata->getConstraints() as $constraint) { - if ($constraint instanceof Type) { - $hasTypeConstraint = true; - } elseif ($constraint instanceof NotNull) { - $hasNotNullConstraint = true; - } elseif ($constraint instanceof NotBlank) { - $hasNotBlankConstraint = true; - } elseif ($constraint instanceof All) { - $allConstraint = $constraint; - } - } - } - - if (!$enabledForProperty) { - continue; - } - - $loaded = true; - - // BC layer for PropertyTypeExtractorInterface::getTypes(). - // Can be removed as soon as PropertyTypeExtractorInterface::getTypes() is removed (8.0). - if (\is_array($types)) { - $builtinTypes = []; - $nullable = false; - $scalar = true; - - foreach ($types as $type) { - $builtinTypes[] = $type->getBuiltinType(); - - if ($scalar && !\in_array($type->getBuiltinType(), ['int', 'float', 'string', 'bool'], true)) { - $scalar = false; - } - - if (!$nullable && $type->isNullable()) { - $nullable = true; - } - } - - if (!$hasTypeConstraint) { - if (1 === \count($builtinTypes)) { - if ($types[0]->isCollection() && \count($collectionValueType = $types[0]->getCollectionValueTypes()) > 0) { - [$collectionValueType] = $collectionValueType; - $this->handleAllConstraintLegacy($property, $allConstraint, $collectionValueType, $metadata); - } - - $metadata->addPropertyConstraint($property, $this->getTypeConstraintLegacy($builtinTypes[0], $types[0])); - } elseif ($scalar) { - $metadata->addPropertyConstraint($property, new Type(type: 'scalar')); - } - } - } else { - if ($hasTypeConstraint) { - continue; - } - - $type = $types; - - // BC layer for type-info < 7.2 - if (!class_exists(NullableType::class)) { - $nullable = false; - - if ($type instanceof UnionType && $type->isNullable()) { - $nullable = true; - $type = $type->asNonNullable(); - } - } else { - $nullable = $type->isNullable(); - - if ($type instanceof NullableType) { - $type = $type->getWrappedType(); - } - } - - if ($type instanceof NullableType) { - $type = $type->getWrappedType(); - } - - if ($type instanceof CollectionType) { - $this->handleAllConstraint($property, $allConstraint, $type->getCollectionValueType(), $metadata); - } - - if (null !== $typeConstraint = $this->getTypeConstraint($type)) { - $metadata->addPropertyConstraint($property, $typeConstraint); - } - } - - if (!$nullable && !$hasNotBlankConstraint && !$hasNotNullConstraint) { - $metadata->addPropertyConstraint($property, new NotNull()); - } - } - - return $loaded; - } - - /** - * BC layer for PropertyTypeExtractorInterface::getTypes(). - * Can be removed as soon as PropertyTypeExtractorInterface::getTypes() is removed (8.0). - * - * @return TypeInfoType|list|null - */ - private function getPropertyTypes(string $className, string $property): TypeInfoType|array|null - { - if (class_exists(TypeInfoType::class) && method_exists($this->typeExtractor, 'getType')) { - return $this->typeExtractor->getType($className, $property); - } - - return $this->typeExtractor->getTypes($className, $property); - } - - /** - * BC layer for PropertyTypeExtractorInterface::getTypes(). - * Can be removed as soon as PropertyTypeExtractorInterface::getTypes() is removed (8.0). - */ - private function getTypeConstraintLegacy(string $builtinType, PropertyInfoType $type): Type - { - if (PropertyInfoType::BUILTIN_TYPE_OBJECT === $builtinType && null !== $className = $type->getClassName()) { - return new Type(type: $className); - } - - return new Type(type: $builtinType); - } - - private function getTypeConstraint(TypeInfoType $type): ?Type - { - // BC layer for type-info < 7.2 - if (!interface_exists(CompositeTypeInterface::class)) { - if ($type instanceof UnionType || $type instanceof IntersectionType) { - return ($type->isA(TypeIdentifier::INT) || $type->isA(TypeIdentifier::FLOAT) || $type->isA(TypeIdentifier::STRING) || $type->isA(TypeIdentifier::BOOL)) ? new Type(['type' => 'scalar']) : null; - } - - $baseType = $type->getBaseType(); - - if ($baseType instanceof ObjectType) { - return new Type(type: $baseType->getClassName()); - } - - if (TypeIdentifier::MIXED !== $baseType->getTypeIdentifier()) { - return new Type(type: $baseType->getTypeIdentifier()->value); - } - - return null; - } - - if ($type instanceof CompositeTypeInterface) { - return $type->isIdentifiedBy( - TypeIdentifier::INT, - TypeIdentifier::FLOAT, - TypeIdentifier::STRING, - TypeIdentifier::BOOL, - TypeIdentifier::TRUE, - TypeIdentifier::FALSE, - ) ? new Type(type: 'scalar') : null; - } - - while ($type instanceof WrappingTypeInterface) { - $type = $type->getWrappedType(); - } - - if ($type instanceof ObjectType) { - return new Type(type: $type->getClassName()); - } - - if ($type instanceof BuiltinType && TypeIdentifier::MIXED !== $type->getTypeIdentifier()) { - return new Type(type: $type->getTypeIdentifier()->value); - } - - return null; - } - - private function handleAllConstraint(string $property, ?All $allConstraint, TypeInfoType $type, ClassMetadata $metadata): void - { - $containsTypeConstraint = false; - $containsNotNullConstraint = false; - if (null !== $allConstraint) { - foreach ($allConstraint->constraints as $constraint) { - if ($constraint instanceof Type) { - $containsTypeConstraint = true; - } elseif ($constraint instanceof NotNull) { - $containsNotNullConstraint = true; - } - } - } - - $constraints = []; - if (!$containsNotNullConstraint && !$type->isNullable()) { - $constraints[] = new NotNull(); - } - - if (!$containsTypeConstraint && null !== $typeConstraint = $this->getTypeConstraint($type)) { - $constraints[] = $typeConstraint; - } - - if (!$constraints) { - return; - } - - if (null === $allConstraint) { - $metadata->addPropertyConstraint($property, new All(constraints: $constraints)); - } else { - $allConstraint->constraints = array_merge($allConstraint->constraints, $constraints); - } - } - - /** - * BC layer for PropertyTypeExtractorInterface::getTypes(). - * Can be removed as soon as PropertyTypeExtractorInterface::getTypes() is removed (8.0). - */ - private function handleAllConstraintLegacy(string $property, ?All $allConstraint, PropertyInfoType $propertyInfoType, ClassMetadata $metadata): void - { - $containsTypeConstraint = false; - $containsNotNullConstraint = false; - if (null !== $allConstraint) { - foreach ($allConstraint->constraints as $constraint) { - if ($constraint instanceof Type) { - $containsTypeConstraint = true; - } elseif ($constraint instanceof NotNull) { - $containsNotNullConstraint = true; - } - } - } - - $constraints = []; - if (!$containsNotNullConstraint && !$propertyInfoType->isNullable()) { - $constraints[] = new NotNull(); - } - - if (!$containsTypeConstraint) { - $constraints[] = $this->getTypeConstraintLegacy($propertyInfoType->getBuiltinType(), $propertyInfoType); - } - - if (null === $allConstraint) { - $metadata->addPropertyConstraint($property, new All(constraints: $constraints)); - } else { - $allConstraint->constraints = array_merge($allConstraint->constraints, $constraints); - } - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php b/app/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php deleted file mode 100644 index c230c36d3..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Validator\Exception\MappingException; -use Symfony\Component\Validator\Mapping\ClassMetadata; - -/** - * Loads validation metadata by calling a static method on the loaded class. - * - * @author Bernhard Schussek - */ -class StaticMethodLoader implements LoaderInterface -{ - /** - * Creates a new loader. - * - * @param string $methodName The name of the static method to call - */ - public function __construct( - protected string $methodName = 'loadValidatorMetadata', - ) { - } - - public function loadClassMetadata(ClassMetadata $metadata): bool - { - /** @var \ReflectionClass $reflClass */ - $reflClass = $metadata->getReflectionClass(); - - if (!$reflClass->isInterface() && $reflClass->hasMethod($this->methodName)) { - $reflMethod = $reflClass->getMethod($this->methodName); - - if ($reflMethod->isAbstract()) { - return false; - } - - if (!$reflMethod->isStatic()) { - throw new MappingException(\sprintf('The method "%s::%s()" should be static.', $reflClass->name, $this->methodName)); - } - - if ($reflMethod->getDeclaringClass()->name != $reflClass->name) { - return false; - } - - $reflMethod->invoke(null, $metadata); - - return true; - } - - return false; - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php b/app/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php deleted file mode 100644 index 25af501d8..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php +++ /dev/null @@ -1,238 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Config\Util\XmlUtils; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\MappingException; -use Symfony\Component\Validator\Mapping\ClassMetadata; - -/** - * Loads validation metadata from an XML file. - * - * @author Bernhard Schussek - */ -class XmlFileLoader extends FileLoader -{ - /** - * The XML nodes of the mapping file. - * - * @var array - */ - protected array $classes; - - public function __construct(string $file) - { - $this->file = $file; - } - - public function loadClassMetadata(ClassMetadata $metadata): bool - { - if (!isset($this->classes)) { - $this->loadClassesFromXml(); - } - - if (isset($this->classes[$metadata->getClassName()])) { - $classDescription = $this->classes[$metadata->getClassName()]; - - $this->loadClassMetadataFromXml($metadata, $classDescription); - - return true; - } - - return false; - } - - /** - * Return the names of the classes mapped in this file. - * - * @return class-string[] - */ - public function getMappedClasses(): array - { - if (!isset($this->classes)) { - $this->loadClassesFromXml(); - } - - return array_keys($this->classes); - } - - /** - * Parses a collection of "constraint" XML nodes. - * - * @param \SimpleXMLElement $nodes The XML nodes - * - * @return Constraint[] - */ - protected function parseConstraints(\SimpleXMLElement $nodes): array - { - $constraints = []; - - foreach ($nodes as $node) { - if (\count($node) > 0) { - if (\count($node->value) > 0) { - trigger_deprecation('symfony/validator', '7.4', 'Using the "value" XML element to configure an option for the "%s" is deprecated. Use the "option" element instead.', (string) $node['name']); - - $options = [ - 'value' => $this->parseValues($node->value), - ]; - } elseif (\count($node->constraint) > 0) { - $options = $this->parseConstraints($node->constraint); - } elseif (\count($node->option) > 0) { - $options = $this->parseOptions($node->option); - } else { - $options = []; - } - } elseif ('' !== (string) $node) { - $options = XmlUtils::phpize(trim($node)); - } else { - $options = null; - } - - if (isset($options['groups']) && !\is_array($options['groups'])) { - $options['groups'] = (array) $options['groups']; - } - - $constraints[] = $this->newConstraint((string) $node['name'], $options, true); - } - - return $constraints; - } - - /** - * Parses a collection of "value" XML nodes. - * - * @param \SimpleXMLElement $nodes The XML nodes - */ - protected function parseValues(\SimpleXMLElement $nodes): array - { - $values = []; - - foreach ($nodes as $node) { - if (\count($node) > 0) { - if (\count($node->value) > 0) { - $value = $this->parseValues($node->value); - } elseif (\count($node->constraint) > 0) { - $value = $this->parseConstraints($node->constraint); - } else { - $value = []; - } - } else { - $value = trim($node); - } - - if (isset($node['key'])) { - $values[(string) $node['key']] = $value; - } else { - $values[] = $value; - } - } - - return $values; - } - - /** - * Parses a collection of "option" XML nodes. - * - * @param \SimpleXMLElement $nodes The XML nodes - */ - protected function parseOptions(\SimpleXMLElement $nodes): array - { - $options = []; - - foreach ($nodes as $node) { - if (\count($node) > 0) { - if (\count($node->value) > 0) { - $value = $this->parseValues($node->value); - } elseif (\count($node->constraint) > 0) { - $value = $this->parseConstraints($node->constraint); - } else { - $value = []; - } - } else { - $value = XmlUtils::phpize($node); - if (\is_string($value)) { - $value = trim($value); - } - } - - $options[(string) $node['name']] = $value; - } - - return $options; - } - - /** - * Loads the XML class descriptions from the given file. - * - * @throws MappingException If the file could not be loaded - */ - protected function parseFile(string $path): \SimpleXMLElement - { - try { - $dom = XmlUtils::loadFile($path, __DIR__.'/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd'); - } catch (\Exception $e) { - throw new MappingException($e->getMessage(), $e->getCode(), $e); - } - - return simplexml_import_dom($dom); - } - - private function loadClassesFromXml(): void - { - parent::__construct($this->file); - - // This method may throw an exception. Do not modify the class' - // state before it completes - $xml = $this->parseFile($this->file); - - $this->classes = []; - - foreach ($xml->namespace as $namespace) { - $this->addNamespaceAlias((string) $namespace['prefix'], trim((string) $namespace)); - } - - foreach ($xml->class as $class) { - $this->classes[(string) $class['name']] = $class; - } - } - - private function loadClassMetadataFromXml(ClassMetadata $metadata, \SimpleXMLElement $classDescription): void - { - if (\count($classDescription->{'group-sequence-provider'}) > 0) { - $metadata->setGroupProvider($classDescription->{'group-sequence-provider'}[0]->value ?: null); - $metadata->setGroupSequenceProvider(true); - } - - foreach ($classDescription->{'group-sequence'} as $groupSequence) { - if (\count($groupSequence->value) > 0) { - $metadata->setGroupSequence($this->parseValues($groupSequence[0]->value)); - } - } - - foreach ($this->parseConstraints($classDescription->constraint) as $constraint) { - $metadata->addConstraint($constraint); - } - - foreach ($classDescription->property as $property) { - foreach ($this->parseConstraints($property->constraint) as $constraint) { - $metadata->addPropertyConstraint((string) $property['name'], $constraint); - } - } - - foreach ($classDescription->getter as $getter) { - foreach ($this->parseConstraints($getter->constraint) as $constraint) { - $metadata->addGetterConstraint((string) $getter['property'], $constraint); - } - } - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php b/app/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php deleted file mode 100644 index aab15762d..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -/** - * Loads validation metadata from a list of XML files. - * - * @author Bulat Shakirzyanov - * @author Bernhard Schussek - * - * @see FilesLoader - */ -class XmlFilesLoader extends FilesLoader -{ - public function getFileLoaderInstance(string $file): LoaderInterface - { - return new XmlFileLoader($file); - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php b/app/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php deleted file mode 100644 index 9c168aff6..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php +++ /dev/null @@ -1,194 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Mapping\ClassMetadata; -use Symfony\Component\Yaml\Exception\ParseException; -use Symfony\Component\Yaml\Parser as YamlParser; -use Symfony\Component\Yaml\Yaml; - -/** - * Loads validation metadata from a YAML file. - * - * @author Bernhard Schussek - */ -class YamlFileLoader extends FileLoader -{ - protected array $classes; - - public function __construct(string $file) - { - $this->file = $file; - } - - /** - * Caches the used YAML parser. - */ - private YamlParser $yamlParser; - - public function loadClassMetadata(ClassMetadata $metadata): bool - { - if (!isset($this->classes)) { - $this->loadClassesFromYaml(); - } - - if (isset($this->classes[$metadata->getClassName()])) { - $classDescription = $this->classes[$metadata->getClassName()]; - - $this->loadClassMetadataFromYaml($metadata, $classDescription); - - return true; - } - - return false; - } - - /** - * Return the names of the classes mapped in this file. - * - * @return class-string[] - */ - public function getMappedClasses(): array - { - if (!isset($this->classes)) { - $this->loadClassesFromYaml(); - } - - return array_keys($this->classes); - } - - /** - * Parses a collection of YAML nodes. - * - * @param array $nodes The YAML nodes - * - * @return array - */ - protected function parseNodes(array $nodes): array - { - $values = []; - - foreach ($nodes as $name => $childNodes) { - if (is_numeric($name) && \is_array($childNodes) && 1 === \count($childNodes)) { - $options = current($childNodes); - - if (\is_array($options)) { - $options = $this->parseNodes($options); - } - - if (null !== $options && (!\is_array($options) || array_is_list($options))) { - trigger_deprecation('symfony/validator', '7.4', 'Not using a YAML mapping of constraint option names to their values to configure the "%s" constraint is deprecated.', key($childNodes)); - - $options = [ - 'value' => $options, - ]; - } - - $values[] = $this->newConstraint(key($childNodes), $options, true); - } else { - if (\is_array($childNodes)) { - $childNodes = $this->parseNodes($childNodes); - } - - $values[$name] = $childNodes; - } - } - - return $values; - } - - /** - * Loads the YAML class descriptions from the given file. - * - * @throws \InvalidArgumentException If the file could not be loaded or did - * not contain a YAML array - */ - private function parseFile(string $path): array - { - try { - $classes = $this->yamlParser->parseFile($path, Yaml::PARSE_CONSTANT); - } catch (ParseException $e) { - throw new \InvalidArgumentException(\sprintf('The file "%s" does not contain valid YAML: ', $path).$e->getMessage(), 0, $e); - } - - // empty file - if (null === $classes) { - return []; - } - - // not an array - if (!\is_array($classes)) { - throw new \InvalidArgumentException(\sprintf('The file "%s" must contain a YAML array.', $this->file)); - } - - return $classes; - } - - private function loadClassesFromYaml(): void - { - parent::__construct($this->file); - - $this->yamlParser ??= new YamlParser(); - $this->classes = $this->parseFile($this->file); - - if (isset($this->classes['namespaces'])) { - foreach ($this->classes['namespaces'] as $alias => $namespace) { - $this->addNamespaceAlias($alias, $namespace); - } - - unset($this->classes['namespaces']); - } - } - - private function loadClassMetadataFromYaml(ClassMetadata $metadata, array $classDescription): void - { - if (isset($classDescription['group_sequence_provider'])) { - if (\is_string($classDescription['group_sequence_provider'])) { - $metadata->setGroupProvider($classDescription['group_sequence_provider']); - } - $metadata->setGroupSequenceProvider( - (bool) $classDescription['group_sequence_provider'] - ); - } - - if (isset($classDescription['group_sequence'])) { - $metadata->setGroupSequence($classDescription['group_sequence']); - } - - if (isset($classDescription['constraints']) && \is_array($classDescription['constraints'])) { - foreach ($this->parseNodes($classDescription['constraints']) as $constraint) { - $metadata->addConstraint($constraint); - } - } - - if (isset($classDescription['properties']) && \is_array($classDescription['properties'])) { - foreach ($classDescription['properties'] as $property => $constraints) { - if (null !== $constraints) { - foreach ($this->parseNodes($constraints) as $constraint) { - $metadata->addPropertyConstraint($property, $constraint); - } - } - } - } - - if (isset($classDescription['getters']) && \is_array($classDescription['getters'])) { - foreach ($classDescription['getters'] as $getter => $constraints) { - if (null !== $constraints) { - foreach ($this->parseNodes($constraints) as $constraint) { - $metadata->addGetterConstraint($getter, $constraint); - } - } - } - } - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php b/app/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php deleted file mode 100644 index b6e4d5990..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping\Loader; - -/** - * Loads validation metadata from a list of YAML files. - * - * @author Bulat Shakirzyanov - * @author Bernhard Schussek - * - * @see FilesLoader - */ -class YamlFilesLoader extends FilesLoader -{ - public function getFileLoaderInstance(string $file): LoaderInterface - { - return new YamlFileLoader($file); - } -} diff --git a/app/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd b/app/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd deleted file mode 100644 index a744e50b9..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/vendor/symfony/validator/Mapping/Loader/schema/validation.schema.json b/app/vendor/symfony/validator/Mapping/Loader/schema/validation.schema.json deleted file mode 100644 index 0778929c4..000000000 --- a/app/vendor/symfony/validator/Mapping/Loader/schema/validation.schema.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Symfony Validation Mapping Schema", - "description": "JSON schema for Symfony's validation mapping", - "type": "object", - "additionalProperties": false, - "properties": { - "namespaces": { - "type": "object", - "description": "Namespace aliases for constraint classes", - "additionalProperties": { - "type": "string", - "description": "Full namespace path" - } - } - }, - "patternProperties": { - "^[A-Za-z0-9\\\\_]+$": { - "type": "object", - "description": "Class metadata configuration", - "additionalProperties": false, - "properties": { - "group_sequence": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of validation group names" - }, - { - "type": "boolean" - } - ], - "description": "Validation group sequence or group sequence provider flag" - }, - "group_sequence_provider": { - "oneOf": [ - { - "type": "boolean", - "description": "Enable/disable group sequence provider" - }, - { - "type": "string", - "description": "Class name of the group sequence provider" - } - ] - }, - "constraints": { - "$ref": "#/definitions/constraintArray" - }, - "properties": { - "type": "object", - "description": "Property-level constraints", - "additionalProperties": { - "$ref": "#/definitions/constraintArrayOrNull" - } - }, - "getters": { - "type": "object", - "description": "Getter method constraints", - "additionalProperties": { - "$ref": "#/definitions/constraintArrayOrNull" - } - } - } - } - }, - "definitions": { - "constraintArray": { - "type": "array", - "description": "Array of constraints", - "items": { - "oneOf": [ - { - "type": "object", - "description": "Constraint with options", - "minProperties": 1, - "maxProperties": 1, - "additionalProperties": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "array" - }, - { - "type": "object" - } - ] - } - }, - { - "type": "string", - "description": "Simple constraint name" - } - ] - } - }, - "constraintArrayOrNull": { - "oneOf": [ - { - "type": "null", - "description": "No constraints" - }, - { - "$ref": "#/definitions/constraintArray" - } - ] - } - } -} diff --git a/app/vendor/symfony/validator/Mapping/MemberMetadata.php b/app/vendor/symfony/validator/Mapping/MemberMetadata.php deleted file mode 100644 index 7487fa0ba..000000000 --- a/app/vendor/symfony/validator/Mapping/MemberMetadata.php +++ /dev/null @@ -1,167 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\Composite; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; - -/** - * Stores all metadata needed for validating a class property. - * - * The method of accessing the property's value must be specified by subclasses - * by implementing the {@link newReflectionMember()} method. - * - * This class supports serialization and cloning. - * - * @author Bernhard Schussek - * - * @see PropertyMetadataInterface - */ -abstract class MemberMetadata extends GenericMetadata implements PropertyMetadataInterface -{ - private string $class; - private string $name; - private string $property; - - /** - * @var \ReflectionMethod[]|\ReflectionProperty[] - */ - private array $reflMember = []; - - /** - * @param string $class The name of the class this member is defined on - * @param string $name The name of the member - * @param string $property The property the member belongs to - */ - public function __construct(string $class, string $name, string $property) - { - $this->class = $class; - $this->name = $name; - $this->property = $property; - } - - public function addConstraint(Constraint $constraint): static - { - $this->checkConstraint($constraint); - - parent::addConstraint($constraint); - - return $this; - } - - public function __serialize(): array - { - if (self::class === (new \ReflectionMethod($this, '__sleep'))->class || self::class !== (new \ReflectionMethod($this, '__serialize'))->class) { - return parent::__serialize() + [ - 'class' => $this->class, - 'name' => $this->name, - 'property' => $this->property, - ]; - } - - trigger_deprecation('symfony/validator', '7.4', 'Implementing "%s::__sleep()" is deprecated, use "__serialize()" instead.', get_debug_type($this)); - - $data = []; - foreach ($this->__sleep() as $key) { - try { - if (($r = new \ReflectionProperty($this, $key))->isInitialized($this)) { - $data[$key] = $r->getValue($this); - } - } catch (\ReflectionException) { - $data[$key] = $this->$key; - } - } - - return $data; - } - - /** - * @deprecated since Symfony 7.4, will be replaced by `__serialize()` in 8.0 - */ - public function __sleep(): array - { - trigger_deprecation('symfony/validator', '7.4', 'Calling "%s::__sleep()" is deprecated, use "__serialize()" instead.', get_debug_type($this)); - - return [ - 'constraints', - 'constraintsByGroup', - 'cascadingStrategy', - 'traversalStrategy', - 'autoMappingStrategy', - 'class', - 'name', - 'property', - ]; - } - - /** - * Returns the name of the property or its getter. - */ - public function getName(): string - { - return $this->name; - } - - public function getClassName(): string - { - return $this->class; - } - - public function getPropertyName(): string - { - return $this->property; - } - - public function isPublic(object|string $objectOrClassName): bool - { - return $this->getReflectionMember($objectOrClassName)->isPublic(); - } - - public function isProtected(object|string $objectOrClassName): bool - { - return $this->getReflectionMember($objectOrClassName)->isProtected(); - } - - public function isPrivate(object|string $objectOrClassName): bool - { - return $this->getReflectionMember($objectOrClassName)->isPrivate(); - } - - public function getReflectionMember(object|string $objectOrClassName): \ReflectionMethod|\ReflectionProperty - { - $className = \is_string($objectOrClassName) ? $objectOrClassName : $objectOrClassName::class; - if (!isset($this->reflMember[$className])) { - $this->reflMember[$className] = $this->newReflectionMember($objectOrClassName); - } - - return $this->reflMember[$className]; - } - - /** - * Creates a new reflection instance for accessing the member's value. - */ - abstract protected function newReflectionMember(object|string $objectOrClassName): \ReflectionMethod|\ReflectionProperty; - - private function checkConstraint(Constraint $constraint): void - { - if (!\in_array(Constraint::PROPERTY_CONSTRAINT, (array) $constraint->getTargets(), true)) { - throw new ConstraintDefinitionException(\sprintf('The constraint "%s" cannot be put on properties or getters.', get_debug_type($constraint))); - } - - if ($constraint instanceof Composite) { - foreach ($constraint->getNestedConstraints() as $nestedConstraint) { - $this->checkConstraint($nestedConstraint); - } - } - } -} diff --git a/app/vendor/symfony/validator/Mapping/MetadataInterface.php b/app/vendor/symfony/validator/Mapping/MetadataInterface.php deleted file mode 100644 index 480d0ecd4..000000000 --- a/app/vendor/symfony/validator/Mapping/MetadataInterface.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -use Symfony\Component\Validator\Constraint; - -/** - * A container for validation metadata. - * - * Most importantly, the metadata stores the constraints against which an object - * and its properties should be validated. - * - * Additionally, the metadata stores whether objects should be validated - * against their class' metadata and whether traversable objects should be - * traversed or not. - * - * @author Bernhard Schussek - * - * @see CascadingStrategy - * @see TraversalStrategy - */ -interface MetadataInterface -{ - /** - * Returns the strategy for cascading objects. - * - * @see CascadingStrategy - */ - public function getCascadingStrategy(): int; - - /** - * Returns the strategy for traversing traversable objects. - * - * @see TraversalStrategy - */ - public function getTraversalStrategy(): int; - - /** - * Returns all constraints of this element. - * - * @return Constraint[] - */ - public function getConstraints(): array; - - /** - * Returns all constraints for a given validation group. - * - * @param string $group The validation group - * - * @return Constraint[] - */ - public function findConstraints(string $group): array; -} diff --git a/app/vendor/symfony/validator/Mapping/PropertyMetadata.php b/app/vendor/symfony/validator/Mapping/PropertyMetadata.php deleted file mode 100644 index 89a25a5ef..000000000 --- a/app/vendor/symfony/validator/Mapping/PropertyMetadata.php +++ /dev/null @@ -1,84 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -use Symfony\Component\Validator\Exception\ValidatorException; - -/** - * Stores all metadata needed for validating a class property. - * - * The value of the property is obtained by directly accessing the property. - * The property will be accessed by reflection, so the access of private and - * protected properties is supported. - * - * This class supports serialization and cloning. - * - * @author Bernhard Schussek - * - * @see PropertyMetadataInterface - */ -class PropertyMetadata extends MemberMetadata -{ - /** - * @param string $class The class this property is defined on - * @param string $name The name of this property - * - * @throws ValidatorException - */ - public function __construct(string $class, string $name) - { - if (!property_exists($class, $name)) { - throw new ValidatorException(\sprintf('Property "%s" does not exist in class "%s".', $name, $class)); - } - - parent::__construct($class, $name, $name); - } - - public function getPropertyValue(mixed $object): mixed - { - $reflProperty = $this->getReflectionMember($object); - - if ($reflProperty->hasType() && !$reflProperty->isInitialized($object)) { - // There is no way to check if a property has been unset or if it is uninitialized. - // When trying to access an uninitialized property, __get method is triggered. - - // If __get method is not present, no fallback is possible - // Otherwise we need to catch an Error in case we are trying to access an uninitialized but set property. - if (!method_exists($object, '__get')) { - return null; - } - - try { - return $reflProperty->getValue($object); - } catch (\Error) { - return null; - } - } - - return $reflProperty->getValue($object); - } - - protected function newReflectionMember(object|string $objectOrClassName): \ReflectionMethod|\ReflectionProperty - { - $originalClass = \is_string($objectOrClassName) ? $objectOrClassName : $objectOrClassName::class; - - while (!property_exists($objectOrClassName, $this->getName())) { - $objectOrClassName = get_parent_class($objectOrClassName); - - if (false === $objectOrClassName) { - throw new ValidatorException(\sprintf('Property "%s" does not exist in class "%s".', $this->getName(), $originalClass)); - } - } - - return new \ReflectionProperty($objectOrClassName, $this->getName()); - } -} diff --git a/app/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php b/app/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php deleted file mode 100644 index f362186c4..000000000 --- a/app/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -/** - * Stores all metadata needed for validating the value of a class property. - * - * Most importantly, the metadata stores the constraints against which the - * property's value should be validated. - * - * Additionally, the metadata stores whether objects stored in the property - * should be validated against their class' metadata and whether traversable - * objects should be traversed or not. - * - * @author Bernhard Schussek - * - * @see MetadataInterface - * @see CascadingStrategy - * @see TraversalStrategy - */ -interface PropertyMetadataInterface extends MetadataInterface -{ - /** - * Returns the name of the property. - */ - public function getPropertyName(): string; - - /** - * Extracts the value of the property from the given container. - */ - public function getPropertyValue(mixed $containingValue): mixed; -} diff --git a/app/vendor/symfony/validator/Mapping/TraversalStrategy.php b/app/vendor/symfony/validator/Mapping/TraversalStrategy.php deleted file mode 100644 index 0df5a7ee8..000000000 --- a/app/vendor/symfony/validator/Mapping/TraversalStrategy.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Mapping; - -/** - * Specifies whether and how a traversable object should be traversed. - * - * If the node traverser traverses a node whose value is an instance of - * {@link \Traversable}, and if that node is either a class node or if - * cascading is enabled, then the node's traversal strategy will be checked. - * Depending on the requested traversal strategy, the node traverser will - * iterate over the object and cascade each object or collection returned by - * the iterator. - * - * The traversal strategy is ignored for arrays. Arrays are always iterated. - * - * @author Bernhard Schussek - * - * @see CascadingStrategy - */ -class TraversalStrategy -{ - /** - * Specifies that a node's value should be iterated only if it is an - * instance of {@link \Traversable}. - */ - public const IMPLICIT = 1; - - /** - * Specifies that a node's value should never be iterated. - */ - public const NONE = 2; - - /** - * Specifies that a node's value should always be iterated. If the value is - * not an instance of {@link \Traversable}, an exception should be thrown. - */ - public const TRAVERSE = 4; - - /** - * Not instantiable. - */ - private function __construct() - { - } -} diff --git a/app/vendor/symfony/validator/ObjectInitializerInterface.php b/app/vendor/symfony/validator/ObjectInitializerInterface.php deleted file mode 100644 index 4d7bd854b..000000000 --- a/app/vendor/symfony/validator/ObjectInitializerInterface.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -/** - * Prepares an object for validation. - * - * Concrete implementations of this interface are used by {@link Validator\ContextualValidatorInterface} - * to initialize objects just before validating them. - * - * @author Fabien Potencier - * @author Bernhard Schussek - */ -interface ObjectInitializerInterface -{ - public function initialize(object $object): void; -} diff --git a/app/vendor/symfony/validator/README.md b/app/vendor/symfony/validator/README.md deleted file mode 100644 index 8f3fd0efb..000000000 --- a/app/vendor/symfony/validator/README.md +++ /dev/null @@ -1,16 +0,0 @@ -Validator Component -=================== - -The Validator component provides tools to validate values following the -[JSR-303 Bean Validation specification][1]. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/validator.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) - -[1]: https://jcp.org/en/jsr/detail?id=303 diff --git a/app/vendor/symfony/validator/Resources/translations/validators.af.xlf b/app/vendor/symfony/validator/Resources/translations/validators.af.xlf deleted file mode 100644 index 61a8b3724..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.af.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Hierdie waarde moet vals wees. - - - This value should be true. - Hierdie waarde moet waar wees. - - - This value should be of type {{ type }}. - Hierdie waarde moet van die soort {{type}} wees. - - - This value should be blank. - Hierdie waarde moet leeg wees. - - - The value you selected is not a valid choice. - Die waarde wat jy gekies het is nie 'n geldige keuse nie. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Jy moet ten minste {{ limit }} kies.|Jy moet ten minste {{ limit }} keuses kies. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Jy moet by die meeste {{ limit }} keuse kies.|Jy moet by die meeste {{ limit }} keuses kies. - - - One or more of the given values is invalid. - Een of meer van die gegewe waardes is ongeldig. - - - This field was not expected. - Die veld is nie verwag nie. - - - This field is missing. - Hierdie veld ontbreek. - - - This value is not a valid date. - Hierdie waarde is nie 'n geldige datum nie. - - - This value is not a valid datetime. - Hierdie waarde is nie 'n geldige datum en tyd nie. - - - This value is not a valid email address. - Hierdie waarde is nie 'n geldige e-pos adres nie. - - - The file could not be found. - Die lêer kon nie gevind word nie. - - - The file is not readable. - Die lêer kan nie gelees word nie. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Die lêer is te groot ({{ size }} {{ suffix }}). Toegelaat maksimum grootte is {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Die MIME-tipe van die lêer is ongeldig ({{ type }}). Toegelaat MIME-tipes is {{ types }}. - - - This value should be {{ limit }} or less. - Hierdie waarde moet {{ limit }} of minder wees. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Hierdie waarde is te lank. Dit moet {{ limit }} karakter of minder wees.|Hierdie waarde is te lank. Dit moet {{ limit }} karakters of minder wees. - - - This value should be {{ limit }} or more. - Hierdie waarde moet {{ limit }} of meer wees. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Hierdie waarde is te kort. Dit moet {{ limit }} karakter of meer wees.|Hierdie waarde is te kort. Dit moet {{ limit }} karakters of meer wees. - - - This value should not be blank. - Hierdie waarde moet nie leeg wees nie. - - - This value should not be null. - Hierdie waarde moet nie nul wees nie. - - - This value should be null. - Hierdie waarde moet nul wees. - - - This value is not valid. - Hierdie waarde is nie geldig nie. - - - This value is not a valid time. - Hierdie waarde is nie 'n geldige tyd nie. - - - This value is not a valid URL. - Hierdie waarde is nie 'n geldige URL nie. - - - The two values should be equal. - Die twee waardes moet gelyk wees. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Die lêer is te groot. Toegelaat maksimum grootte is {{ limit }} {{ suffix }}. - - - The file is too large. - Die lêer is te groot. - - - The file could not be uploaded. - Die lêer kan nie opgelaai word nie. - - - This value should be a valid number. - Hierdie waarde moet 'n geldige nommer wees. - - - This file is not a valid image. - Hierdie lêer is nie 'n geldige beeld nie. - - - This value is not a valid IP address. - Hierdie waarde is nie 'n geldige IP-adres nie. - - - This value is not a valid language. - Hierdie waarde is nie 'n geldige taal nie. - - - This value is not a valid locale. - Hierdie waarde is nie 'n geldige land instelling nie. - - - This value is not a valid country. - Hierdie waarde is nie 'n geldige land nie. - - - This value is already used. - Hierdie waarde word reeds gebruik. - - - The size of the image could not be detected. - Die grootte van die beeld kon nie opgespoor word nie. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Die beeld breedte is te groot ({{ width }}px). Toegelaat maksimum breedte is {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Die beeld breedte is te klein ({{ width }}px). Minimum breedte verwag is {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Die beeld hoogte is te groot ({{ height }}px). Toegelaat maksimum hoogte is {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Die beeld hoogte is te klein ({{ height }}px). Minimum hoogte verwag is {{ min_height }}px. - - - This value should be the user's current password. - Hierdie waarde moet die huidige wagwoord van die gebruiker wees. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Hierdie waarde moet presies {{ limit }} karakter wees.|Hierdie waarde moet presies {{ limit }} karakters wees. - - - The file was only partially uploaded. - Die lêer is slegs gedeeltelik opgelaai. - - - No file was uploaded. - Geen lêer is opgelaai nie. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Geen tydelike gids is in php.ini opgestel nie, of die opgestelde gids bestaan nie. - - - Cannot write temporary file to disk. - Kan nie tydelike lêer skryf op skyf nie. - - - A PHP extension caused the upload to fail. - 'n PHP-uitbreiding veroorsaak die oplaai van die lêer om te misluk. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Hierdie versameling moet {{ limit }} element of meer bevat.|Hierdie versameling moet {{ limit }} elemente of meer bevat. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Hierdie versameling moet {{ limit }} element of minder bevat.|Hierdie versameling moet {{ limit }} elemente of meer bevat. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Hierdie versameling moet presies {{ limit }} element bevat.|Hierdie versameling moet presies {{ limit }} elemente bevat. - - - Invalid card number. - Ongeldige kredietkaart nommer. - - - Unsupported card type or invalid card number. - Nie-ondersteunde tipe kaart of ongeldige kredietkaart nommer. - - - This value is not a valid International Bank Account Number (IBAN). - Hierdie waarde is nie 'n geldige Internasionale Bankrekeningnommer (IBAN) nie. - - - This value is not a valid ISBN-10. - Hierdie waarde is nie 'n geldige ISBN-10 nie. - - - This value is not a valid ISBN-13. - Hierdie waarde is nie 'n geldige ISBN-13 nie. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Hierdie waarde is nie 'n geldige ISBN-10 of ISBN-13 nie. - - - This value is not a valid ISSN. - Hierdie waarde is nie 'n geldige ISSN nie. - - - This value is not a valid currency. - Hierdie waarde is nie 'n geldige geldeenheid nie. - - - This value should be equal to {{ compared_value }}. - Hierdie waarde moet gelyk aan {{ compared_value }} wees. - - - This value should be greater than {{ compared_value }}. - Hierdie waarde moet meer as {{ compared_value }} wees. - - - This value should be greater than or equal to {{ compared_value }}. - Hierdie waarde moet meer of gelyk aan {{ compared_value }} wees. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Hierdie waarde moet identies aan {{ compared_value_type }} {{ compared_value }} wees. - - - This value should be less than {{ compared_value }}. - Hierdie waarde moet minder as {{ compared_value }} wees. - - - This value should be less than or equal to {{ compared_value }}. - Hierdie waarde moet minder of gelyk aan {{ compared_value }} wees. - - - This value should not be equal to {{ compared_value }}. - Hierdie waarde moet nie dieselfde as {{ compared_value }} wees nie. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Hierdie waarde moet nie identies as {{ compared_value_type }} {{ compared_value }} wees nie. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Die beeld aspek is te groot ({{ ratio }}). Die maksimum toegelate aspek is {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Die beeld aspek is te klein ({{ ratio }}). Die minimum toegelate aspek is {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Die beeld is vierkantig ({{ width }}x{{ height }}px). Vierkantige beelde word nie toegelaat nie. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Die beeld is landskap georiënteerd ({{ width }}x{{ height }}px). Landskap georiënteerde beelde word nie toegelaat nie. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Die beeld dis portret georiënteerd ({{ width }}x{{ height }}px). Portret georiënteerde beelde word nie toegelaat nie. - - - An empty file is not allowed. - 'n Leë lêer word nie toegelaat nie. - - - The host could not be resolved. - Die gasheer kon nie opgelos word nie. - - - This value does not match the expected {{ charset }} charset. - Die waarde stem nie ooreen met die verwagte {{ charset }} karakterstel nie. - - - This value is not a valid Business Identifier Code (BIC). - Hierdie waarde is nie 'n geldige Besigheid Identifiseerder Kode (BIC) nie. - - - Error - Fout - - - This value is not a valid UUID. - Hierdie waarde is nie 'n geldige UUID nie. - - - This value should be a multiple of {{ compared_value }}. - Hierdie waarde moet 'n veelvoud van {{ compared_value }} wees. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Hierdie Besigheids Identifikasie Kode (BIK) is nie geassosieer met IBAN {{ iban }} nie. - - - This value should be valid JSON. - Hierdie waarde moet geldige JSON wees. - - - This collection should contain only unique elements. - Hierdie versameling moet net unieke elemente bevat. - - - This value should be positive. - Hierdie waarde moet positief wees. - - - This value should be either positive or zero. - Hierdie waarde moet positief of nul wees. - - - This value should be negative. - Hierdie waarde moet negatief wees. - - - This value should be either negative or zero. - Hierdie waarde moet negatief of nul wees. - - - This value is not a valid timezone. - Hierdie waarde is nie 'n geldige tydsone nie. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Hierdie wagwoord is in 'n data-oortreding uitgelek, dit mag nie gebruik word nie. Gebruik asseblief 'n ander wagwoord. - - - This value should be between {{ min }} and {{ max }}. - Hierdie waarde moet tussen {{ min }} en {{ max }} wees. - - - This value is not a valid hostname. - Hierdie waarde is nie 'n geldige gasheernaam nie. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Die hoeveelheid elemente in hierdie versameling moet 'n meelvoud van {{ compared_value }} wees. - - - This value should satisfy at least one of the following constraints: - Hierdie waarde moet voldoen aan ten minste een van hierdie beperkings: - - - Each element of this collection should satisfy its own set of constraints. - Elke element van hierdie versameling moet voldoen aan hulle eie beperkings. - - - This value is not a valid International Securities Identification Number (ISIN). - Hierdie waarde is nie 'n geldige Internasionale veiligheidsidentifikasienommer (ISIN) nie. - - - This value should be a valid expression. - Hierdie waarde moet 'n geldige uitdrukking wees. - - - This value is not a valid CSS color. - Hierdie waarde is nie 'n geldige CSS-kleur nie. - - - This value is not a valid CIDR notation. - Hierdie waarde is nie 'n geldige CIDR-notasie nie. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Die waarde van die netmasker moet tussen {{ min }} en {{ max }} wees. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Die lêernaam is te lank. Dit moet {{ filename_max_length }} karakter of minder hê.|Die lêernaam is te lank. Dit moet {{ filename_max_length }} karakters of minder hê. - - - The password strength is too low. Please use a stronger password. - Die wagwoordsterkte is te laag. Gebruik asseblief 'n sterker wagwoord. - - - This value contains characters that are not allowed by the current restriction-level. - Hierdie waarde bevat karakters wat nie toegelaat word deur die huidige beperkingsvlak nie. - - - Using invisible characters is not allowed. - Die gebruik van onsigbare karakters word nie toegelaat nie. - - - Mixing numbers from different scripts is not allowed. - Die meng van nommers van verskillende skrifte word nie toegelaat nie. - - - Using hidden overlay characters is not allowed. - Die gebruik van verborge oorvleuelende karakters word nie toegelaat nie. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Die uitbreiding van die lêer is ongeldig ({{ extension }}). Toegelate uitbreidings is {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Die opgespoorde karakterkodering is ongeldig ({{ detected }}). Toegelate koderings is {{ encodings }}. - - - This value is not a valid MAC address. - Hierdie waarde is nie 'n geldige MAC-adres nie. - - - This URL is missing a top-level domain. - Die URL mis 'n topvlakdomein. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Hierdie waarde is te kort. Dit moet ten minste een woord bevat.|Hierdie waarde is te kort. Dit moet ten minste {{ min }} woorde bevat. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Hierdie waarde is te lank. Dit moet een woord bevat.,Hierdie waarde is te lank. Dit moet {{ max }} woorde of minder bevat. - - - This value does not represent a valid week in the ISO 8601 format. - Hierdie waarde stel nie 'n geldige week in die ISO 8601-formaat voor nie. - - - This value is not a valid week. - Hierdie waarde is nie 'n geldige week nie. - - - This value should not be before week "{{ min }}". - Hierdie waarde mag nie voor week "{{ min }}" wees nie. - - - This value should not be after week "{{ max }}". - Hierdie waarde mag nie na week "{{ max }}" kom nie. - - - This value is not a valid Twig template. - Hierdie waarde is nie 'n geldige Twig-sjabloon nie. - - - This file is not a valid video. - Hierdie lêer is nie 'n geldige video nie. - - - The size of the video could not be detected. - Die grootte van die video kon nie bepaal word nie. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Die videowydte is te groot ({{ width }}px). Toegelate maksimum wydte is {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Die videobreedte is te klein ({{ width }}px). Minimum verwagte breedte is {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Die videohoogte is te groot ({{ height }}px). Toegelate maksimum hoogte is {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Die videohoogte is te klein ({{ height }}px). Minimum hoogte verwag is {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Die video het te min pixels ({{ pixels }}). Minimum hoeveelheid verwag is {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Die video het te veel pixels ({{ pixels }}). Maksimum verwagte hoeveelheid is {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Die videoratio is te groot ({{ ratio }}). Toegelate maksimum ratio is {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Die videoratio is te klein ({{ ratio }}). Minimum verwagte ratio is {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Die video is vierkantig ({{ width }}x{{ height }}px). Vierkantige video's word nie toegelaat nie. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Die video is landskap georiënteer ({{ width }}x{{ height }} px). Landskapvideo's word nie toegelaat nie. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Die video is portretgeoriënteerd ({{ width }}x{{ height }}px). Portretgeoriënteerde video's word nie toegelaat nie. - - - The video file is corrupted. - Die videolêer is korrup. - - - The video contains multiple streams. Only one stream is allowed. - Die video bevat veelvuldige strome. Slegs een stroom word toegelaat. - - - Unsupported video codec "{{ codec }}". - Nie-ondersteunde videokodek "{{ codec }}". - - - Unsupported video container "{{ container }}". - Nie-ondersteunde videohouer "{{ container }}". - - - The image file is corrupted. - Die beeldlêer is beskadig. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Die beeld het te min pixels ({{ pixels }}). Minimum hoeveelheid verwag is {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Die beeld het te veel pixels ({{ pixels }}). Maksimum verwagte aantal is {{ max_pixels }}. - - - This filename does not match the expected charset. - Hierdie lêernaam stem nie ooreen met die verwagte karakterstel nie. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.ar.xlf b/app/vendor/symfony/validator/Resources/translations/validators.ar.xlf deleted file mode 100644 index 783f63dd7..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.ar.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - هذه القيمة يجب أن تكون خاطئة. - - - This value should be true. - هذه القيمة يجب أن تكون صحيحة. - - - This value should be of type {{ type }}. - هذه القيمة يجب ان تكون من نوع {{ type }}. - - - This value should be blank. - هذه القيمة يجب ان تكون فارغة. - - - The value you selected is not a valid choice. - القيمة المختارة ليست خيار صحيح. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - يجب ان تختار {{ limit }} اختيار على الاقل.|يجب ان تختار {{ limit }} اختيار على الاقل.|يجب ان تختار {{ limit }} اختيارات على الاقل.|يجب ان تختار {{ limit }} اختيار على الاقل.|يجب ان تختار {{ limit }} اختيار على الاقل.|يجب ان تختار {{ limit }} اختيار على الاقل. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - يجب ان تختار {{ limit }} اختيار على الاكثر.|يجب ان تختار {{ limit }} اختيار على الاكثر.|يجب ان تختار {{ limit }} اختيارات على الاكثر.|يجب ان تختار {{ limit }} اختيار على الاكثر.|يجب ان تختار {{ limit }} اختيار على الاكثر.|يجب ان تختار {{ limit }} اختيار على الاكثر. - - - One or more of the given values is invalid. - واحد أو أكثر من القيم المعطاه خاطئ. - - - This field was not expected. - لم يكن من المتوقع هذا الحقل. - - - This field is missing. - هذا الحقل مفقود. - - - This value is not a valid date. - هذه القيمة ليست تاريخ صالح. - - - This value is not a valid datetime. - هذه القيمة ليست تاريخ و وقت صالح. - - - This value is not a valid email address. - هذه القيمة ليست لها عنوان بريد إلكتروني صحيح. - - - The file could not be found. - لا يمكن العثور على الملف. - - - The file is not readable. - الملف غير قابل للقراءة. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - الملف كبير جدا ({{ size }} {{ suffix }}).اقصى مساحه مسموح بها ({{ limit }} {{ suffix }}). - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - نوع الملف غير صحيح ({{ type }}). الانواع المسموح بها هى {{ types }}. - - - This value should be {{ limit }} or less. - هذه القيمة يجب ان تكون {{ limit }} او اقل. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} حرف او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} حرف او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} حروف او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} حرف او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} حرف او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} حرف او اقل. - - - This value should be {{ limit }} or more. - هذه القيمة يجب ان تكون {{ limit }} او اكثر. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} حرف او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} حرف او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} حروف او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} حرف او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} حرف او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} حرف او اكثر. - - - This value should not be blank. - هذه القيمة يجب لا تكون فارغة. - - - This value should not be null. - هذه القيمة يجب لا تكون فارغة. - - - This value should be null. - هذه القيمة يجب ان تكون فارغة. - - - This value is not valid. - هذه القيمة غير صحيحة. - - - This value is not a valid time. - هذه القيمة ليست وقت صحيح. - - - This value is not a valid URL. - هذه القيمة ليست رابط الكترونى صحيح. - - - The two values should be equal. - القيمتان يجب ان تكونا متساويتان. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - الملف كبير جدا. اقصى مساحه مسموح بها {{ limit }} {{ suffix }}. - - - The file is too large. - الملف كبير جدا. - - - The file could not be uploaded. - تعذر تحميل الملف. - - - This value should be a valid number. - هذه القيمة يجب ان تكون رقم. - - - This file is not a valid image. - هذا الملف غير صالح للصورة. - - - This value is not a valid IP address. - هذا ليس عنوان IP صحيح. - - - This value is not a valid language. - هذه القيمة ليست لغة صحيحة. - - - This value is not a valid locale. - هذه القيمة ليست موقع صحيح. - - - This value is not a valid country. - هذه القيمة ليست بلدا صالحا. - - - This value is already used. - هذه القيمة مستخدمة بالفعل. - - - The size of the image could not be detected. - لم استطع معرفة حجم الصورة. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - عرض الصورة كبير جدا ({{ width }}px). اقصى عرض مسموح به هو{{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - عرض الصورة صغير جدا ({{ width }}px). اقل عرض مسموح به هو{{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - طول الصورة كبير جدا ({{ height }}px). اقصى طول مسموح به هو{{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - طول الصورة صغير جدا ({{ height }}px). اقل طول مسموح به هو{{ min_height }}px. - - - This value should be the user's current password. - هذه القيمة يجب ان تكون كلمة سر المستخدم الحالية. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - هذه القيمة يجب ان تحتوى على {{ limit }} حرف فقط.|هذه القيمة يجب ان تحتوى على {{ limit }} حرف فقط.|هذه القيمة يجب ان تحتوى على {{ limit }} حروف فقط.|هذه القيمة يجب ان تحتوى على {{ limit }} حرف فقط.|هذه القيمة يجب ان تحتوى على {{ limit }} حرف فقط.|هذه القيمة يجب ان تحتوى على {{ limit }} حرف فقط. - - - The file was only partially uploaded. - تم استقبال جزء من الملف فقط. - - - No file was uploaded. - لم يتم ارسال اى ملف. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - لم يتم تكوين مجلد مؤقت في ملف php.ini. - - - Cannot write temporary file to disk. - لم استطع كتابة الملف المؤقت. - - - A PHP extension caused the upload to fail. - احد اضافات PHP تسببت فى فشل استقبال الملف. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اكثر.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اكثر.|هذه المجموعة يجب ان تحتوى على {{ limit }} عناصر او اكثر.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اكثر.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اكثر.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اكثر. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اقل.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اقل.|هذه المجموعة يجب ان تحتوى على {{ limit }} عناصر او اقل.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اقل.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اقل.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر او اقل. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر فقط.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر فقط.|هذه المجموعة يجب ان تحتوى على {{ limit }} عناصر فقط.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر فقط.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر فقط.|هذه المجموعة يجب ان تحتوى على {{ limit }} عنصر فقط. - - - Invalid card number. - رقم البطاقه غير صحيح. - - - Unsupported card type or invalid card number. - نوع البطاقه غير مدعوم او الرقم غير صحيح. - - - This value is not a valid International Bank Account Number (IBAN). - هذه القيمة ليست رقم حساب بنكي دولي (IBAN) صالحًا. - - - This value is not a valid ISBN-10. - هذه القيمة ليست ISBN-10 صالحة. - - - This value is not a valid ISBN-13. - هذه القيمة ليست ISBN-13 صالحة. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - هذه القيمة ليست ISBN-10 صالحة ولا ISBN-13 صالحة. - - - This value is not a valid ISSN. - هذه القيمة ليست ISSN صالحة. - - - This value is not a valid currency. - العُملة غير صحيحة. - - - This value should be equal to {{ compared_value }}. - القيمة يجب ان تساوي {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - القيمة يجب ان تكون اعلي من {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - القيمة يجب ان تكون مساوية او اعلي من {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - القيمة يجب ان تطابق {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - القيمة يجب ان تكون اقل من {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - القيمة يجب ان تساوي او تقل عن {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - القيمة يجب ان لا تساوي {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - القيمة يجب ان لا تطابق {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - نسبة العرض على الارتفاع للصورة كبيرة جدا ({{ ratio }}). الحد الأقصى للنسبة المسموح به هو {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - نسبة العرض على الارتفاع للصورة صغيرة جدا ({{ ratio }}). الحد الأدنى للنسبة المسموح به هو {{ max_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - الصورة مربعة ({{ width }}x{{ height }}px). الصور المربعة غير مسموح بها. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - الصورة في وضع أفقي ({{ width }}x{{ height }}px). الصور في وضع أفقي غير مسموح بها. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - الصورة في وضع عمودي ({{ width }}x{{ height }}px). الصور في وضع عمودي غير مسموح بها. - - - An empty file is not allowed. - ملف فارغ غير مسموح به. - - - The host could not be resolved. - يتعذر الإتصال بالنطاق. - - - This value does not match the expected {{ charset }} charset. - هذه القيمة غير متطابقة مع صيغة التحويل {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - هذه القيمة ليست رمز معرف أعمال (BIC) صالحًا. - - - Error - خطأ - - - This value is not a valid UUID. - هذه القيمة ليست UUID صالحًا. - - - This value should be a multiple of {{ compared_value }}. - هذه القيمة يجب أن تكون مضاعف ل {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - رمز المعرّف نشاط تجاري (BIC) هذا لا يرتبط مع IBAN {{ iban }}. - - - This value should be valid JSON. - هذه القيمة يجب أن تكون صالحة ل JSON. - - - This collection should contain only unique elements. - يجب أن تحتوي هذه المجموعة علي عناصر فريدة فقط. - - - This value should be positive. - يجب أن تكون هذه القيمة موجبة. - - - This value should be either positive or zero. - يجب أن تكون هذه القيمة إما موجبة او صفر. - - - This value should be negative. - يجب أن تكون هذه القيمة سالبة. - - - This value should be either negative or zero. - يجب أن تكون هذه القيمة إما سالبة او صفر. - - - This value is not a valid timezone. - هذه القيمة ليست منطقة زمنية صحيحة. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - تم تسريب كلمة المرور هذه في خرق للبيانات، ويجب عدم استخدامها. يرجي استخدام كلمة مرور أخري. - - - This value should be between {{ min }} and {{ max }}. - يجب أن تكون هذه القيمة بين {{ min }} و {{ max }}. - - - This value is not a valid hostname. - هذه القيمة ليست اسم مضيف صالح. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - يجب أن يكون عدد العناصر في هذه المجموعة مضاعف {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - يجب أن تستوفي هذه القيمة واحدة من القيود التالية: - - - Each element of this collection should satisfy its own set of constraints. - يجب أن يفي كل عنصر من عناصر هذه المجموعة بمجموعة القيود الخاصة به. - - - This value is not a valid International Securities Identification Number (ISIN). - صالح (ISIN) هذه القيمة ليست رقم تعريف الأوراق المالية الدولي. - - - This value should be a valid expression. - يجب أن تكون هذه القيمة تعبيرًا صالحًا. - - - This value is not a valid CSS color. - هذه القيمة ليست لون CSS صالحًا. - - - This value is not a valid CIDR notation. - هذه القيمة ليست تدوين CIDR صالحًا. - - - The value of the netmask should be between {{ min }} and {{ max }}. - يجب أن تكون قيمة netmask بين {{ min }} و {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - اسم الملف طويل جدا. يجب أن يحتوي على {{ filename_max_length }} حرف أو أقل.|اسم الملف طويل جدا. يجب أن يحتوي على {{ filename_max_length }} أحرف أو أقل. - - - The password strength is too low. Please use a stronger password. - قوة كلمة المرور منخفضة للغاية. يرجى استخدام كلمة مرور أقوى. - - - This value contains characters that are not allowed by the current restriction-level. - تحتوي هذه القيمة على أحرف غير مسموح بها بواسطة مستوى التقييد الحالي. - - - Using invisible characters is not allowed. - لا يسمح باستخدام أحرف غير مرئية. - - - Mixing numbers from different scripts is not allowed. - لا يسمح بخلط الأرقام من نصوص مختلفة. - - - Using hidden overlay characters is not allowed. - لا يسمح باستخدام أحرف التراكب المخفية. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - امتداد الملف غير صحيح ({{ extension }}). الامتدادات المسموح بها هي {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - تم اكتشاف ترميز أحرف غير صالح ({{ detected }}). الترميزات المسموح بها هي {{ encodings }}. - - - This value is not a valid MAC address. - هذه القيمة ليست عنوان MAC صالحًا. - - - This URL is missing a top-level domain. - هذا الرابط يفتقر إلى نطاق المستوى الأعلى. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - هذه القيمة قصيرة جدًا. يجب أن تحتوي على كلمة واحدة على الأقل.|هذه القيمة قصيرة جدًا. يجب أن تحتوي على {{ min }} كلمة على الأقل. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - هذه القيمة طويلة جدًا. يجب أن تحتوي على كلمة واحدة فقط.|هذه القيمة طويلة جدًا. يجب أن تحتوي على {{ max }} كلمة أو أقل. - - - This value does not represent a valid week in the ISO 8601 format. - هذه القيمة لا تمثل أسبوعًا صالحًا وفق تنسيق ISO 8601. - - - This value is not a valid week. - هذه القيمة ليست أسبوعًا صالحًا. - - - This value should not be before week "{{ min }}". - يجب ألا تكون هذه القيمة قبل الأسبوع "{{ min }}". - - - This value should not be after week "{{ max }}". - يجب ألا تكون هذه القيمة بعد الأسبوع "{{ max }}". - - - This value is not a valid Twig template. - هذه القيمة ليست نموذج Twig صالح. - - - This file is not a valid video. - هذا الملف غير صالح كفيديو. - - - The size of the video could not be detected. - تعذّر تحديد حجم الفيديو. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - عرض الفيديو كبير جدًا ({{ width }}px). الحد الأقصى المسموح للعرض هو {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - عرض الفيديو صغير جدًا ({{ width }}px). العرض الأدنى المتوقع هو {{ min_width }} بكسل. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ارتفاع الفيديو كبير جدًا ({{ height }}px). الحد الأقصى المسموح للارتفاع هو {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ارتفاع الفيديو صغير جدًا ({{ height }} بكسل). الارتفاع الأدنى المتوقع هو {{ min_height }} بكسل. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - الفيديو منخفض الجودة جداً ({{ pixels }} بكسل). الحد الأدنى المتوقع هو {{ min_pixels }} بكسل. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - دقة الفيديو مرتفعة جداً ({{ pixels }} بكسل). الحد الأقصى المتوقع هو {{ max_pixels }} بكسل. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - نسبة أبعاد الفيديو كبيرة جدًا ({{ ratio }}). أعلى نسبة متوقعة هي {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - نسبة أبعاد الفيديو صغيرة جدًا ({{ ratio }}). أقل نسبة متوقعة هي {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - الفيديو مربع ({{ width }}x{{ height }}px). مقاطع الفيديو ذات الشكل المربع غير مسموح بها. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - الفيديو بوضعية أفقية ({{ width }}x{{ height }} بكسل). مقاطع الفيديو الأفقية غير مسموح بها. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - الفيديو ذو اتجاه عمودي ({{ width }}x{{ height }} بكسل). مقاطع الفيديو ذات الاتجاه العمودي غير مسموح بها. - - - The video file is corrupted. - ملف الفيديو تالف. - - - The video contains multiple streams. Only one stream is allowed. - الفيديو يحتوي على عدة مسارات (صوت أو صورة)، ومسموح بمسار واحد فقط. - - - Unsupported video codec "{{ codec }}". - الترميز المستخدم في الفيديو غير مدعوم. "{{ codec }}". - - - Unsupported video container "{{ container }}". - ملف الفيديو بصيغة غير مدعومة "{{ container }}". - - - The image file is corrupted. - ملف الصورة تالف. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - الصورة منخفضة الجودة جدًا ({{ pixels }} بكسل)، و الحد الأدنى المتوقع: {{ min_pixels }} بكسل. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - جودة الصورة مرتفعة جدًا ({{ pixels }} بكسل). العدد الأقصى المتوقع هو {{ max_pixels }} بكسل. - - - This filename does not match the expected charset. - اسم الملف يحتوي على أحرف غير مسموح بها. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.az.xlf b/app/vendor/symfony/validator/Resources/translations/validators.az.xlf deleted file mode 100644 index 2d7237288..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.az.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Bu dəyər false olmalıdır. - - - This value should be true. - Bu dəyər true olmalıdır. - - - This value should be of type {{ type }}. - Bu dəyərin tipi {{ type }} olmalıdır. - - - This value should be blank. - Bu dəyər boş olmalıdır. - - - The value you selected is not a valid choice. - Seçdiyiniz dəyər düzgün bir seçim değil. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Ən az {{ limit }} seçim qeyd edilməlidir. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Ən çox {{ limit }} seçim qeyd edilməlidir. - - - One or more of the given values is invalid. - Təqdim edilən dəyərlərdən bir və ya bir neçəsi yanlışdır. - - - This field was not expected. - Bu sahə gözlənilmirdi. - - - This field is missing. - Bu sahə əksikdir. - - - This value is not a valid date. - Bu dəyər düzgün bir tarix deyil. - - - This value is not a valid datetime. - Bu dəyər düzgün bir tarixsaat deyil. - - - This value is not a valid email address. - Bu dəyər düzgün bir e-poçt adresi deyil. - - - The file could not be found. - Fayl tapılmadı. - - - The file is not readable. - Fayl oxunabilən deyil. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Fayl çox böyükdür ({{ size }} {{ suffix }}). İcazə verilən maksimum fayl ölçüsü {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Faylın mime tipi yanlışdr ({{ type }}). İcazə verilən mime tipləri {{ types }}. - - - This value should be {{ limit }} or less. - Bu dəyər {{ limit }} və ya altında olmalıdır. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Bu dəyər çox uzundur. {{ limit }} və ya daha az simvol olmalıdır. - - - This value should be {{ limit }} or more. - Bu dəyər {{ limit }} veya daha fazla olmalıdır. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Bu dəyər çox qısadır. {{ limit }} və ya daha çox simvol olmalıdır. - - - This value should not be blank. - Bu dəyər boş olmamalıdır. - - - This value should not be null. - Bu dəyər boş olmamalıdır. - - - This value should be null. - Bu dəyər boş olmamalıdır. - - - This value is not valid. - Bu dəyər doğru deyil. - - - This value is not a valid time. - Bu dəyər doğru bir saat deyil. - - - This value is not a valid URL. - Bu dəyər doğru bir URL değil. - - - The two values should be equal. - İki dəyər eyni olmalıdır. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Fayl çox böyükdür. İcazə verilən ən böyük fayl ölçüsü {{ limit }} {{ suffix }}. - - - The file is too large. - Fayl çox böyükdür. - - - The file could not be uploaded. - Fayl yüklənəbilmir. - - - This value should be a valid number. - Bu dəyər rəqəm olmalıdır. - - - This file is not a valid image. - Bu fayl düzgün bir şəkil deyil. - - - This value is not a valid IP address. - Bu dəyər etibarlı bir IP ünvanı deyil. - - - This value is not a valid language. - Bu dəyər düzgün bir dil deyil. - - - This value is not a valid locale. - Bu dəyər düzgün bir dil deyil. - - - This value is not a valid country. - Bu dəyər düzgün bir ölkə deyil. - - - This value is already used. - Bu dəyər hal-hazırda istifadədədir. - - - The size of the image could not be detected. - Şəklin ölçüsü hesablana bilmir. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Şəklin genişliyi çox böyükdür ({{ width }}px). İcazə verilən ən böyük genişlik {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Şəklin genişliyi çox kiçikdir ({{ width }}px). Ən az {{ min_width }}px olmalıdır. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Şəklin yüksəkliyi çox böyükdür ({{ height }}px). İcazə verilən ən böyük yüksəklik {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Şəklin yüksəkliyi çox kiçikdir ({{ height }}px). Ən az {{ min_height }}px olmalıdır. - - - This value should be the user's current password. - Bu dəyər istifadəçinin hazırkı parolu olmalıdır. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Bu dəyər tam olaraq {{ limit }} simvol olmaldır. - - - The file was only partially uploaded. - Fayl qismən yükləndi. - - - No file was uploaded. - Fayl yüklənmədi. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini-də müvəqqəti qovluq quraşdırılmayıb, və ya quraşdırılmış qovluq mövcud deyil. - - - Cannot write temporary file to disk. - Müvəqqəti fayl diskə yazıla bilmir. - - - A PHP extension caused the upload to fail. - Bir PHP əlavəsi faylın yüklənməsinə mane oldu. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Bu kolleksiyada {{ limit }} və ya daha çox element olmalıdır. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Bu kolleksiyada {{ limit }} və ya daha az element olmalıdır. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Bu kolleksiyada tam olaraq {{ limit }} element olmalıdır. - - - Invalid card number. - Yanlış kart nömrəsi. - - - Unsupported card type or invalid card number. - Dəstəklənməyən kart tipi və ya yanlış kart nömrəsi. - - - This value is not a valid International Bank Account Number (IBAN). - Bu dəyər etibarlı bir Beynəlxalq Bank Hesab Nömrəsi (IBAN) deyil. - - - This value is not a valid ISBN-10. - Bu dəyər doğru bir ISBN-10 deyil. - - - This value is not a valid ISBN-13. - Bu dəyər doğru bir ISBN-13 deyil. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Bu dəyər doğru bir ISBN-10 və ya ISBN-13 deyil. - - - This value is not a valid ISSN. - Bu dəyər doğru bir ISSN deyil. - - - This value is not a valid currency. - Bu dəyər doğru bir valyuta deyil. - - - This value should be equal to {{ compared_value }}. - Bu dəyər {{ compared_value }} ilə bərabər olmalıdır. - - - This value should be greater than {{ compared_value }}. - Bu dəyər {{ compared_value }} dəyərindən büyük olmalıdır. - - - This value should be greater than or equal to {{ compared_value }}. - Bu dəyər {{ compared_value }} ilə bərabər və ya daha böyük olmaldır. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Bu dəyər {{ compared_value_type }} {{ compared_value }} ilə eyni olmalıdır. - - - This value should be less than {{ compared_value }}. - Bu dəyər {{ compared_value }} dəyərindən kiçik olmalıdır. - - - This value should be less than or equal to {{ compared_value }}. - Bu dəyər {{ compared_value }} dəyərindən kiçik və ya bərabər olmalıdır. - - - This value should not be equal to {{ compared_value }}. - Bu değer {{ compared_value }} ile eşit olmamalıdır. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Bu dəyər {{ compared_value_type }} {{ compared_value }} ilə eyni olmamalıdır. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Şəkil nisbəti çox büyükdür ({{ ratio }}). İcazə verilən maksimum nisbət: {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Şəkil nisbəti çox balacadır ({{ ratio }}). İcazə verilən minimum nisbət: {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Şəkil kvadratdır ({{ width }}x{{ height }}px). Kvadrat şəkillərə icazə verilmir. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Şəkil albom rejimindədir ({{ width }}x{{ height }}px). Albom rejimli şəkillərə icazə verilmir. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Şəkil portret rejimindədir ({{ width }}x{{ height }}px). Portret rejimli şəkillərə icazə verilmir. - - - An empty file is not allowed. - Boş fayla icazə verilmir. - - - The host could not be resolved. - Ünvan tapılmadı. - - - This value does not match the expected {{ charset }} charset. - Bu dəyər gözlənilən {{ charset }} simvol cədvəli ilə uyğun gəlmir. - - - This value is not a valid Business Identifier Code (BIC). - Bu dəyər etibarlı bir Biznes Təyinat Kodu (BIC) deyil. - - - Error - Xəta - - - This value is not a valid UUID. - Bu dəyər etibarlı bir UUID deyil. - - - This value should be a multiple of {{ compared_value }}. - Bu dəyər {{ compare_value }} dəyərinin bölənlərindən biri olmalıdır. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Bu Biznes Təyinedici Kodu (BIC) {{ iban }} IBAN kodu ilə əlaqəli deyil. - - - This value should be valid JSON. - Bu dəyər doğru bir JSON olmalıdır. - - - This collection should contain only unique elements. - Bu kolleksiyada sadəcə unikal elementlər olmalıdır. - - - This value should be positive. - Bu dəyər müsbət olmalıdır. - - - This value should be either positive or zero. - Bu dəyər müsbət və ya sıfır olmalıdır. - - - This value should be negative. - Bu dəyər mənfi olmaldır. - - - This value should be either negative or zero. - Bu dəyər mənfi və ya sıfır olmaldır. - - - This value is not a valid timezone. - Bu dəyər doğru bir zaman zolağı deyil. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Bu parol data oğurluğunda tapıldığı üçün işlədilməməlidir. Zəhmət olmasa, başqa parol seçin. - - - This value should be between {{ min }} and {{ max }}. - Bu dəyər {{ min }} və {{ max }} arasında olmaldır. - - - This value is not a valid hostname. - Bu dəyər doğru bir host adı deyil. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Bu kolleksiyadakı elementlerin sayı {{ compared_value }} tam bölünəni olmalıdır. - - - This value should satisfy at least one of the following constraints: - Bu dəyər aşağıdakı məcburiyyətlərdən birini qarşılamalıdır: - - - Each element of this collection should satisfy its own set of constraints. - Bu kolleksiyadakı hər element öz məcburiyyətlərini qarşılamalıdır. - - - This value is not a valid International Securities Identification Number (ISIN). - Bu dəyər doğru bir Qiymətli Kağızın Beynəlxalq İdentifikasiya Kodu (ISIN) deyil. - - - This value should be a valid expression. - Bu dəyər etibarlı ifadə olmalıdır. - - - This value is not a valid CSS color. - Bu dəyər etibarlı CSS rəngi deyil. - - - This value is not a valid CIDR notation. - Bu dəyər etibarlı CIDR notasiyası deyil. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Şəbəkə maskasının dəyəri {{ min }} və {{ max }} arasında olmalıdır. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Fayl adı çox uzundur. {{ filename_max_length }} və ya daha az simvol olmalıdır. - - - The password strength is too low. Please use a stronger password. - Parolun gücü çox zəifdir. Zəhmət olmasa, daha güclü bir parol istifadə edin. - - - This value contains characters that are not allowed by the current restriction-level. - Bu dəyərdə cari məhdudiyyət səviyyəsi tərəfindən icazə verilməyən simvollar var. - - - Using invisible characters is not allowed. - Görünməz simvolların istifadəsinə icazə verilmir. - - - Mixing numbers from different scripts is not allowed. - Fərqli skriptlərdən nömrələrin qarışdırılmasına icazə verilmir. - - - Using hidden overlay characters is not allowed. - Gizli örtülü simvolların istifadəsinə icazə verilmir. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Faylın uzantısı yanlışdır ({{ extension }}). İcazə verilən uzantılar {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Təsbit edilən simvol şifrləməsi yanlışdır. ({{ detected }}). İcazə verilən şifrləmələr bunlardır: {{ encodings }}. - - - This value is not a valid MAC address. - Bu dəyər etibarlı bir MAC ünvanı deyil. - - - This URL is missing a top-level domain. - Bu URL yuxarı səviyyəli domeni çatışmır. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Bu dəyər çox qısadır. Heç olmasa bir söz daxil etməlisiniz.|Bu dəyər çox qısadır. Heç olmasa {{ min }} söz daxil etməlisiniz. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Bu dəyər çox uzundur. Yalnız bir söz daxil etməlisiniz.|Bu dəyər çox uzundur. {{ max }} və ya daha az söz daxil etməlisiniz. - - - This value does not represent a valid week in the ISO 8601 format. - Bu dəyər ISO 8601 formatında etibarlı bir həftəni təmsil etmir. - - - This value is not a valid week. - Bu dəyər etibarlı bir həftə deyil. - - - This value should not be before week "{{ min }}". - Bu dəyər "{{ min }}" həftəsindən əvvəl olmamalıdır. - - - This value should not be after week "{{ max }}". - Bu dəyər "{{ max }}" həftəsindən sonra olmamalıdır. - - - This value is not a valid Twig template. - Bu dəyər etibarlı Twig şablonu deyil. - - - This file is not a valid video. - Bu fayl etibarlı video deyil. - - - The size of the video could not be detected. - Videonun ölçüsünü təyin etmək mümkün olmadı. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video enliyi çox böyükdür ({{ width }}px). İcazə verilən maksimal enlik {{ max_width }}px-dir. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video eni çox kiçikdir ({{ width }}px). Gözlənilən minimum en {{ min_width }}px-dir. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video hündürlüyü çox böyükdür ({{ height }}px). İcazə verilən maksimum hündürlük {{ max_height }}px-dir. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Videonun hündürlüyü çox kiçikdir ({{ height }}px). Gözlənilən minimum hündürlük {{ min_height }}px-dir. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoda piksellərin sayı çox azdır ({{ pixels }}). Gözlənilən minimum miqdar {{ min_pixels }}-dir. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoda həddindən artıq piksel var ({{ pixels }}). Gözlənilən maksimum miqdar {{ max_pixels }}-dir. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video nisbəti çox böyükdür ({{ ratio }}). İcazə verilən maksimal nisbət {{ max_ratio }}‑dir. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Video nisbəti çox kiçikdir ({{ ratio }}). Gözlənilən minimal nisbət {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video kvadratdır ({{ width }}x{{ height }}px). Kvadrat videolara icazə verilmir. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video üfiqi istiqamətdədir ({{ width }}x{{ height }} piksel). Üfiqi videolara icazə verilmir. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video portret istiqamətindədir ({{ width }}x{{ height }} piksel). Portret istiqamətli videolara icazə verilmir. - - - The video file is corrupted. - Video faylı zədələnib. - - - The video contains multiple streams. Only one stream is allowed. - Video bir neçə axın ehtiva edir. Yalnız bir axına icazə verilir. - - - Unsupported video codec "{{ codec }}". - Dəstəklənməyən video kodeki "{{ codec }}". - - - Unsupported video container "{{ container }}". - Dəstəklənməyən video konteyneri "{{ container }}". - - - The image file is corrupted. - Şəkil faylı korlanıb. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Şəkildə piksel sayı çox azdır ({{ pixels }}). Gözlənilən minimum miqdar {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Şəkildə çox piksel var ({{ pixels }}). Gözlənilən maksimum say {{ max_pixels }}. - - - This filename does not match the expected charset. - Bu fayl adı gözlənilən simvol dəstinə uyğun gəlmir. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.be.xlf b/app/vendor/symfony/validator/Resources/translations/validators.be.xlf deleted file mode 100644 index 448a2e9e4..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.be.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Значэнне павінна быць Не. - - - This value should be true. - Значэнне павінна быць Так. - - - This value should be of type {{ type }}. - Тып значэння павінен быць {{ type }}. - - - This value should be blank. - Значэнне павінна быць пустым. - - - The value you selected is not a valid choice. - Выбранае вамі значэнне не з’яўляецца сапраўдным. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Вы павінны выбраць хаця б {{ limit }} варыянт.|Вы павінны выбраць хаця б {{ limit }} варыянтаў. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Вы павінны выбраць не больш за {{ limit }} варыянт.|Вы павінны выбраць не больш за {{ limit }} варыянтаў. - - - One or more of the given values is invalid. - Адно або некалькі з зададзеных значэнняў не з’яўляюцца сапраўднымі. - - - This field was not expected. - Гэта поле не чакаецца. - - - This field is missing. - Гэта поле адсутнічае. - - - This value is not a valid date. - Гэта значэнне не з'яўляецца карэктнай датай. - - - This value is not a valid datetime. - Гэта значэнне не з'яўляецца карэктнай датай i часом. - - - This value is not a valid email address. - Гэта значэнне не з'яўляецца карэктным адрасам электроннай пошты. - - - The file could not be found. - Файл не знойдзен. - - - The file is not readable. - Файл не чытаецца. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Файл занадта вялікі ({{ size }} {{ suffix }}). Максімальна дазволены памер {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - MIME-тып файлу некарэкты ({{ type }}). Дазволеныя MIME-тыпы файлу {{ types }}. - - - This value should be {{ limit }} or less. - Значэнне павінна быць {{ limit }} або менш. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Значэнне занадта доўгае. Яно павінна мець не больш за {{ limit }} сімвал.|Значэнне занадта доўгае. Яно павінна мець не больш за {{ limit }} сімвалаў. - - - This value should be {{ limit }} or more. - Значэнне павінна быць не менш за {{ limit }}. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Значэнне занадта кароткае. Яно павінна мець не менш за {{ limit }} сімвал.|Значэнне занадта кароткае. Яно павінна мець не менш за {{ limit }} сімвалаў. - - - This value should not be blank. - Значэнне не павінна быць пустым. - - - This value should not be null. - Значэнне не павінна быць null. - - - This value should be null. - Значэнне павінна быць null. - - - This value is not valid. - Значэнне не з'яўляецца сапраўдным. - - - This value is not a valid time. - Значэнне не з'яўляецца сапраўдным часам. - - - This value is not a valid URL. - Значэнне не з'яўляецца сапраўдным URL-адрасам. - - - The two values should be equal. - Абодва значэнні павінны супадаць. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Файл занадта вялікі. Максімальна дазволены памер {{ limit }} {{ suffix }}. - - - The file is too large. - Файл занадта вялікі. - - - The file could not be uploaded. - Немагчыма запампаваць файл. - - - This value should be a valid number. - Значэнне павінна быць лікам. - - - This file is not a valid image. - Гэты файл не з'яўляецца сапраўднай выявай. - - - This value is not a valid IP address. - Гэта значэнне не з'яўляецца сапраўдным IP-адрасам. - - - This value is not a valid language. - Значэнне не з'яўляецца сапраўднай мовай. - - - This value is not a valid locale. - Значэнне не з'яўляецца сапраўднай лакаллю. - - - This value is not a valid country. - Значэнне не з'яўляецца сапраўднай краінай. - - - This value is already used. - Гэта значэнне ўжо выкарыстоўваецца. - - - The size of the image could not be detected. - Немагчыма вызначыць памер выявы. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Гэта выява занадта вялікая ({{ width }}px). Дазваляецца максімальная шырыня {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Гэта выява занадта маленькая ({{ width }}px). Дазваляецца мінімальная шырыня {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Гэтая выява занадта высокая ({{ height }}px). Дазваляецца максімальная вышыня — {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Гэтая выява занадта нізкая ({{ height }}px). Дазваляецца мінімальная вышыня — {{ min_height }}px. - - - This value should be the user's current password. - Значэнне павінна быць цяперашнім паролем карыстальніка. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Значэнне павінна мець {{ limit }} сімвал.|Значэнне павінна мець {{ limit }} сімвалаў. - - - The file was only partially uploaded. - Файл быў запампаваны толькі часткова. - - - No file was uploaded. - Файл не быў запампаваны. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - У php.ini не была налажана часовая папка, або часовая папка не існуе. - - - Cannot write temporary file to disk. - Немагчыма запісаць часовы файл на дыск. - - - A PHP extension caused the upload to fail. - Пашырэнне PHP выклікала памылку загрузкі. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Калекцыя павінна змяшчаць не менш за {{ limit }} элемент.|Калекцыя павінна змяшчаць не менш за {{ limit }} элементаў. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Калекцыя павінна змяшчаць не больш за {{ limit }} элемент.|Калекцыя павінна змяшчаць не больш за {{ limit }} элементаў. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Калекцыя павінна змяшчаць роўна {{ limit }} элемент.|Калекцыя павінна змяшчаць роўна {{ limit }} элементаў. - - - Invalid card number. - Несапраўдны нумар карты. - - - Unsupported card type or invalid card number. - Тып карты не падтрымліваецца або несапраўдны нумар карты. - - - This value is not a valid International Bank Account Number (IBAN). - Гэта значэнне не з'яўляецца сапраўдным міжнародным нумарам банкаўскага рахунку (IBAN). - - - This value is not a valid ISBN-10. - Гэта значэнне не з'яўляецца сапраўдным ISBN-10. - - - This value is not a valid ISBN-13. - Гэта значэнне не з'яўляецца сапраўдным ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Гэта значэнне не з'яўляецца ні сапраўдным ISBN-10, ні сапраўдным ISBN-13. - - - This value is not a valid ISSN. - Гэта значэнне не з'яўляецца сапраўдным ISSN. - - - This value is not a valid currency. - Гэта значэнне не з'яўляецца сапраўднай валютай. - - - This value should be equal to {{ compared_value }}. - Значэнне павінна раўняцца {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Значэнне павінна быць больш за {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Значэнне павінна быць больш за або роўнае {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Значэнне павінна быць ідэнтычным {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Значэнне павінна быць менш за {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Значэнне павінна быць менш за або роўнае {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Значэнне не павінна раўняцца {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Значэнне не павінна быць ідэнтычным {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Суадносіны бакоў выявы занадта вялікія ({{ ratio }}). Дазваляецца максімальныя суадносіны {{max_ratio}} . - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Суадносіны бакоў выявы занадта малыя ({{ ratio }}). Дазваляецца мінімальныя суадносіны {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Выява квадратная ({{width}}x{{height}}px). Квадратныя выявы не дазволены. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Выява ў альбомнай арыентацыі ({{ width }}x{{ height }}px). Выявы ў альбомнай арыентацыі не дазволены. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Выява ў партрэтнай арыентацыі ({{ width }}x{{ height }}px). Выявы ў партрэтнай арыентацыі не дазволены. - - - An empty file is not allowed. - Пусты файл не дазволены. - - - The host could not be resolved. - Не магчыма вызначыць імя хоста. - - - This value does not match the expected {{ charset }} charset. - Гэта значэнне не супадае з чаканай {{ charset }} кадыроўкай. - - - This value is not a valid Business Identifier Code (BIC). - Гэта значэнне не з'яўляецца сапраўдным кодам ідэнтыфікацыі банка (BIC). - - - Error - Памылка - - - This value is not a valid UUID. - Гэта значэнне не з'яўляецца сапраўдным UUID. - - - This value should be a multiple of {{ compared_value }}. - Значэнне павінна быць кратным {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Банкаўскі ідэнтыфікацыйны код (BIC) не звязан з IBAN {{ iban }}. - - - This value should be valid JSON. - Гэта значэнне павінна быць у фармаце JSON. - - - This collection should contain only unique elements. - Калекцыя павінна змяшчаць толькі ўнікальныя элементы. - - - This value should be positive. - Значэнне павінна быць дадатным. - - - This value should be either positive or zero. - Значэнне павінна быць або дадатным, або роўным нулю. - - - This value should be negative. - Значэнне павінна быць адмоўным. - - - This value should be either negative or zero. - Значэнне павінна быць або адмоўным, або роўным нулю. - - - This value is not a valid timezone. - Значэнне не з'яўляецца сапраўдным гадзінным поясам. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Гэты пароль быў выкрадзены ў выніку ўзлому дадзеных, таму яго нельга выкарыстоўваць. Калі ласка, выкарыстоўвайце іншы пароль. - - - This value should be between {{ min }} and {{ max }}. - Значэнне павінна быць паміж {{min}} і {{max}}. - - - This value is not a valid hostname. - Значэнне не з'яўляецца сапраўднай/карэктнай назвай хоста. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Колькасць элементаў у гэтай калекцыі павінна быць кратнай {{compared_value}}. - - - This value should satisfy at least one of the following constraints: - Значэнне павінна задавальняць як мінімум аднаму з наступных абмежаванняў: - - - Each element of this collection should satisfy its own set of constraints. - Кожны элемент гэтай калекцыі павінен задавальняць свайму ўласнаму набору абмежаванняў. - - - This value is not a valid International Securities Identification Number (ISIN). - Значэнне не з'яўляецца карэктным міжнародным ідэнтыфікацыйным нумарам каштоўных папер (ISIN). - - - This value should be a valid expression. - Значэнне павінна быць сапраўдным выразам. - - - This value is not a valid CSS color. - Значэнне не з'яўляецца дапушчальным колерам CSS. - - - This value is not a valid CIDR notation. - Значэнне не з'яўляецца сапраўднай натацыяй CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Значэнне сеткавай маскі павінна быць ад {{min}} да {{max}}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Назва файла занадта доўгая. Яна павинна мець {{ filename_max_length }} сімвал або менш.|Назва файла занадта доўгая. Яна павінна мець {{ filename_max_length }} сімвалы або менш.|Назва файла занадта доўгая. Яна павінна мець {{ filename_max_length }} сімвалаў або менш. - - - The password strength is too low. Please use a stronger password. - Надзейнасць пароля занадта нізкая. Выкарыстоўвайце больш надзейны пароль. - - - This value contains characters that are not allowed by the current restriction-level. - Гэта значэнне змяшчае сімвалы, якія не дазволены цяперашнім узроўнем абмежаванняў. - - - Using invisible characters is not allowed. - Выкарыстанне нябачных сімвалаў не дазваляецца. - - - Mixing numbers from different scripts is not allowed. - Змешванне лічбаў з розных алфавітаў не дапускаецца. - - - Using hidden overlay characters is not allowed. - Выкарыстанне схаваных накладзеных сімвалаў не дазваляецца. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Пашырэнне файла недапушчальнае ({{ extension }}). Дазволеныя пашырэнні: {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Выяўленая кадзіроўка недапушчальная ({{ detected }}). Дазволеныя кадзіроўкі: {{ encodings }}. - - - This value is not a valid MAC address. - Гэта значэнне не з'яўляецца сапраўдным MAC-адрасам. - - - This URL is missing a top-level domain. - У гэтым URL няма дамена верхняга ўзроўню. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Гэта значэнне занадта кароткае. Яно павінна ўтрымліваць хаця б адно слова.|Гэта значэнне занадта кароткае. Яно павінна ўтрымліваць хаця б {{ min }} слоў. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Гэта значэнне занадта доўгае. Яно павінна ўтрымліваць адно слова.|Гэта значэнне занадта доўгае. Яно павінна ўтрымліваць {{ max }} слоў або менш. - - - This value does not represent a valid week in the ISO 8601 format. - Гэта значэнне не адпавядае сапраўднаму тыдню ў фармаце ISO 8601. - - - This value is not a valid week. - Гэта значэнне не з'яўляецца сапраўдным тыднем. - - - This value should not be before week "{{ min }}". - Гэта значэнне не павінна быць раней за тыдзень "{{ min }}". - - - This value should not be after week "{{ max }}". - Гэта значэнне не павінна быць пасля тыдня "{{ max }}". - - - This value is not a valid Twig template. - Гэта значэнне не з'яўляецца сапраўдным шаблонам Twig. - - - This file is not a valid video. - Гэты файл не з'яўляецца сапраўдным відэа. - - - The size of the video could not be detected. - Не ўдалося вызначыць памер відэа. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Шырыня відэа занадта вялікая ({{ width }}px). Дапушчальная максімальная шырыня — {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Шырыня відэа занадта малая ({{ width }}px). Мінімальная чаканая шырыня — {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Вышыня відэа занадта вялікая ({{ height }}px). Дазволеная максімальная вышыня — {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Вышыня відэа занадта малая ({{ height }}px). Чаканая мінімальная вышыня — {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Відэа мае занадта мала пікселяў ({{ pixels }}). Мінімальная колькасць чакаецца {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Відэа мае занадта шмат пікселяў ({{ pixels }}). Максімальна дапушчальная колькасць — {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Суадносіны відэа занадта вялікія ({{ ratio }}). Дапушчальнае максімальнае суадносіна — {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Суадносіны відэа занадта малыя ({{ ratio }}). Мінімальнае чаканае суадносіна — {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Відэа квадратнае ({{ width }}x{{ height }}px). Квадратныя відэа не дазваляюцца. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Відэа ў ландшафтнай арыентацыі ({{ width }}x{{ height }} px). Ландшафтныя відэа не дазваляюцца. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Відэа ў партрэтнай арыентацыі ({{ width }}x{{ height }}px). Відэа ў партрэтнай арыентацыі не дазваляюцца. - - - The video file is corrupted. - Відэафайл пашкоджаны. - - - The video contains multiple streams. Only one stream is allowed. - Відэа змяшчае некалькі патокаў. Дазволены толькі адзін паток. - - - Unsupported video codec "{{ codec }}". - Непадтрымліваемы відэакодэк «{{ codec }}». - - - Unsupported video container "{{ container }}". - Непадтрымліваемы кантэйнер відэа "{{ container }}". - - - The image file is corrupted. - Файл выявы пашкоджаны. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - У выяве занадта мала пікселяў ({{ pixels }}). Мінімальная колькасць — {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Малюнак мае занадта шмат пікселяў ({{ pixels }}). Максімальная дапушчальная колькасць {{ max_pixels }}. - - - This filename does not match the expected charset. - Гэта назва файла не адпавядае чаканаму набору знакаў. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.bg.xlf b/app/vendor/symfony/validator/Resources/translations/validators.bg.xlf deleted file mode 100644 index 4a58ab381..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.bg.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Стойността трябва да бъде лъжа (false). - - - This value should be true. - Стойността трябва да бъде истина (true). - - - This value should be of type {{ type }}. - Стойността трябва да бъде от тип {{ type }}. - - - This value should be blank. - Стойността трябва да бъде празна. - - - The value you selected is not a valid choice. - Избраната стойност е невалидна. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Трябва да изберете поне {{ limit }} опция.|Трябва да изберете поне {{ limit }} опции. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Трябва да изберете най-много {{ limit }} опция.|Трябва да изберете най-много {{ limit }} опции. - - - One or more of the given values is invalid. - Една или повече от зададените стойности е невалидна. - - - This field was not expected. - Полето не се е очаквало. - - - This field is missing. - Полето липсва. - - - This value is not a valid date. - Стойността не е валидна дата. - - - This value is not a valid datetime. - Стойността не е валидна дата и час. - - - This value is not a valid email address. - Стойността не е валиден имейл адрес. - - - The file could not be found. - Файлът не беше открит. - - - The file is not readable. - Файлът не може да бъде прочетен. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Файлът е твърде голям ({{ size }} {{ suffix }}). Максималният размер е {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mime типът на файла е невалиден ({{ type }}). Разрешени mime типове са {{ types }}. - - - This value should be {{ limit }} or less. - Стойността трябва да бъде {{ limit }} или по-малко. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Стойността е твърде дълга. Трябва да съдържа най-много {{ limit }} символ.|Стойността е твърде дълга. Трябва да съдържа най-много {{ limit }} символа. - - - This value should be {{ limit }} or more. - Стойността трябва да бъде {{ limit }} или повече. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Стойността е твърде кратка. Трябва да съдържа поне {{ limit }} символ.|Стойността е твърде кратка. Трябва да съдържа поне {{ limit }} символа. - - - This value should not be blank. - Стойността не трябва да бъде празна. - - - This value should not be null. - Стойността не трябва да бъде null. - - - This value should be null. - Стойността трябва да бъде null. - - - This value is not valid. - Стойността не е валидна. - - - This value is not a valid time. - Стойността не е валидно време. - - - This value is not a valid URL. - Стойността не е валиден URL. - - - The two values should be equal. - Двете стойности трябва да бъдат равни. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Файлът е твърде голям. Разрешеният максимален размер е {{ limit }} {{ suffix }}. - - - The file is too large. - Файлът е твърде голям. - - - The file could not be uploaded. - Файлът не може да бъде качен. - - - This value should be a valid number. - Стойността трябва да бъде валиден номер. - - - This file is not a valid image. - Файлът не е валидно изображение. - - - This value is not a valid IP address. - Стойността не е валиден IP адрес. - - - This value is not a valid language. - Стойността не е валиден език. - - - This value is not a valid locale. - Стойността не е валидна локализация. - - - This value is not a valid country. - Стойността не е валидна държава. - - - This value is already used. - Стойността вече е в употреба. - - - The size of the image could not be detected. - Размерът на изображението не може да бъде определен. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Изображението е твърде широко ({{ width }}px). Широчината трябва да бъде максимум {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Изображението е с твърде малка широчина ({{ width }}px). Широчината трябва да бъде минимум {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Изображението е с твърде голяма височина ({{ height }}px). Височината трябва да бъде максимум {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Изображението е с твърде малка височина ({{ height }}px). Височина трябва да бъде минимум {{ min_height }}px. - - - This value should be the user's current password. - Стойността трябва да бъде текущата потребителска парола. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Стойността трябва да бъде точно {{ limit }} символ.|Стойността трябва да бъде точно {{ limit }} символа. - - - The file was only partially uploaded. - Файлът е качен частично. - - - No file was uploaded. - Файлът не беше качен. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - В php.ini не е конфигурирана временна директория или конфигурираната директория не съществува. - - - Cannot write temporary file to disk. - Не може да запише временен файл на диска. - - - A PHP extension caused the upload to fail. - PHP разширение предизвика прекъсване на качването. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Колекцията трябва да съдържа поне {{ limit }} елемент.|Колекцията трябва да съдържа поне {{ limit }} елемента. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Колекцията трябва да съдържа най-много {{ limit }} елемент.|Колекцията трябва да съдържа най-много {{ limit }} елемента. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Колекцията трябва да съдържа точно {{ limit }} елемент.|Колекцията трябва да съдържа точно {{ limit }} елемента. - - - Invalid card number. - Невалиден номер на карта. - - - Unsupported card type or invalid card number. - Неподдържан тип карта или невалиден номер на карта. - - - This value is not a valid International Bank Account Number (IBAN). - Стойността не е валиден Международен номер на банкова сметка (IBAN). - - - This value is not a valid ISBN-10. - Стойността не е валиден ISBN-10. - - - This value is not a valid ISBN-13. - Стойността не е валиден ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Стойността не е нито валиден ISBN-10, нито валиден ISBN-13. - - - This value is not a valid ISSN. - Стойността не е валиден ISSN. - - - This value is not a valid currency. - Стойността не е валидна валута. - - - This value should be equal to {{ compared_value }}. - Стойността трябва да бъде равна на {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Стойността трябва да бъде по-голяма от {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Стойността трябва да бъде по-голяма или равна на {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Стойността трябва да бъде идентична с {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Стойността трябва да бъде по-малка {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Стойността трябва да бъде по-малка или равна на {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Стойността не трябва да бъде равна на {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Стойността не трябва да бъде идентична с {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Изображението е с твърде голяма пропорция ({{ ratio }}). Максималната пропорция трябва да е {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Изображението е с твърде малка пропорция ({{ ratio }}). Минималната пропорция трябва да е {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Изображението е квадрат ({{ width }}x{{ height }}px). Такива изображения не са разрешени. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Изображението е с пейзажна ориентация ({{ width }}x{{ height }}px). Изображения с такава ориентация не са разрешени. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Изображението е с портретна ориентация ({{ width }}x{{ height }}px). Изображения с такава ориентация не са разрешени. - - - An empty file is not allowed. - Празни файлове не са разрешени. - - - The host could not be resolved. - Хостът е недостъпен. - - - This value does not match the expected {{ charset }} charset. - Стойността не съвпада с очакваната {{ charset }} кодировка. - - - This value is not a valid Business Identifier Code (BIC). - Стойността не е валиден Бизнес идентификационен код (BIC). - - - Error - Грешка - - - This value is not a valid UUID. - Стойността не е валиден UUID. - - - This value should be a multiple of {{ compared_value }}. - Стойността трябва да бъде кратно число на {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Бизнес идентификационният код (BIC) не е свързан с IBAN {{ iban }}. - - - This value should be valid JSON. - Стойността трябва да е валиден JSON. - - - This collection should contain only unique elements. - Колекцията трябва да съдържа само уникални елементи. - - - This value should be positive. - Стойността трябва да бъде положително число. - - - This value should be either positive or zero. - Стойността трябва бъде положително число или нула. - - - This value should be negative. - Стойността трябва да бъде отрицателно число. - - - This value should be either negative or zero. - Стойността трябва да бъде отрицателно число или нула. - - - This value is not a valid timezone. - Стойността не е валидна часова зона. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Тази парола е компрометирана, не може да бъде използвана. Моля използвайте друга парола. - - - This value should be between {{ min }} and {{ max }}. - Стойността трябва да бъде между {{ min }} и {{ max }}. - - - This value is not a valid hostname. - Стойността не е валиден hostname. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Броят на елементите в тази колекция трябва да бъде кратен на {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Стойността трябва да отговаря на поне едно от следните ограничения: - - - Each element of this collection should satisfy its own set of constraints. - Всеки елемент от тази колекция трябва да отговаря на собствения си набор от ограничения. - - - This value is not a valid International Securities Identification Number (ISIN). - Стойността не е валиден Международен идентификационен номер на ценни книжа (ISIN). - - - This value should be a valid expression. - Стойността трябва да бъде валиден израз. - - - This value is not a valid CSS color. - Стойността не е валиден CSS цвят. - - - This value is not a valid CIDR notation. - Стойността не е валидна CIDR нотация. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Стойността на мрежовата маска трябва да бъде между {{ min }} и {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Името на файла е твърде дълго. Трябва да съдържа не повече от {{ filename_max_length }} символ.|Името на файла е твърде дълго. Трябва да съдържа не повече от {{ filename_max_length }} символа. - - - The password strength is too low. Please use a stronger password. - Сложността на паролата е твърде малка. Моля използвайте по-сложна парола. - - - This value contains characters that are not allowed by the current restriction-level. - Стойността съдържа символи, които не са позволени от текущото ниво на ограничение. - - - Using invisible characters is not allowed. - Използването на невидими символи не е позволено. - - - Mixing numbers from different scripts is not allowed. - Смесването на числа от различни скриптове не е позволено. - - - Using hidden overlay characters is not allowed. - Използването на скрити насложени символи не е позволено. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Разширението на файла е невалидно ({{ extension }}). Разрешените разширения са {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Откритото кодиране на знаците е невалидно ({{ detected }}). Разрешените кодирания са {{ encodings }}. - - - This value is not a valid MAC address. - Стойността не е валиден MAC адрес. - - - This URL is missing a top-level domain. - На този URL липсва домейн от най-високо ниво. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Стойността е твърде кратка. Трябва да съдържа поне една дума.|Стойността е твърде кратка. Трябва да съдържа поне {{ min }} думи. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Стойността е твърде дълга. Трябва да съдържа само една дума.|Стойността е твърде дълга. Трябва да съдържа {{ max }} думи или по-малко. - - - This value does not represent a valid week in the ISO 8601 format. - Тази стойност не представлява валидна седмица във формат ISO 8601. - - - This value is not a valid week. - Тази стойност не е валидна седмица. - - - This value should not be before week "{{ min }}". - Стойността не трябва да бъде преди седмица "{{ min }}". - - - This value should not be after week "{{ max }}". - Тази стойност не трябва да бъде след седмица "{{ max }}". - - - This value is not a valid Twig template. - Тази стойност не е валиден Twig шаблон. - - - This file is not a valid video. - Този файл не е валидно видео. - - - The size of the video could not be detected. - Размерът на видеото не може да бъде установен. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширината на видеото е твърде голяма ({{ width }}px). Допустимата максимална ширина е {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширината на видеото е твърде малка ({{ width }}px). Минималната изисквана ширина е {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Височината на видеото е твърде голяма ({{ height }}px). Максимално допустимата височина е {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Височината на видеото е твърде малка ({{ height }}px). Очакваната минимална височина е {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Видеото има твърде малко пиксели ({{ pixels }}). Минимално изискуемото количество е {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Видеото има твърде много пиксели ({{ pixels }}). Максималният допустим брой е {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Съотношението на видеото е твърде голямо ({{ ratio }}). Позволеното максимално съотношение е {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Съотношението на видеото е твърде малко ({{ ratio }}). Минималното очаквано съотношение е {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Видеото е квадратно ({{ width }}x{{ height }}px). Квадратни видеа не са позволени. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Видеото е в хоризонтална ориентация ({{ width }}x{{ height }}px). Хоризонтални видеа не са позволени. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Видеото е с портретна ориентация ({{ width }}x{{ height }}px). Видеа с портретна ориентация не са позволени. - - - The video file is corrupted. - Видеофайлът е повреден. - - - The video contains multiple streams. Only one stream is allowed. - Видеото съдържа множество потоци. Разрешен е само един поток. - - - Unsupported video codec "{{ codec }}". - Неподдържан видео кодек „{{ codec }}“. - - - Unsupported video container "{{ container }}". - Неподдържан видео контейнер "{{ container }}". - - - The image file is corrupted. - Файлът с изображение е повреден. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Изображението има твърде малко пиксели ({{ pixels }}). Минималният изискуем брой е {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Изображението има твърде много пиксели ({{ pixels }}). Максималният допустим брой е {{ max_pixels }}. - - - This filename does not match the expected charset. - Името на файла не съответства на очаквания набор от знаци. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.bs.xlf b/app/vendor/symfony/validator/Resources/translations/validators.bs.xlf deleted file mode 100644 index 43a118e08..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.bs.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Ova vrijednost bi trebalo da bude "netačno" (false). - - - This value should be true. - Ova vrijednost bi trebalo da bude "tačno" (true). - - - This value should be of type {{ type }}. - Ova vrijednost bi trebalo da bude tipa {{ type }}. - - - This value should be blank. - Ova vrijednost bi trebalo da bude prazna. - - - The value you selected is not a valid choice. - Odabrana vrijednost nije validan izbor. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Morate odabrati barem {{ limit }} mogućnost.|Morate odabrati barem {{ limit }} mogućnosti.|Morate odabrati barem {{ limit }} mogućnosti. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Morate odabrati najviše {{ limit }} mogućnost.|Morate odabrati najviše {{ limit }} mogućnosti.|Morate odabrati najviše {{ limit }} mogućnosti. - - - One or more of the given values is invalid. - Jedna ili više datih vrijednosti nisu validne. - - - This field was not expected. - Ovo polje nije očekivano. - - - This field is missing. - Ovo polje nedostaje. - - - This value is not a valid date. - Ova vrijednost nije ispravan datum. - - - This value is not a valid datetime. - Ova vrijednost nije ispravnog datum-vrijeme (datetime) formata. - - - This value is not a valid email address. - Ova vrijednost nije ispravna e-mail adresa. - - - The file could not be found. - Ova datoteka ne može biti pronađena. - - - The file is not readable. - Ova datoteka nije čitljiva. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Ova datoteka je prevelika ({{ size }} {{ suffix }}). Najveća dozvoljena veličina je {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mime tip datoteke nije ispravan ({{ type }}). Dozvoljeni mime tipovi su {{ types }}. - - - This value should be {{ limit }} or less. - Ova vrijednost bi trebalo da bude {{ limit }} ili manje. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Ova vrijednost je predugačka. Trebalo bi da ima {{ limit }} karakter ili manje.|Ova vrijednost je predugačka. Trebalo bi da ima {{ limit }} karaktera ili manje.|Ova vrijednost je predugačka. Trebalo bi da ima {{ limit }} karaktera ili manje. - - - This value should be {{ limit }} or more. - Ova vrijednost bi trebalo da bude {{ limit }} ili više. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Ova vrijednost je prekratka. Trebalo bi da ima {{ limit }} karakter ili više.|Ova vrijednost je prekratka. Trebalo bi da ima {{ limit }} karaktera ili više.|Ova vrijednost je prekratka. Trebalo bi da ima {{ limit }} karaktera ili više. - - - This value should not be blank. - Ova vrijednost ne bi trebalo da bude prazna. - - - This value should not be null. - Ova vrijednost ne bi trebalo da bude null. - - - This value should be null. - Ova vrijednost bi trebalo da bude null. - - - This value is not valid. - Ova vrijednost nije ispravna. - - - This value is not a valid time. - Ova vrijednost nije ispravno vrijeme. - - - This value is not a valid URL. - Ova vrijednost nije ispravan URL. - - - The two values should be equal. - Obje vrijednosti bi trebalo da budu jednake. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Ova datoteka je prevelika. Najveća dozvoljena veličina je {{ limit }} {{ suffix }}. - - - The file is too large. - Ova datoteka je prevelika. - - - The file could not be uploaded. - Ova datoteka ne može biti prenijeta (uploaded). - - - This value should be a valid number. - Ova vrijednost bi trebalo da bude ispravan broj. - - - This file is not a valid image. - Ova datoteka nije validna slika. - - - This value is not a valid IP address. - Ova vrijednost nije valjana IP adresa. - - - This value is not a valid language. - Ova vrijednost nije validan jezik. - - - This value is not a valid locale. - Ova vrijednost nije validna regionalna oznaka. - - - This value is not a valid country. - Ova vrijednost nije validna država. - - - This value is already used. - Ova vrijednost je već upotrebljena. - - - The size of the image could not be detected. - Nije moguće otkriti veličinu ove slike. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina slike je prevelika ({{ width }}px). Najveća dozvoljena širina je {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina slike je premala ({{ width }}px). Najmanja dozvoljena širina je {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Dužina slike je prevelika ({{ height }}px). Najveća dozvoljena dužina je {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Dužina slike je premala ({{ height }}px). Najmanja dozvoljena dužina je {{ min_height }}px. - - - This value should be the user's current password. - Ova vrijednost bi trebalo da bude trenutna korisnička lozinka. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Ova vrijednost bi trebalo da ima tačno {{ limit }} karakter.|Ova vrijednost bi trebalo da ima tačno {{ limit }} karaktera. - - - The file was only partially uploaded. - Datoteka je samo djelimično prenijeta (uploaded). - - - No file was uploaded. - Nijedna datoteka nije prenijeta (uploaded). - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Privremeni direktorij nije konfiguriran u php.ini, ili konfigurirani direktorij ne postoji. - - - Cannot write temporary file to disk. - Privremenu datoteku nije moguće upisati na disk. - - - A PHP extension caused the upload to fail. - Prenos datoteke nije uspio zbog PHP ekstenzije. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ova kolekcija bi trebalo da sadrži {{ limit }} ili više elemenata.|Ova kolekcija bi trebalo da sadrži {{ limit }} ili više elemenata.|Ova kolekcija bi trebalo da sadrži {{ limit }} ili više elemenata. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ova kolekcija bi trebalo da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija bi trebalo da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija bi trebalo da sadrži {{ limit }} ili manje elemenata. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ova kolekcija bi trebalo da sadrži tačno {{ limit }} element.|Ova kolekcija bi trebalo da sadrži tačno {{ limit }} elementa.|Ova kolekcija bi trebalo da sadrži tačno {{ limit }} elemenata. - - - Invalid card number. - Broj kartice je neispravan. - - - Unsupported card type or invalid card number. - Tip kartice nije podržan ili je broj kartice neispravan. - - - This value is not a valid International Bank Account Number (IBAN). - Ova vrijednost nije valjan Međunarodni broj bankovnog računa (IBAN). - - - This value is not a valid ISBN-10. - Ova vrijednost nije ispravan ISBN-10. - - - This value is not a valid ISBN-13. - Ova vrijednost nije ispravan ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ova vrijednost nije ispravan ISBN-10 niti ISBN-13. - - - This value is not a valid ISSN. - Ova vrijednost nije ispravan ISSN. - - - This value is not a valid currency. - Ova vrijednost nije ispravna valuta. - - - This value should be equal to {{ compared_value }}. - Ova vrijednost bi trebalo da bude jednaka {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ova vrijednost bi trebalo da bude veća od {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ova vrijednost bi trebalo da bude jednaka ili veća od {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ova vrijednost bi trebalo da bude identična {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ova vrijednost bi trebalo da bude manja od {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ova vrijednost bi trebalo da bude jednaka ili manja od {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ova vrijednost bi trebalo da bude različita od {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ova vrijednost bi trebalo da bude identična sa {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Razmjera ove slike je prevelika ({{ ratio }}). Maksimalna dozvoljena razmjera je {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Razmjera ove slike je premala ({{ ratio }}). Minimalna očekivana razmjera je {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Ova slika je kvadratnog oblika ({{ width }}x{{ height }}px). Kvadratne slike nisu dozvoljene. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Ova slika je orijentisana horizontalno (landscape) ({{ width }}x{{ height }}px). Horizontalno orijentisane slike nisu dozvoljene. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Ova slika je orijentisana vertikalno (portrait) ({{ width }}x{{ height }}px). Vertikalno orijentisane slike nisu dozvoljene. - - - An empty file is not allowed. - Prazna datoteka nije dozvoljena. - - - The host could not be resolved. - Nije moguće odrediti poslužitelja (host). - - - This value does not match the expected {{ charset }} charset. - Ova vrijednost ne odgovara očekivanom {{ charset }} setu karaktera (charset). - - - This value is not a valid Business Identifier Code (BIC). - Ova vrijednost nije valjan Poslovni identifikacijski kod (BIC). - - - Error - Greška - - - This value is not a valid UUID. - Ova vrijednost nije valjan UUID. - - - This value should be a multiple of {{ compared_value }}. - Ova vrijednost bi trebalo da bude djeljiva sa {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ovaj poslovni identifikacioni kod (BIC) nije povezan sa IBAN-om {{ iban }}. - - - This value should be valid JSON. - Ova vrijednost bi trebalo da bude validan JSON. - - - This collection should contain only unique elements. - Ova kolekcija bi trebala da sadrži samo jedinstvene elemente. - - - This value should be positive. - Ova vrijednost bi trebalo da bude pozitivna. - - - This value should be either positive or zero. - Ova vrijednost bi trebalo da bude pozitivna ili jednaka nuli. - - - This value should be negative. - Ova vrijednost bi trebalo da bude negativna. - - - This value should be either negative or zero. - Ova vrijednost bi trebalo da bude negativna ili jednaka nuli. - - - This value is not a valid timezone. - Ova vrijednost nije validna vremenska zona. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Ova lozinka je procurila u nekom od slučajeva kompromitovanja podataka, nemojte je koristiti. Koristite drugu lozinku. - - - This value should be between {{ min }} and {{ max }}. - Ova vrijednosti bi trebala biti između {{ min }} i {{ max }}. - - - This value is not a valid hostname. - Ova vrijednost nije ispravno ime poslužitelja (hostname). - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Broj elemenata u ovoj kolekciji bi trebalo da bude djeljiv sa {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Ova vrijednost bi trebalo da zadovoljava namjanje jedno od narednih ograničenja: - - - Each element of this collection should satisfy its own set of constraints. - Svaki element ove kolekcije bi trebalo da zadovolji sopstveni skup ograničenja. - - - This value is not a valid International Securities Identification Number (ISIN). - Ova vrijednost nije ispravna međunarodna identifikaciona oznaka hartija od vrijednosti (ISIN). - - - This value should be a valid expression. - Ova vrijednost bi trebala biti važeći izraz. - - - This value is not a valid CSS color. - Ova vrijednost nije važeća CSS boja. - - - This value is not a valid CIDR notation. - Ova vrijednost nije važeća CIDR notacija. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Vrijednost NetMask bi trebala biti između {{min}} i {{max}}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Ime datoteke je predugačko. Trebao bi imati {{ filename_max_length }} znak ili manje.|Naziv fajla je predugačak. Trebao bi imati {{ filename_max_length }} znakova ili manje. - - - The password strength is too low. Please use a stronger password. - Jačina lozinke je preniska. Molimo koristite jaču lozinku. - - - This value contains characters that are not allowed by the current restriction-level. - Ova vrijednost sadrži znakove koji nisu dozvoljeni trenutnim nivoom ograničenja. - - - Using invisible characters is not allowed. - Upotreba nevidljivih znakova nije dozvoljena. - - - Mixing numbers from different scripts is not allowed. - Nije dozvoljeno miješanje brojeva iz različitih pisama. - - - Using hidden overlay characters is not allowed. - Upotreba skrivenih preklapajućih znakova nije dozvoljena. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Ekstenzija datoteke je nevažeća ({{ extension }}). Dozvoljene ekstenzije su {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Otkriveno kodiranje karaktera je nevažeće ({{ detected }}). Dozvoljena kodiranja su {{ encodings }}. - - - This value is not a valid MAC address. - Ova vrijednost nije valjana MAC adresa. - - - This URL is missing a top-level domain. - Ovom URL-u nedostaje domena najvišeg nivoa. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Ova vrijednost je prekratka. Trebala bi sadržavati barem jednu riječ.|Ova vrijednost je prekratka. Trebala bi sadržavati barem {{ min }} riječi. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Ova vrijednost je predugačka. Trebala bi sadržavati samo jednu riječ.|Ova vrijednost je predugačka. Trebala bi sadržavati {{ max }} riječi ili manje. - - - This value does not represent a valid week in the ISO 8601 format. - Ova vrijednost ne predstavlja valjani tjedan u ISO 8601 formatu. - - - This value is not a valid week. - Ova vrijednost nije važeća sedmica. - - - This value should not be before week "{{ min }}". - Ova vrijednost ne smije biti prije tjedna "{{ min }}". - - - This value should not be after week "{{ max }}". - Ova vrijednost ne bi trebala biti nakon sedmice "{{ max }}". - - - This value is not a valid Twig template. - Ova vrijednost nije važeći Twig šablon. - - - This file is not a valid video. - Ova datoteka nije važeći video. - - - The size of the video could not be detected. - Veličina videa nije mogla biti utvrđena. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina videa je prevelika ({{ width }}px). Dozvoljena maksimalna širina je {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina videa je premala ({{ width }}px). Minimalna očekivana širina je {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Visina videa je prevelika ({{ height }}px). Dozvoljena maksimalna visina je {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Visina videa je premala ({{ height }}px). Očekivana minimalna visina je {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video ima premalo piksela ({{ pixels }}). Očekivana minimalna količina je {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video ima previše piksela ({{ pixels }}). Očekivana maksimalna količina je {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Omjer videa je prevelik ({{ ratio }}). Dozvoljeni maksimalni omjer je {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Omjer videa je premali ({{ ratio }}). Minimalni očekivani omjer je {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video je kvadratan ({{ width }}x{{ height }}px). Kvadratni video zapisi nisu dozvoljeni. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video je vodoravne orijentacije ({{ width }}x{{ height }} px). Vodoravni video zapisi nisu dozvoljeni. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video je uspravno orijentisan ({{ width }}x{{ height }}px). Video zapisi uspravne orijentacije nisu dozvoljeni. - - - The video file is corrupted. - Video datoteka je oštećena. - - - The video contains multiple streams. Only one stream is allowed. - Video sadrži više tokova. Dozvoljen je samo jedan tok. - - - Unsupported video codec "{{ codec }}". - Nepodržani video kodek "{{ codec }}". - - - Unsupported video container "{{ container }}". - Nepodržani video kontejner "{{ container }}". - - - The image file is corrupted. - Datoteka slike je oštećena. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Slika ima premalo piksela ({{ pixels }}). Očekivani minimalni broj je {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Slika ima previše piksela ({{ pixels }}). Očekivani maksimalni broj je {{ max_pixels }}. - - - This filename does not match the expected charset. - Naziv ove datoteke ne odgovara očekivanom skupu znakova. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.ca.xlf b/app/vendor/symfony/validator/Resources/translations/validators.ca.xlf deleted file mode 100644 index e78fd8724..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.ca.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Aquest valor hauria de ser fals. - - - This value should be true. - Aquest valor hauria de ser cert. - - - This value should be of type {{ type }}. - Aquest valor hauria de ser del tipus {{ type }}. - - - This value should be blank. - Aquest valor hauria d'estar buit. - - - The value you selected is not a valid choice. - El valor seleccionat no és una opció vàlida. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Ha de seleccionar almenys {{ limit }} opció.|Ha de seleccionar almenys {{ limit }} opcions. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Ha de seleccionar com a màxim {{ limit }} opció.|Ha de seleccionar com a màxim {{ limit }} opcions. - - - One or more of the given values is invalid. - Un o més dels valors facilitats són incorrectes. - - - This field was not expected. - Aquest camp no s'esperava. - - - This field is missing. - Aquest camp està desaparegut. - - - This value is not a valid date. - Aquest valor no és una data vàlida. - - - This value is not a valid datetime. - Aquest valor no és una data i hora vàlida. - - - This value is not a valid email address. - Aquest valor no és una adreça d'email vàlida. - - - The file could not be found. - No s'ha pogut trobar l'arxiu. - - - The file is not readable. - No es pot llegir l'arxiu. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - L'arxiu és massa gran ({{ size }} {{ suffix }}). La grandària màxima permesa és {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - El tipus mime de l'arxiu no és vàlid ({{ type }}). Els tipus mime vàlids són {{ types }}. - - - This value should be {{ limit }} or less. - Aquest valor hauria de ser {{ limit }} o menys. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Aquest valor és massa llarg. Hauria de tenir {{ limit }} caràcter o menys.|Aquest valor és massa llarg. Hauria de tenir {{ limit }} caràcters o menys. - - - This value should be {{ limit }} or more. - Aquest valor hauria de ser {{ limit }} o més. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Aquest valor és massa curt. Hauria de tenir {{ limit }} caràcters o més. - - - This value should not be blank. - Aquest valor no hauria d'estar buit. - - - This value should not be null. - Aquest valor no hauria de ser null. - - - This value should be null. - Aquest valor hauria de ser null. - - - This value is not valid. - Aquest valor no és vàlid. - - - This value is not a valid time. - Aquest valor no és una hora vàlida. - - - This value is not a valid URL. - Aquest valor no és un URL vàlid. - - - The two values should be equal. - Els dos valors haurien de ser iguals. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - L'arxiu és massa gran. La mida màxima permesa és {{ limit }} {{ suffix }}. - - - The file is too large. - L'arxiu és massa gran. - - - The file could not be uploaded. - No es pot pujar l'arxiu. - - - This value should be a valid number. - Aquest valor hauria de ser un nombre vàlid. - - - This file is not a valid image. - L'arxiu no és una imatge vàlida. - - - This value is not a valid IP address. - Aquest valor no és una adreça IP vàlida. - - - This value is not a valid language. - Aquest valor no és un idioma vàlid. - - - This value is not a valid locale. - Aquest valor no és una localització vàlida. - - - This value is not a valid country. - Aquest valor no és un país vàlid. - - - This value is already used. - Aquest valor ja s'ha utilitzat. - - - The size of the image could not be detected. - No s'ha pogut determinar la grandària de la imatge. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - L'amplària de la imatge és massa gran ({{ width }}px). L'amplària màxima permesa és {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - L'amplària de la imatge és massa petita ({{ width }}px). L'amplària mínima requerida és {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - L'altura de la imatge és massa gran ({{ height }}px). L'altura màxima permesa és {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - L'altura de la imatge és massa petita ({{ height }}px). L'altura mínima requerida és {{ min_height }}px. - - - This value should be the user's current password. - Aquest valor hauria de ser la contrasenya actual de l'usuari. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Aquest valor hauria de tenir exactament {{ limit }} caràcter.|Aquest valor hauria de tenir exactament {{ limit }} caràcters. - - - The file was only partially uploaded. - L'arxiu va ser només pujat parcialment. - - - No file was uploaded. - Cap arxiu va ser pujat. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - No s'ha configurat cap carpeta temporal en php.ini, o la carpeta configurada no existeix. - - - Cannot write temporary file to disk. - No es va poder escriure l'arxiu temporal en el disc. - - - A PHP extension caused the upload to fail. - Una extensió de PHP va fer que la pujada fallarà. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Aquesta col·lecció ha de contenir {{ limit }} element o més.|Aquesta col·lecció ha de contenir {{ limit }} elements o més. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Aquesta col·lecció ha de contenir {{ limit }} element o menys.|Aquesta col·lecció ha de contenir {{ limit }} elements o menys. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Aquesta col·lecció ha de contenir exactament {{ limit }} element.|Aquesta col·lecció ha de contenir exactament {{ limit }} elements. - - - Invalid card number. - Número de targeta invàlid. - - - Unsupported card type or invalid card number. - Tipus de targeta no suportada o número de targeta invàlid. - - - This value is not a valid International Bank Account Number (IBAN). - Aquest valor no és un Número de Compte Bancari Internacional (IBAN) vàlid. - - - This value is not a valid ISBN-10. - Aquest valor no és un ISBN-10 vàlid. - - - This value is not a valid ISBN-13. - Aquest valor no és un ISBN-13 vàlid. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Aquest valor no és ni un ISBN-10 vàlid ni un ISBN-13 vàlid. - - - This value is not a valid ISSN. - Aquest valor no és un ISSN vàlid. - - - This value is not a valid currency. - Aquest valor no és una divisa vàlida. - - - This value should be equal to {{ compared_value }}. - Aquest valor hauria de ser igual a {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Aquest valor hauria de ser més gran a {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Aquest valor hauria de ser major o igual a {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Aquest valor hauria de ser idèntic a {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Aquest valor hauria de ser menor a {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Aquest valor hauria de ser menor o igual a {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Aquest valor no hauria de ser igual a {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Aquest valor no hauria de ser idèntic a {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - La proporció de la imatge és massa gran ({{ ratio }}). La màxima proporció permesa és {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - La proporció de la imatge és massa petita ({{ ratio }}). La mínima proporció permesa és {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - La imatge és quadrada({{ width }}x{{ height }}px). Les imatges quadrades no estan permeses. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - La imatge està orientada horitzontalment ({{ width }}x{{ height }}px). Les imatges orientades horitzontalment no estan permeses. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - La imatge està orientada verticalment ({{ width }}x{{ height }}px). Les imatges orientades verticalment no estan permeses. - - - An empty file is not allowed. - No està permès un fitxer buit. - - - The host could not be resolved. - No s'ha pogut resoldre l'amfitrió. - - - This value does not match the expected {{ charset }} charset. - Aquest valor no coincideix amb l'esperat {{ charset }} joc de caràcters. - - - This value is not a valid Business Identifier Code (BIC). - Aquest valor no és un Codi d'identificació bancari (BIC) vàlid. - - - Error - Error - - - This value is not a valid UUID. - Aquest valor no és un UUID vàlid. - - - This value should be a multiple of {{ compared_value }}. - Aquest valor ha de ser múltiple de {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Aquest Codi d'identificació bancari (BIC) no està associat amb l'IBAN {{ iban }}. - - - This value should be valid JSON. - Aquest valor hauria de ser un JSON vàlid. - - - This collection should contain only unique elements. - Aquesta col·lecció només hauria de contenir elements únics. - - - This value should be positive. - Aquest valor hauria de ser positiu. - - - This value should be either positive or zero. - Aquest valor ha de ser positiu o zero. - - - This value should be negative. - Aquest valor ha de ser negatiu. - - - This value should be either negative or zero. - Aquest valor ha de ser negatiu o zero. - - - This value is not a valid timezone. - Aquest valor no és una zona horària vàlida. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Aquesta contrasenya s'ha filtrat en cas de violació de dades, no s'ha d'utilitzar. Utilitzeu una altra contrasenya. - - - This value should be between {{ min }} and {{ max }}. - Aquest valor ha d'estar entre {{ min }} i {{ max }}. - - - This value is not a valid hostname. - Aquest valor no és un nom d'amfitrió vàlid. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - El nombre d'elements d'aquesta col·lecció ha de ser múltiple de {{compared_value}}. - - - This value should satisfy at least one of the following constraints: - Aquest valor ha de satisfer almenys una de les restriccions següents: - - - Each element of this collection should satisfy its own set of constraints. - Cada element d'aquesta col·lecció hauria de satisfer el seu propi conjunt de restriccions. - - - This value is not a valid International Securities Identification Number (ISIN). - Aquest valor no és un número d'identificació de valors internacionals (ISIN) vàlid. - - - This value should be a valid expression. - Aquest valor hauria de ser una expressió vàlida. - - - This value is not a valid CSS color. - Aquest valor no és un color CSS vàlid. - - - This value is not a valid CIDR notation. - Aquest valor no és una notació CIDR vàlida. - - - The value of the netmask should be between {{ min }} and {{ max }}. - El valor de la màscara de xarxa hauria d'estar entre {{ min }} i {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - El nom del fitxer és massa llarg. Ha de tenir {{ filename_max_length }} caràcter o menys.|El nom del fitxer és massa llarg. Ha de tenir {{ filename_max_length }} caràcters o menys. - - - The password strength is too low. Please use a stronger password. - La contrasenya és massa feble. Si us plau, feu servir una contrasenya més segura. - - - This value contains characters that are not allowed by the current restriction-level. - Aquest valor conté caràcters que no estan permisos segons el nivell de restricció actual. - - - Using invisible characters is not allowed. - No es permet l'ús de caràcters invisibles. - - - Mixing numbers from different scripts is not allowed. - No es permet barrejar números de diferents scripts. - - - Using hidden overlay characters is not allowed. - No es permet l'ús de caràcters superposats ocults. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - L'extensió del fitxer no és vàlida ({{ extension }}). Les extensions permeses són {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - S'ha detectat que la codificació de caràcters no és vàlida ({{ detected }}). Les codificacions permeses són {{ encodings }}. - - - This value is not a valid MAC address. - Aquest valor no és una adreça MAC vàlida. - - - This URL is missing a top-level domain. - Aquesta URL no conté un domini de primer nivell. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Aquest valor és massa curt. Ha de contenir almenys una paraula.|Aquest valor és massa curt. Ha de contenir almenys {{ min }} paraules. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Aquest valor és massa llarg. Ha de contenir una paraula.|Aquest valor és massa llarg. Ha de contenir {{ max }} paraules o menys. - - - This value does not represent a valid week in the ISO 8601 format. - Aquest valor no representa una setmana vàlida en el format ISO 8601. - - - This value is not a valid week. - Aquest valor no és una setmana vàlida. - - - This value should not be before week "{{ min }}". - Aquest valor no ha de ser anterior a la setmana "{{ min }}". - - - This value should not be after week "{{ max }}". - Aquest valor no ha de ser posterior a la setmana "{{ max }}". - - - This value is not a valid Twig template. - Aquest valor no és una plantilla Twig vàlida. - - - This file is not a valid video. - Aquest fitxer no és un vídeo vàlid. - - - The size of the video could not be detected. - No s'ha pogut detectar la mida del vídeo. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - L'amplada del vídeo és massa gran ({{ width }}px). L'amplada màxima permesa és {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - L'amplada del vídeo és massa petita ({{ width }}px). L'amplada mínima esperada és {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - L'altura del vídeo és massa gran ({{ height }}px). L'altura màxima permesa és {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - L'altura del vídeo és massa petita ({{ height }}px). L'altura mínima esperada és {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - El vídeo no té suficients píxels ({{ pixels }}). La quantitat mínima esperada és {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - El vídeo té massa píxels ({{ pixels }}). La quantitat màxima prevista és {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - La relació del vídeo és massa gran ({{ ratio }}). La relació màxima permesa és {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - La relació del vídeo és massa petita ({{ ratio }}). La relació mínima esperada és {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - El vídeo és quadrat ({{ width }}x{{ height }}px). No es permeten vídeos quadrats. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - El vídeo té orientació horitzontal ({{ width }}x{{ height }} px). No es permeten vídeos horitzontals. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - El vídeo és en orientació vertical ({{ width }}x{{ height }} px). No es permeten vídeos en orientació vertical. - - - The video file is corrupted. - El fitxer de vídeo està espatllat. - - - The video contains multiple streams. Only one stream is allowed. - El vídeo conté diversos fluxos. Només es permet un sol flux. - - - Unsupported video codec "{{ codec }}". - Còdec de vídeo incompatible «{{ codec }}». - - - Unsupported video container "{{ container }}". - Contenidor de vídeo incompatible "{{ container }}". - - - The image file is corrupted. - El fitxer d'imatge està espatllat. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - La imatge no té suficients píxels ({{ pixels }}). La quantitat mínima esperada és {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - La imatge té massa píxels ({{ pixels }}). El nombre màxim esperat és {{ max_pixels }}. - - - This filename does not match the expected charset. - Aquest nom de fitxer no coincideix amb el charset esperat. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.cs.xlf b/app/vendor/symfony/validator/Resources/translations/validators.cs.xlf deleted file mode 100644 index 11a8cbab8..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.cs.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Tato hodnota musí být nepravdivá (false). - - - This value should be true. - Tato hodnota musí být pravdivá (true). - - - This value should be of type {{ type }}. - Tato hodnota musí být typu {{ type }}. - - - This value should be blank. - Tato hodnota musí být prázdná. - - - The value you selected is not a valid choice. - Vybraná hodnota není platnou možností. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Musí být vybrána nejméně {{ limit }} možnost.|Musí být vybrány nejméně {{ limit }} možnosti.|Musí být vybráno nejméně {{ limit }} možností. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Musí být vybrána maximálně {{ limit }} možnost.|Musí být vybrány maximálně {{ limit }} možnosti.|Musí být vybráno maximálně {{ limit }} možností. - - - One or more of the given values is invalid. - Některé z uvedených hodnot jsou neplatné. - - - This field was not expected. - Toto pole nebylo očekáváno. - - - This field is missing. - Toto pole chybí. - - - This value is not a valid date. - Tato hodnota není platné datum. - - - This value is not a valid datetime. - Tato hodnota není platné datum s časovým údajem. - - - This value is not a valid email address. - Tato hodnota není platná e-mailová adresa. - - - The file could not be found. - Soubor nebyl nalezen. - - - The file is not readable. - Soubor je nečitelný. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Soubor je příliš velký ({{ size }} {{ suffix }}). Maximální povolená velikost souboru je {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Neplatný mime typ souboru ({{ type }}). Povolené mime typy souborů jsou {{ types }}. - - - This value should be {{ limit }} or less. - Tato hodnota musí být {{ limit }} nebo méně. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Tato hodnota je příliš dlouhá. Musí obsahovat maximálně {{ limit }} znak.|Tato hodnota je příliš dlouhá. Musí obsahovat maximálně {{ limit }} znaky.|Tato hodnota je příliš dlouhá. Musí obsahovat maximálně {{ limit }} znaků. - - - This value should be {{ limit }} or more. - Tato hodnota musí být {{ limit }} nebo více. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Tato hodnota je příliš krátká. Musí obsahovat minimálně {{ limit }} znak.|Tato hodnota je příliš krátká. Musí obsahovat minimálně {{ limit }} znaky.|Tato hodnota je příliš krátká. Musí obsahovat minimálně {{ limit }} znaků. - - - This value should not be blank. - Tato hodnota nesmí být prázdná. - - - This value should not be null. - Tato hodnota nesmí být null. - - - This value should be null. - Tato hodnota musí být null. - - - This value is not valid. - Tato hodnota není platná. - - - This value is not a valid time. - Tato hodnota není platný časový údaj. - - - This value is not a valid URL. - Tato hodnota není platná URL adresa. - - - The two values should be equal. - Tyto dvě hodnoty musí být stejné. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Soubor je příliš velký. Maximální povolená velikost souboru je {{ limit }} {{ suffix }}. - - - The file is too large. - Soubor je příliš velký. - - - The file could not be uploaded. - Soubor se nepodařilo nahrát. - - - This value should be a valid number. - Tato hodnota musí být číslo. - - - This file is not a valid image. - Tento soubor není obrázek. - - - This value is not a valid IP address. - Tato hodnota není platnou IP adresou. - - - This value is not a valid language. - Tento jazyk neexistuje. - - - This value is not a valid locale. - Tato lokalizace neexistuje. - - - This value is not a valid country. - Tato země neexistuje. - - - This value is already used. - Tato hodnota je již používána. - - - The size of the image could not be detected. - Nepodařily se zjistit rozměry obrázku. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Obrázek je příliš široký ({{ width }}px). Maximální povolená šířka je {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Obrázek je příliš úzký ({{ width }}px). Minimální očekávaná šířka je {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Obrázek je příliš vysoký ({{ height }}px). Maximální povolená výška je {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Obrázek je příliš nízký ({{ height }}px). Minimální očekávaná výška je {{ min_height }}px. - - - This value should be the user's current password. - Tato hodnota musí být aktuální heslo uživatele. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Tato hodnota musí mít přesně {{ limit }} znak.|Tato hodnota musí mít přesně {{ limit }} znaky.|Tato hodnota musí mít přesně {{ limit }} znaků. - - - The file was only partially uploaded. - Byla nahrána jen část souboru. - - - No file was uploaded. - Žádný soubor nebyl nahrán. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - V php.ini nebyla nastavena cesta k dočasnému adresáři, nebo nastavený adresář neexistuje. - - - Cannot write temporary file to disk. - Dočasný soubor se nepodařilo zapsat na disk. - - - A PHP extension caused the upload to fail. - Rozšíření PHP zabránilo nahrání souboru. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Tato kolekce musí obsahovat minimálně {{ limit }} prvek.|Tato kolekce musí obsahovat minimálně {{ limit }} prvky.|Tato kolekce musí obsahovat minimálně {{ limit }} prvků. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Tato kolekce musí obsahovat maximálně {{ limit }} prvek.|Tato kolekce musí obsahovat maximálně {{ limit }} prvky.|Tato kolekce musí obsahovat maximálně {{ limit }} prvků. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Tato kolekce musí obsahovat přesně {{ limit }} prvek.|Tato kolekce musí obsahovat přesně {{ limit }} prvky.|Tato kolekce musí obsahovat přesně {{ limit }} prvků. - - - Invalid card number. - Neplatné číslo karty. - - - Unsupported card type or invalid card number. - Nepodporovaný typ karty nebo neplatné číslo karty. - - - This value is not a valid International Bank Account Number (IBAN). - Tato hodnota není platným Mezinárodním bankovním číslem účtu (IBAN). - - - This value is not a valid ISBN-10. - Tato hodnota není platné ISBN-10. - - - This value is not a valid ISBN-13. - Tato hodnota není platné ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Tato hodnota není platné ISBN-10 ani ISBN-13. - - - This value is not a valid ISSN. - Tato hodnota není platné ISSN. - - - This value is not a valid currency. - Tato měna neexistuje. - - - This value should be equal to {{ compared_value }}. - Tato hodnota musí být rovna {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Tato hodnota musí být větší než {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Tato hodnota musí být větší nebo rovna {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Tato hodnota musí být typu {{ compared_value_type }} a zároveň musí být rovna {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Tato hodnota musí být menší než {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Tato hodnota musí být menší nebo rovna {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Tato hodnota nesmí být rovna {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Tato hodnota nesmí být typu {{ compared_value_type }} a zároveň nesmí být rovna {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Poměr stran obrázku je příliš velký ({{ ratio }}). Maximální povolený poměr stran je {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Poměr stran obrázku je příliš malý ({{ ratio }}). Minimální očekávaný poměr stran je {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Obrázek je čtvercový ({{ width }}x{{ height }}px). Čtvercové obrázky nejsou povolené. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Obrázek je orientovaný na šířku ({{ width }}x{{ height }}px). Obrázky orientované na šířku nejsou povolené. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Obrázek je orientovaný na výšku ({{ width }}x{{ height }}px). Obrázky orientované na výšku nejsou povolené. - - - An empty file is not allowed. - Soubor nesmí být prázdný. - - - The host could not be resolved. - Hostitele nebylo možné rozpoznat. - - - This value does not match the expected {{ charset }} charset. - Tato hodnota neodpovídá očekávané znakové sadě {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Tato hodnota není platným Kódem obchodního identifikátoru (BIC). - - - Error - Chyba - - - This value is not a valid UUID. - Tato hodnota není platným UUID. - - - This value should be a multiple of {{ compared_value }}. - Tato hodnota musí být násobek hodnoty {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Bankovní identifikační kód (BIC) neodpovídá mezinárodnímu číslu účtu (IBAN) {{ iban }}. - - - This value should be valid JSON. - Tato hodnota musí být validní JSON. - - - This collection should contain only unique elements. - Tato kolekce musí obsahovat pouze unikátní prvky. - - - This value should be positive. - Tato hodnota musí být kladná. - - - This value should be either positive or zero. - Tato hodnota musí být buď kladná nebo nula. - - - This value should be negative. - Tato hodnota musí být záporná. - - - This value should be either negative or zero. - Tato hodnota musí být buď záporná nebo nula. - - - This value is not a valid timezone. - Tato časová zóna neexistuje. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Zadané heslo bylo součástí úniku dat, takže ho není možné použít. Použijte prosím jiné heslo. - - - This value should be between {{ min }} and {{ max }}. - Hodnota musí být mezi {{ min }} a {{ max }}. - - - This value is not a valid hostname. - Tato hodnota není platný hostname. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Počet prvků v této kolekci musí být násobek {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Tato hodnota musí splňovat alespoň jedno z následujících omezení: - - - Each element of this collection should satisfy its own set of constraints. - Každý prvek v této kolekci musí splňovat svá vlastní omezení. - - - This value is not a valid International Securities Identification Number (ISIN). - Tato hodnota není platné mezinárodní identifikační číslo cenného papíru (ISIN). - - - This value should be a valid expression. - Tato hodnota musí být platný výraz. - - - This value is not a valid CSS color. - Tato hodnota není platná barva CSS. - - - This value is not a valid CIDR notation. - Tato hodnota není platná notace CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Hodnota masky sítě musí být mezi {{ min }} a {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Název souboru je příliš dlouhý. Měl by obsahovat {{ filename_max_length }} znak nebo méně.|Název souboru je příliš dlouhý. Měl by obsahovat {{ filename_max_length }} znaky nebo méně.|Název souboru je příliš dlouhý. Měl by obsahovat {{ filename_max_length }} znaků nebo méně. - - - The password strength is too low. Please use a stronger password. - Síla hesla je příliš nízká. Použijte silnější heslo, prosím. - - - This value contains characters that are not allowed by the current restriction-level. - Tato hodnota obsahuje znaky, které nejsou povoleny aktuální úrovní omezení. - - - Using invisible characters is not allowed. - Používání neviditelných znaků není povoleno. - - - Mixing numbers from different scripts is not allowed. - Kombinování čísel z různých písem není povoleno. - - - Using hidden overlay characters is not allowed. - Použití skrytých překrývajících znaků není povoleno. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Přípona souboru je neplatná ({{ extension }}). Povolené přípony jsou {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Zjištěné kódování znaků je neplatné ({{ detected }}). Povolená kódování jsou {{ encodings }}. - - - This value is not a valid MAC address. - Tato hodnota není platnou MAC adresou. - - - This URL is missing a top-level domain. - Této URL není doména nejvyššího řádu. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Tato hodnota je příliš krátká, měla by obsahovat alespoň jedno slovo|Tato hodnota je příliš krátká, měla by obsahovat alespoň {{ min }} slova. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Tato hodnota je příliš dlouhá, měla obsahovat pouze jedno slovo.|Tato hodnota je příliš dlouhá, měla by obsahovat {{ max }} slova a nebo méně. - - - This value does not represent a valid week in the ISO 8601 format. - Tato hodnota není validní týden v ISO 8601 formatu. - - - This value is not a valid week. - Tato hodnota není validní týden. - - - This value should not be before week "{{ min }}". - Tato hodnota by neměla být týden před "{{ min }}". - - - This value should not be after week "{{ max }}". - Tato hodnota by neměla být týden za "{{ max }}". - - - This value is not a valid Twig template. - Tato hodnota není platná Twig šablona. - - - This file is not a valid video. - Tento soubor není video. - - - The size of the video could not be detected. - Nepodařily se zjistit rozměry videa. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video je příliš široké ({{ width }}px). Maximální povolená šířka je {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video je příliš úzké ({{ width }}px). Minimální očekávaná šířka je {{ min_width }} px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video je příliš vysoké ({{ height }}px). Maximální povolená výška je {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Video je příliš nízké ({{ height }}px). Minimální očekávaná výška je {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video má příliš málo pixelů ({{ pixels }} pixelů). Minimální očekávané množství je {{ min_pixels }} pixelů. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video má příliš mnoho pixelů ({{ pixels }} pixelů). Maximální očekávané množství je {{ max_pixels }} pixelů. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Poměr stran videa je příliš velký ({{ ratio }}). Maximální povolený poměr stran je {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Poměr stran videa je příliš malý ({{ ratio }}). Minimální očekávaný poměr stran je {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video je čtvercové ({{ width }}x{{ height }}px). Čtvercová videa nejsou povolená. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video je orientované na šířku ({{ width }}x{{ height }} px). Videa orientovaná na šířku nejsou povolená. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video je orientované na výšku ({{ width }}x{{ height }} px). Videa orientovaná na výšku nejsou povolená. - - - The video file is corrupted. - Soubor videa je poškozený. - - - The video contains multiple streams. Only one stream is allowed. - Video obsahuje více proudů. Povolen je pouze jeden proud. - - - Unsupported video codec "{{ codec }}". - Nepodporovaný kodek videa "{{ codec }}". - - - Unsupported video container "{{ container }}". - Nepodporovaný kontejner videa "{{ container }}". - - - The image file is corrupted. - Soubor obrázku je poškozený. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Obrázek má příliš málo pixelů ({{ pixels }} pixelů). Minimální očekávané množství je {{ min_pixels }} pixelů. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Obrázek má příliš mnoho pixelů ({{ pixels }} pixelů). Maximální očekávané množství je {{ max_pixels }} pixelů. - - - This filename does not match the expected charset. - Tento název souboru neodpovídá očekávané znakové sadě. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.cy.xlf b/app/vendor/symfony/validator/Resources/translations/validators.cy.xlf deleted file mode 100644 index 366edef03..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.cy.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Dylid bod y gwerth hwn yn ffug. - - - This value should be true. - Dylid bod y gwerth hwn yn wir. - - - This value should be of type {{ type }}. - Dylid bod y gwerth hwn bod o fath {{ type }}. - - - This value should be blank. - Dylid bod y gwerth hwn yn wag. - - - The value you selected is not a valid choice. - Nid yw'r gwerth â ddewiswyd yn ddilys. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Rhaid dewis o leiaf {{ limit }} opsiwn. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Rhaid dewis dim mwy na {{ limit }} opsiwn. - - - One or more of the given values is invalid. - Mae un neu fwy o'r gwerthoedd a roddwyd yn annilys. - - - This field was not expected. - Nid oedd disgwyl y maes hwn. - - - This field is missing. - Mae'r maes hwn ar goll. - - - This value is not a valid date. - Nid yw'r gwerth yn ddyddiad dilys. - - - This value is not a valid datetime. - Nid yw'r gwerth yn datetime dilys. - - - This value is not a valid email address. - Nid yw'r gwerth yn gyfeiriad ebost dilys. - - - The file could not be found. - Ni ddarganfyddwyd y ffeil. - - - The file is not readable. - Ni ellir darllen y ffeil. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Mae'r ffeil yn rhy fawr ({{ size }} {{ suffix }}). Yr uchafswm â ganiateir yw {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Nid yw math mime y ffeil yn ddilys ({{ type }}). Dyma'r mathau â ganiateir {{ types }}. - - - This value should be {{ limit }} or less. - Dylai'r gwerth hwn fod yn {{ limit }} neu lai. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Mae'r gwerth hwn rhy hir. Dylai gynnwys {{ limit }} nodyn cyfrifiadurol neu lai. - - - This value should be {{ limit }} or more. - Dylai'r gwerth hwn fod yn {{ limit }} neu fwy. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Mae'r gwerth hwn yn rhy fyr. Dylai gynnwys {{ limit }} nodyn cyfrifiadurol neu fwy. - - - This value should not be blank. - Ni ddylai'r gwerth hwn fod yn wag. - - - This value should not be null. - Ni ddylai'r gwerth hwn fod yn null. - - - This value should be null. - Dylai'r gwerth fod yn null. - - - This value is not valid. - Nid yw'r gwerth hwn yn ddilys. - - - This value is not a valid time. - Nid yw'r gwerth hwn yn amser dilys. - - - This value is not a valid URL. - Nid yw'r gwerth hwn yn URL dilys. - - - The two values should be equal. - Rhaid i'r ddau werth fod yn gyfystyr a'u gilydd. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Mae'r ffeil yn rhy fawr. Yr uchafswm â ganiateir yw {{ limit }} {{ suffix }}. - - - The file is too large. - Mae'r ffeil yn rhy fawr. - - - The file could not be uploaded. - Methwyd ag uwchlwytho'r ffeil. - - - This value should be a valid number. - Dylai'r gwerth hwn fod yn rif dilys. - - - This file is not a valid image. - Nid yw'r ffeil hon yn ddelwedd dilys. - - - This value is not a valid IP address. - Nid yw'r gwerth hwn yn gyfeiriad IP dilys. - - - This value is not a valid language. - Nid yw'r gwerth hwn yn iaith ddilys. - - - This value is not a valid locale. - Nid yw'r gwerth hwn yn locale dilys. - - - This value is not a valid country. - Nid yw'r gwerth hwn yn wlad dilys. - - - This value is already used. - Mae'r gwerth hwn eisoes yn cael ei ddefnyddio. - - - The size of the image could not be detected. - Methwyd â darganfod maint y ddelwedd. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Mae lled y ddelwedd yn rhy fawr ({{ width }}px). Y lled mwyaf â ganiateir yw {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Mae lled y ddelwedd yn rhy fach ({{ width }}px). Y lled lleiaf â ganiateir yw {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Mae uchder y ddelwedd yn rhy fawr ({{ width }}px). Yr uchder mwyaf â ganiateir yw {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Mae uchder y ddelwedd yn rhy fach ({{ width }}px). Yr uchder lleiaf â ganiateir yw {{ min_height }}px. - - - This value should be the user's current password. - Dylaid bod y gwerth hwn yn gyfrinair presenol y defnyddiwr. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Dylai'r gwerth hwn fod yn union {{ limit }} nodyn cyfrifiadurol o hyd. - - - The file was only partially uploaded. - Dim ond rhan o'r ffeil ag uwchlwythwyd. - - - No file was uploaded. - Ni uwchlwythwyd unrhyw ffeil. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Nid oedd ffolder dros dro wedi'i ffurfweddu yn php.ini, neu nid yw'r ffolder a ffurfweddiwyd yn bodoli. - - - Cannot write temporary file to disk. - Methwyd ag ysgrifennu'r ffeil dros-dro ar ddisg. - - - A PHP extension caused the upload to fail. - Methwyd ag uwchlwytho oherwydd ategyn PHP. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Dylai'r casgliad hwn gynnwys {{ limit }} elfen neu fwy. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Dylai'r casgliad hwn gynnwys {{ limit }} elfen neu lai. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Dylai'r casgliad hwn gynnwys union {{ limit }} elfen. - - - Invalid card number. - Nid oedd rhif y cerdyn yn ddilys. - - - Unsupported card type or invalid card number. - Unai ni dderbynir y math yna o gerdyn, neu nid yw rhif y cerdyn yn ddilys. - - - This value is not a valid International Bank Account Number (IBAN). - Nid yw'r gwerth hwn yn Rhif Cyfrif Banc Rhyngwladol (IBAN) dilys. - - - This value is not a valid ISBN-10. - Nid yw'r gwerth hwn yn ISBN-10 dilys. - - - This value is not a valid ISBN-13. - Nid yw'r gwerth hwn yn ISBN-13 dilys. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Nid yw'r gwerth hwn yn Rhif ISBN-10 dilys nac yn ISBN-13 dilys. - - - This value is not a valid ISSN. - Nid yw'r gwerth hwn yn ISSN dilys. - - - This value is not a valid currency. - Nid yw'r gwerth hwn yn arian dilys. - - - This value should be equal to {{ compared_value }}. - Dylai'r gwerth hwn fod yn gyfartal â {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Dylai'r gwerth hwn fod yn fwy na {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Dylai'r gwerth hwn fod yn fwy na neu'n hafal i {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Dylai'r gwerth hwn fod yn union yr un fath â {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Dylai'r gwerth hwn fod yn llai na {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Dylai'r gwerth hwn fod yn llai na neu'n hafal i {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ni ddylai'r gwerth hwn fod yn hafal i {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ni ddylai'r gwerth hwn fod yn union yr un fath â {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Mae'r gymhareb delwedd yn rhy fawr ({{ ratio }}). Y gymhareb uchaf a ganiateir yw {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Mae'r gymhareb delwedd yn rhy fach ({{ ratio }}). Y gymhareb isaf a ddisgwylir yw {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Mae'r ddelwedd yn sgwâr ({{ width }}x{{ height }}px). Ni chaniateir delweddau sgwâr. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Mae'r ddelwedd mewn fformat tirlun ({{ width }}x{{ height }}px). Ni chaniateir delweddau mewn fformat tirlun. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Mae'r ddelwedd mewn fformat portread ({{ width }}x{{ height }}px). Ni chaniateir delweddau mewn fformat portread. - - - An empty file is not allowed. - Ni chaniateir ffeil wag. - - - The host could not be resolved. - Ni fu modd datrys y gwesteiwr. - - - This value does not match the expected {{ charset }} charset. - Nid yw'r gwerth hwn yn cyfateb â'r {{ charset }} set nodau ddisgwyliedig. - - - This value is not a valid Business Identifier Code (BIC). - Nid yw'r gwerth hwn yn God Adnabod Busnes (BIC) dilys. - - - Error - Gwall - - - This value is not a valid UUID. - Nid yw'r gwerth hwn yn UUID dilys. - - - This value should be a multiple of {{ compared_value }}. - Dylai'r gwerth hwn fod yn luosrif o {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Nid yw'r Cod Adnabod Busnes (BIC) hwn yn gysylltiedig ag IBAN {{ iban }}. - - - This value should be valid JSON. - Dylai'r gwerth hwn fod yn JSON dilys. - - - This collection should contain only unique elements. - Dylai'r casgliad hwn gynnwys elfennau unigryw yn unig. - - - This value should be positive. - Dylai'r gwerth hwn fod yn gadarnhaol. - - - This value should be either positive or zero. - Dylai'r gwerth hwn fod yn gadarnhaol neu sero. - - - This value should be negative. - Dylai'r gwerth hwn fod yn negyddol. - - - This value should be either negative or zero. - Dylai'r gwerth hwn fod yn negyddol neu sero. - - - This value is not a valid timezone. - Nid yw'r gwerth hwn yn gyfnod parth amser dilys. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Mae'r cyfrinair hwn wedi'i ddatgelu mewn toriad data, ni ddylid ei ddefnyddio. Defnyddiwch gyfrinair arall. - - - This value should be between {{ min }} and {{ max }}. - Dylai'r gwerth hwn fod rhwng {{ min }} a {{ max }}. - - - This value is not a valid hostname. - Nid yw'r gwerth hwn yn enw gwesteiwr dilys. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Dylai nifer yr elfennau yn y casgliad hwn fod yn luosrif o {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Dylai'r gwerth hwn fodloni o leiaf un o'r cyfyngiadau canlynol: - - - Each element of this collection should satisfy its own set of constraints. - Dylai pob elfen o'r casgliad hwn fodloni ei gyfres ei hun o gyfyngiadau. - - - This value is not a valid International Securities Identification Number (ISIN). - Nid yw'r gwerth hwn yn Rhif Adnabod Diogelwch Rhyngwladol (ISIN) dilys. - - - This value should be a valid expression. - Dylai'r gwerth hwn fod yn fynegiant dilys. - - - This value is not a valid CSS color. - Nid yw'r gwerth hwn yn lliw CSS dilys. - - - This value is not a valid CIDR notation. - Nid yw'r gwerth hwn yn nodiant CIDR dilys. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Dylai gwerth y mwgwd rhwydwaith fod rhwng {{ min }} a {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Mae'r enw ffeil yn rhy hir. Dylai fod â {{ filename_max_length }} cymeriad neu lai.|Mae'r enw ffeil yn rhy hir. Dylai fod â {{ filename_max_length }} nodau neu lai. - - - The password strength is too low. Please use a stronger password. - Mae cryfder y cyfrinair yn rhy isel. Defnyddiwch gyfrinair cryfach os gwelwch yn dda. - - - This value contains characters that are not allowed by the current restriction-level. - Mae'r gwerth hwn yn cynnwys cymeriadau nad ydynt yn cael eu caniatáu gan y lefel cyfyngu presennol. - - - Using invisible characters is not allowed. - Ni chaniateir defnyddio cymeriadau anweledig. - - - Mixing numbers from different scripts is not allowed. - Ni chaniateir cymysgu rhifau o sgriptiau gwahanol. - - - Using hidden overlay characters is not allowed. - Ni chaniateir defnyddio cymeriadau goruwchlwytho cudd. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Mae estyniad y ffeil yn annilys ({{ extension }}). Mae'r estyniadau a ganiateir yn {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Mae'r codio cymeriadau a ganfuwyd yn annilys ({{ detected }}). Mae'r codiadau a ganiateir yn {{ encodings }}. - - - This value is not a valid MAC address. - Nid yw'r gwerth hwn yn gyfeiriad MAC dilys. - - - This URL is missing a top-level domain. - Mae'r URL hwn yn colli parth lefel uchaf. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Mae'r gwerth hwn yn rhy fyr. Dylai gynnwys o leiaf un gair.|Mae'r gwerth hwn yn rhy fyr. Dylai gynnwys o leiaf {{ min }} gair. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Mae'r gwerth hwn yn rhy hir. Dylai gynnwys un gair yn unig.|Mae'r gwerth hwn yn rhy hir. Dylai gynnwys {{ max }} gair neu lai. - - - This value does not represent a valid week in the ISO 8601 format. - Nid yw'r gwerth hwn yn cynrychioli wythnos dilys yn fformat ISO 8601. - - - This value is not a valid week. - Nid yw'r gwerth hwn yn wythnos ddilys. - - - This value should not be before week "{{ min }}". - Ni ddylai'r gwerth hwn fod cyn wythnos "{{ min }}". - - - This value should not be after week "{{ max }}". - Ni ddylai'r gwerth hwn fod ar ôl yr wythnos "{{ max }}". - - - This value is not a valid Twig template. - Nid yw'r gwerth hwn yn dempled Twig dilys. - - - This file is not a valid video. - Nid yw’r ffeil hon yn fideo dilys. - - - The size of the video could not be detected. - Nid oedd modd canfod maint y fideo. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Mae lled y fideo yn rhy fawr ({{ width }}px). Y lled uchaf a ganiateir yw {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Mae lled y fideo yn rhy fach ({{ width }}px). Lled lleiaf disgwyliedig yw {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Mae uchder y fideo yn rhy fawr ({{ height }}px). Yr uchder mwyaf a ganiateir yw {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Mae uchder y fideo yn rhy fach ({{ height }}px). Yr uchder lleiaf disgwyliedig yw {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Mae gan y fideo rhy ychydig o bicseli ({{ pixels }}). Y swm lleiaf disgwyliedig yw {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Mae gan y fideo ormod o bicseli ({{ pixels }}). Y swm uchaf disgwyliedig yw {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Mae cymhareb y fideo yn rhy fawr ({{ ratio }}). Y gymhareb uchaf a ganiateir yw {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Mae cymhareb y fideo yn rhy fach ({{ ratio }}). Y gymhareb leiaf ddisgwyliedig yw {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Mae'r fideo'n sgwâr ({{ width }}x{{ height }}px). Nid yw fideos sgwâr yn cael eu caniatáu. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Mae’r fideo yn dirwedd ({{ width }}x{{ height }} px). Ni chaniateir fideos tirwedd. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Mae'r fideo wedi'i gyfeirio'n bortread ({{ width }}x{{ height }}px). Nid yw fideos portread yn cael eu caniatáu. - - - The video file is corrupted. - Mae'r ffeil fideo wedi'i llygru. - - - The video contains multiple streams. Only one stream is allowed. - Mae'r fideo yn cynnwys sawl ffrwd. Dim ond un ffrwd a ganiateir. - - - Unsupported video codec "{{ codec }}". - Codec fideo heb ei gefnogi "{{ codec }}". - - - Unsupported video container "{{ container }}". - Cynhwysydd fideo heb ei gefnogi "{{ container }}". - - - The image file is corrupted. - Mae'r ffeil delwedd wedi'i llygru. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Mae gan y ddelwedd rhy ychydig o bicseli ({{ pixels }}). Y lleiafswm disgwyliedig yw {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Mae gan y ddelwedd ormod o bicseli ({{ pixels }}). Y nifer uchaf disgwyliedig yw {{ max_pixels }}. - - - This filename does not match the expected charset. - Nid yw'r enw ffeil hwn yn cyfateb i'r set nodau ddisgwyliedig. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.da.xlf b/app/vendor/symfony/validator/Resources/translations/validators.da.xlf deleted file mode 100644 index ee93fae92..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.da.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Værdien skal være falsk. - - - This value should be true. - Værdien skal være sand. - - - This value should be of type {{ type }}. - Værdien skal være af typen {{ type }}. - - - This value should be blank. - Værdien skal være blank. - - - The value you selected is not a valid choice. - Den valgte værdi er ikke gyldig. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Du skal vælge mindst én mulighed.|Du skal vælge mindst {{ limit }} muligheder. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Du kan højst vælge én mulighed.|Du kan højst vælge {{ limit }} muligheder. - - - One or more of the given values is invalid. - En eller flere af de angivne værdier er ugyldige. - - - This field was not expected. - Feltet blev ikke forventet. - - - This field is missing. - Dette felt mangler. - - - This value is not a valid date. - Værdien er ikke en gyldig dato. - - - This value is not a valid datetime. - Værdien er ikke et gyldigt tidspunkt. - - - This value is not a valid email address. - Værdien er ikke en gyldig e-mailadresse. - - - The file could not be found. - Filen kunne ikke findes. - - - The file is not readable. - Filen kan ikke læses. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Filen er for stor ({{ size }} {{ suffix }}). Maksimale tilladte størrelse er {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Filens MIME-type er ugyldig ({{ type }}). Tilladte MIME-typer er {{ types }}. - - - This value should be {{ limit }} or less. - Værdien skal være {{ limit }} eller mindre. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Værdien er for lang. Den må højst indeholde {{ limit }} tegn. - - - This value should be {{ limit }} or more. - Værdien skal være {{ limit }} eller mere. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Værdien er for kort. Den skal indeholde mindst {{ limit }} tegn. - - - This value should not be blank. - Værdien må ikke være blank. - - - This value should not be null. - Værdien må ikke være tom (null). - - - This value should be null. - Værdien skal være tom (null). - - - This value is not valid. - Værdien er ikke gyldig. - - - This value is not a valid time. - Værdien er ikke et gyldigt klokkeslæt. - - - This value is not a valid URL. - Værdien er ikke en gyldig URL. - - - The two values should be equal. - De to værdier skal være ens. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Filen er for stor. Den maksimale størrelse er {{ limit }} {{ suffix }}. - - - The file is too large. - Filen er for stor. - - - The file could not be uploaded. - Filen kunne ikke uploades. - - - This value should be a valid number. - Værdien skal være et gyldigt tal. - - - This file is not a valid image. - Filen er ikke gyldigt billede. - - - This value is not a valid IP address. - Denne værdi er ikke en gyldig IP-adresse. - - - This value is not a valid language. - Værdien er ikke et gyldigt sprog. - - - This value is not a valid locale. - Værdien er ikke en gyldig lokalitet. - - - This value is not a valid country. - Værdien er ikke et gyldigt land. - - - This value is already used. - Værdien er allerede i brug. - - - The size of the image could not be detected. - Størrelsen på billedet kunne ikke detekteres. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Billedet er for bredt ({{ width }}px). Største tilladte bredde er {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Billedet er for smalt ({{ width }}px). Mindste forventede bredde er {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Billedet er for højt ({{ height }}px). Største tilladte højde er {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Billedet er for lavt ({{ height }}px). Mindste forventede højde er {{ min_height }}px. - - - This value should be the user's current password. - Værdien skal være brugerens nuværende adgangskode. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Værdien skal være på præcis {{ limit }} tegn. - - - The file was only partially uploaded. - Filen blev kun delvist uploadet. - - - No file was uploaded. - Ingen fil blev uploadet. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Der blev ikke konfigureret en midlertidig mappe i php.ini, eller den konfigurerede mappe eksisterer ikke. - - - Cannot write temporary file to disk. - Kan ikke skrive midlertidig fil til disk. - - - A PHP extension caused the upload to fail. - En PHP-udvidelse forårsagede fejl i upload. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Denne samling skal indeholde mindst ét element.|Denne samling skal indeholde mindst {{ limit }} elementer. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Denne samling skal indeholde højst ét element.|Denne samling skal indeholde højst {{ limit }} elementer. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Denne samling skal indeholde præcis ét element.|Denne samling skal indeholde præcis {{ limit }} elementer. - - - Invalid card number. - Ugyldigt kortnummer. - - - Unsupported card type or invalid card number. - Ikke-understøttet korttype eller ugyldigt kortnummer. - - - This value is not a valid International Bank Account Number (IBAN). - Denne værdi er ikke et gyldigt internationalt bankkontonummer (IBAN). - - - This value is not a valid ISBN-10. - Værdien er ikke en gyldig ISBN-10. - - - This value is not a valid ISBN-13. - Værdien er ikke en gyldig ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Værdien er hverken en gyldig ISBN-10 eller en gyldig ISBN-13. - - - This value is not a valid ISSN. - Værdien er ikke en gyldig ISSN. - - - This value is not a valid currency. - Denne værdi er ikke en gyldig valuta. - - - This value should be equal to {{ compared_value }}. - Denne værdi skal være lig med {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Denne værdi skal være større end {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Denne værdi skal være større end eller lig med {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Denne værdi skal være identisk med {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Denne værdi skal være mindre end {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Denne værdi skal være mindre end eller lig med {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Denne værdi bør ikke være lig med {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Denne værdi bør ikke være identisk med {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Billedforholdet er for stort ({{ratio}}). Tilladt maksimumsforhold er {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Billedforholdet er for lille ({{ ratio }}). Minimumsforventet forventet er {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Billedet er firkantet ({{ width }} x {{ height }} px). Firkantede billeder er ikke tilladt. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Billedet er landskabsorienteret ({{width}} x {{height}} px). Landskabsorienterede billeder er ikke tilladt - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Billedet er portrætorienteret ({{ width }}x{{ height }}px). Portrætorienterede billeder er ikke tilladt. - - - An empty file is not allowed. - En tom fil er ikke tilladt. - - - The host could not be resolved. - Værten kunne ikke løses. - - - This value does not match the expected {{ charset }} charset. - Denne værdi stemmer ikke overens med den forventede {{ charset }} charset. - - - This value is not a valid Business Identifier Code (BIC). - Denne værdi er ikke en gyldig forretningsidentifikationskode (BIC). - - - Error - Fejl - - - This value is not a valid UUID. - Denne værdi er ikke en gyldig UUID. - - - This value should be a multiple of {{ compared_value }}. - Denne værdi skal være et multiplikation af {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Denne Business Identifier Code (BIC) er ikke forbundet med IBAN {{ iban }}. - - - This value should be valid JSON. - Denne værdi skal være gyldig JSON. - - - This collection should contain only unique elements. - Denne samling bør kun indeholde unikke elementer. - - - This value should be positive. - Denne værdi skal være positiv. - - - This value should be either positive or zero. - Denne værdi skal være enten positiv eller nul. - - - This value should be negative. - Denne værdi skal være negativ. - - - This value should be either negative or zero. - Denne værdi skal være enten negativ eller nul. - - - This value is not a valid timezone. - Denne værdi er ikke en gyldig tidszone. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Denne adgangskode er blevet lækket i et databrud, det må ikke bruges. Brug venligst en anden adgangskode. - - - This value should be between {{ min }} and {{ max }}. - Værdien skal være mellem {{ min }} og {{ max }}. - - - This value is not a valid hostname. - Værdien er ikke et gyldigt værtsnavn. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Antallet af elementer i denne samling skal være en multiplikation af {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Værdien skal overholde mindst én af følgende krav: - - - Each element of this collection should satisfy its own set of constraints. - Hvert element i denne samling skal overholde dens egne krav. - - - This value is not a valid International Securities Identification Number (ISIN). - Værdien er ikke et gyldig International Securities Identification Number (ISIN). - - - This value should be a valid expression. - Værdien skal være et gyldigt udtryk. - - - This value is not a valid CSS color. - Værdien skal være en gyldig CSS farve. - - - This value is not a valid CIDR notation. - Værdien er ikke en gyldig CIDR notation. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Værdien af netmasken skal være mellem {{ min }} og {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Filnavnet er for langt. Det bør indeholde {{ filename_max_length }} tegn eller mindre.|Filnavnet er for langt. Det bør indeholde {{ filename_max_length }} tegn eller mindre. - - - The password strength is too low. Please use a stronger password. - Kodeordets styrke er for lav. Du bedes indtaste et stærkere kodeord. - - - This value contains characters that are not allowed by the current restriction-level. - Denne værdi indeholder tegn, som ikke er tilladt med det nuværende restriktionsniveau. - - - Using invisible characters is not allowed. - Brug af usynlige tegn er ikke tilladt. - - - Mixing numbers from different scripts is not allowed. - At blande numre fra forskellige scripts er ikke tilladt. - - - Using hidden overlay characters is not allowed. - At bruge skjulte overlejringstegn er ikke tilladt. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Udvidelsen til filen er ugyldig ({{ extension }}). De tilladte udvidelser er {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Det registrerede tegnsæt er ugyldigt ({{ detected }}). De tilladte tegnsæt er {{ encodings }}. - - - This value is not a valid MAC address. - Denne værdi er ikke en gyldig MAC-adresse. - - - This URL is missing a top-level domain. - Denne URL mangler et topdomæne. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Denne værdi er for kort. Den skal indeholde mindst ét ord.|Denne værdi er for kort. Den skal indeholde mindst {{ min }} ord. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Denne værdi er for lang. Den skal indeholde ét ord.|Denne værdi er for lang. Den skal indeholde {{ max }} ord eller færre. - - - This value does not represent a valid week in the ISO 8601 format. - Denne værdi repræsenterer ikke en gyldig uge i ISO 8601-formatet. - - - This value is not a valid week. - Denne værdi er ikke en gyldig uge. - - - This value should not be before week "{{ min }}". - Denne værdi bør ikke være før uge "{{ min }}". - - - This value should not be after week "{{ max }}". - Denne værdi bør ikke være efter uge "{{ max }}". - - - This value is not a valid Twig template. - Denne værdi er ikke en gyldig Twig-skabelon. - - - This file is not a valid video. - Denne fil er ikke en gyldig video. - - - The size of the video could not be detected. - Videostørrelsen kunne ikke registreres. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Videobredden er for stor ({{ width }}px). Tilladt maksimal bredde er {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Videobredden er for lille ({{ width }}px). Mindste forventede bredde er {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Videoens højde er for stor ({{ height }}px). Tilladt maksimal højde er {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Videoens højde er for lille ({{ height }}px). Forventet minimumshøjde er {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoen har for få pixels ({{ pixels }}). Forventet minimum er {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoen har for mange pixels ({{ pixels }}). Forventet maksimummængde er {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Videoforholdet er for stort ({{ ratio }}). Tilladt maksimalforhold er {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Videoforholdet er for lille ({{ ratio }}). Forventet minimumsforhold er {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Videoen er kvadratisk ({{ width }}x{{ height }}px). Kvadratiske videoer er ikke tilladt. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Videoen er i liggende format ({{ width }}x{{ height }} px). Liggende videoer er ikke tilladt. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Videoen er i portrætformat ({{ width }}x{{ height }}px). Portrætvideoer er ikke tilladt. - - - The video file is corrupted. - Videofilen er beskadiget. - - - The video contains multiple streams. Only one stream is allowed. - Videoen indeholder flere streams. Kun én stream er tilladt. - - - Unsupported video codec "{{ codec }}". - Ikke-understøttet videokodek "{{ codec }}". - - - Unsupported video container "{{ container }}". - Ikke-understøttet videocontainer "{{ container }}". - - - The image file is corrupted. - Billedfilen er beskadiget. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Billedet har for få pixels ({{ pixels }}). Forventet minimum er {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Billedet har for mange pixels ({{ pixels }}). Forventet maksimalt antal er {{ max_pixels }}. - - - This filename does not match the expected charset. - Dette filnavn matcher ikke det forventede tegnsæt. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.de.xlf b/app/vendor/symfony/validator/Resources/translations/validators.de.xlf deleted file mode 100644 index 36463f3c0..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.de.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Dieser Wert sollte false sein. - - - This value should be true. - Dieser Wert sollte true sein. - - - This value should be of type {{ type }}. - Dieser Wert sollte vom Typ {{ type }} sein. - - - This value should be blank. - Dieser Wert sollte leer sein. - - - The value you selected is not a valid choice. - Sie haben einen ungültigen Wert ausgewählt. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Sie müssen mindestens {{ limit }} Möglichkeit wählen.|Sie müssen mindestens {{ limit }} Möglichkeiten wählen. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Sie dürfen höchstens {{ limit }} Möglichkeit wählen.|Sie dürfen höchstens {{ limit }} Möglichkeiten wählen. - - - One or more of the given values is invalid. - Einer oder mehrere der angegebenen Werte sind ungültig. - - - This field was not expected. - Dieses Feld wurde nicht erwartet. - - - This field is missing. - Dieses Feld fehlt. - - - This value is not a valid date. - Dieser Wert entspricht keiner gültigen Datumsangabe. - - - This value is not a valid datetime. - Dieser Wert entspricht keiner gültigen Datums- und Zeitangabe. - - - This value is not a valid email address. - Dieser Wert ist keine gültige E-Mail-Adresse. - - - The file could not be found. - Die Datei wurde nicht gefunden. - - - The file is not readable. - Die Datei ist nicht lesbar. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Die Datei ist zu groß ({{ size }} {{ suffix }}). Die maximal zulässige Größe beträgt {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Der Dateityp ist ungültig ({{ type }}). Erlaubte Dateitypen sind {{ types }}. - - - This value should be {{ limit }} or less. - Dieser Wert sollte kleiner oder gleich {{ limit }} sein. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Diese Zeichenkette ist zu lang. Sie sollte höchstens {{ limit }} Zeichen haben.|Diese Zeichenkette ist zu lang. Sie sollte höchstens {{ limit }} Zeichen haben. - - - This value should be {{ limit }} or more. - Dieser Wert sollte größer oder gleich {{ limit }} sein. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Diese Zeichenkette ist zu kurz. Sie sollte mindestens {{ limit }} Zeichen haben.|Diese Zeichenkette ist zu kurz. Sie sollte mindestens {{ limit }} Zeichen haben. - - - This value should not be blank. - Dieser Wert sollte nicht leer sein. - - - This value should not be null. - Dieser Wert sollte nicht null sein. - - - This value should be null. - Dieser Wert sollte null sein. - - - This value is not valid. - Dieser Wert ist nicht gültig. - - - This value is not a valid time. - Dieser Wert entspricht keiner gültigen Zeitangabe. - - - This value is not a valid URL. - Dieser Wert ist keine gültige URL. - - - The two values should be equal. - Die beiden Werte sollten identisch sein. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Die Datei ist zu groß. Die maximal zulässige Größe beträgt {{ limit }} {{ suffix }}. - - - The file is too large. - Die Datei ist zu groß. - - - The file could not be uploaded. - Die Datei konnte nicht hochgeladen werden. - - - This value should be a valid number. - Dieser Wert sollte eine gültige Zahl sein. - - - This file is not a valid image. - Diese Datei ist kein gültiges Bild. - - - This value is not a valid IP address. - Dieser Wert ist keine gültige IP-Adresse. - - - This value is not a valid language. - Dieser Wert entspricht keiner gültigen Sprache. - - - This value is not a valid locale. - Dieser Wert entspricht keinem gültigen Gebietsschema. - - - This value is not a valid country. - Dieser Wert entspricht keinem gültigen Land. - - - This value is already used. - Dieser Wert wird bereits verwendet. - - - The size of the image could not be detected. - Die Größe des Bildes konnte nicht ermittelt werden. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Die Bildbreite ist zu groß ({{ width }}px). Die maximal zulässige Breite beträgt {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Die Bildbreite ist zu gering ({{ width }}px). Die erwartete Mindestbreite beträgt {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Die Bildhöhe ist zu groß ({{ height }}px). Die maximal zulässige Höhe beträgt {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Die Bildhöhe ist zu gering ({{ height }}px). Die erwartete Mindesthöhe beträgt {{ min_height }}px. - - - This value should be the user's current password. - Dieser Wert sollte dem aktuellen Benutzerpasswort entsprechen. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Dieser Wert sollte genau {{ limit }} Zeichen lang sein.|Dieser Wert sollte genau {{ limit }} Zeichen lang sein. - - - The file was only partially uploaded. - Die Datei wurde nur teilweise hochgeladen. - - - No file was uploaded. - Es wurde keine Datei hochgeladen. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Es wurde kein temporärer Ordner in der php.ini konfiguriert oder der temporäre Ordner existiert nicht. - - - Cannot write temporary file to disk. - Kann die temporäre Datei nicht speichern. - - - A PHP extension caused the upload to fail. - Eine PHP-Erweiterung verhinderte den Upload. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Diese Sammlung sollte {{ limit }} oder mehr Elemente beinhalten.|Diese Sammlung sollte {{ limit }} oder mehr Elemente beinhalten. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Diese Sammlung sollte {{ limit }} oder weniger Elemente beinhalten.|Diese Sammlung sollte {{ limit }} oder weniger Elemente beinhalten. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Diese Sammlung sollte genau {{ limit }} Element beinhalten.|Diese Sammlung sollte genau {{ limit }} Elemente beinhalten. - - - Invalid card number. - Ungültige Kartennummer. - - - Unsupported card type or invalid card number. - Nicht unterstützter Kartentyp oder ungültige Kartennummer. - - - This value is not a valid International Bank Account Number (IBAN). - Dieser Wert ist keine gültige Internationale Bankkontonummer (IBAN). - - - This value is not a valid ISBN-10. - Dieser Wert entspricht keiner gültigen ISBN-10. - - - This value is not a valid ISBN-13. - Dieser Wert entspricht keiner gültigen ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Dieser Wert ist weder eine gültige ISBN-10 noch eine gültige ISBN-13. - - - This value is not a valid ISSN. - Dieser Wert ist keine gültige ISSN. - - - This value is not a valid currency. - Dieser Wert ist keine gültige Währung. - - - This value should be equal to {{ compared_value }}. - Dieser Wert sollte gleich {{ compared_value }} sein. - - - This value should be greater than {{ compared_value }}. - Dieser Wert sollte größer als {{ compared_value }} sein. - - - This value should be greater than or equal to {{ compared_value }}. - Dieser Wert sollte größer oder gleich {{ compared_value }} sein. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Dieser Wert sollte identisch sein mit {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Dieser Wert sollte kleiner als {{ compared_value }} sein. - - - This value should be less than or equal to {{ compared_value }}. - Dieser Wert sollte kleiner oder gleich {{ compared_value }} sein. - - - This value should not be equal to {{ compared_value }}. - Dieser Wert sollte nicht {{ compared_value }} sein. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Dieser Wert sollte nicht identisch sein mit {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Das Seitenverhältnis des Bildes ist zu groß ({{ ratio }}). Der erlaubte Maximalwert ist {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Das Seitenverhältnis des Bildes ist zu klein ({{ ratio }}). Der erwartete Minimalwert ist {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Das Bild ist quadratisch ({{ width }}x{{ height }}px). Quadratische Bilder sind nicht erlaubt. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Das Bild ist im Querformat ({{ width }}x{{ height }}px). Bilder im Querformat sind nicht erlaubt. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Das Bild ist im Hochformat ({{ width }}x{{ height }}px). Bilder im Hochformat sind nicht erlaubt. - - - An empty file is not allowed. - Eine leere Datei ist nicht erlaubt. - - - The host could not be resolved. - Der Hostname konnte nicht aufgelöst werden. - - - This value does not match the expected {{ charset }} charset. - Dieser Wert entspricht nicht dem erwarteten Zeichensatz {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Dieser Wert ist keine gültige internationale Bankleitzahl (BIC). - - - Error - Fehler - - - This value is not a valid UUID. - Dieser Wert ist keine gültige UUID. - - - This value should be a multiple of {{ compared_value }}. - Dieser Wert sollte ein Vielfaches von {{ compared_value }} sein. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Diese internationale Bankleitzahl (BIC) ist nicht mit der IBAN {{ iban }} assoziiert. - - - This value should be valid JSON. - Dieser Wert sollte gültiges JSON sein. - - - This collection should contain only unique elements. - Diese Sammlung darf keine doppelten Elemente enthalten. - - - This value should be positive. - Diese Zahl sollte positiv sein. - - - This value should be either positive or zero. - Diese Zahl sollte entweder positiv oder 0 sein. - - - This value should be negative. - Diese Zahl sollte negativ sein. - - - This value should be either negative or zero. - Diese Zahl sollte entweder negativ oder 0 sein. - - - This value is not a valid timezone. - Dieser Wert ist keine gültige Zeitzone. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Dieses Passwort ist Teil eines Datenlecks, es darf nicht verwendet werden. - - - This value should be between {{ min }} and {{ max }}. - Dieser Wert sollte zwischen {{ min }} und {{ max }} sein. - - - This value is not a valid hostname. - Dieser Wert ist kein gültiger Hostname. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Die Anzahl an Elementen in dieser Sammlung sollte ein Vielfaches von {{ compared_value }} sein. - - - This value should satisfy at least one of the following constraints: - Dieser Wert sollte eine der folgenden Bedingungen erfüllen: - - - Each element of this collection should satisfy its own set of constraints. - Jedes Element dieser Sammlung sollte seine eigene Menge an Bedingungen erfüllen. - - - This value is not a valid International Securities Identification Number (ISIN). - Dieser Wert ist keine gültige Internationale Wertpapierkennnummer (ISIN). - - - This value should be a valid expression. - Dieser Wert sollte eine gültige Expression sein. - - - This value is not a valid CSS color. - Dieser Wert ist keine gültige CSS-Farbe. - - - This value is not a valid CIDR notation. - Dieser Wert entspricht nicht der CIDR-Notation. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Der Wert der Subnetzmaske sollte zwischen {{ min }} und {{ max }} liegen. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Der Dateiname ist zu lang. Er sollte nicht länger als {{ filename_max_length }} Zeichen sein.|Der Dateiname ist zu lang. Er sollte nicht länger als {{ filename_max_length }} Zeichen sein. - - - The password strength is too low. Please use a stronger password. - Das Passwort ist zu schwach. - - - This value contains characters that are not allowed by the current restriction-level. - Der Wert enthält Zeichen, die auf der aktuellen Einschränkungsstufe nicht erlaubt sind. - - - Using invisible characters is not allowed. - Unsichtbare Zeichen sind nicht erlaubt. - - - Mixing numbers from different scripts is not allowed. - Das Mischen von Zahlen aus verschiedenen Skripten ist nicht erlaubt. - - - Using hidden overlay characters is not allowed. - Verstecke Overlay-Zeichen sind nicht erlaubt. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Die Dateiendung ist ungültig ({{ extension }}). Gültige Dateiendungen sind {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Der erkannte Zeichensatz ist nicht gültig ({{ detected }}). Gültige Zeichensätze sind {{ encodings }}. - - - This value is not a valid MAC address. - Dieser Wert ist keine gültige MAC-Adresse. - - - This URL is missing a top-level domain. - Dieser URL fehlt eine Top-Level-Domain. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Dieser Wert ist zu kurz. Er muss aus mindestens einem Wort bestehen.|Dieser Wert ist zu kurz. Er muss mindestens {{ min }} Wörter enthalten. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Dieser Wert ist zu lang. Er darf maximal aus einem Wort bestehen.|Dieser Wert ist zu lang. Er darf maximal {{ max }} Wörter enthalten. - - - This value does not represent a valid week in the ISO 8601 format. - Dieser Wert ist keine Wochenangabe im ISO 8601-Format. - - - This value is not a valid week. - Dieser Wert ist keine gültige Woche. - - - This value should not be before week "{{ min }}". - Dieser Wert darf nicht vor der Woche "{{ min }}" sein. - - - This value should not be after week "{{ max }}". - Dieser Wert darf nicht nach der Woche "{{ max }}" sein. - - - This value is not a valid Twig template. - Dieser Wert ist kein valides Twig-Template. - - - This file is not a valid video. - Diese Datei ist kein gültiges Video. - - - The size of the video could not be detected. - Die Größe des Videos konnte nicht ermittelt werden. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Das Video ist zu breit ({{ width }}px). Die zulässige maximale Breite ist {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Das Video ist nicht breit genug ({{ width }}px). Die erwartete Mindestbreite ist {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Die Videohöhe ist zu hoch ({{ height }}px). Die zulässige maximale Höhe ist {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Die Videohöhe ist zu klein ({{ height }}px). Die erwartete Mindesthöhe ist {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Das Video hat zu wenige Pixel ({{ pixels }}). Die erwartete Mindestanzahl ist {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Das Video hat zu viele Pixel ({{ pixels }}). Die erwartete Höchstanzahl ist {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Das Video-Seitenverhältnis ist zu hoch ({{ ratio }}). Das zulässige maximale Verhältnis ist {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Das Video-Seitenverhältnis ist zu klein ({{ ratio }}). Das erwartete Mindestverhältnis ist {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Das Video ist quadratisch ({{ width }}x{{ height }}px). Quadratische Videos sind nicht erlaubt. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Das Video ist im Querformat ({{ width }}x{{ height }} px). Querformat-Videos sind nicht erlaubt. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Das Video ist hochkant ausgerichtet ({{ width }}x{{ height }}px). Hochkant-Videos sind nicht erlaubt. - - - The video file is corrupted. - Die Videodatei ist beschädigt. - - - The video contains multiple streams. Only one stream is allowed. - Das Video enthält mehrere Streams. Es ist nur ein Stream erlaubt. - - - Unsupported video codec "{{ codec }}". - Nicht unterstützter Videocodec "{{ codec }}". - - - Unsupported video container "{{ container }}". - Nicht unterstützter Videocontainer "{{ container }}". - - - The image file is corrupted. - Die Bilddatei ist beschädigt. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Das Bild hat zu wenige Pixel ({{ pixels }}). Erwartete Mindestanzahl ist {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Das Bild hat zu viele Pixel ({{ pixels }}). Erwartete Höchstanzahl ist {{ max_pixels }}. - - - This filename does not match the expected charset. - Dieser Dateiname entspricht nicht dem erwarteten Zeichensatz. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.el.xlf b/app/vendor/symfony/validator/Resources/translations/validators.el.xlf deleted file mode 100644 index 7ec30d5fa..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.el.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Αυτή η τιμή πρέπει να είναι ψευδής. - - - This value should be true. - Αυτή η τιμή πρέπει να είναι αληθής. - - - This value should be of type {{ type }}. - Αυτή η τιμή πρέπει να είναι τύπου {{ type }}. - - - This value should be blank. - Αυτή η τιμή πρέπει να είναι κενή. - - - The value you selected is not a valid choice. - Η τιμή που επιλέξατε δεν αντιστοιχεί σε έγκυρη επιλογή. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Πρέπει να επιλέξτε τουλάχιστον {{ limit }} επιλογή.|Πρέπει να επιλέξτε τουλάχιστον {{ limit }} επιλογές. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Πρέπει να επιλέξτε το πολύ {{ limit }} επιλογή.|Πρέπει να επιλέξτε το πολύ {{ limit }} επιλογές. - - - One or more of the given values is invalid. - Μια ή περισσότερες τιμές δεν είναι έγκυρες. - - - This field was not expected. - Αυτό το πεδίο δεν ήταν αναμενόμενο. - - - This field is missing. - Αυτό το πεδίο λείπει. - - - This value is not a valid date. - Αυτή τιμή δεν αντιστοιχεί σε έγκυρη ημερομηνία. - - - This value is not a valid datetime. - Αυτή η τιμή δεν αντιστοιχεί σε έγκυρη ημερομηνία και ώρα. - - - This value is not a valid email address. - Αυτή η τιμή δεν αντιστοιχεί σε έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομίου. - - - The file could not be found. - Το αρχείο δε μπορεί να βρεθεί. - - - The file is not readable. - Το αρχείο δεν είναι αναγνώσιμο. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Το αρχείο είναι πολύ μεγάλο ({{ size }} {{ suffix }}). Το μέγιστο επιτρεπτό μέγεθος είναι {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Ο τύπος mime του αρχείου δεν είναι έγκυρος ({{ type }}). Οι έγκυροι τύποι mime είναι {{ types }}. - - - This value should be {{ limit }} or less. - Αυτή η τιμή πρέπει να είναι {{ limit }} ή λιγότερο. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Αυτή η τιμή είναι πολύ μεγάλη. Πρέπει να έχει {{ limit }} χαρακτήρα ή λιγότερο.|Αυτή η τιμή είναι πολύ μεγάλη. Πρέπει να έχει {{ limit }} χαρακτήρες ή λιγότερο. - - - This value should be {{ limit }} or more. - Αυτή η τιμή πρέπει να είναι {{ limit }} ή περισσότερο. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Αυτή η τιμή είναι πολύ μικρή. Πρέπει να έχει {{ limit }} χαρακτήρα ή περισσότερο.|Αυτή η τιμή είναι πολύ μικρή. Πρέπει να έχει {{ limit }} χαρακτήρες ή περισσότερο. - - - This value should not be blank. - Αυτή η τιμή δεν πρέπει να είναι κενή. - - - This value should not be null. - Αυτή η τιμή δεν πρέπει να είναι μηδενική. - - - This value should be null. - Αυτή η τιμή πρέπει να είναι μηδενική. - - - This value is not valid. - Αυτή η τιμή δεν είναι έγκυρη. - - - This value is not a valid time. - Αυτή η τιμή δεν αντιστοιχεί σε έγκυρη ώρα. - - - This value is not a valid URL. - Αυτή η τιμή δεν αντιστοιχεί σε έγκυρο σύνδεσμο. - - - The two values should be equal. - Οι δύο τιμές θα πρέπει να είναι ίσες. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Το αρχείο είναι πολύ μεγάλο. Το μέγιστο επιτρεπτό μέγεθος είναι {{ limit }} {{ suffix }}. - - - The file is too large. - Το αρχείο είναι πολύ μεγάλο. - - - The file could not be uploaded. - Το αρχείο δε μπορεί να μεταφορτωθεί. - - - This value should be a valid number. - Αυτή η τιμή πρέπει να είναι ένας έγκυρος αριθμός. - - - This file is not a valid image. - Το αρχείο δεν αποτελεί έγκυρη εικόνα. - - - This value is not a valid IP address. - Αυτή η IP διεύθυνση δεν είναι έγκυρη. - - - This value is not a valid language. - Αυτή η τιμή δεν αντιστοιχεί σε μια έγκυρη γλώσσα. - - - This value is not a valid locale. - Αυτή η τιμή δεν αντιστοιχεί σε έγκυρη τοποθεσία. - - - This value is not a valid country. - Αυτή η τιμή δεν αντιστοιχεί σε μια έγκυρη χώρα. - - - This value is already used. - Αυτή η τιμή χρησιμοποιείται ήδη. - - - The size of the image could not be detected. - Το μέγεθος της εικόνας δεν ήταν δυνατό να ανιχνευθεί. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Το πλάτος της εικόνας είναι πολύ μεγάλο ({{ width }}px). Το μέγιστο επιτρεπτό πλάτος είναι {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Το πλάτος της εικόνας είναι πολύ μικρό ({{ width }}px). Το ελάχιστο επιτρεπτό πλάτος είναι {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Το ύψος της εικόνας είναι πολύ μεγάλο ({{ height }}px). Το μέγιστο επιτρεπτό ύψος είναι {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Το ύψος της εικόνας είναι πολύ μικρό ({{ height }}px). Το ελάχιστο επιτρεπτό ύψος είναι {{ min_height }}px. - - - This value should be the user's current password. - Αυτή η τιμή πρέπει να είναι ο τρέχων κωδικός του χρήστη. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Αυτή η τιμή πρέπει να έχει ακριβώς {{ limit }} χαρακτήρα.|Αυτή η τιμή πρέπει να έχει ακριβώς {{ limit }} χαρακτήρες. - - - The file was only partially uploaded. - Το αρχείο δεν μεταφορτώθηκε ολόκληρο. - - - No file was uploaded. - Δεν μεταφορτώθηκε κανένα αρχείο. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Δεν έχει ρυθμιστεί προσωρινός φάκελος στο php.ini ή ο ρυθμισμένος φάκελος δεν υπάρχει. - - - Cannot write temporary file to disk. - Αδυναμία εγγραφής προσωρινού αρχείου στο δίσκο. - - - A PHP extension caused the upload to fail. - Μια επέκταση PHP προκάλεσε αδυναμία ανεβάσματος. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Αυτή η συλλογή πρέπει να περιέχει {{ limit }} στοιχείο ή περισσότερα.|Αυτή η συλλογή πρέπει να περιέχει {{ limit }} στοιχεία ή περισσότερα. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Αυτή η συλλογή πρέπει να περιέχει {{ limit }} στοιχείo ή λιγότερα.|Αυτή η συλλογή πρέπει να περιέχει {{ limit }} στοιχεία ή λιγότερα. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Αυτή η συλλογή πρέπει να περιέχει ακριβώς {{ limit }} στοιχείo.|Αυτή η συλλογή πρέπει να περιέχει ακριβώς {{ limit }} στοιχεία. - - - Invalid card number. - Μη έγκυρος αριθμός κάρτας. - - - Unsupported card type or invalid card number. - Μη υποστηριζόμενος τύπος κάρτας ή μη έγκυρος αριθμός κάρτας. - - - This value is not a valid International Bank Account Number (IBAN). - Αυτός δεν είναι έγκυρος διεθνής αριθμός τραπεζικού λογαριασμού (IBAN). - - - This value is not a valid ISBN-10. - Αυτός δεν είναι έγκυρος κωδικός ISBN-10. - - - This value is not a valid ISBN-13. - Αυτός δεν είναι έγκυρος κωδικός ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Αυτός δεν είναι ούτε ένας έγκυρος κωδικός ISBN-10 ούτε έγκυρος κωδικός ISBN-13. - - - This value is not a valid ISSN. - Αυτός δεν είναι έγκυρος κωδικός ISSN. - - - This value is not a valid currency. - Αυτή η τιμή δεν αντιστοιχεί σε έγκυρο νόμισμα. - - - This value should be equal to {{ compared_value }}. - Αυτή η τιμή θα πρέπει να είναι ίση με {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Αυτή η τιμή θα πρέπει να είναι μεγαλύτερη από {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Αυτή η τιμή θα πρέπει να είναι μεγαλύτερη ή ίση με {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Αυτή η τιμή θα πρέπει να είναι ίδια με {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Αυτή η τιμή θα πρέπει να είναι μικρότερη από {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Αυτή η τιμή θα πρέπει να είναι μικρότερη ή ίση με {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Αυτή η τιμή δεν θα πρέπει να είναι ίση με {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Αυτή η τιμή δεν πρέπει να είναι ίδια με {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Η αναλογία της εικόνας είναι πολύ μεγάλη ({{ ratio }}). Μέγιστη επιτρεπτή αναλογία {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Η αναλογία της εικόνας είναι πολύ μικρή ({{ ratio }}). Ελάχιστη επιτρεπτή αναλογία {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Η εικόνα είναι τετράγωνη ({{ width }}x{{ height }}px). Δεν επιτρέπονται τετράγωνες εικόνες. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Η εικόνα έχει οριζόντιο προσανατολισμό ({{ width }}x{{ height }}px). Δεν επιτρέπονται εικόνες με οριζόντιο προσανατολισμό. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Η εικόνα έχει κάθετο προσανατολισμό ({{ width }}x{{ height }}px). Δεν επιτρέπονται εικόνες με κάθετο προσανατολισμό. - - - An empty file is not allowed. - Δεν επιτρέπεται κενό αρχείο. - - - The host could not be resolved. - Δεν ήταν δυνατή η επίλυση του κεντρικού υπολογιστή. - - - This value does not match the expected {{ charset }} charset. - Αυτή η τιμή δεν ταιριάζει στο αναμενόμενο {{ charset }} σύνολο χαρακτήρων. - - - This value is not a valid Business Identifier Code (BIC). - Αυτός ο αριθμός δεν είναι έγκυρος Κωδικός Ταυτοποίησης Επιχείρησης (BIC). - - - Error - Σφάλμα - - - This value is not a valid UUID. - Αυτός ο αριθμός δεν είναι έγκυρη UUID. - - - This value should be a multiple of {{ compared_value }}. - Αυτή η τιμή πρέπει να είναι πολλαπλάσιο του {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Αυτός ο κωδικός BIC δεν σχετίζεται με το IBAN {{ iban }}. - - - This value should be valid JSON. - Αυτή η τιμή πρέπει να είναι έγκυρο JSON. - - - This collection should contain only unique elements. - Αυτή η συλλογή πρέπει να περιέχει μόνο μοναδικά στοιχεία. - - - This value should be positive. - Αυτή η τιμή πρέπει να είναι θετική. - - - This value should be either positive or zero. - Αυτή η τιμή πρέπει να είναι θετική ή μηδενική. - - - This value should be negative. - Αυτή η τιμή πρέπει να είναι αρνητική. - - - This value should be either negative or zero. - Αυτή η τιμή πρέπει να είναι αρνητική ή μηδενική. - - - This value is not a valid timezone. - Αυτή η τιμή δεν είναι έγκυρη ζώνη ώρας. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Αυτός ο κωδικός πρόσβασης έχει διαρρεύσει σε παραβίαση δεδομένων. Παρακαλούμε να χρησιμοποιήσετε έναν άλλο κωδικό. - - - This value should be between {{ min }} and {{ max }}. - Αυτή η τιμή πρέπει να είναι μεταξύ {{ min }} και {{ max }}. - - - This value is not a valid hostname. - Αυτή η τιμή δεν είναι έγκυρο όνομα κεντρικού υπολογιστή. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Το νούμερο των στοιχείων σε αυτή τη συλλογή πρέπει να είναι πολλαπλάσιο του {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Αυτή η τιμή πρέπει να ικανοποιεί τουλάχιστον έναν από τους παρακάτω περιορισμούς: - - - Each element of this collection should satisfy its own set of constraints. - Κάθε στοιχείο σε αυτή τη συλλογή πρέπει να ικανοποιεί το δικό του σύνολο περιορισμών. - - - This value is not a valid International Securities Identification Number (ISIN). - Αυτή η τιμή δεν είναι έγκυρος Διεθνής Αριθμός Αναγνώρισης Τίτλων (ISIN). - - - This value should be a valid expression. - Αυτή η τιμή θα πρέπει να είναι μία έγκυρη έκφραση. - - - This value is not a valid CSS color. - Αυτή η τιμή δεν είναι έγκυρο χρώμα CSS. - - - This value is not a valid CIDR notation. - Αυτή η τιμή δεν είναι έγκυρη σημειογραφία CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Η τιμή του netmask πρέπει να είναι ανάμεσα σε {{ min }} και {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Το όνομα αρχείου είναι πολύ μεγάλο. Θα πρέπει να έχει έως {{ filename_max_length }} χαρακτήρα.|Το όνομα αρχείου είναι πολύ μεγάλο. Θα πρέπει να έχει έως {{ filename_max_length }} χαρακτήρες. - - - The password strength is too low. Please use a stronger password. - Η ισχύς του κωδικού πρόσβασης είναι πολύ χαμηλή. Χρησιμοποιήστε έναν ισχυρότερο κωδικό πρόσβασης. - - - This value contains characters that are not allowed by the current restriction-level. - Αυτή η τιμή περιέχει χαρακτήρες που δεν επιτρέπονται από το τρέχον επίπεδο περιορισμού. - - - Using invisible characters is not allowed. - Δεν επιτρέπεται η χρήση αόρατων χαρακτήρων. - - - Mixing numbers from different scripts is not allowed. - Δεν επιτρέπεται η μίξη αριθμών από διαφορετικά γραφήματα. - - - Using hidden overlay characters is not allowed. - Δεν επιτρέπεται η χρήση κρυφών χαρακτήρων επικάλυψης. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Η επέκταση του αρχείου δεν είναι έγκυρη ({{ extension }}). Οι επιτρεπτόμενες επεκτάσεις είναι {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Η κωδικοποίηση χαρακτήρων που ανιχνεύτηκε δεν είναι έγκυρη ({{ detected }}). Οι επιτρεπόμενες κωδικοποιήσεις είναι {{ encodings }}. - - - This value is not a valid MAC address. - Αυτός ο αριθμός δεν είναι έγκυρη διεύθυνση MAC. - - - This URL is missing a top-level domain. - Λείπει ένας τομέας ανώτατου επιπέδου απο τον σύνδεσμο. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Αυτή η τιμή είναι πολύ σύντομη. Πρέπει να περιέχει τουλάχιστον μία λέξη.|Αυτή η τιμή είναι πολύ σύντομη. Πρέπει να περιέχει τουλάχιστον {{ min }} λέξεις. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Αυτή η τιμή είναι πολύ μεγάλη. Πρέπει να περιέχει μόνο μία λέξη.|Αυτή η τιμή είναι πολύ μεγάλη. Πρέπει να περιέχει {{ max }} λέξεις ή λιγότερες. - - - This value does not represent a valid week in the ISO 8601 format. - Αυτή η τιμή δεν αντιπροσωπεύει έγκυρη εβδομάδα στη μορφή ISO 8601. - - - This value is not a valid week. - Αυτή η τιμή δεν είναι έγκυρη εβδομάδα. - - - This value should not be before week "{{ min }}". - Αυτή η τιμή δεν πρέπει να είναι πριν από την εβδομάδα "{{ min }}". - - - This value should not be after week "{{ max }}". - Αυτή η τιμή δεν πρέπει να είναι μετά την εβδομάδα "{{ max }}". - - - This value is not a valid Twig template. - Αυτή η τιμή δεν είναι έγκυρο πρότυπο Twig. - - - This file is not a valid video. - Αυτό το αρχείο δεν είναι έγκυρο βίντεο. - - - The size of the video could not be detected. - Δεν ήταν δυνατή η ανίχνευση του μεγέθους του βίντεο. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Το πλάτος του βίντεο είναι πολύ μεγάλο ({{ width }}px). Το επιτρεπόμενο μέγιστο πλάτος είναι {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Το πλάτος του βίντεο είναι πολύ μικρό ({{ width }}px). Το ελάχιστο αναμενόμενο πλάτος είναι {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Το ύψος του βίντεο είναι πολύ μεγάλο ({{ height }}px). Το επιτρεπόμενο μέγιστο ύψος είναι {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Το ύψος του βίντεο είναι πολύ μικρό ({{ height }}px). Το αναμενόμενο ελάχιστο ύψος είναι {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Το βίντεο έχει πολύ λίγα εικονοστοιχεία ({{ pixels }}). Η ελάχιστη αναμενόμενη ποσότητα είναι {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Το βίντεο έχει πάρα πολλά εικονοστοιχεία ({{ pixels }}). Η μέγιστη αναμενόμενη ποσότητα είναι {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Η αναλογία του βίντεο είναι πολύ μεγάλη ({{ ratio }}). Η μέγιστη επιτρεπτή αναλογία είναι {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Η αναλογία βίντεο είναι πολύ μικρή ({{ ratio }}). Η ελάχιστη αναμενόμενη αναλογία είναι {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Το βίντεο είναι τετράγωνο ({{ width }}x{{ height }}px). Τα τετράγωνα βίντεο δεν επιτρέπονται. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Το βίντεο είναι σε οριζόντιο προσανατολισμό ({{ width }}x{{ height }} px). Τα οριζόντια βίντεο δεν επιτρέπονται. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Το βίντεο είναι σε κάθετο προσανατολισμό ({{ width }}x{{ height }}px). Βίντεο κάθετου προσανατολισμού δεν επιτρέπονται. - - - The video file is corrupted. - Το αρχείο του βίντεο είναι κατεστραμμένο. - - - The video contains multiple streams. Only one stream is allowed. - Το βίντεο περιέχει πολλαπλά ρεύματα. Επιτρέπεται μόνο ένα ρεύμα. - - - Unsupported video codec "{{ codec }}". - Μη υποστηριζόμενος κωδικοποιητής βίντεο «{{ codec }}». - - - Unsupported video container "{{ container }}". - Μη υποστηριζόμενος περιέκτης βίντεο "{{ container }}". - - - The image file is corrupted. - Το αρχείο της εικόνας είναι κατεστραμμένο. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Η εικόνα έχει πολύ λίγα εικονοστοιχεία ({{ pixels }}). Η αναμενόμενη ελάχιστη ποσότητα είναι {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Η εικόνα έχει πάρα πολλούς εικονοστοιχείους ({{ pixels }}). Ο μέγιστος αναμενόμενος αριθμός είναι {{ max_pixels }}. - - - This filename does not match the expected charset. - Αυτό το όνομα αρχείου δεν αντιστοιχεί στο αναμενόμενο σύνολο χαρακτήρων. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.en.xlf b/app/vendor/symfony/validator/Resources/translations/validators.en.xlf deleted file mode 100644 index 9a00253e3..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.en.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - This value should be false. - - - This value should be true. - This value should be true. - - - This value should be of type {{ type }}. - This value should be of type {{ type }}. - - - This value should be blank. - This value should be blank. - - - The value you selected is not a valid choice. - The value you selected is not a valid choice. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - - - One or more of the given values is invalid. - One or more of the given values is invalid. - - - This field was not expected. - This field was not expected. - - - This field is missing. - This field is missing. - - - This value is not a valid date. - This value is not a valid date. - - - This value is not a valid datetime. - This value is not a valid datetime. - - - This value is not a valid email address. - This value is not a valid email address. - - - The file could not be found. - The file could not be found. - - - The file is not readable. - The file is not readable. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - - - This value should be {{ limit }} or less. - This value should be {{ limit }} or less. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - - - This value should be {{ limit }} or more. - This value should be {{ limit }} or more. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - - - This value should not be blank. - This value should not be blank. - - - This value should not be null. - This value should not be null. - - - This value should be null. - This value should be null. - - - This value is not valid. - This value is not valid. - - - This value is not a valid time. - This value is not a valid time. - - - This value is not a valid URL. - This value is not a valid URL. - - - The two values should be equal. - The two values should be equal. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - - - The file is too large. - The file is too large. - - - The file could not be uploaded. - The file could not be uploaded. - - - This value should be a valid number. - This value should be a valid number. - - - This file is not a valid image. - This file is not a valid image. - - - This is not a valid IP address. - This value is not a valid IP address. - - - This value is not a valid language. - This value is not a valid language. - - - This value is not a valid locale. - This value is not a valid locale. - - - This value is not a valid country. - This value is not a valid country. - - - This value is already used. - This value is already used. - - - The size of the image could not be detected. - The size of the image could not be detected. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - - - This value should be the user's current password. - This value should be the user's current password. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - - - The file was only partially uploaded. - The file was only partially uploaded. - - - No file was uploaded. - No file was uploaded. - - - No temporary folder was configured in php.ini. - No temporary folder was configured in php.ini, or the configured folder does not exist. - - - Cannot write temporary file to disk. - Cannot write temporary file to disk. - - - A PHP extension caused the upload to fail. - A PHP extension caused the upload to fail. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - - - Invalid card number. - Invalid card number. - - - Unsupported card type or invalid card number. - Unsupported card type or invalid card number. - - - This is not a valid International Bank Account Number (IBAN). - This value is not a valid International Bank Account Number (IBAN). - - - This value is not a valid ISBN-10. - This value is not a valid ISBN-10. - - - This value is not a valid ISBN-13. - This value is not a valid ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - This value is neither a valid ISBN-10 nor a valid ISBN-13. - - - This value is not a valid ISSN. - This value is not a valid ISSN. - - - This value is not a valid currency. - This value is not a valid currency. - - - This value should be equal to {{ compared_value }}. - This value should be equal to {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - This value should be greater than {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - This value should be greater than or equal to {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - This value should be less than {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - This value should be less than or equal to {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - This value should not be equal to {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - - - An empty file is not allowed. - An empty file is not allowed. - - - The host could not be resolved. - The host could not be resolved. - - - This value does not match the expected {{ charset }} charset. - This value does not match the expected {{ charset }} charset. - - - This is not a valid Business Identifier Code (BIC). - This value is not a valid Business Identifier Code (BIC). - - - Error - Error - - - This is not a valid UUID. - This value is not a valid UUID. - - - This value should be a multiple of {{ compared_value }}. - This value should be a multiple of {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - - - This value should be valid JSON. - This value should be valid JSON. - - - This collection should contain only unique elements. - This collection should contain only unique elements. - - - This value should be positive. - This value should be positive. - - - This value should be either positive or zero. - This value should be either positive or zero. - - - This value should be negative. - This value should be negative. - - - This value should be either negative or zero. - This value should be either negative or zero. - - - This value is not a valid timezone. - This value is not a valid timezone. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - This password has been leaked in a data breach, it must not be used. Please use another password. - - - This value should be between {{ min }} and {{ max }}. - This value should be between {{ min }} and {{ max }}. - - - This value is not a valid hostname. - This value is not a valid hostname. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - The number of elements in this collection should be a multiple of {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - This value should satisfy at least one of the following constraints: - - - Each element of this collection should satisfy its own set of constraints. - Each element of this collection should satisfy its own set of constraints. - - - This value is not a valid International Securities Identification Number (ISIN). - This value is not a valid International Securities Identification Number (ISIN). - - - This value should be a valid expression. - This value should be a valid expression. - - - This value is not a valid CSS color. - This value is not a valid CSS color. - - - This value is not a valid CIDR notation. - This value is not a valid CIDR notation. - - - The value of the netmask should be between {{ min }} and {{ max }}. - The value of the netmask should be between {{ min }} and {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - - - The password strength is too low. Please use a stronger password. - The password strength is too low. Please use a stronger password. - - - This value contains characters that are not allowed by the current restriction-level. - This value contains characters that are not allowed by the current restriction-level. - - - Using invisible characters is not allowed. - Using invisible characters is not allowed. - - - Mixing numbers from different scripts is not allowed. - Mixing numbers from different scripts is not allowed. - - - Using hidden overlay characters is not allowed. - Using hidden overlay characters is not allowed. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - - - This value is not a valid MAC address. - This value is not a valid MAC address. - - - This URL is missing a top-level domain. - This URL is missing a top-level domain. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - - - This value does not represent a valid week in the ISO 8601 format. - This value does not represent a valid week in the ISO 8601 format. - - - This value is not a valid week. - This value is not a valid week. - - - This value should not be before week "{{ min }}". - This value should not be before week "{{ min }}". - - - This value should not be after week "{{ max }}". - This value should not be after week "{{ max }}". - - - This value is not a valid Twig template. - This value is not a valid Twig template. - - - This file is not a valid video. - This file is not a valid video. - - - The size of the video could not be detected. - The size of the video could not be detected. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - - - The video file is corrupted. - The video file is corrupted. - - - The video contains multiple streams. Only one stream is allowed. - The video contains multiple streams. Only one stream is allowed. - - - Unsupported video codec "{{ codec }}". - Unsupported video codec "{{ codec }}". - - - Unsupported video container "{{ container }}". - Unsupported video container "{{ container }}". - - - The image file is corrupted. - The image file is corrupted. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - - - This filename does not match the expected charset. - This filename does not match the expected charset. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.es.xlf b/app/vendor/symfony/validator/Resources/translations/validators.es.xlf deleted file mode 100644 index 2685ed174..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.es.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Este valor debería ser falso. - - - This value should be true. - Este valor debería ser verdadero. - - - This value should be of type {{ type }}. - Este valor debería ser de tipo {{ type }}. - - - This value should be blank. - Este valor debería estar vacío. - - - The value you selected is not a valid choice. - El valor seleccionado no es una opción válida. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Debe seleccionar al menos {{ limit }} opción.|Debe seleccionar al menos {{ limit }} opciones. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Debe seleccionar como máximo {{ limit }} opción.|Debe seleccionar como máximo {{ limit }} opciones. - - - One or more of the given values is invalid. - Uno o más de los valores indicados no son válidos. - - - This field was not expected. - Este campo no se esperaba. - - - This field is missing. - Este campo falta. - - - This value is not a valid date. - Este valor no es una fecha válida. - - - This value is not a valid datetime. - Este valor no es una fecha y hora válida. - - - This value is not a valid email address. - Este valor no es una dirección de email válida. - - - The file could not be found. - No se pudo encontrar el archivo. - - - The file is not readable. - No se puede leer el archivo. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - El archivo es demasiado grande ({{ size }} {{ suffix }}). El tamaño máximo permitido es {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - El tipo mime del archivo no es válido ({{ type }}). Los tipos mime válidos son {{ types }}. - - - This value should be {{ limit }} or less. - Este valor debería ser {{ limit }} o menos. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Este valor es demasiado largo. Debería tener {{ limit }} carácter o menos.|Este valor es demasiado largo. Debería tener {{ limit }} caracteres o menos. - - - This value should be {{ limit }} or more. - Este valor debería ser {{ limit }} o más. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Este valor es demasiado corto. Debería tener {{ limit }} carácter o más.|Este valor es demasiado corto. Debería tener {{ limit }} caracteres o más. - - - This value should not be blank. - Este valor no debería estar vacío. - - - This value should not be null. - Este valor no debería ser nulo. - - - This value should be null. - Este valor debería ser nulo. - - - This value is not valid. - Este valor no es válido. - - - This value is not a valid time. - Este valor no es una hora válida. - - - This value is not a valid URL. - Este valor no es una URL válida. - - - The two values should be equal. - Los dos valores deberían ser iguales. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - El archivo es demasiado grande. El tamaño máximo permitido es {{ limit }} {{ suffix }}. - - - The file is too large. - El archivo es demasiado grande. - - - The file could not be uploaded. - No se pudo subir el archivo. - - - This value should be a valid number. - Este valor debería ser un número válido. - - - This file is not a valid image. - El archivo no es una imagen válida. - - - This value is not a valid IP address. - Este valor no es una dirección IP válida. - - - This value is not a valid language. - Este valor no es un idioma válido. - - - This value is not a valid locale. - Este valor no es una localización válida. - - - This value is not a valid country. - Este valor no es un país válido. - - - This value is already used. - Este valor ya se ha utilizado. - - - The size of the image could not be detected. - No se pudo determinar el tamaño de la imagen. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - La anchura de la imagen es demasiado grande ({{ width }}px). La anchura máxima permitida es de {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - La anchura de la imagen es demasiado pequeña ({{ width }}px). La anchura mínima requerida es de {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - La altura de la imagen es demasiado grande ({{ height }}px). La altura máxima permitida es de {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - La altura de la imagen es demasiado pequeña ({{ height }}px). La altura mínima requerida es de {{ min_height }}px. - - - This value should be the user's current password. - Este valor debería ser la contraseña actual del usuario. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Este valor debería tener exactamente {{ limit }} carácter.|Este valor debería tener exactamente {{ limit }} caracteres. - - - The file was only partially uploaded. - El archivo se cargó solo parcialmente. - - - No file was uploaded. - No se subió ningún archivo. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Ninguna carpeta temporal fue configurada en php.ini o la carpeta configurada no existe. - - - Cannot write temporary file to disk. - No se pudo escribir el archivo temporal en el disco. - - - A PHP extension caused the upload to fail. - Una extensión de PHP provocó que la carga fallara. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Esta colección debe contener {{ limit }} elemento o más.|Esta colección debe contener {{ limit }} elementos o más. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Esta colección debe contener {{ limit }} elemento o menos.|Esta colección debe contener {{ limit }} elementos o menos. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Esta colección debe contener exactamente {{ limit }} elemento.|Esta colección debe contener exactamente {{ limit }} elementos. - - - Invalid card number. - Número de tarjeta inválido. - - - Unsupported card type or invalid card number. - Tipo de tarjeta no soportado o número de tarjeta inválido. - - - This value is not a valid International Bank Account Number (IBAN). - Este valor no es un Número de Cuenta Bancaria Internacional (IBAN) válido. - - - This value is not a valid ISBN-10. - Este valor no es un ISBN-10 válido. - - - This value is not a valid ISBN-13. - Este valor no es un ISBN-13 válido. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Este valor no es ni un ISBN-10 válido ni un ISBN-13 válido. - - - This value is not a valid ISSN. - Este valor no es un ISSN válido. - - - This value is not a valid currency. - Este valor no es una divisa válida. - - - This value should be equal to {{ compared_value }}. - Este valor debería ser igual que {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Este valor debería ser mayor que {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Este valor debería ser mayor o igual que {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Este valor debería ser idéntico a {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Este valor debería ser menor que {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Este valor debería ser menor o igual que {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Este valor debería ser distinto de {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Este valor no debería ser idéntico a {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - La proporción de la imagen es demasiado grande ({{ ratio }}). La máxima proporción permitida es {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - La proporción de la imagen es demasiado pequeña ({{ ratio }}). La mínima proporción permitida es {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - La imagen es cuadrada ({{ width }}x{{ height }}px). Las imágenes cuadradas no están permitidas. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - La imagen está orientada horizontalmente ({{ width }}x{{ height }}px). Las imágenes orientadas horizontalmente no están permitidas. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - La imagen está orientada verticalmente ({{ width }}x{{ height }}px). Las imágenes orientadas verticalmente no están permitidas. - - - An empty file is not allowed. - No se permite un archivo vacío. - - - The host could not be resolved. - No se puede resolver el host. - - - This value does not match the expected {{ charset }} charset. - La codificación de caracteres para este valor debería ser {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Este valor no es un Código de Identificación de Negocios (BIC) válido. - - - Error - Error - - - This value is not a valid UUID. - Este valor no es un UUID válido. - - - This value should be a multiple of {{ compared_value }}. - Este valor debería ser múltiplo de {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Este Código de Identificación Bancaria (BIC) no está asociado con el IBAN {{ iban }}. - - - This value should be valid JSON. - Este valor debería ser un JSON válido. - - - This collection should contain only unique elements. - Esta colección debería tener exclusivamente elementos únicos. - - - This value should be positive. - Este valor debería ser positivo. - - - This value should be either positive or zero. - Este valor debería ser positivo o igual a cero. - - - This value should be negative. - Este valor debería ser negativo. - - - This value should be either negative or zero. - Este valor debería ser negativo o igual a cero. - - - This value is not a valid timezone. - Este valor no es una zona horaria válida. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Esta contraseña no se puede utilizar porque está incluida en un listado de contraseñas públicas obtenido gracias a fallos de seguridad de otros sitios y aplicaciones. Por favor, utilice otra contraseña. - - - This value should be between {{ min }} and {{ max }}. - Este valor debería estar entre {{ min }} y {{ max }}. - - - This value is not a valid hostname. - Este valor no es un nombre de host válido. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - El número de elementos en esta colección debería ser múltiplo de {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Este valor debería satisfacer al menos una de las siguientes restricciones: - - - Each element of this collection should satisfy its own set of constraints. - Cada elemento de esta colección debería satisfacer su propio conjunto de restricciones. - - - This value is not a valid International Securities Identification Number (ISIN). - Este valor no es un número de identificación internacional de valores (ISIN) válido. - - - This value should be a valid expression. - Este valor debería ser una expresión válida. - - - This value is not a valid CSS color. - Este valor no es un color CSS válido. - - - This value is not a valid CIDR notation. - Este valor no es una notación CIDR válida. - - - The value of the netmask should be between {{ min }} and {{ max }}. - El valor de la máscara de red debería estar entre {{ min }} y {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - El nombre del archivo es demasiado largo. Debe tener {{ filename_max_length }} carácter o menos.|El nombre del archivo es demasiado largo. Debe tener {{ filename_max_length }} caracteres o menos. - - - The password strength is too low. Please use a stronger password. - La seguridad de la contraseña es demasiado baja. Por favor, utilice una contraseña más segura. - - - This value contains characters that are not allowed by the current restriction-level. - Este valor contiene caracteres que no están permitidos según el nivel de restricción actual. - - - Using invisible characters is not allowed. - No se permite el uso de caracteres invisibles. - - - Mixing numbers from different scripts is not allowed. - No está permitido mezclar números de diferentes scripts. - - - Using hidden overlay characters is not allowed. - No está permitido el uso de caracteres superpuestos ocultos. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - La extensión del archivo no es válida ({{ extension }}). Las extensiones permitidas son {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - La codificación de los caracteres detectada es inválida ({{ detected }}). Las codificaciones permitidas son {{ encodings }}. - - - This value is not a valid MAC address. - Este valor no es una dirección MAC válida. - - - This URL is missing a top-level domain. - Esta URL no contiene una extensión de dominio (TLD). - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Este valor es demasiado corto. Debe contener al menos una palabra.|Este valor es demasiado corto. Debe contener al menos {{ min }} palabras. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Este valor es demasiado largo. Debe contener una palabra.|Este valor es demasiado largo. Debe contener {{ max }} palabras o menos. - - - This value does not represent a valid week in the ISO 8601 format. - Este valor no representa una semana válida en formato ISO 8601. - - - This value is not a valid week. - Este valor no es una semana válida. - - - This value should not be before week "{{ min }}". - Este valor no debe ser anterior a la semana "{{ min }}". - - - This value should not be after week "{{ max }}". - Este valor no debe ser posterior a la semana "{{ max }}". - - - This value is not a valid Twig template. - Este valor no es una plantilla Twig válida. - - - This file is not a valid video. - Este archivo no es un vídeo válido. - - - The size of the video could not be detected. - No se pudo detectar el tamaño del vídeo. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - La anchura del vídeo es demasiado grande ({{ width }}px). La anchura máxima permitida es de {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - La anchura del vídeo es demasiado pequeña ({{ width }}px). La anchura mínima requerida es de {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - La altura del vídeo es demasiado grande ({{ height }}px). La altura máxima permitida es de {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - La altura del vídeo es demasiado pequeña ({{ height }}px). La altura mínima requerida es de {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - El vídeo no tiene suficientes píxeles ({{ pixels }}). La cantidad mínima requerida es de {{ min_pixels }}px. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - El vídeo tiene demasiados píxeles ({{ pixels }}). La cantidad máxima permitida es de {{ max_pixels }}px. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - La relación de aspecto del vídeo es demasiado grande ({{ ratio }}). La máxima relación de aspecto permitida es de {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - La relación de aspecto del vídeo es demasiado pequeña ({{ ratio }}). La mínima relación de aspecto permitida es de {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - El vídeo es cuadrado ({{ width }}x{{ height }}px). Los vídeos cuadrados no están permitidos. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - El vídeo está orientado horizontalmente ({{ width }}x{{ height }}px). Los vídeos orientados horizontalmente no están permitidos. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - El vídeo está orientado verticalmente ({{ width }}x{{ height }}px). Los vídeos orientados verticalmente no están permitidos. - - - The video file is corrupted. - El archivo de vídeo está dañado. - - - The video contains multiple streams. Only one stream is allowed. - El vídeo contiene múltiples flujos. Solo se permite un flujo. - - - Unsupported video codec "{{ codec }}". - El códec de vídeo "{{ codec }}" no es compatible. - - - Unsupported video container "{{ container }}". - El contenedor de vídeo "{{ container }}" no es compatible. - - - The image file is corrupted. - El archivo de imagen está dañado. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - La imagen no tiene suficientes píxeles ({{ pixels }}). La cantidad mínima requerida es de {{ min_pixels }}px. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - La imagen tiene demasiados píxeles ({{ pixels }}). La cantidad máxima permitida es de {{ max_pixels }}px. - - - This filename does not match the expected charset. - El nombre de este archivo no utiliza el conjunto de caracteres esperado. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.et.xlf b/app/vendor/symfony/validator/Resources/translations/validators.et.xlf deleted file mode 100644 index cd53b1f20..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.et.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Väärtus peaks olema väär. - - - This value should be true. - Väärtus peaks oleme tõene. - - - This value should be of type {{ type }}. - Väärtus peaks olema {{ type }}-tüüpi. - - - This value should be blank. - Väärtus peaks olema tühi. - - - The value you selected is not a valid choice. - Väärtus peaks olema üks etteantud valikutest. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Valima peaks vähemalt {{ limit }} valikut. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Valima peaks mitte rohkem kui {{ limit }} valikut. - - - One or more of the given values is invalid. - Üks või rohkem väärtustest on vigane. - - - This field was not expected. - See väli ei olnud oodatud. - - - This field is missing. - See väli on puudu. - - - This value is not a valid date. - Väärtus pole korrektne kuupäev. - - - This value is not a valid datetime. - Väärtus pole korrektne kuupäev ja kellaeg. - - - This value is not a valid email address. - Väärtus pole korrektne e-maili aadress. - - - The file could not be found. - Faili ei leita. - - - The file is not readable. - Fail ei ole loetav. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Fail on liiga suur ({{ size }} {{ suffix }}). Suurim lubatud suurus on {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Faili sisutüüp on vigane ({{ type }}). Lubatud sisutüübid on {{ types }}. - - - This value should be {{ limit }} or less. - Väärtus peaks olema {{ limit }} või vähem. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Väärtus on liiga pikk. Pikkus peaks olema {{ limit }} tähemärki või vähem. - - - This value should be {{ limit }} or more. - Väärtus peaks olema {{ limit }} või rohkem. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Väärtus on liiga lühike. Pikkus peaks olema {{ limit }} tähemärki või rohkem. - - - This value should not be blank. - Väärtus ei tohiks olla tühi. - - - This value should not be null. - Väärtus ei tohiks olla 'null'. - - - This value should be null. - Väärtus peaks olema 'null'. - - - This value is not valid. - Väärtus on vigane. - - - This value is not a valid time. - Väärtus pole korrektne aeg. - - - This value is not a valid URL. - Väärtus pole korrektne URL. - - - The two values should be equal. - Väärtused peaksid olema võrdsed. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Fail on liiga suur. Maksimaalne lubatud suurus on {{ limit }} {{ suffix }}. - - - The file is too large. - Fail on liiga suur. - - - The file could not be uploaded. - Faili ei saa üles laadida. - - - This value should be a valid number. - Väärtus peaks olema korrektne number. - - - This file is not a valid image. - Fail ei ole korrektne pilt. - - - This value is not a valid IP address. - See väärtus ei ole kehtiv IP-aadress. - - - This value is not a valid language. - Väärtus pole korrektne keel. - - - This value is not a valid locale. - Väärtus pole korrektne asukohakeel. - - - This value is not a valid country. - Väärtus pole olemasolev riik. - - - This value is already used. - Väärtust on juba kasutatud. - - - The size of the image could not be detected. - Pildi suurust polnud võimalik tuvastada. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Pilt on liiga lai ({{ width }}px). Suurim lubatud laius on {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Pilt on liiga kitsas ({{ width }}px). Vähim lubatud laius on {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Pilt on liiga pikk ({{ height }}px). Lubatud suurim pikkus on {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Pilt pole piisavalt pikk ({{ height }}px). Lubatud vähim pikkus on {{ min_height }}px. - - - This value should be the user's current password. - Väärtus peaks olema kasutaja kehtiv salasõna. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Väärtus peaks olema täpselt {{ limit }} tähemärk pikk.|Väärtus peaks olema täpselt {{ limit }} tähemärki pikk. - - - The file was only partially uploaded. - Fail ei laetud täielikult üles. - - - No file was uploaded. - Ühtegi faili ei laetud üles. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Ajutine kaust php.ini-s ei olnud seadistatud või seadistatud kaust ei eksisteeri. - - - Cannot write temporary file to disk. - Ajutist faili ei saa kettale kirjutada. - - - A PHP extension caused the upload to fail. - PHP laiendi tõttu ebaõnnestus faili üleslaadimine. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Kogumikus peaks olema vähemalt {{ limit }} element.|Kogumikus peaks olema vähemalt {{ limit }} elementi. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Kogumikus peaks olema ülimalt {{ limit }} element.|Kogumikus peaks olema ülimalt {{ limit }} elementi. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Kogumikus peaks olema täpselt {{ limit }} element.|Kogumikus peaks olema täpselt {{ limit }}|elementi. - - - Invalid card number. - Vigane kaardi number. - - - Unsupported card type or invalid card number. - Kaardi tüüpi ei toetata või kaardi number on vigane. - - - This value is not a valid International Bank Account Number (IBAN). - See väärtus ei ole kehtiv Rahvusvaheline Kontonumber (IBAN). - - - This value is not a valid ISBN-10. - Väärtus pole korrektne ISBN-10. - - - This value is not a valid ISBN-13. - Väärtus pole korrektne ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Väärtus pole korrektne ISBN-10 ega ISBN-13. - - - This value is not a valid ISSN. - Väärtus pole korrektne ISSN. - - - This value is not a valid currency. - Väärtus pole korrektne valuuta. - - - This value should be equal to {{ compared_value }}. - Väärtus peaks olema võrdne {{ compared_value }}-ga. - - - This value should be greater than {{ compared_value }}. - Väärtus peaks olema suurem kui {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Väärtus peaks olema suurem kui või võrduma {{ compared_value }}-ga. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Väärtus peaks olema identne väärtusega {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Väärtus peaks olema väiksem kui {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Väärtus peaks olema väiksem kui või võrduma {{ compared_value }}-ga. - - - This value should not be equal to {{ compared_value }}. - Väärtus ei tohiks võrduda {{ compared_value }}-ga. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Väärtus ei tohiks olla identne väärtusega {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Kuvasuhe on liiga suur ({{ ratio }}). Lubatud maksimaalne suhe on {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Kuvasuhe on liiga väike ({{ ratio }}). Oodatav minimaalne suhe on {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Pilt on ruudukujuline ({{ width }}x{{ height }}px). Ruudukujulised pildid pole lubatud. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Pilt on horisontaalselt orienteeritud ({{ width }}x{{ height }}px). Maastikulised pildid pole lubatud. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Pilt on vertikaalselt orienteeritud ({{ width }}x{{ height }}px). Portreepildid pole lubatud. - - - An empty file is not allowed. - Tühi fail pole lubatud. - - - The host could not be resolved. - Sellist domeeni ei õnnestunud leida. - - - This value does not match the expected {{ charset }} charset. - See väärtus ei ühti eeldatava tähemärgiga {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - See väärtus ei ole kehtiv BIC-kood. - - - Error - Viga - - - This value is not a valid UUID. - See väärtus ei ole kehtiv UUID. - - - This value should be a multiple of {{ compared_value }}. - See väärtus peaks olema väärtuse {{ compared_value }} kordne. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - See ettevõtte identifitseerimiskood (BIC) ei ole seotud IBAN-iga {{ iban }}. - - - This value should be valid JSON. - See väärtus peaks olema kehtiv JSON. - - - This collection should contain only unique elements. - See kogu peaks sisaldama ainult unikaalseid elemente. - - - This value should be positive. - See väärtus peaks olema positiivne. - - - This value should be either positive or zero. - See väärtus peaks olema kas positiivne või null. - - - This value should be negative. - See väärtus peaks olema negatiivne. - - - This value should be either negative or zero. - See väärtus peaks olema kas negatiivne või null. - - - This value is not a valid timezone. - See väärtus pole kehtiv ajavöönd. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - See parool on lekkinud andmerikkumise korral, seda ei tohi kasutada. Palun kasutage muud parooli. - - - This value should be between {{ min }} and {{ max }}. - See väärtus peaks olema vahemikus {{ min }} kuni {{ max }}. - - - This value is not a valid hostname. - See väärtus pole korrektne domeeninimi. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Selles kogus olevate elementide arv peab olema arvu {{ compared_value }} kordne. - - - This value should satisfy at least one of the following constraints: - See väärtus peab vastama vähemalt ühele järgmistest tingimustest: - - - Each element of this collection should satisfy its own set of constraints. - Kõik väärtused selles kogus peavad vastama oma tingimustele. - - - This value is not a valid International Securities Identification Number (ISIN). - See väärtus pole korrektne ISIN-kood. - - - This value should be a valid expression. - See väärtus pole korrektne avaldis. - - - This value is not a valid CSS color. - See väärtus pole korrektne CSS-i värv. - - - This value is not a valid CIDR notation. - See väärtus pole korrektne CIDR võrguaadress. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Võrgumaski väärtus peaks olema vahemikus {{ min }} kuni {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Failinimi on liiga pikk. See peaks olema {{ filename_max_length }} tähemärk või vähem.|Failinimi on liiga pikk. See peaks olema {{ filename_max_length }} tähemärki või vähem. - - - The password strength is too low. Please use a stronger password. - Parooli tugevus on liiga madal. Palun kasuta tugevamat parooli. - - - This value contains characters that are not allowed by the current restriction-level. - See väärtus sisaldab tähemärke, mida praegune piirangu tase ei luba. - - - Using invisible characters is not allowed. - Mittenähtavate tähemärkide kasutamine ei ole lubatud. - - - Mixing numbers from different scripts is not allowed. - Eri kirjasüsteemidest pärit numbrite koos kasutamine pole lubatud. - - - Using hidden overlay characters is not allowed. - Peidetud tähemärkide kasutamine pole lubatud. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Faili laiend on vigane ({{ extension }}). Lubatud laiendid on {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Tuvastatud teksti kodeering on vigane ({{ detected }}). Lubatud kodeeringud on {{ encodings }}. - - - This value is not a valid MAC address. - See väärtus ei ole kehtiv MAC-aadress. - - - This URL is missing a top-level domain. - Sellel URL-il puudub ülataseme domeen. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - See väärtus on liiga lühike. See peaks sisaldama vähemalt ühte sõna.|See väärtus on liiga lühike. See peaks sisaldama vähemalt {{ min }} sõna. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - See väärtus on liiga pikk. See peaks sisaldama ainult ühte sõna.|See väärtus on liiga pikk. See peaks sisaldama {{ max }} sõna või vähem. - - - This value does not represent a valid week in the ISO 8601 format. - See väärtus ei esinda kehtivat nädalat ISO 8601 formaadis. - - - This value is not a valid week. - See väärtus ei ole kehtiv nädal. - - - This value should not be before week "{{ min }}". - See väärtus ei tohiks olla enne nädalat "{{ min }}". - - - This value should not be after week "{{ max }}". - See väärtus ei tohiks olla pärast nädalat "{{ max }}". - - - This value is not a valid Twig template. - See väärtus ei ole kehtiv Twig'i mall. - - - This file is not a valid video. - See fail ei ole kehtiv video. - - - The size of the video could not be detected. - Video suurust ei õnnestunud tuvastada. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video laius on liiga suur ({{ width }}px). Lubatud maksimaalne laius on {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video laius on liiga väike ({{ width }}px). Oodatav minimaalne laius on {{ min_width }} px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video kõrgus on liiga suur ({{ height }}px). Lubatud maksimaalne kõrgus on {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Video kõrgus on liiga väike ({{ height }}px). Oodatav minimaalne kõrgus on {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videol on liiga vähe piksleid ({{ pixels }}). Oodatav miinimum on {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videol on liiga palju piksleid ({{ pixels }}). Eeldatav maksimaalne kogus on {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video suhe on liiga suur ({{ ratio }}). Lubatud maksimaalne suhe on {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Video kuvasuhe on liiga väike ({{ ratio }}). Eeldatav miinimumsuhe on {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video on ruudukujuline ({{ width }}x{{ height }}px). Ruutvideod pole lubatud. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video on horisontaalses asendis ({{ width }}x{{ height }} px). Horisontaalseid videoid ei ole lubatud. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video on püstsuunas ({{ width }}x{{ height }} px). Püstsuunalised videod pole lubatud. - - - The video file is corrupted. - Videofail on rikutud. - - - The video contains multiple streams. Only one stream is allowed. - Video sisaldab mitu voogu. Lubatud on ainult üks voog. - - - Unsupported video codec "{{ codec }}". - Toetamata videokoodek „{{ codec }}“. - - - Unsupported video container "{{ container }}". - Toetamata videokonteiner "{{ container }}". - - - The image file is corrupted. - Pildifail on rikutud. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Pildil on liiga vähe piksleid ({{ pixels }}). Oodatav miinimum on {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Pildil on liiga palju piksleid ({{ pixels }}). Oodatav maksimaalne hulk on {{ max_pixels }}. - - - This filename does not match the expected charset. - See failinimi ei vasta eeldatavale märgistikule. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.eu.xlf b/app/vendor/symfony/validator/Resources/translations/validators.eu.xlf deleted file mode 100644 index e498afc26..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.eu.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Balio hau faltsua izan beharko litzateke. - - - This value should be true. - Balio hau egia izan beharko litzateke. - - - This value should be of type {{ type }}. - Balio hau {{ type }} motakoa izan beharko litzateke. - - - This value should be blank. - Balio hau hutsik egon beharko litzateke. - - - The value you selected is not a valid choice. - Hautatu duzun balioa ez da aukera egoki bat. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Gutxienez aukera {{ limit }} hautatu behar duzu.|Gutxienez {{ limit }} aukera hautatu behar dituzu. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Gehienez aukera {{ limit }} hautatu behar duzu.|Gehienez {{ limit }} aukera hautatu behar dituzu. - - - One or more of the given values is invalid. - Emandako balioetatik gutxienez bat ez da egokia. - - - This field was not expected. - Eremu hau ez zen espero. - - - This field is missing. - Eremu hau falta da. - - - This value is not a valid date. - Balio hau ez da data egoki bat. - - - This value is not a valid datetime. - Balio hau ez da data-ordu egoki bat. - - - This value is not a valid email address. - Balio hau ez da posta elektroniko egoki bat. - - - The file could not be found. - Ezin izan da fitxategia aurkitu. - - - The file is not readable. - Fitxategia ez da irakurgarria. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Fitxategia handiegia da ({{ size }} {{ suffix }}). Baimendutako tamaina handiena {{ limit }} {{ suffix }} da. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Fitxategiaren mime mota ez da egokia ({{ type }}). Hauek dira baimendutako mime motak: {{ types }}. - - - This value should be {{ limit }} or less. - Balio hau gehienez {{ limit }} izan beharko litzateke. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Balio hau luzeegia da. Gehienez karaktere {{ limit }} eduki beharko luke.|Balio hau luzeegia da. Gehienez {{ limit }} karaktere eduki beharko lituzke. - - - This value should be {{ limit }} or more. - Balio hau gutxienez {{ limit }} izan beharko litzateke. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Balio hau motzegia da. Karaktere {{ limit }} gutxienez eduki beharko luke.|Balio hau motzegia da. Gutxienez {{ limit }} karaktere eduki beharko lituzke. - - - This value should not be blank. - Balio hau ez litzateke hutsik egon behar. - - - This value should not be null. - Balio hau ez litzateke nulua izan behar. - - - This value should be null. - Balio hau nulua izan beharko litzateke. - - - This value is not valid. - Balio hau ez da egokia. - - - This value is not a valid time. - Balio hau ez da ordu egoki bat. - - - This value is not a valid URL. - Balio hau ez da baliabideen kokatzaile uniforme (URL) egoki bat. - - - The two values should be equal. - Bi balioak berdinak izan beharko lirateke. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Fitxategia handiegia da. Baimendutako tamaina handiena {{ limit }} {{ suffix }} da. - - - The file is too large. - Fitxategia handiegia da. - - - The file could not be uploaded. - Ezin izan da fitxategia igo. - - - This value should be a valid number. - Balio hau zenbaki egoki bat izan beharko litzateke. - - - This file is not a valid image. - Fitxategi hau ez da irudi egoki bat. - - - This value is not a valid IP address. - Balio hau ez da IP helbide baliozko bat. - - - This value is not a valid language. - Balio hau ez da hizkuntza egoki bat. - - - This value is not a valid locale. - Balio hau ez da kokapen egoki bat. - - - This value is not a valid country. - Balio hau ez da herrialde egoki bat. - - - This value is already used. - Balio hau jadanik erabilia izan da. - - - The size of the image could not be detected. - Ezin izan da irudiaren tamaina detektatu. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Irudiaren zabalera handiegia da ({{ width }}px). Onartutako gehienezko zabalera {{ max_width }}px dira. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Irudiaren zabalera txikiegia da ({{ width }}px). Onartutako gutxieneko zabalera {{ min_width }}px dira. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Irudiaren altuera handiegia da ({{ height }}px). Onartutako gehienezko altuera {{ max_height }}px dira. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Irudiaren altuera txikiegia da ({{ height }}px). Onartutako gutxieneko altuera {{ min_height }}px dira. - - - This value should be the user's current password. - Balio hau uneko erabiltzailearen pasahitza izan beharko litzateke. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Balio honek zehazki karaktere {{ limit }} izan beharko luke.|Balio honek zehazki {{ limit }} karaktere izan beharko lituzke. - - - The file was only partially uploaded. - Fitxategiaren zati bat bakarrik igo da. - - - No file was uploaded. - Ez da fitxategirik igo. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Ez da aldi baterako karpetarik konfiguratu php.ini-n, edo konfiguratutako karpeta ez da existitzen. - - - Cannot write temporary file to disk. - Ezin izan da aldi baterako fitxategia diskoan idatzi. - - - A PHP extension caused the upload to fail. - PHP luzapen batek igoeraren hutsa eragin du. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Bilduma honek gutxienez elementu {{ limit }} eduki beharko luke.|Bilduma honek gutxienez {{ limit }} elementu eduki beharko lituzke. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Bilduma honek gehienez elementu {{ limit }} eduki beharko luke.|Bilduma honek gehienez {{ limit }} elementu eduki beharko lituzke. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Bilduma honek zehazki elementu {{ limit }} eduki beharko luke.|Bilduma honek zehazki {{ limit }} elementu eduki beharko lituzke. - - - Invalid card number. - Txartel zenbaki baliogabea. - - - Unsupported card type or invalid card number. - Txartel mota onartezina edo txartel zenbaki baliogabea. - - - This value is not a valid International Bank Account Number (IBAN). - Balio hau ez da Nazioarteko Banku Kontu Zenbaki (IBAN) baliozko bat. - - - This value is not a valid ISBN-10. - Balio hau ez da onartutako ISBN-10 bat. - - - This value is not a valid ISBN-13. - Balio hau ez da onartutako ISBN-13 bat. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Balio hau ez da onartutako ISBN-10 edo ISBN-13 bat. - - - This value is not a valid ISSN. - Balio hau ez da onartutako ISSN bat. - - - This value is not a valid currency. - Balio hau ez da baliozko moneta bat. - - - This value should be equal to {{ compared_value }}. - Balio hau {{ compared_value }}-(r)en berbera izan beharko litzateke. - - - This value should be greater than {{ compared_value }}. - Balio hau {{ compared_value }} baino handiagoa izan beharko litzateke. - - - This value should be greater than or equal to {{ compared_value }}. - Balio hau {{ compared_value }}-(r)en berdina edota handiagoa izan beharko litzateke. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Balio hau {{ compared_value_type }} {{ compared_value }}-(r)en berbera izan beharko litzateke. - - - This value should be less than {{ compared_value }}. - Balio hau {{ compared_value }} baino txikiagoa izan beharko litzateke. - - - This value should be less than or equal to {{ compared_value }}. - Balio hau {{ compared_value }}-(r)en berdina edota txikiagoa izan beharko litzateke. - - - This value should not be equal to {{ compared_value }}. - Balio hau ez litzateke {{ compared_value }}-(r)en berdina izan behar. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Balio hau ez litzateke {{ compared_value_type }} {{ compared_value }}-(r)en berbera izan behar. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Irudiaren proportzioa oso handia da ({{ ratio }}). Onartutako proportzio handienda {{ max_ratio }} da. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Irudiaren proportzioa oso txikia da ({{ ratio }}). Onartutako proportzio txikiena {{ min_ratio }} da. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Irudia karratua da ({{ width }}x{{ height }}px). Karratuak diren irudiak ez dira onartzen. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Irudia horizontalki bideratua dago ({{ width }}x{{ height }}px). Horizontalki bideratutako irudiak ez dira onartzen. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Irudia bertikalki bideratua dago ({{ width }}x{{ height }}px). Bertikalki bideratutako irudiak ez dira onartzen. - - - An empty file is not allowed. - Hutsik dagoen fitxategia ez da onartzen. - - - The host could not be resolved. - Host-a ezin da ebatzi. - - - This value does not match the expected {{ charset }} charset. - Balio honen karaktere kodea ez da esperotakoa {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Balio hau ez da Negozioaren Identifikazio Kode (BIC) baliozko bat. - - - Error - Errore - - - This value is not a valid UUID. - Balio hau ez da UUID baliozko bat. - - - This value should be a multiple of {{ compared_value }}. - Balio honek {{ compared_value }}-ren multiploa izan beharko luke. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Banku Identifikazioko Kode hau ez dago lotuta {{ IBAN }} IBAN-rekin. - - - This value should be valid JSON. - Balio honek baliozko JSON bat izan behar luke. - - - This collection should contain only unique elements. - Bilduma honek elementu bakarrak soilik izan beharko lituzke. - - - This value should be positive. - Balio honek positiboa izan beharko luke. - - - This value should be either positive or zero. - Balio honek positiboa edo zero izan behar luke. - - - This value should be negative. - Balio honek negatiboa izan behar luke. - - - This value should be either negative or zero. - Balio honek negatiboa edo zero izan behar luke. - - - This value is not a valid timezone. - Balio hori ez da baliozko ordu-eremua. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Pasahitz hori ezin da erabili, beste gune eta aplikazio batzuetako segurtasun-akatsei esker lortutako pasahitz publikoen zerrendan sartuta dagoelako. Mesedez, erabili beste pasahitz bat. - - - This value should be between {{ min }} and {{ max }}. - Balio honek {{ min }} eta {{ max }} artean egon behar luke. - - - This value is not a valid hostname. - Balio hori ez da ostalari-izen onargarria. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Bilduma honetako elementu-kopuruak {{ compared_value }}-ren multiploa izan behar luke. - - - This value should satisfy at least one of the following constraints: - Balio honek, gutxienez, murrizketa hauetako bat bete behar du: - - - Each element of this collection should satisfy its own set of constraints. - Bilduma honetako elementu bakoitzak bere murriztapen-multzoa bete behar du. - - - This value is not a valid International Securities Identification Number (ISIN). - Balio hori ez da baliozko baloreen nazioarteko identifikazio-zenbaki bat (ISIN). - - - This value should be a valid expression. - Balio hori baliozko adierazpena izan beharko litzateke. - - - This value is not a valid CSS color. - Balio hori ez da baliozko CSS kolorea. - - - This value is not a valid CIDR notation. - Balio hori ez da baliozko CIDR notazioa. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Maskararen balioa {{ min }} eta {{ max }} artekoa izan beharko litzateke. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Fitxategiaren izena luzeegia da. Karaktere {{ filename_max_length }} edo gutxiago izan beharko lituzke.|Fitxategiaren izena luzeegia da. {{ filename_max_length }} karaktere edo gutxiago izan beharko lituzke. - - - The password strength is too low. Please use a stronger password. - Pasahitzaren sendotasuna baxuegia da. Mesedez, erabili pasahitz seguruagoa. - - - This value contains characters that are not allowed by the current restriction-level. - Egungo murrizte-mailak ez du balio honek dituen karaktereak onartzen. - - - Using invisible characters is not allowed. - Ez da onartzen karaktere ikusezinak erabiltzea. - - - Mixing numbers from different scripts is not allowed. - Ez da onartzen script ezberdinetako zenbakiak nahastea - - - Using hidden overlay characters is not allowed. - Ez da onartzen karaktere gainjarri ezkutuen erabilera. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Fitxategiaren luzapena ez da zuzena ({{ extension }}). Baimendutako luzapenak hauek dira: {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Detektatutako karaktere-kodetzea ez da zuzena ({{ detected }}). Baimendutako kodetzeak hauek dira: {{ encodings }}. - - - This value is not a valid MAC address. - Balio hau ez da MAC helbide baliozko bat. - - - This URL is missing a top-level domain. - URL honek ez du goi-mailako domeinurik. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Balio hau oso laburra da. Gutxienez hitz bat izan behar du.|Balio hau oso laburra da. Gutxienez {{ min }} hitz izan behar ditu. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Balio hau oso luzea da. Hitz bat bakarrik izan behar du.|Balio hau oso luzea da. {{ max }} hitz edo gutxiago izan behar ditu. - - - This value does not represent a valid week in the ISO 8601 format. - Balio honek ez du ISO 8601 formatuan aste baliozko bat adierazten. - - - This value is not a valid week. - Balio hau ez da aste balioduna. - - - This value should not be before week "{{ min }}". - Balio hau ez luke aste "{{ min }}" baino lehenagokoa izan behar. - - - This value should not be after week "{{ max }}". - Balio hau ez luke astearen "{{ max }}" ondoren egon behar. - - - This value is not a valid Twig template. - Balio hau ez da Twig txantiloi baliozko bat. - - - This file is not a valid video. - Fitxategi hau ez da baliozko bideo bat. - - - The size of the video could not be detected. - Ezin izan da bideoaren tamaina detektatu. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Bideoaren zabalera handiegia da ({{ width }}px). Baimendutako gehieneko zabalera {{ max_width }}px da. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Bideoaren zabalera txikiegia da ({{ width }}px). Gutxieneko espero den zabalera {{ min_width }}px da. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Bideoaren altuera handiegia da ({{ height }}px). Onartutako gehienezko altuera {{ max_height }}px da. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Bideoaren altuera txikiegia da ({{ height }}px). Espero den gutxieneko altuera {{ min_height }}px da. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Bideoak pixel gutiegi ditu ({{ pixels }}). Gutxieneko espero den kopurua {{ min_pixels }} da. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Bideoak pixel gehiegi ditu ({{ pixels }}). Espero den gehieneko kopurua {{ max_pixels }} da. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Bideoaren erlazioa handiegia da ({{ ratio }}). Onartutako gehieneko erlazioa {{ max_ratio }} da. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Bideoaren erlazioa txikiegia da ({{ ratio }}). Espero den gutxieneko erlazioa {{ min_ratio }} da. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Bideoa karratua da ({{ width }}x{{ height }}px). Bideo karratuak ez dira onartzen. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Bideoa paisaia orientazioan dago ({{ width }}x{{ height }} px). Paisaia-orientazioko bideoak ez daude baimenduta. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Bideoa bertikal orientatuta dago ({{ width }}x{{ height }} px). Orientazio bertikaleko bideoak ez dira onartzen. - - - The video file is corrupted. - Bideo fitxategia hondatuta dago. - - - The video contains multiple streams. Only one stream is allowed. - Bideoak korronte anitz ditu. Korronte bakarra onartzen da. - - - Unsupported video codec "{{ codec }}". - Bideo kodek onartugabea "{{ codec }}". - - - Unsupported video container "{{ container }}". - Onartzen ez den bideo edukiontzia "{{ container }}". - - - The image file is corrupted. - Irudi fitxategia hondatuta dago. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Irudiak pixelen kopuru gutiegi du ({{ pixels }}). Espero den gutxienekoa {{ min_pixels }} da. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Irudiak pixel gehiegi ditu ({{ pixels }}). Espero den gehienezko kopurua {{ max_pixels }} da. - - - This filename does not match the expected charset. - Fitxategi-izen honek ez du espero zen karaktere multzoarekin bat egiten. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.fa.xlf b/app/vendor/symfony/validator/Resources/translations/validators.fa.xlf deleted file mode 100644 index 91b5d894a..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.fa.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - این مقدار باید نادرست (False) باشد. - - - This value should be true. - این مقدار باید درست (True) باشد. - - - This value should be of type {{ type }}. - این مقدار باید از نوع {{ type }} باشد. - - - This value should be blank. - این مقدار باید خالی باشد. - - - The value you selected is not a valid choice. - مقدار انتخاب شده یک گزینه معتبر نمی‌باشد. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - شما باید حداقل {{ limit }} گزینه انتخاب نمایید.|شما باید حداقل {{ limit }} گزینه انتخاب نمایید. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - شما باید حداکثر {{ limit }} گزینه انتخاب نمایید.|شما باید حداکثر {{ limit }} گزینه انتخاب نمایید. - - - One or more of the given values is invalid. - یک یا چند مقدار داده شده نامعتبر است. - - - This field was not expected. - این ورودی مورد انتظار نبود. - - - This field is missing. - این فیلد وارد نشده است. - - - This value is not a valid date. - این مقدار یک تاریخ معتبر نمی‌باشد. - - - This value is not a valid datetime. - این مقدار یک تاریخ و زمان معتبر نمی‌باشد. - - - This value is not a valid email address. - این یک آدرس رایانامه (ایمیل) معتبر نمی‌باشد. - - - The file could not be found. - فایل یافت نشد. - - - The file is not readable. - فایل قابل خواندن نیست. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - فایل بیش از اندازه بزرگ است({{ size }} {{ suffix }}). بیشینه (حداکثر) اندازه مجاز برابر با {{ limit }} {{ suffix }} می‌باشد. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - نوع mime این فایل نامعتبر است({{ type }}). انواع mime مجاز {{ types }} هستند. - - - This value should be {{ limit }} or less. - این مقدار باید کوچکتر و یا مساوی {{ limit }} باشد. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - این مقدار بسیار طولانی است. باید دارای {{limit}} کاراکتر یا کمتر باشد. | این مقدار بسیار طولانی است. باید دارای {{limit}} کاراکتر یا کمتر باشد. - - - This value should be {{ limit }} or more. - این مقدار باید بزرگتر و یا مساوی {{ limit }} باشد. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - این مقدار بیش از اندازه کوتاه است. باید {{ limit }} کاراکتر یا بیشتر داشته باشد.|این مقدار بیش از اندازه کوتاه است. باید {{ limit }} کاراکتر یا بیشتر داشته باشد. - - - This value should not be blank. - این مقدار نباید خالی باشد. - - - This value should not be null. - این مقدار نباید خالی باشد. - - - This value should be null. - این مقدار باید خالی باشد. - - - This value is not valid. - این مقدار معتبر نمی‌باشد. - - - This value is not a valid time. - این مقدار یک زمان معتبر نمی‌باشد. - - - This value is not a valid URL. - این مقدار شامل یک URL معتبر نمی‌باشد. - - - The two values should be equal. - دو مقدار باید با یکدیگر برابر باشند. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - فایل بیش از اندازه بزرگ است. بیشینه (حداکثر) اندازه مجاز {{ limit }} {{ suffix }} است. - - - The file is too large. - فایل بیش از اندازه بزرگ است. - - - The file could not be uploaded. - بارگذاری فایل با شکست مواجه گردید. - - - This value should be a valid number. - این مقدار باید یک عدد معتبر باشد. - - - This file is not a valid image. - این فایل یک تصویر معتبر نمی‌باشد. - - - This value is not a valid IP address. - این مقدار یک آدرس آی‌پی معتبر نمی‌باشد. - - - This value is not a valid language. - این مقدار یک زبان معتبر نمی‌باشد. - - - This value is not a valid locale. - این مقدار یک محل (locale) معتبر نمی‌باشد. - - - This value is not a valid country. - این مقدار یک کشور معتبر نمی‌باشد. - - - This value is already used. - این مقدار قبلاً استفاده شده است. - - - The size of the image could not be detected. - اندازه تصویر قابل شناسایی نمی‌باشد. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - عرض تصویر بسیار بزرگ است({{ width }}px). بیشینه (حداکثر) عرض مجاز {{ max_width }}px می‌باشد. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - عرض تصویر بسیار کوچک است({{ width }}px). کمینه (حداقل) عرض مورد انتظار {{ min_width }}px می‌باشد. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ارتفاع تصویر بسیار بزرگ است({{ height }}px). بیشینه (حداکثر) ارتفاع مجاز {{ max_height }}px می‌باشد. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ارتفاع تصویر بسیار کوچک است({{ height }}px). کمینه (حداقل) ارتفاع مورد انتظار {{ min_height }}px می‌باشد. - - - This value should be the user's current password. - این مقدار باید رمزعبور فعلی کاربر باشد. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - این مقدار باید دقیقا {{ limit }} کاراکتر داشته باشد.| این مقدار باید دقیقا {{ limit }} کاراکتر داشته باشد. - - - The file was only partially uploaded. - فایل به صورت جزئی بارگذاری گردیده است. - - - No file was uploaded. - هیچ فایلی بارگذاری نشد. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - هیچ پوشه موقتی در php.ini پیکربندی نشده است، یا پوشه پیکربندی شده وجود ندارد. - - - Cannot write temporary file to disk. - فایل موقتی را نمی‌توان در دیسک نوشت. - - - A PHP extension caused the upload to fail. - یک افزونه PHP باعث شد بارگذاری ناموفق باشد. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - این مجموعه باید حاوی {{ limit }} عنصر یا بیشتر باشد.|این مجموعه باید حاوی {{ limit }} عنصر یا بیشتر باشد. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - این مجموعه باید حاوی {{ limit }} عنصر یا کمتر باشد.|این مجموعه باید حاوی {{ limit }} عنصر یا کمتر باشد. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - این مجموعه باید دقیقا حاوی {{ limit }} عنصر باشد.|این مجموعه باید دقیقا حاوی {{ limit }} عنصر باشد. - - - Invalid card number. - شماره کارت نامعتبر است. - - - Unsupported card type or invalid card number. - نوع کارت پشتیبانی نمی‌شود و یا شماره کارت نامعتبر می‌باشد. - - - This value is not a valid International Bank Account Number (IBAN). - این مقدار یک شماره شبای معتبر نمی‌باشد. - - - This value is not a valid ISBN-10. - این مقدار یک ISBN-10 معتبر نمی‌باشد. - - - This value is not a valid ISBN-13. - این مقدار یک ISBN-13 معتبر نمی‌باشد. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - این مقدار یک ISBN-10 معتبر و یا ISBN-13 معتبر نمی‌باشد. - - - This value is not a valid ISSN. - این مقدار یک ISSN معتبر نمی‌باشد. - - - This value is not a valid currency. - این مقدار یک واحد پول معتبر نمی‌باشد. - - - This value should be equal to {{ compared_value }}. - این مقدار باید برابر با {{ compared_value }} باشد. - - - This value should be greater than {{ compared_value }}. - این مقدار باید از {{ compared_value }} بیشتر باشد. - - - This value should be greater than or equal to {{ compared_value }}. - این مقدار باید بزرگتر و یا مساوی با {{ compared_value }} باشد. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - این مقدار باید برابر {{ compared_value_type }} {{ compared_value }} باشد. - - - This value should be less than {{ compared_value }}. - این مقدار باید کمتر از {{ compared_value }} باشد. - - - This value should be less than or equal to {{ compared_value }}. - این مقدار باید کمتر و یا مساوی با {{ compared_value }} باشد. - - - This value should not be equal to {{ compared_value }}. - این مقدار نباید با {{ compared_value }} برابر باشد. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - این مقدار نباید برابر {{ compared_value_type }} {{ compared_value }} باشد. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - ابعاد ({{ ratio }}) عکس بیش از حد بزرگ است. بیشینه (حداکثر) ابعاد مجاز {{ max_ratio }} می‌باشد. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - ابعاد ({{ ratio }}) عکس بیش از حد کوچک است. کمینه (حداقل) ابعاد مورد انتظار {{ min_ratio }} می‌باشد. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - این تصویر یک مربع ({{ width }}x{{ height }}px) می‌باشد. تصاویر مربع شکل مجاز نمی‌باشند. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - این تصویر افقی ({{ width }}x{{ height }}px) می‌باشد. تصاویر افقی مجاز نمی‌باشند. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - این تصویر عمودی ({{ width }}x{{ height }}px) می‌باشد. تصاویر عمودی مجاز نمی‌باشند. - - - An empty file is not allowed. - فایل خالی مجاز نمی‌باشد. - - - The host could not be resolved. - میزبان (Host) شناسایی نشد. - - - This value does not match the expected {{ charset }} charset. - این مقدار مطابق charset مورد انتظار {{ charset }} نمی باشد. - - - This value is not a valid Business Identifier Code (BIC). - این مقدار یک کد شناسه کسب‌وکار (BIC) معتبر نیست. - - - Error - خطا - - - This value is not a valid UUID. - این مقدار یک UUID معتبر نیست. - - - This value should be a multiple of {{ compared_value }}. - این مقدار باید چند برابر {{ compared_value }} باشد. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - این کد شناسایی کسب‌و‌کار (BIC) با شماره حساب بانکی بین‌المللی (IBAN) {{ iban }} مرتبط نیست. - - - This value should be valid JSON. - این مقدار باید یک JSON معتبر باشد. - - - This collection should contain only unique elements. - این مجموعه باید فقط حاوی عناصر یکتا باشد. - - - This value should be positive. - این مقدار باید مثبت باشد. - - - This value should be either positive or zero. - این مقدار باید مثبت یا صفر باشد. - - - This value should be negative. - این مقدار باید منفی باشد. - - - This value should be either negative or zero. - این مقدار باید منفی یا صفر باشد. - - - This value is not a valid timezone. - این مقدار یک منطقه‌زمانی (timezone) معتبر نیست. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - این رمزعبور در یک رخنه‌ی اطلاعاتی نشت کرده است. لطفاً از یک رمزعبور دیگر استفاده کنید. - - - This value should be between {{ min }} and {{ max }}. - این مقدار باید بین {{ min }} و {{ max }} باشد - - - This value is not a valid hostname. - این مقدار یک hostname معتبر نیست. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - تعداد عناصر این مجموعه باید ضریبی از {{ compared_value }} باشد. - - - This value should satisfy at least one of the following constraints: - این مقدار باید حداقل یکی از محدودیت‌های زیر را ارضا کند: - - - Each element of this collection should satisfy its own set of constraints. - هر یک از عناصر این مجموعه باید دسته محدودیت‌های خودش را ارضا کند. - - - This value is not a valid International Securities Identification Number (ISIN). - این مقدار یک شماره شناسایی بین‌المللی اوراق بهادار (ISIN) معتبر نیست. - - - This value should be a valid expression. - این مقدار باید یک عبارت معتبر باشد. - - - This value is not a valid CSS color. - این مقدار یک رنگ معتبر در CSS نیست. - - - This value is not a valid CIDR notation. - این مقدار یک نماد معتبر در CIDR نیست. - - - The value of the netmask should be between {{ min }} and {{ max }}. - مقدار ماسک شبکه (NetMask) باید بین {{ min }} و {{ max }} باشد. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - نام فایل طولانی است. نام فایل باید {{ filename_max_length }} کاراکتر یا کمتر باشد.|نام فایل طولانی است. نام فایل باید {{ filename_max_length }} کاراکتر یا کمتر باشد. - - - The password strength is too low. Please use a stronger password. - رمز عبور ضعیف است. لطفا از رمز عبور قوی‌تری استفاده کنید. - - - This value contains characters that are not allowed by the current restriction-level. - این مقدار حاوی کاراکترهایی است که در سطح محدودیت فعلی مجاز نیستند. - - - Using invisible characters is not allowed. - استفاده از کاراکترهای نامرئی مجاز نمی‌باشد. - - - Mixing numbers from different scripts is not allowed. - مخلوط کردن اعداد از اسکریپت های مختلف مجاز نیست. - - - Using hidden overlay characters is not allowed. - استفاده از کاراکترهای همپوشانی پنهان (hidden overlay characters) مجاز نیست. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - پسوند فایل ({{ extension }}) نامعتبر است. پسوندهای مجاز {{ extensions }} هستند. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - رمزگذاری کاراکتر تشخیص داده شده ({{ detected }}) نامعتبر است. رمزگذاری‌های مجاز {{ encodings }} هستند. - - - This value is not a valid MAC address. - این مقدار یک آدرس MAC معتبر نیست. - - - This URL is missing a top-level domain. - این آدرس دارای دامنه نمی‌باشد. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - این مقدار بسیار کوتاه است. باید حداقل یک کلمه داشته باشد.|این مقدار بسیار کوتاه است. باید حداقل {{ min }} کلمه داشته باشد. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - این مقدار بیش از حد طولانی است. باید فقط یک کلمه باشد.|این مقدار بیش از حد طولانی است. باید حداکثر {{ max }} کلمه داشته باشد. - - - This value does not represent a valid week in the ISO 8601 format. - این مقدار یک هفته معتبر در قالب ISO 8601 را نشان نمی‌دهد. - - - This value is not a valid week. - این مقدار یک هفته معتبر نیست. - - - This value should not be before week "{{ min }}". - این مقدار نباید قبل از هفته "{{ min }}" باشد. - - - This value should not be after week "{{ max }}". - این مقدار نباید بعد از هفته "{{ max }}" باشد. - - - This value is not a valid Twig template. - این مقدار یک قالب معتبر Twig نیست. - - - This file is not a valid video. - این فایل یک ویدئوی معتبر نیست. - - - The size of the video could not be detected. - اندازه ویدئو قابل تشخیص نبود. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - عرض ویدئو خیلی زیاد است ({{ width }}px). حداکثر عرض مجاز {{ max_width }}px می‌باشد. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - عرض ویدئو خیلی کم است ({{ width }}px). حداقل عرض مورد انتظار {{ min_width }}px می‌باشد. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ارتفاع ویدئو خیلی زیاد است ({{ height }}px). حداکثر ارتفاع مجاز {{ max_height }}px می‌باشد. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ارتفاع ویدئو خیلی کم است ({{ height }}px). حداقل ارتفاع مورد انتظار {{ min_height }}px می‌باشد. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - مقدار پیکسل‌های ویدئو خیلی کم است ({{ pixels }}px). حداقل مقدار مورد انتظار {{ min_pixels }}px می‌باشد. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - مقدار پیکسل‌های ویدئو خیلی زیاد است ({{ pixels }}px). حداکثر مقدار مورد انتظار {{ max_pixels }}px می‌باشد. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - نسبت ویدئو خیلی بزرگ است ({{ ratio }}). حداکثر نسبت مجاز {{ max_ratio }} است. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - نسبت ویدئو خیلی کوچک است ({{ ratio }}). نسبت حداقل مورد انتظار {{ min_ratio }} است. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - ویدئو مربعی است ({{ width }}x{{ height }}px). ویدئوهای مربعی مجاز نیستند. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - ویدئو به صورت افقی است ({{ width }}x{{ height }} پیکسل). ویدئوهای افقی مجاز نیستند. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - ویدئو به صورت عمودی است ({{ width }}x{{ height }}px). ویدئوهای عمودی مجاز نیستند. - - - The video file is corrupted. - فایل ویدئو خراب است. - - - The video contains multiple streams. Only one stream is allowed. - ویدئو شامل چندین استریم است. در صورتی که فقط یک استریم مجاز است. - - - Unsupported video codec "{{ codec }}". - قالب (کُدک) ویدئویی پشتیبانی نمی‌شود «{{ codec }}». - - - Unsupported video container "{{ container }}". - فرمت ویدئو پشتیبانی نمی‌شود "{{ container }}". - - - The image file is corrupted. - فایل تصویر خراب است. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - تصویر پیکسل‌های خیلی کمی دارد ({{ pixels }}px). حداقل مقدار مورد انتظار {{ min_pixels }}px می‌باشد. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - تصویر پیکسل‌های خیلی زیادی دارد ({{ pixels }}px). حداکثر مقدار مورد انتظار {{ max_pixels }}px می‌باشد. - - - This filename does not match the expected charset. - نام فایل مجاز نیست. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.fi.xlf b/app/vendor/symfony/validator/Resources/translations/validators.fi.xlf deleted file mode 100644 index 04d99cf57..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.fi.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Arvon tulee olla epätosi. - - - This value should be true. - Arvon tulee olla tosi. - - - This value should be of type {{ type }}. - Arvon tulee olla tyyppiä {{ type }}. - - - This value should be blank. - Arvon tulee olla tyhjä. - - - The value you selected is not a valid choice. - Arvon tulee olla yksi annetuista vaihtoehdoista. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Sinun tulee valita vähintään yksi vaihtoehto.|Sinun tulee valita vähintään {{ limit }} vaihtoehtoa. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Sinun tulee valita enintään yksi vaihtoehto.|Sinun tulee valita enintään {{ limit }} vaihtoehtoa. - - - One or more of the given values is invalid. - Yksi tai useampi annetuista arvoista on virheellinen. - - - This field was not expected. - Tätä kenttää ei odotettu. - - - This field is missing. - Tämä kenttä puuttuu. - - - This value is not a valid date. - Annettu arvo ei ole kelvollinen päivämäärä. - - - This value is not a valid datetime. - Annettu arvo ei ole kelvollinen päivämäärä ja kellonaika. - - - This value is not a valid email address. - Annettu arvo ei ole kelvollinen sähköpostiosoite. - - - The file could not be found. - Tiedostoa ei löydy. - - - The file is not readable. - Tiedostoa ei voi lukea. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Tiedostonkoko ({{ size }} {{ suffix }}) on liian iso. Suurin sallittu tiedostonkoko on {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Tiedostotyyppi ({{ type }}) on virheellinen. Sallittuja tiedostotyyppejä ovat {{ types }}. - - - This value should be {{ limit }} or less. - Arvon tulee olla {{ limit }} tai vähemmän. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Liian pitkä syöte. Syöte saa olla enintään yhden merkin.|Liian pitkä syöte. Syöte saa olla enintään {{ limit }} merkkiä. - - - This value should be {{ limit }} or more. - Arvon tulee olla {{ limit }} tai enemmän. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Liian lyhyt syöte. Syötteen tulee olla vähintään yhden merkin.|Liian lyhyt syöte. Syötteen tulee olla vähintään {{ limit }} merkkiä. - - - This value should not be blank. - Kenttä ei voi olla tyhjä. - - - This value should not be null. - Annettu arvo ei voi olla null. - - - This value should be null. - Annetun arvon tulee olla null. - - - This value is not valid. - Virheellinen arvo. - - - This value is not a valid time. - Annettu arvo ei ole kelvollinen kellonaika. - - - This value is not a valid URL. - Annettu arvo ei ole kelvollinen URL-osoite. - - - The two values should be equal. - Kahden annetun arvon tulee olla samat. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Annettu tiedosto on liian iso. Suurin sallittu tiedostokoko on {{ limit }} {{ suffix }}. - - - The file is too large. - Tiedosto on liian iso. - - - The file could not be uploaded. - Tiedoston siirto epäonnistui. - - - This value should be a valid number. - Arvon tulee olla numero. - - - This file is not a valid image. - Tiedosto ei ole kelvollinen kuva. - - - This value is not a valid IP address. - Tämä arvo ei ole kelvollinen IP-osoite. - - - This value is not a valid language. - Arvo ei ole kelvollinen kieli. - - - This value is not a valid locale. - Arvo ei ole kelvollinen kieli- ja alueasetus (locale). - - - This value is not a valid country. - Arvo ei ole kelvollinen maa. - - - This value is already used. - Arvo on jo käytetty. - - - The size of the image could not be detected. - Kuvan kokoa ei tunnistettu. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Kuva on liian leveä ({{ width }} px). Leveyden tulee olla enintään {{ max_width }} px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Kuva on liian kapea ({{ width }} px). Leveyden tulee olla vähintään {{ min_width }} px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Kuva on liian korkea ({{ width }} px). Korkeuden tulee olla enintään {{ max_width }} px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Kuva on liian matala ({{ height }} px). Korkeuden tulee olla vähintään {{ min_height }} px. - - - This value should be the user's current password. - Arvon tulee olla käyttäjän tämänhetkinen salasana. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Arvon tulee olla tasan yhden merkin pituinen.|Arvon tulee olla tasan {{ limit }} merkin pituinen. - - - The file was only partially uploaded. - Tiedosto ladattiin vain osittain. - - - No file was uploaded. - Tiedostoa ei ladattu. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Väliaikaista kansiota ei ole määritetty php.ini:ssä, tai määritetty kansio ei ole olemassa. - - - Cannot write temporary file to disk. - Väliaikaistiedostoa ei voitu kirjoittaa levylle. - - - A PHP extension caused the upload to fail. - PHP-laajennoksen vuoksi tiedoston lataus epäonnistui. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Tässä ryhmässä tulee olla vähintään yksi elementti.|Tässä ryhmässä tulee olla vähintään {{ limit }} elementtiä. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Tässä ryhmässä tulee olla enintään yksi elementti.|Tässä ryhmässä tulee olla enintään {{ limit }} elementtiä. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Tässä ryhmässä tulee olla tasan yksi elementti.|Tässä ryhmässä tulee olla tasan {{ limit }} elementtiä. - - - Invalid card number. - Virheellinen korttinumero. - - - Unsupported card type or invalid card number. - Tätä korttityyppiä ei tueta tai korttinumero on virheellinen. - - - This value is not a valid International Bank Account Number (IBAN). - Tämä arvo ei ole kelvollinen kansainvälinen pankkitilinumero (IBAN). - - - This value is not a valid ISBN-10. - Arvo ei ole kelvollinen ISBN-10. - - - This value is not a valid ISBN-13. - Arvo ei ole kelvollinen ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Arvo ei ole kelvollinen ISBN-10 eikä ISBN-13. - - - This value is not a valid ISSN. - Arvo ei ole kelvollinen ISSN. - - - This value is not a valid currency. - Arvo ei ole kelvollinen valuutta. - - - This value should be equal to {{ compared_value }}. - Arvo ei ole sama kuin {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Arvon tulee olla suurempi kuin {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Arvon tulee olla suurempi tai yhtä suuri kuin {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Arvon tulee olla sama kuin {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Arvon tulee olla pienempi kuin {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Arvon tulee olla pienempi tai yhtä suuri kuin {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Arvon ei tule olla sama kuin {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Arvon ei tule olla sama kuin {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Kuvasuhde on liian suuri ({{ ratio }}). Suurin sallittu suhde on {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Kuvasuhde on liian pieni ({{ ratio }}). Pienin sallittu suhde on {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Kuva on neliö ({{ width }}x{{ height }} px). Neliönmuotoiset kuvat eivät ole sallittuja. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Kuva on vaakasuuntainen ({{ width }}x{{ height }} px). Vaakasuuntaiset kuvat eivät ole sallittuja. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Kuva on pystysuuntainen ({{ width }}x{{ height }} px). Pystysuuntaiset kuvat eivät ole sallittuja. - - - An empty file is not allowed. - Tiedosto ei saa olla tyhjä. - - - The host could not be resolved. - Palvelimeen ei saatu yhteyttä. - - - This value does not match the expected {{ charset }} charset. - Arvo ei vastaa odotettua merkistöä {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Tämä arvo ei ole kelvollinen liiketoiminnan tunnistekoodi (BIC). - - - Error - Virhe - - - This value is not a valid UUID. - Tämä arvo ei ole kelvollinen UUID. - - - This value should be a multiple of {{ compared_value }}. - Tämän arvon tulee olla luvun {{ compared_value }} kerrannainen. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Tätä yritystunnusta (BIC) ei ole liitetty IBAN-tilinumeroon {{ iban }}. - - - This value should be valid JSON. - Arvon tulee olla kelvollinen JSON. - - - This collection should contain only unique elements. - Ryhmän tulee sisältää vain yksilöllisiä arvoja. - - - This value should be positive. - Arvon tulee olla positiivinen. - - - This value should be either positive or zero. - Arvon tulee olla joko positiivinen tai nolla. - - - This value should be negative. - Arvon tulee olla negatiivinen. - - - This value should be either negative or zero. - Arvon tulee olla joko negatiivinen tai nolla. - - - This value is not a valid timezone. - Arvo ei ole kelvollinen aikavyöhyke. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Tämä salasana on vuotanut tietomurrossa, eikä sitä saa käyttää. Käytä toista salasanaa. - - - This value should be between {{ min }} and {{ max }}. - Arvon tulee olla {{ min }} - {{ max }}. - - - This value is not a valid hostname. - Arvo ei ole kelvollinen laitenimi (hostname). - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Ryhmässä olevien elementtien määrän pitää olla luvun {{ compared_value }} kerrannainen. - - - This value should satisfy at least one of the following constraints: - Arvon tulee läpäistä vähintään yksi seuraavista tarkistuksista: - - - Each element of this collection should satisfy its own set of constraints. - Ryhmän jokaisen elementin tulee läpäistä omat tarkistuksensa. - - - This value is not a valid International Securities Identification Number (ISIN). - Tämä arvo ei ole kelvollinen ISIN-koodi (International Securities Identification Number). - - - This value should be a valid expression. - Tämän arvon on oltava kelvollinen lauseke. - - - This value is not a valid CSS color. - Tämä arvo ei ole kelvollinen CSS-värimääritys. - - - This value is not a valid CIDR notation. - Tämä arvo ei ole kelvollinen CIDR-merkintä. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Verkkomaskille annetun arvon tulee olla {{ min }} - {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Tiedostonimi on liian pitkä. Nimi saa olla enintään yhden merkin pituinen.|Tiedostonimi on liian pitkä. Nimi saa olla enintään {{ filename_max_length }} merkin pituinen. - - - The password strength is too low. Please use a stronger password. - Salasana on liian heikko. Valitse vahvempi salasana. - - - This value contains characters that are not allowed by the current restriction-level. - Arvo sisältää merkkejä, joita nykyinen rajoitustaso ei salli. - - - Using invisible characters is not allowed. - Näkymättömiä merkkejä ei saa käyttää. - - - Mixing numbers from different scripts is not allowed. - Eri kirjaimistojen numeroita ei saa sekoittaa. - - - Using hidden overlay characters is not allowed. - Piilotettuja tarkemerkkejä ei saa käyttää. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Tiedostopääte ({{ extension }}) on virheellinen. Sallitut tiedostopäätteet ovat: {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Havaittu merkistö on virheellinen ({{ detected }}). Sallitut merkistöt ovat {{ encodings }}. - - - This value is not a valid MAC address. - Tämä arvo ei ole kelvollinen MAC-osoite. - - - This URL is missing a top-level domain. - Tästä URL-osoitteesta puuttuu ylätason verkkotunnus. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Tämä arvo on liian lyhyt. Sen pitäisi sisältää vähintään yksi sana.|Tämä arvo on liian lyhyt. Sen pitäisi sisältää vähintään {{ min }} sanaa. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Tämä arvo on liian pitkä. Sen pitäisi sisältää vain yksi sana.|Tämä arvo on liian pitkä. Sen pitäisi sisältää {{ max }} sanaa tai vähemmän. - - - This value does not represent a valid week in the ISO 8601 format. - Tämä arvo ei esitä kelvollista viikkoa ISO 8601 -muodossa. - - - This value is not a valid week. - Tämä arvo ei ole kelvollinen viikko. - - - This value should not be before week "{{ min }}". - Tämän arvon ei pitäisi olla ennen viikkoa "{{ min }}". - - - This value should not be after week "{{ max }}". - Tämän arvon ei pitäisi olla viikon "{{ max }}" jälkeen. - - - This value is not a valid Twig template. - Tämä arvo ei ole kelvollinen Twig-malli. - - - This file is not a valid video. - Tämä tiedosto ei ole kelvollinen video. - - - The size of the video could not be detected. - Videon kokoa ei voitu tunnistaa. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Videon leveys on liian suuri ({{ width }} px). Leveyden tulee olla enintään {{ max_width }} px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Videon leveys on liian pieni ({{ width }} px). Leveyden tulee olla vähintään {{ min_width }} px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Videon korkeus on liian suuri ({{ height }} px). Korkeuden tulee olla enintään {{ max_height }} px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Videon korkeus on liian pieni ({{ height }} px). Korkeuden tulee olla vähintään {{ min_height }} px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videossa on liian vähän pikseleitä ({{ pixels }}). Pikseleitä tulee olla vähintään {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videossa on liikaa pikseleitä ({{ pixels }}). Pikseleitä tulee olla enintään {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Videon kuvasuhde on liian suuri ({{ ratio }}). Suurin sallittu suhde on {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Videon kuvasuhde on liian pieni ({{ ratio }}). Pienin sallittu suhde on {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video on neliön muotoinen ({{ width }}x{{ height }}px). Neliönmuotoiset videot eivät ole sallittuja. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video on vaakasuuntainen ({{ width }}x{{ height }} px). Vaakasuuntaiset videot eivät ole sallittuja. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video on pystysuuntainen ({{ width }}x{{ height }} px). Pystysuuntaiset videot eivät ole sallittuja. - - - The video file is corrupted. - Videotiedosto on vioittunut. - - - The video contains multiple streams. Only one stream is allowed. - Videossa on useita virtoja. Vain yksi virta on sallittu. - - - Unsupported video codec "{{ codec }}". - Videokoodekkia ei tueta ({{ codec }}). - - - Unsupported video container "{{ container }}". - Videon säiliömuotoa ei tueta ({{ container }}). - - - The image file is corrupted. - Kuvatiedosto on vioittunut. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Kuvassa on liian vähän pikseleitä ({{ pixels }}). Pikseleitä tulee olla vähintään {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Kuvassa on liikaa pikseleitä ({{ pixels }}). Pikseleitä tulee olla enintään {{ max_pixels }}. - - - This filename does not match the expected charset. - Tämä tiedostonimi ei vastaa odotettua merkistöä. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.fr.xlf b/app/vendor/symfony/validator/Resources/translations/validators.fr.xlf deleted file mode 100644 index e682e16a4..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.fr.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Cette valeur doit être fausse. - - - This value should be true. - Cette valeur doit être vraie. - - - This value should be of type {{ type }}. - Cette valeur doit être de type {{ type }}. - - - This value should be blank. - Cette valeur doit être vide. - - - The value you selected is not a valid choice. - Cette valeur doit être l'un des choix proposés. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Vous devez sélectionner au moins {{ limit }} choix.|Vous devez sélectionner au moins {{ limit }} choix. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Vous devez sélectionner au maximum {{ limit }} choix.|Vous devez sélectionner au maximum {{ limit }} choix. - - - One or more of the given values is invalid. - Une ou plusieurs des valeurs soumises sont invalides. - - - This field was not expected. - Ce champ n'a pas été prévu. - - - This field is missing. - Ce champ est manquant. - - - This value is not a valid date. - Cette valeur n'est pas une date valide. - - - This value is not a valid datetime. - Cette valeur n'est pas une date valide. - - - This value is not a valid email address. - Cette valeur n'est pas une adresse email valide. - - - The file could not be found. - Le fichier n'a pas été trouvé. - - - The file is not readable. - Le fichier n'est pas lisible. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Le fichier est trop volumineux ({{ size }} {{ suffix }}). Sa taille ne doit pas dépasser {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Le type du fichier est invalide ({{ type }}). Les types autorisés sont {{ types }}. - - - This value should be {{ limit }} or less. - Cette valeur doit être inférieure ou égale à {{ limit }}. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Cette chaîne est trop longue. Elle doit avoir au maximum {{ limit }} caractère.|Cette chaîne est trop longue. Elle doit avoir au maximum {{ limit }} caractères. - - - This value should be {{ limit }} or more. - Cette valeur doit être supérieure ou égale à {{ limit }}. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Cette chaîne est trop courte. Elle doit avoir au minimum {{ limit }} caractère.|Cette chaîne est trop courte. Elle doit avoir au minimum {{ limit }} caractères. - - - This value should not be blank. - Cette valeur ne doit pas être vide. - - - This value should not be null. - Cette valeur ne doit pas être nulle. - - - This value should be null. - Cette valeur doit être nulle. - - - This value is not valid. - Cette valeur n'est pas valide. - - - This value is not a valid time. - Cette valeur n'est pas une heure valide. - - - This value is not a valid URL. - Cette valeur n'est pas une URL valide. - - - The two values should be equal. - Les deux valeurs doivent être identiques. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Le fichier est trop volumineux. Sa taille ne doit pas dépasser {{ limit }} {{ suffix }}. - - - The file is too large. - Le fichier est trop volumineux. - - - The file could not be uploaded. - Le téléchargement de ce fichier est impossible. - - - This value should be a valid number. - Cette valeur doit être un nombre. - - - This file is not a valid image. - Ce fichier n'est pas une image valide. - - - This value is not a valid IP address. - Cette valeur n'est pas une adresse IP valide. - - - This value is not a valid language. - Cette langue n'est pas valide. - - - This value is not a valid locale. - Ce paramètre régional n'est pas valide. - - - This value is not a valid country. - Ce pays n'est pas valide. - - - This value is already used. - Cette valeur est déjà utilisée. - - - The size of the image could not be detected. - La taille de l'image n'a pas pu être détectée. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - La largeur de l'image est trop grande ({{ width }}px). La largeur maximale autorisée est de {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - La largeur de l'image est trop petite ({{ width }}px). La largeur minimale attendue est de {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - La hauteur de l'image est trop grande ({{ height }}px). La hauteur maximale autorisée est de {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - La hauteur de l'image est trop petite ({{ height }}px). La hauteur minimale attendue est de {{ min_height }}px. - - - This value should be the user's current password. - Cette valeur doit être le mot de passe actuel de l'utilisateur. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Cette chaîne doit avoir exactement {{ limit }} caractère.|Cette chaîne doit avoir exactement {{ limit }} caractères. - - - The file was only partially uploaded. - Le fichier a été partiellement transféré. - - - No file was uploaded. - Aucun fichier n'a été transféré. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Aucun répertoire temporaire n'a été configuré dans le php.ini, ou le répertoire configuré n'existe pas. - - - Cannot write temporary file to disk. - Impossible d'écrire le fichier temporaire sur le disque. - - - A PHP extension caused the upload to fail. - Une extension PHP a empêché le transfert du fichier. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Cette collection doit contenir {{ limit }} élément ou plus.|Cette collection doit contenir {{ limit }} éléments ou plus. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Cette collection doit contenir {{ limit }} élément ou moins.|Cette collection doit contenir {{ limit }} éléments ou moins. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Cette collection doit contenir exactement {{ limit }} élément.|Cette collection doit contenir exactement {{ limit }} éléments. - - - Invalid card number. - Numéro de carte invalide. - - - Unsupported card type or invalid card number. - Type de carte non supporté ou numéro invalide. - - - This value is not a valid International Bank Account Number (IBAN). - Cette valeur n'est pas un Numéro de Compte Bancaire International (IBAN) valide. - - - This value is not a valid ISBN-10. - Cette valeur n'est pas un code ISBN-10 valide. - - - This value is not a valid ISBN-13. - Cette valeur n'est pas un code ISBN-13 valide. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Cette valeur n'est ni un code ISBN-10, ni un code ISBN-13 valide. - - - This value is not a valid ISSN. - Cette valeur n'est pas un code ISSN valide. - - - This value is not a valid currency. - Cette valeur n'est pas une devise valide. - - - This value should be equal to {{ compared_value }}. - Cette valeur doit être égale à {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Cette valeur doit être supérieure à {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Cette valeur doit être supérieure ou égale à {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Cette valeur doit être identique à {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Cette valeur doit être inférieure à {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Cette valeur doit être inférieure ou égale à {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Cette valeur ne doit pas être égale à {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Cette valeur ne doit pas être identique à {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Le rapport largeur/hauteur de l'image est trop grand ({{ ratio }}). Le rapport maximal autorisé est {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Le rapport largeur/hauteur de l'image est trop petit ({{ ratio }}). Le rapport minimal attendu est {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - L'image est carrée ({{ width }}x{{ height }}px). Les images carrées ne sont pas autorisées. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - L'image est au format paysage ({{ width }}x{{ height }}px). Les images au format paysage ne sont pas autorisées. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - L'image est au format portrait ({{ width }}x{{ height }}px). Les images au format portrait ne sont pas autorisées. - - - An empty file is not allowed. - Un fichier vide n'est pas autorisé. - - - The host could not be resolved. - Le nom de domaine n'a pas pu être résolu. - - - This value does not match the expected {{ charset }} charset. - Cette valeur ne correspond pas au jeu de caractères {{ charset }} attendu. - - - This value is not a valid Business Identifier Code (BIC). - Cette valeur n'est pas un Code Identifiant de Business (BIC) valide. - - - Error - Erreur - - - This value is not a valid UUID. - Cette valeur n'est pas un UUID valide. - - - This value should be a multiple of {{ compared_value }}. - Cette valeur doit être un multiple de {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ce code d'identification d'entreprise (BIC) n'est pas associé à l'IBAN {{ iban }}. - - - This value should be valid JSON. - Cette valeur doit être un JSON valide. - - - This collection should contain only unique elements. - Cette collection ne doit pas comporter de doublons. - - - This value should be positive. - Cette valeur doit être strictement positive. - - - This value should be either positive or zero. - Cette valeur doit être supérieure ou égale à zéro. - - - This value should be negative. - Cette valeur doit être strictement négative. - - - This value should be either negative or zero. - Cette valeur doit être inférieure ou égale à zéro. - - - This value is not a valid timezone. - Cette valeur n'est pas un fuseau horaire valide. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Ce mot de passe a été divulgué lors d'une fuite de données, il ne doit plus être utilisé. Veuillez utiliser un autre mot de passe. - - - This value should be between {{ min }} and {{ max }}. - Cette valeur doit être comprise entre {{ min }} et {{ max }}. - - - This value is not a valid hostname. - Cette valeur n'est pas un nom d'hôte valide. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Le nombre d'éléments de cette collection doit être un multiple de {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Cette valeur doit satisfaire à au moins une des contraintes suivantes : - - - Each element of this collection should satisfy its own set of constraints. - Chaque élément de cette collection doit satisfaire à son propre jeu de contraintes. - - - This value is not a valid International Securities Identification Number (ISIN). - Cette valeur n'est pas un code international de sécurité valide (ISIN). - - - This value should be a valid expression. - Cette valeur doit être une expression valide. - - - This value is not a valid CSS color. - Cette valeur n'est pas une couleur CSS valide. - - - This value is not a valid CIDR notation. - Cette valeur n'est pas une notation CIDR valide. - - - The value of the netmask should be between {{ min }} and {{ max }}. - La valeur du masque de réseau doit être comprise entre {{ min }} et {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Le nom du fichier est trop long. Il doit contenir au maximum {{ filename_max_length }} caractère.|Le nom de fichier est trop long. Il doit contenir au maximum {{ filename_max_length }} caractères. - - - The password strength is too low. Please use a stronger password. - La force du mot de passe est trop faible. Veuillez utiliser un mot de passe plus fort. - - - This value contains characters that are not allowed by the current restriction-level. - Cette valeur contient des caractères qui ne sont pas autorisés par le niveau de restriction actuel. - - - Using invisible characters is not allowed. - Utiliser des caractères invisibles n'est pas autorisé. - - - Mixing numbers from different scripts is not allowed. - Mélanger des chiffres provenant de différents scripts n'est pas autorisé. - - - Using hidden overlay characters is not allowed. - Utiliser des caractères de superposition cachés n'est pas autorisé. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - L'extension du fichier est invalide ({{ extension }}). Les extensions autorisées sont {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - L'encodage de caractères détecté est invalide ({{ detected }}). Les encodages autorisés sont {{ encodings }}. - - - This value is not a valid MAC address. - Cette valeur n'est pas une adresse MAC valide. - - - This URL is missing a top-level domain. - Cette URL doit contenir un domaine de premier niveau. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Cette valeur est trop courte. Elle doit contenir au moins un mot.|Cette valeur est trop courte. Elle doit contenir au moins {{ min }} mots. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Cette valeur est trop longue. Elle doit contenir au maximum un mot.|Cette valeur est trop longue. Elle doit contenir au maximum {{ max }} mots. - - - This value does not represent a valid week in the ISO 8601 format. - Cette valeur ne représente pas une semaine valide au format ISO 8601. - - - This value is not a valid week. - Cette valeur n'est pas une semaine valide. - - - This value should not be before week "{{ min }}". - Cette valeur ne doit pas être antérieure à la semaine "{{ min }}". - - - This value should not be after week "{{ max }}". - Cette valeur ne doit pas être postérieure à la semaine "{{ max }}". - - - This value is not a valid Twig template. - Cette valeur n'est pas un modèle Twig valide. - - - This file is not a valid video. - Ce fichier n’est pas une vidéo valide. - - - The size of the video could not be detected. - La taille de la vidéo n’a pas pu être détectée. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - La largeur de la vidéo est trop grande ({{ width }}px). La largeur maximale autorisée est de {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - La largeur de la vidéo est trop petite ({{ width }}px). La largeur minimale attendue est de {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - La hauteur de la vidéo est trop grande ({{ height }}px). La hauteur maximale autorisée est de {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - La hauteur de la vidéo est trop petite ({{ height }}px). La hauteur minimale attendue est de {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - La vidéo a trop peu de pixels ({{ pixels }}). La quantité minimale attendue est de {{ min_pixels }} pixels. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - La vidéo contient trop de pixels ({{ pixels }}). La quantité maximale attendue est de {{ max_pixels }} pixels. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Le ratio de la vidéo est trop élevé ({{ ratio }}). Le ratio maximal autorisé est de {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Le ratio de la vidéo est trop petit ({{ ratio }}). Le ratio minimum attendu est de {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - La vidéo est carrée ({{ width }}x{{ height }}px). Les vidéos carrées ne sont pas autorisées. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - La vidéo est au format paysage ({{ width }}x{{ height }} px). Les vidéos au format paysage ne sont pas autorisées. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - La vidéo est orientée en portrait ({{ width }}x{{ height }} px). Les vidéos en orientation portrait ne sont pas autorisées. - - - The video file is corrupted. - Le fichier vidéo est corrompu. - - - The video contains multiple streams. Only one stream is allowed. - La vidéo contient plusieurs flux. Un seul flux est autorisé. - - - Unsupported video codec "{{ codec }}". - Le codec vidéo «{{ codec }}» est non pris en charge. - - - Unsupported video container "{{ container }}". - Le conteneur vidéo «{{ container }}» est non pris en charge. - - - The image file is corrupted. - Le fichier image est corrompu. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - L’image comporte trop peu de pixels ({{ pixels }}). La quantité minimale attendue est de {{ min_pixels }} pixels. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - L’image contient trop de pixels ({{ pixels }}). La quantité maximale attendue est de {{ max_pixels }} pixels. - - - This filename does not match the expected charset. - Le nom de fichier ne correspond pas au jeu de caractères attendu. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.gl.xlf b/app/vendor/symfony/validator/Resources/translations/validators.gl.xlf deleted file mode 100644 index 489457d54..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.gl.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Este valor debería ser falso. - - - This value should be true. - Este valor debería ser verdadeiro. - - - This value should be of type {{ type }}. - Este valor debería ser de tipo {{ type }}. - - - This value should be blank. - Este valor debería estar baleiro. - - - The value you selected is not a valid choice. - O valor seleccionado non é unha opción válida. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Debe seleccionar polo menos {{ limit }} opción.|Debe seleccionar polo menos {{ limit }} opcions. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Debe seleccionar como máximo {{ limit }} opción.|Debe seleccionar como máximo {{ limit }} opcions. - - - One or more of the given values is invalid. - Un ou máis dos valores indicados non son válidos. - - - This field was not expected. - Este campo non era esperado. - - - This field is missing. - Este campo falta. - - - This value is not a valid date. - Este valor non é unha data válida. - - - This value is not a valid datetime. - Este valor non é unha data e hora válidas. - - - This value is not a valid email address. - Este valor non é unha dirección de correo electrónico válida. - - - The file could not be found. - Non se puido atopar o arquivo. - - - The file is not readable. - O arquivo non se pode ler. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - O arquivo é demasiado grande ({{ size }} {{ suffix }}). O tamaño máximo permitido é {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - O tipo mime do arquivo non é válido ({{ type }}). Os tipos mime válidos son {{ types }}. - - - This value should be {{ limit }} or less. - Este valor debería ser {{ limit }} ou menos. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Este valor é demasiado longo. Debería ter {{ limit }} carácter ou menos.|Este valor é demasiado longo. Debería ter {{ limit }} caracteres ou menos. - - - This value should be {{ limit }} or more. - Este valor debería ser {{ limit }} ou máis. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Este valor é demasiado curto. Debería ter {{ limit }} carácter ou máis.|Este valor é demasiado corto. Debería ter {{ limit }} caracteres ou máis. - - - This value should not be blank. - Este valor non debería estar baleiro. - - - This value should not be null. - Este valor non debería ser null. - - - This value should be null. - Este valor debería ser null. - - - This value is not valid. - Este valor non é válido. - - - This value is not a valid time. - Este valor non é unha hora válida. - - - This value is not a valid URL. - Este valor non é unha URL válida. - - - The two values should be equal. - Os dous valores deberían ser iguais. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - O arquivo é demasiado grande. O tamaño máximo permitido é {{ limit }} {{ suffix }}. - - - The file is too large. - O arquivo é demasiado grande. - - - The file could not be uploaded. - No se puido cargar o arquivo. - - - This value should be a valid number. - Este valor debería ser un número válido. - - - This file is not a valid image. - O arquivo non é unha imaxe válida. - - - This value is not a valid IP address. - Este valor non é un enderezo IP válido. - - - This value is not a valid language. - Este valor non é un idioma válido. - - - This value is not a valid locale. - Este valor non é unha localización válida. - - - This value is not a valid country. - Este valor non é un país válido. - - - This value is already used. - Este valor xa está a ser empregado. - - - The size of the image could not be detected. - Non se puido determinar o tamaño da imaxe. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - A largura da imaxe é demasiado grande ({{ width }}px). A largura máxima permitida son {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A largura da imaxe é demasiado pequena ({{ width }}px). A largura mínima requerida son {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - A altura da imaxe é demasiado grande ({{ height }}px). A altura máxima permitida son {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A altura da imaxe é demasiado pequena ({{ height }}px). A altura mínima requerida son {{ min_height }}px. - - - This value should be the user's current password. - Este valor debería ser a contrasinal actual do usuario. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Este valor debería ter exactamente {{ limit }} carácter.|Este valor debería ter exactamente {{ limit }} caracteres. - - - The file was only partially uploaded. - O arquivo foi só subido parcialmente. - - - No file was uploaded. - Non se subiu ningún arquivo. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Ningunha carpeta temporal foi configurada en php.ini, ou a carpeta non existe. - - - Cannot write temporary file to disk. - Non se puido escribir o arquivo temporal no disco. - - - A PHP extension caused the upload to fail. - Unha extensión de PHP provocou que a subida fallara. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Esta colección debe conter {{ limit }} elemento ou máis.|Esta colección debe conter {{ limit }} elementos ou máis. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Esta colección debe conter {{ limit }} elemento ou menos.|Esta colección debe conter {{ limit }} elementos ou menos. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Esta colección debe conter exactamente {{ limit }} elemento.|Esta colección debe conter exactamente {{ limit }} elementos. - - - Invalid card number. - Número de tarxeta non válido. - - - Unsupported card type or invalid card number. - Tipo de tarxeta non soportado ou número de tarxeta non válido. - - - This value is not a valid International Bank Account Number (IBAN). - Este valor non é un Número de Conta Bancaria Internacional (IBAN) válido. - - - This value is not a valid ISBN-10. - Este valor non é un ISBN-10 válido. - - - This value is not a valid ISBN-13. - Este valor non é un ISBN-13 válido. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Este valor non é nin un ISBN-10 válido nin un ISBN-13 válido. - - - This value is not a valid ISSN. - Este valor non é un ISSN válido. - - - This value is not a valid currency. - Este valor non é unha moeda válida. - - - This value should be equal to {{ compared_value }}. - Este valor debería ser igual a {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Este valor debería ser maior que {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Este valor debería ser maior ou igual que {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Este valor debería ser identico a {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Este valor debería ser menor que {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Este valor debería ser menor ou igual que {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Este valor non debería ser igual a {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Este valor non debería ser identico a {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - A proporción da imaxe é demasiado grande ({{ ratio }}). A proporción máxima permitida é {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - A proporción da é demasiado pequena ({{ ratio }}). A proporción mínima permitida é {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - A imaxe é cadrada ({{ width }}x{{ height }}px). As imáxenes cadradas non están permitidas. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - A imaxe está orientada horizontalmente ({{ width }}x{{ height }}px). As imáxenes orientadas horizontalmente non están permitidas. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - A imaxe está orientada verticalmente ({{ width }}x{{ height }}px). As imáxenes orientadas verticalmente non están permitidas. - - - An empty file is not allowed. - Non está permitido un arquivo baleiro. - - - The host could not be resolved. - Non se puido resolver o host. - - - This value does not match the expected {{ charset }} charset. - A codificación de caracteres para este valor debería ser {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Este valor non é un Código de Identificación de Negocios (BIC) válido. - - - Error - Erro - - - This value is not a valid UUID. - Este valor non é un UUID válido. - - - This value should be a multiple of {{ compared_value }}. - Este valor debería ser multiplo de {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Este Código de identificación bancaria (BIC) non está asociado co IBAN {{ iban }}. - - - This value should be valid JSON. - Este valor debería ser un JSON válido. - - - This collection should contain only unique elements. - Esta colección só debería ter elementos únicos. - - - This value should be positive. - Este valor debería ser positivo. - - - This value should be either positive or zero. - Este valor debe ser positivo ou igual a cero. - - - This value should be negative. - Este valor debe ser negativo. - - - This value should be either negative or zero. - Este valor debe ser negativo ou igual a cero. - - - This value is not a valid timezone. - Este valor non é unha zona horaria válida. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Este contrasinal non se pode usar porque está incluído nunha lista de contrasinais públicos obtidos grazas a fallos de seguridade noutros sitios e aplicacións. Utiliza outro contrasinal. - - - This value should be between {{ min }} and {{ max }}. - Este valor debe estar comprendido entre {{ min }} e {{ max }}. - - - This value is not a valid hostname. - Este valor non é un nome de host válido. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - O número de elementos desta colección debería ser múltiplo de {{compare_value}}. - - - This value should satisfy at least one of the following constraints: - Este valor debe cumprir polo menos unha das seguintes restricións: - - - Each element of this collection should satisfy its own set of constraints. - Cada elemento desta colección debe satisfacer o seu propio conxunto de restricións. - - - This value is not a valid International Securities Identification Number (ISIN). - Este valor non é un número de identificación de valores internacionais (ISIN) válido. - - - This value should be a valid expression. - Este valor debe ser unha expresión válida. - - - This value is not a valid CSS color. - Este valor non é unha cor CSS válida. - - - This value is not a valid CIDR notation. - Este valor non ten unha notación CIDR válida. - - - The value of the netmask should be between {{ min }} and {{ max }}. - O valor da máscara de rede debería estar entre {{ min }} e {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - O nome do ficheiro é demasiado longo. Debe ter {{ filename_max_length }} caracteres ou menos. - - - The password strength is too low. Please use a stronger password. - O contrasinal é demasiado débil. Utilice un contrasinal máis seguro. - - - This value contains characters that are not allowed by the current restriction-level. - Este valor contén caracteres que non están permitidos polo nivel de restrición actual. - - - Using invisible characters is not allowed. - Non se permite usar caracteres invisíbeis. - - - Mixing numbers from different scripts is not allowed. - Non se permite mesturar números de diferentes scripts. - - - Using hidden overlay characters is not allowed. - Non se permite usar caracteres de superposición ocultos. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - A extensión do ficheiro non é válida ({{ extension }}). As extensións permitidas son {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - A codificación de caracteres detectada non é válida ({{ detected }}). As codificacións permitidas son {{ encodings }}. - - - This value is not a valid MAC address. - Este valor non é un enderezo MAC válido. - - - This URL is missing a top-level domain. - A esta URL fáltalle un dominio de nivel superior. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Este valor é curto de máis. Debe conter polo menos unha palabra.|Este valor é curto de máis. Debe conter polo menos {{ min }} palabras. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Este valor é longo de máis. Debe conter só unha palabra.|Este valor é longo de máis. Debe conter {{ max }} palabras ou menos. - - - This value does not represent a valid week in the ISO 8601 format. - Este valor non representa unha semana válida no formato ISO 8601. - - - This value is not a valid week. - Este valor non é unha semana válida. - - - This value should not be before week "{{ min }}". - Este valor non debe ser anterior á semana "{{ min }}". - - - This value should not be after week "{{ max }}". - Este valor non debe estar despois da semana "{{ max }}". - - - This value is not a valid Twig template. - Este valor non é un modelo Twig válido. - - - This file is not a valid video. - Este ficheiro non é un vídeo válido. - - - The size of the video could not be detected. - Non se puido detectar o tamaño do vídeo. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - A anchura do vídeo é demasiado grande ({{ width }}px). A anchura máxima permitida é {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A anchura do vídeo é demasiado pequena ({{ width }}px). A anchura mínima agardada é {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - A altura do vídeo é demasiado grande ({{ height }}px). A altura máxima permitida é {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A altura do vídeo é demasiado pequena ({{ height }}px). A altura mínima agardada é {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - O vídeo ten moi poucos píxeles ({{ pixels }}). A cantidade mínima agardada é {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - O vídeo ten demasiados píxeles ({{ pixels }}). A cantidade máxima agardada é {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - A relación do vídeo é demasiado grande ({{ ratio }}). A relación máxima permitida é {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - A relación do vídeo é demasiado pequena ({{ ratio }}). A relación mínima agardada é {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - O vídeo é cadrado ({{ width }}x{{ height }}px). Non se permiten vídeos cadrados. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - O vídeo está en orientación horizontal ({{ width }}x{{ height }} px). Non se permiten vídeos en horizontal. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - O vídeo está en orientación vertical ({{ width }}x{{ height }} px). Non se permiten vídeos en orientación vertical. - - - The video file is corrupted. - O ficheiro de vídeo está danado. - - - The video contains multiple streams. Only one stream is allowed. - O vídeo contén múltiples fluxos. Só se permite un fluxo. - - - Unsupported video codec "{{ codec }}". - Códec de vídeo non compatible «{{ codec }}». - - - Unsupported video container "{{ container }}". - Contedor de vídeo non compatible "{{ container }}". - - - The image file is corrupted. - O ficheiro de imaxe está danado. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - A imaxe ten moi poucos píxeles ({{ pixels }}). A cantidade mínima esperada é {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - A imaxe ten demasiados píxeles ({{ pixels }}). A cantidade máxima esperada é {{ max_pixels }}. - - - This filename does not match the expected charset. - Este nome de ficheiro non coincide co charset agardado. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.he.xlf b/app/vendor/symfony/validator/Resources/translations/validators.he.xlf deleted file mode 100644 index d184a11a5..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.he.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - הערך צריך להיות שקר. - - - This value should be true. - הערך צריך להיות אמת. - - - This value should be of type {{ type }}. - הערך צריך להיות מסוג {{ type }}. - - - This value should be blank. - הערך צריך להיות ריק. - - - The value you selected is not a valid choice. - הערך שבחרת אינו חוקי. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - אתה צריך לבחור לפחות {{ limit }} אפשרויות.|אתה צריך לבחור לפחות {{ limit }} אפשרויות. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - אתה צריך לבחור לכל היותר {{ limit }} אפשרויות.|אתה צריך לבחור לכל היותר {{ limit }} אפשרויות. - - - One or more of the given values is invalid. - אחד או יותר מהערכים אינו חוקי. - - - This field was not expected. - שדה זה לא היה צפוי - - - This field is missing. - שדה זה חסר. - - - This value is not a valid date. - הערך אינו תאריך חוקי. - - - This value is not a valid datetime. - הערך אינו תאריך ושעה חוקיים. - - - This value is not a valid email address. - כתובת המייל אינה תקינה. - - - The file could not be found. - הקובץ לא נמצא. - - - The file is not readable. - לא ניתן לקרוא את הקובץ. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - הקובץ גדול מדי ({{ size }} {{ suffix }}). הגודל המרבי המותר הוא {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - סוג MIME של הקובץ אינו חוקי ({{ type }}). מותרים סוגי MIME {{ types }}. - - - This value should be {{ limit }} or less. - הערך צריך להכיל {{ limit }} תווים לכל היותר. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - הערך ארוך מידי. הוא צריך להכיל {{ limit }} תווים לכל היותר.|הערך ארוך מידי. הוא צריך להכיל {{ limit }} תווים לכל היותר. - - - This value should be {{ limit }} or more. - הערך צריך להכיל {{ limit }} תווים לפחות. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - הערך קצר מידי. הוא צריך להכיל {{ limit }} תווים לפחות.|הערך קצר מידי. הערך צריך להכיל {{ limit }} תווים לפחות. - - - This value should not be blank. - הערך לא אמור להיות ריק. - - - This value should not be null. - הערך לא אמור להיות ריק. - - - This value should be null. - הערך צריך להיות ריק. - - - This value is not valid. - הערך אינו חוקי. - - - This value is not a valid time. - הערך אינו זמן תקין. - - - This value is not a valid URL. - זאת אינה כתובת אתר תקינה. - - - The two values should be equal. - שני הערכים צריכים להיות שווים. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - הקובץ גדול מדי. הגודל המרבי המותר הוא {{ limit }} {{ suffix }}. - - - The file is too large. - הקובץ גדול מדי. - - - The file could not be uploaded. - לא ניתן לעלות את הקובץ. - - - This value should be a valid number. - הערך צריך להיות מספר חוקי. - - - This file is not a valid image. - הקובץ הזה אינו תמונה תקינה. - - - This value is not a valid IP address. - ערך זה אינו כתובת IP תקפה. - - - This value is not a valid language. - הערך אינו שפה חוקית. - - - This value is not a valid locale. - הערך אינו אזור תקף. - - - This value is not a valid country. - הערך אינו ארץ חוקית. - - - This value is already used. - הערך כבר בשימוש. - - - The size of the image could not be detected. - לא ניתן לקבוע את גודל התמונה. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - רוחב התמונה גדול מדי ({{ width }}px). הרוחב המקסימלי הוא {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - רוחב התמונה קטן מדי ({{ width }}px). הרוחב המינימלי הוא {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - גובה התמונה גדול מדי ({{ height }}px). הגובה המקסימלי הוא {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - גובה התמונה קטן מדי ({{ height }}px). הגובה המינימלי הוא {{ min_height }}px. - - - This value should be the user's current password. - הערך צריך להיות סיסמת המשתמש הנוכחי. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - הערך צריך להיות בדיוק {{ limit }} תווים.|הערך צריך להיות בדיוק {{ limit }} תווים. - - - The file was only partially uploaded. - הקובץ הועלה באופן חלקי. - - - No file was uploaded. - הקובץ לא הועלה. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - לא הוגדרה תיקייה זמנית ב-php.ini, או שהתיקייה המוגדרת אינה קיימת. - - - Cannot write temporary file to disk. - לא ניתן לכתוב קובץ זמני לדיסק. - - - A PHP extension caused the upload to fail. - סיומת PHP גרם להעלאה להיכשל. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - האוסף אמור להכיל {{ limit }} אלמנטים או יותר.|האוסף אמור להכיל {{ limit }} אלמנטים או יותר. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - האוסף אמור להכיל {{ limit }} אלמנטים או פחות.|האוסף אמור להכיל {{ limit }} אלמנטים או פחות. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - האוסף צריך להכיל בדיוק {{ limit }} אלמנטים.|האוסף צריך להכיל בדיוק {{ limit }} אלמנטים. - - - Invalid card number. - מספר הכרטיס אינו חוקי. - - - Unsupported card type or invalid card number. - סוג הכרטיס אינו נתמך או לא חוקי. - - - This value is not a valid International Bank Account Number (IBAN). - ערך זה אינו מספר זה"ב (IBAN) תקף. - - - This value is not a valid ISBN-10. - הערך אינו ערך ISBN-10 חוקי. - - - This value is not a valid ISBN-13. - הערך אינו ערך ISBN-13 חוקי. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - הערך אינו ערך ISBN-10 חוקי או ערך ISBN-13 חוקי. - - - This value is not a valid ISSN. - הערך אינו ערך ISSN חוקי. - - - This value is not a valid currency. - הערך אינו ערך מטבע חוקי. - - - This value should be equal to {{ compared_value }}. - הערך חייב להיות שווה ל {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - הערך חייב להיות גדול מ {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - הערך חייב להיות גדול או שווה ל {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - הערך חייב להיות זהה ל {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - הערך חייב להיות קטן מ {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - הערך חייב להיות קטן או שווה ל {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - הערך חייב להיות לא שווה ל {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - הערך חייב להיות לא זהה ל {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - היחס של התמונה הוא גדול מדי ({{ ratio }}). היחס המקסימלי האפשרי הוא {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - היחס של התמונה הוא קטן מדי ({{ ratio }}). היחס המינימלי האפשרי הוא {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - התמונה מרובעת ({{ width }}x{{ height }}px). אסורות תמונות מרובעות. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - התמונה היא לרוחב ({{ width }}x{{ height }}px). אסורות תמונות לרוחב. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - התמונה היא לאורך ({{ width }}x{{ height }}px). אסורות תמונות לאורך. - - - An empty file is not allowed. - אסור קובץ ריק. - - - The host could not be resolved. - לא הייתה אפשרות לזהות את המארח. - - - This value does not match the expected {{ charset }} charset. - הערך אינו תואם למערך התווים {{ charset }} הצפוי. - - - This value is not a valid Business Identifier Code (BIC). - ערך זה אינו קוד מזהה עסקי (BIC) תקף. - - - Error - שגיאה - - - This value is not a valid UUID. - ערך זה אינו UUID תקף. - - - This value should be a multiple of {{ compared_value }}. - הערך חייב להיות כפולה של {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - הקוד זיהוי עסקי (BIC) אינו משוייך ל IBAN {{ iban }}. - - - This value should be valid JSON. - הערך אינו ערך JSON תקין. - - - This collection should contain only unique elements. - האוסף חייב להכיל רק אלמנטים ייחודיים. - - - This value should be positive. - הערך חייב להיות חיובי. - - - This value should be either positive or zero. - הערך חייב להיות חיובי או אפס. - - - This value should be negative. - הערך חייב להיות שלילי. - - - This value should be either negative or zero. - הערך חייב להיות שלילי או אפס. - - - This value is not a valid timezone. - הערך אינו אזור זמן תקין. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - סיסמא זו הודלפה בהדלפת מידע, אסור להשתמש בה. אנא השתמש בסיסמה אחרת. - - - This value should be between {{ min }} and {{ max }}. - הערך חייב להיות בין {{ min }} ו- {{ max }}. - - - This value is not a valid hostname. - ערך זה אינו שם מארח חוקי. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - מספר האלמנטים באוסף זה צריך להיות מכפיל של {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - ערך זה אמור לעמוד לפחות באחד התנאים הבאים: - - - Each element of this collection should satisfy its own set of constraints. - כל אלמנט באוסף זה אמור לעמוד בקבוצת התנאים שלו. - - - This value is not a valid International Securities Identification Number (ISIN). - ערך זה אינו מספר זיהוי ניירות ערך בינלאומי תקף (ISIN). - - - This value should be a valid expression. - ערך זה חייב להיות ביטוי חוקי. - - - This value is not a valid CSS color. - ערך זה אינו צבע CSS חוקי. - - - This value is not a valid CIDR notation. - ערך זה אינו סימון CIDR חוקי. - - - The value of the netmask should be between {{ min }} and {{ max }}. - הערך של מסכת הרשת חייב להיות בין {{ min }} ו {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - שם הקובץ ארוך מדי. עליו להכיל {{ filename_max_length }} תווים או פחות. - - - The password strength is too low. Please use a stronger password. - חוזק הסיסמה נמוך מדי. אנא השתמש בסיסמה חזקה יותר. - - - This value contains characters that are not allowed by the current restriction-level. - הערך כולל תווים שאינם מותרים על פי רמת ההגבלה הנוכחית. - - - Using invisible characters is not allowed. - אסור להשתמש בתווים בלתי נראים. - - - Mixing numbers from different scripts is not allowed. - אסור לערבב מספרים מסקריפטים שונים. - - - Using hidden overlay characters is not allowed. - אסור להשתמש בתווים חופפים נסתרים. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - סיומת הקובץ אינה תקינה ({{ extension }}). הסיומות המותרות הן {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - קידוד התווים שזוהה אינו חוקי ({{ detected }}). הקידודים המותרים הם {{ encodings }}. - - - This value is not a valid MAC address. - ערך זה אינו כתובת MAC תקפה. - - - This URL is missing a top-level domain. - לכתובת URL זו חסר דומיין רמה עליונה. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - ערך זה קצר מדי. הוא צריך להכיל לפחות מילה אחת.|ערך זה קצר מדי. הוא צריך להכיל לפחות {{ min }} מילים. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - ערך זה ארוך מדי. הוא צריך להכיל רק מילה אחת.|ערך זה ארוך מדי. הוא צריך להכיל {{ max }} מילים או פחות. - - - This value does not represent a valid week in the ISO 8601 format. - ערך זה אינו מייצג שבוע תקף בפורמט ISO 8601. - - - This value is not a valid week. - ערך זה אינו שבוע חוקי. - - - This value should not be before week "{{ min }}". - ערך זה לא אמור להיות לפני שבוע "{{ min }}". - - - This value should not be after week "{{ max }}". - ערך זה לא אמור להיות לאחר שבוע "{{ max }}". - - - This value is not a valid Twig template. - ערך זה אינו תבנית Twig חוקית. - - - This file is not a valid video. - קובץ זה אינו וידאו תקין. - - - The size of the video could not be detected. - לא ניתן היה לזהות את גודל הווידאו. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - רוחב הווידאו גדול מדי ({{ width }}px). רוחב מרבי מותר הוא {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - רוחב הווידאו קטן מדי ({{ width }}px). רוחב מינימלי צפוי הוא {{ min_width }} פיקסלים. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - גובה הווידאו גדול מדי ({{ height }}px). הגובה המקסימלי המותר הוא {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - גובה הווידאו קטן מדי ({{ height }}px). הגובה המינימלי הצפוי הוא {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - לסרטון יש מעט מדי פיקסלים ({{ pixels }}). הכמות המינימלית הצפויה היא {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - לסרטון יש יותר מדי פיקסלים ({{ pixels }}). הכמות המרבית הצפויה היא {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - יחס הווידאו גדול מדי ({{ ratio }}). יחס מקסימלי מותר הוא {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - יחס הווידאו קטן מדי ({{ ratio }}). יחס מינימלי צפוי הוא {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - הווידאו הוא מרובע ({{ width }}x{{ height }}px). סרטוני וידאו מרובעים אינם מותרים. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - הווידאו במצב לרוחב ({{ width }}x{{ height }} פיקסלים). סרטוני לרוחב אינם מותרים. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - הווידאו הוא בתצורת דיוקן ({{ width }}x{{ height }}px). סרטוני וידאו בתצורת דיוקן אינם מותרים. - - - The video file is corrupted. - קובץ הווידאו פגום. - - - The video contains multiple streams. Only one stream is allowed. - הווידאו מכיל מספר זרמים. מותר זרם אחד בלבד. - - - Unsupported video codec "{{ codec }}". - מקודד וידאו שאינו נתמך "{{ codec }}". - - - Unsupported video container "{{ container }}". - מיכל וידאו שאינו נתמך "{{ container }}". - - - The image file is corrupted. - קובץ התמונה פגום. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - לתמונה יש מעט מדי פיקסלים ({{ pixels }}). הכמות המינימלית הצפויה היא {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - לתמונה יש יותר מדי פיקסלים ({{ pixels }}). הכמות המרבית הצפויה היא {{ max_pixels }}. - - - This filename does not match the expected charset. - שם הקובץ הזה אינו תואם את מערך התווים הצפוי. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.hr.xlf b/app/vendor/symfony/validator/Resources/translations/validators.hr.xlf deleted file mode 100644 index 2be0ff60c..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.hr.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Ova vrijednost treba biti netočna (false). - - - This value should be true. - Ova vrijednost treba biti točna (true). - - - This value should be of type {{ type }}. - Ova vrijednost treba biti tipa {{ type }}. - - - This value should be blank. - Ova vrijednost treba biti prazna. - - - The value you selected is not a valid choice. - Ova vrijednost nije valjan izbor. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Izaberite barem {{ limit }} mogućnosti. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Izaberite najviše {{ limit }} mogućnosti. - - - One or more of the given values is invalid. - Jedna ili više danih vrijednosti nije ispravna. - - - This field was not expected. - Ovo polje nije očekivano. - - - This field is missing. - Ovo polje nedostaje. - - - This value is not a valid date. - Ova vrijednost nije ispravan datum. - - - This value is not a valid datetime. - Ova vrijednost nije ispravnog datum-vrijeme formata. - - - This value is not a valid email address. - Ova vrijednost nije ispravna e-mail adresa. - - - The file could not be found. - Datoteka ne može biti pronađena. - - - The file is not readable. - Datoteka nije čitljiva. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Datoteka je prevelika ({{ size }} {{ suffix }}). Najveća dozvoljena veličina je {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mime tip datoteke nije ispravan ({{ type }}). Dozvoljeni mime tipovi su {{ types }}. - - - This value should be {{ limit }} or less. - Ova vrijednost treba biti {{ limit }} ili manje. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Ova vrijednost je predugačka. Treba imati {{ limit }} znakova ili manje. - - - This value should be {{ limit }} or more. - Ova vrijednost treba biti {{ limit }} ili više. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Ova vrijednost je prekratka. Treba imati {{ limit }} znakova ili više. - - - This value should not be blank. - Ova vrijednost ne bi trebala biti prazna. - - - This value should not be null. - Ova vrijednost ne bi trebala biti null. - - - This value should be null. - Ova vrijednost treba biti null. - - - This value is not valid. - Ova vrijednost nije ispravna. - - - This value is not a valid time. - Ova vrijednost nije ispravno vrijeme. - - - This value is not a valid URL. - Ova vrijednost nije ispravan URL. - - - The two values should be equal. - Obje vrijednosti trebaju biti jednake. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Ova datoteka je prevelika. Najveća dozvoljena veličina je {{ limit }} {{ suffix }}. - - - The file is too large. - Ova datoteka je prevelika. - - - The file could not be uploaded. - Ova datoteka ne može biti prenesena. - - - This value should be a valid number. - Ova vrijednost treba biti ispravan broj. - - - This file is not a valid image. - Ova datoteka nije ispravna slika. - - - This value is not a valid IP address. - Ova vrijednost nije valjana IP adresa. - - - This value is not a valid language. - Ova vrijednost nije ispravan jezik. - - - This value is not a valid locale. - Ova vrijednost nije ispravana regionalna oznaka. - - - This value is not a valid country. - Ova vrijednost nije ispravna država. - - - This value is already used. - Ova vrijednost je već iskorištena. - - - The size of the image could not be detected. - Veličina slike se ne može odrediti. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina slike je prevelika ({{ width }}px). Najveća dozvoljena širina je {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina slike je premala ({{ width }}px). Najmanja dozvoljena širina je {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Visina slike je prevelika ({{ height }}px). Najveća dozvoljena visina je {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Visina slike je premala ({{ height }}px). Najmanja dozvoljena visina je {{ min_height }}px. - - - This value should be the user's current password. - Ova vrijednost treba biti trenutna korisnička lozinka. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Ova vrijednost treba imati točno {{ limit }} znakova. - - - The file was only partially uploaded. - Datoteka je samo djelomično prenesena. - - - No file was uploaded. - Niti jedna datoteka nije prenesena. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Privremena mapa nije konfigurirana u php.ini-u, ili konfigurirana mapa ne postoji. - - - Cannot write temporary file to disk. - Ne mogu zapisati privremenu datoteku na disk. - - - A PHP extension caused the upload to fail. - Prijenos datoteke nije uspio zbog PHP ekstenzije. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ova kolekcija treba sadržavati {{ limit }} ili više elemenata.|Ova kolekcija treba sadržavati {{ limit }} ili više elemenata.|Ova kolekcija treba sadržavati {{ limit }} ili više elemenata. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ova kolekcija treba sadržavati {{ limit }} ili manje elemenata.|Ova kolekcija treba sadržavati {{ limit }} ili manje elemenata.|Ova kolekcija treba sadržavati {{ limit }} ili manje elemenata. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ova kolekcija treba sadržavati točno {{ limit }} element.|Ova kolekcija treba sadržavati točno {{ limit }} elementa.|Ova kolekcija treba sadržavati točno {{ limit }} elemenata. - - - Invalid card number. - Neispravan broj kartice. - - - Unsupported card type or invalid card number. - Tip kartice nije podržan ili je broj kartice neispravan. - - - This value is not a valid International Bank Account Number (IBAN). - Ova vrijednost nije valjani međunarodni bankovni broj računa (IBAN). - - - This value is not a valid ISBN-10. - Ova vrijednost nije ispravan ISBN-10. - - - This value is not a valid ISBN-13. - Ova vrijednost nije ispravan ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ova vrijednost nije ispravan ISBN-10 niti ISBN-13. - - - This value is not a valid ISSN. - Ova vrijednost nije ispravan ISSN. - - - This value is not a valid currency. - Ova vrijednost nije ispravna valuta. - - - This value should be equal to {{ compared_value }}. - Ova vrijednost treba biti jednaka {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ova vrijednost treba biti veća od {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ova vrijednost treba biti veća od ili jednaka {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ova vrijednost treba biti {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ova vrijednost treba biti manja od {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ova vrijednost treba biti manja od ili jednaka {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ova vrijednost treba biti različita od {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ova vrijednost treba biti različita od {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Omjer slike je prevelik ({{ ratio }}). Dozvoljeni maksimalni omjer je {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Omjer slike je premali ({{ ratio }}). Minimalni očekivani omjer je {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Slika je kvadratnog oblika ({{ width }}x{{ height }}px). Kvadratne slike nisu dozvoljene. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Slika je orijentirana horizontalno ({{ width }}x{{ height }}px). Horizontalno orijentirane slike nisu dozvoljene. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Slika je orijentirana vertikalno ({{ width }}x{{ height }}px). Vertikalno orijentirane slike nisu dozvoljene. - - - An empty file is not allowed. - Prazna datoteka nije dozvoljena. - - - The host could not be resolved. - Poslužitelj ne može biti pronađen. - - - This value does not match the expected {{ charset }} charset. - Ova vrijednost ne odgovara očekivanom {{ charset }} znakovnom skupu. - - - This value is not a valid Business Identifier Code (BIC). - Ova vrijednost nije valjani poslovni identifikacijski kod (BIC). - - - Error - Greška - - - This value is not a valid UUID. - Ova vrijednost nije valjani UUID. - - - This value should be a multiple of {{ compared_value }}. - Ova vrijednost treba biti višekratnik od {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Poslovni identifikacijski broj (BIC) nije povezan sa IBAN brojem {{ iban }}. - - - This value should be valid JSON. - Ova vrijednost treba biti validan JSON. - - - This collection should contain only unique elements. - Ova kolekcija treba sadržavati samo unikatne elemente. - - - This value should be positive. - Ova vrijednost treba biti pozitivna. - - - This value should be either positive or zero. - Ova vrijednost treba biti pozitivna ili jednaka nuli. - - - This value should be negative. - Ova vrijednost treba biti negativna. - - - This value should be either negative or zero. - Ova vrijednost treba biti negativna ili jednaka nuli. - - - This value is not a valid timezone. - Ova vrijednost nije validna vremenska zona. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Ova lozinka je procurila u nekom od sigurnosnih propusta, te je potrebno koristiti drugu lozinku. - - - This value should be between {{ min }} and {{ max }}. - Ova vrijednost treba biti između {{ min }} i {{ max }}. - - - This value is not a valid hostname. - Ova vrijednost nije ispravno ime poslužitelja (engl. hostname). - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Broj elemenata u kolekciji treba biti djeljiv s {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Ova vrijednost mora zadovoljiti jedan od sljedećih ograničenja: - - - Each element of this collection should satisfy its own set of constraints. - Svaki element ove kolekcije mora zadovoljiti vlastiti skup ograničenja. - - - This value is not a valid International Securities Identification Number (ISIN). - Ova vrijednost nije ispravan međunarodni identifikacijski broj vrijednosnih papira (ISIN). - - - This value should be a valid expression. - Ova vrijednost mora biti valjani izraz. - - - This value is not a valid CSS color. - Ova vrijednost nije važeća CSS boja. - - - This value is not a valid CIDR notation. - Ova vrijednost nije valjana CIDR notacija. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Vrijednost mrežne maske trebala bi biti između {{ min }} i {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Naziv datoteke je predug. Treba imati {{ filename_max_length }} znak ili manje.|Naziv datoteke je predug. Treba imati {{ filename_max_length }} znaka ili manje.|Naziv datoteke je predug. Treba imati {{ filename_max_length }} znakova ili manje. - - - The password strength is too low. Please use a stronger password. - Jačina lozinke je preniska. Molim koristite jaču lozinku. - - - This value contains characters that are not allowed by the current restriction-level. - Ova vrijednost sadrži znakove koji nisu dopušteni prema trenutnoj razini ograničenja. - - - Using invisible characters is not allowed. - Korištenje nevidljivih znakova nije dopušteno. - - - Mixing numbers from different scripts is not allowed. - Miješanje brojeva iz različitih pisama nije dopušteno. - - - Using hidden overlay characters is not allowed. - Korištenje skrivenih preklapajućih znakova nije dopušteno. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Ekstenzija datoteke nije valjana ({{ extension }}). Dozvoljene ekstenzije su {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Otkriveno kodiranje znakova je nevažeće ({{ detected }}). Dopuštena kodiranja su {{ encodings }}. - - - This value is not a valid MAC address. - Ova vrijednost nije valjana MAC adresa. - - - This URL is missing a top-level domain. - Ovom URL-u nedostaje vršna domena. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Ova vrijednost je prekratka. Trebala bi sadržavati barem jednu riječ.|Ova vrijednost je prekratka. Trebala bi sadržavati barem {{ min }} riječi. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Ova vrijednost je predugačka. Trebala bi sadržavati samo jednu riječ.|Ova vrijednost je predugačka. Trebala bi sadržavati {{ max }} riječi ili manje. - - - This value does not represent a valid week in the ISO 8601 format. - Ova vrijednost ne predstavlja valjani tjedan u ISO 8601 formatu. - - - This value is not a valid week. - Ova vrijednost nije valjani tjedan. - - - This value should not be before week "{{ min }}". - Ova vrijednost ne bi trebala biti prije tjedna "{{ min }}". - - - This value should not be after week "{{ max }}". - Ova vrijednost ne bi trebala biti nakon tjedna "{{ max }}". - - - This value is not a valid Twig template. - Ova vrijednost nije valjani Twig predložak. - - - This file is not a valid video. - Ova datoteka nije valjani videozapis. - - - The size of the video could not be detected. - Veličina videozapisa nije mogla biti određena. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina videozapisa je prevelika ({{ width }}px). Dopuštenа maksimalna širina je {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina videozapisa je premala ({{ width }}px). Očekivana minimalna širina je {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Visina videozapisa je prevelika ({{ height }}px). Dopuštena maksimalna visina je {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Visina videozapisa je premala ({{ height }}px). Očekivana minimalna visina je {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video ima premalo piksela ({{ pixels }}). Očekivani minimalni broj je {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video ima previše piksela ({{ pixels }}). Očekivani maksimalni broj je {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Omjer videa je prevelik ({{ ratio }}). Dopušteni maksimalni omjer je {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Omjer videa je premalen ({{ ratio }}). Minimalni očekivani omjer je {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video je kvadratan ({{ width }}x{{ height }}px). Kvadratni videozapisi nisu dopušteni. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video je vodoravne orijentacije ({{ width }}x{{ height }} px). Vodoravni videozapisi nisu dopušteni. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video je okomite orijentacije ({{ width }}x{{ height }} px). Videozapisi okomite orijentacije nisu dopušteni. - - - The video file is corrupted. - Videodatoteka je oštećena. - - - The video contains multiple streams. Only one stream is allowed. - Video sadrži više tokova. Dopušten je samo jedan tok. - - - Unsupported video codec "{{ codec }}". - Nepodržani video kodek "{{ codec }}". - - - Unsupported video container "{{ container }}". - Nepodržani video spremnik "{{ container }}". - - - The image file is corrupted. - Datoteka slike je oštećena. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Slika ima premalo piksela ({{ pixels }}). Očekivani minimalni broj je {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Slika ima previše piksela ({{ pixels }}). Očekivani maksimalni broj je {{ max_pixels }}. - - - This filename does not match the expected charset. - Naziv ove datoteke ne odgovara očekivanom skupu znakova. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.hu.xlf b/app/vendor/symfony/validator/Resources/translations/validators.hu.xlf deleted file mode 100644 index 05bd279ae..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.hu.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Ennek az értéknek hamisnak kell lennie. - - - This value should be true. - Ennek az értéknek igaznak kell lennie. - - - This value should be of type {{ type }}. - Ennek az értéknek {{ type }} típusúnak kell lennie. - - - This value should be blank. - Ennek az értéknek üresnek kell lennie. - - - The value you selected is not a valid choice. - A választott érték érvénytelen. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Legalább {{ limit }} értéket kell kiválasztani.|Legalább {{ limit }} értéket kell kiválasztani. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Legfeljebb {{ limit }} értéket lehet kiválasztani.|Legfeljebb {{ limit }} értéket lehet kiválasztani. - - - One or more of the given values is invalid. - A megadott értékek közül legalább egy érvénytelen. - - - This field was not expected. - Nem várt mező. - - - This field is missing. - Ez a mező hiányzik. - - - This value is not a valid date. - Ez az érték nem egy érvényes dátum. - - - This value is not a valid datetime. - Ez az érték nem egy érvényes időpont. - - - This value is not a valid email address. - Ez az érték nem egy érvényes e-mail cím. - - - The file could not be found. - A fájl nem található. - - - The file is not readable. - A fájl nem olvasható. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - A fájl túl nagy ({{ size }} {{ suffix }}). A legnagyobb megengedett méret {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - A fájl MIME típusa érvénytelen ({{ type }}). Az engedélyezett MIME típusok: {{ types }}. - - - This value should be {{ limit }} or less. - Ez az érték legfeljebb {{ limit }} lehet. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Ez az érték túl hosszú. Legfeljebb {{ limit }} karaktert tartalmazhat.|Ez az érték túl hosszú. Legfeljebb {{ limit }} karaktert tartalmazhat. - - - This value should be {{ limit }} or more. - Ez az érték legalább {{ limit }} kell, hogy legyen. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Ez az érték túl rövid. Legalább {{ limit }} karaktert kell tartalmaznia.|Ez az érték túl rövid. Legalább {{ limit }} karaktert kell tartalmaznia. - - - This value should not be blank. - Ez az érték nem lehet üres. - - - This value should not be null. - Ez az érték nem lehet null. - - - This value should be null. - Ennek az értéknek nullnak kell lennie. - - - This value is not valid. - Ez az érték nem érvényes. - - - This value is not a valid time. - Ez az érték nem egy érvényes időpont. - - - This value is not a valid URL. - Ez az érték nem egy érvényes URL. - - - The two values should be equal. - A két értéknek azonosnak kell lennie. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - A fájl túl nagy. A megengedett maximális méret: {{ limit }} {{ suffix }}. - - - The file is too large. - A fájl túl nagy. - - - The file could not be uploaded. - A fájl nem tölthető fel. - - - This value should be a valid number. - Ennek az értéknek érvényes számnak kell lennie. - - - This file is not a valid image. - Ez a fájl nem egy érvényes kép. - - - This value is not a valid IP address. - Ez az érték nem érvényes IP-cím. - - - This value is not a valid language. - Ez az érték nem egy érvényes nyelv. - - - This value is not a valid locale. - Ez az érték nem egy érvényes területi beállítás. - - - This value is not a valid country. - Ez az érték nem egy érvényes ország. - - - This value is already used. - Ez az érték már használatban van. - - - The size of the image could not be detected. - A kép méretét nem lehet megállapítani. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - A kép szélessége túl nagy ({{ width }}px). A megengedett legnagyobb szélesség {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A kép szélessége túl kicsi ({{ width }}px). Az elvárt legkisebb szélesség {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - A kép magassága túl nagy ({{ height }}px). A megengedett legnagyobb magasság {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A kép magassága túl kicsi ({{ height }}px). Az elvárt legkisebb magasság {{ min_height }}px. - - - This value should be the user's current password. - Ez az érték a felhasználó jelenlegi jelszavával kell megegyezzen. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Ennek az értéknek pontosan {{ limit }} karaktert kell tartalmaznia.|Ennek az értéknek pontosan {{ limit }} karaktert kell tartalmaznia. - - - The file was only partially uploaded. - A fájl csak részben lett feltöltve. - - - No file was uploaded. - Nem lett fájl feltöltve. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Nem lett ideiglenes mappa beállítva a php.ini-ben, vagy a beállított mappa nem létezik. - - - Cannot write temporary file to disk. - Az ideiglenes fájl nem írható a lemezre. - - - A PHP extension caused the upload to fail. - Egy PHP bővítmény miatt a feltöltés nem sikerült. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ennek a gyűjteménynek legalább {{ limit }} elemet kell tartalmaznia.|Ennek a gyűjteménynek legalább {{ limit }} elemet kell tartalmaznia. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ez a gyűjtemény legfeljebb {{ limit }} elemet tartalmazhat.|Ez a gyűjtemény legfeljebb {{ limit }} elemet tartalmazhat. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ennek a gyűjteménynek pontosan {{ limit }} elemet kell tartalmaznia.|Ennek a gyűjteménynek pontosan {{ limit }} elemet kell tartalmaznia. - - - Invalid card number. - Érvénytelen kártyaszám. - - - Unsupported card type or invalid card number. - Nem támogatott kártyatípus vagy érvénytelen kártyaszám. - - - This value is not a valid International Bank Account Number (IBAN). - Ez az érték nem érvényes Nemzetközi Bankszámlaszám (IBAN). - - - This value is not a valid ISBN-10. - Ez az érték nem egy érvényes ISBN-10. - - - This value is not a valid ISBN-13. - Ez az érték nem egy érvényes ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ez az érték nem egy érvényes ISBN-10 vagy ISBN-13. - - - This value is not a valid ISSN. - Ez az érték nem egy érvényes ISSN. - - - This value is not a valid currency. - Ez az érték nem egy érvényes pénznem. - - - This value should be equal to {{ compared_value }}. - Ez az érték legyen {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ez az érték nagyobb legyen, mint {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ez az érték nagyobb vagy egyenlő legyen, mint {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ez az érték ugyanolyan legyen, mint {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ez az érték kisebb legyen, mint {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ez az érték kisebb vagy egyenlő legyen, mint {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ez az érték ne legyen {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ez az érték ne legyen ugyanolyan, mint {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - A képarány túl nagy ({{ ratio }}). A megengedett legnagyobb képarány {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - A képarány túl kicsi ({{ ratio }}). A megengedett legkisebb képarány {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - A kép négyzet alakú ({{ width }}x{{ height }}px). A négyzet alakú képek nem engedélyezettek. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - A kép fekvő tájolású ({{ width }}x{{ height }}px). A fekvő tájolású képek nem engedélyezettek. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - A kép álló tájolású ({{ width }}x{{ height }}px). Az álló tájolású képek nem engedélyezettek. - - - An empty file is not allowed. - Üres fájl nem megengedett. - - - The host could not be resolved. - Az állomásnevet nem lehet feloldani. - - - This value does not match the expected {{ charset }} charset. - Ez az érték nem az elvárt {{ charset }} karakterkódolást használja. - - - This value is not a valid Business Identifier Code (BIC). - Ez az érték nem érvényes Üzleti Azonosító Kód (BIC). - - - Error - Hiba - - - This value is not a valid UUID. - Ez az érték nem érvényes UUID. - - - This value should be a multiple of {{ compared_value }}. - Ennek az értéknek oszthatónak kell lennie a következővel: {{ compared_value }} - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ez a Bankazonosító kód (BIC) nem kapcsolódik az IBAN kódhoz ({{ iban }}). - - - This value should be valid JSON. - Ez az érték érvényes JSON kell, hogy legyen. - - - This collection should contain only unique elements. - Ez a gyűjtemény csak egyedi elemeket tartalmazhat. - - - This value should be positive. - Ennek az értéknek pozitívnak kell lennie. - - - This value should be either positive or zero. - Ennek az értéknek pozitívnak vagy nullának kell lennie. - - - This value should be negative. - Ennek az értéknek negatívnak kell lennie. - - - This value should be either negative or zero. - Ennek az értéknek negatívnak vagy nullának kell lennie. - - - This value is not a valid timezone. - Ez az érték nem egy érvényes időzóna. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Ez a jelszó korábban egy adatvédelmi incidens során illetéktelenek kezébe került, így nem használható. Kérjük, használjon másik jelszót. - - - This value should be between {{ min }} and {{ max }}. - Ennek az értéknek {{ min }} és {{ max }} között kell lennie. - - - This value is not a valid hostname. - Ez az érték nem egy érvényes állomásnév (hosztnév). - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - A gyűjteményben lévő elemek számának oszthatónak kell lennie a következővel: {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Ennek az értéknek meg kell felelni legalább egynek a következő feltételek közül: - - - Each element of this collection should satisfy its own set of constraints. - A gyűjtemény minden elemének meg kell felelni a saját feltételeinek. - - - This value is not a valid International Securities Identification Number (ISIN). - Ez az érték nem egy érvényes nemzetközi értékpapír-azonosító szám (ISIN). - - - This value should be a valid expression. - Ennek az értéknek érvényes kifejezésnek kell lennie. - - - This value is not a valid CSS color. - Ez az érték nem egy érvényes CSS szín. - - - This value is not a valid CIDR notation. - Ez az érték nem egy érvényes CIDR jelölés. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Ennek a netmask értéknek {{ min }} és {{ max }} között kell lennie. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - A fájlnév túl hosszú. {{ filename_max_length }} karakter vagy kevesebb legyen.|A fájlnév túl hosszú. {{ filename_max_length }} karakter vagy kevesebb legyen. - - - The password strength is too low. Please use a stronger password. - A jelszó túl egyszerű. Kérjük, használjon egy erősebb jelszót. - - - This value contains characters that are not allowed by the current restriction-level. - Ez az érték olyan karaktereket tartalmaz, amik nem megengedettek. - - - Using invisible characters is not allowed. - Láthatatlan karakterek használata nem megengedett. - - - Mixing numbers from different scripts is not allowed. - Különböző szám írásmódok használata nem megengedett. - - - Using hidden overlay characters is not allowed. - Rejtett módosító karakterek használata nem megengedett. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - A fájl kiterjesztése érvénytelen ({{ extension }}). Engedélyezett kiterjesztések: {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Az érzékelt karakterkódolás érvénytelen ({{ detected }}). Engedélyezett karakterkódolások: {{ encodings }}. - - - This value is not a valid MAC address. - Ez az érték nem érvényes MAC-cím. - - - This URL is missing a top-level domain. - Az URL-ből hiányzik a legfelső szintű tartomány (top-level domain). - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Ez az érték túl rövid. Tartalmaznia kell legalább egy szót.|Ez az érték túl rövid. Tartalmaznia kell legalább {{ min }} szót. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Ez az érték túl hosszú. Csak egy szót tartalmazhat.|Ez az érték túl hosszú. Legfeljebb {{ max }} szót vagy kevesebbet tartalmazhat. - - - This value does not represent a valid week in the ISO 8601 format. - Ez a érték érvénytelen hetet jelent az ISO 8601 formátumban. - - - This value is not a valid week. - Ez az érték érvénytelen hét. - - - This value should not be before week "{{ min }}". - Ez az érték nem lehet a "{{ min }}". hétnél korábbi. - - - This value should not be after week "{{ max }}". - Ez az érték nem lehet a "{{ max }}". hétnél későbbi. - - - This value is not a valid Twig template. - Ez az érték nem érvényes Twig sablon. - - - This file is not a valid video. - Ez a fájl nem érvényes videó. - - - The size of the video could not be detected. - A videó méretét nem sikerült megállapítani. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - A videó szélessége túl nagy ({{ width }}px). A megengedett maximális szélesség {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A videó szélessége túl kicsi ({{ width }}px). A várható minimális szélesség {{ min_width }} px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - A videó magassága túl nagy ({{ height }}px). A megengedett maximális magasság {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A videó magassága túl kicsi ({{ height }}px). A minimálisan elvárt magasság {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - A videóban túl kevés a képpont ({{ pixels }}). Az elvárt minimális mennyiség {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - A videóban túl sok a képpont ({{ pixels }}). A várható maximális mennyiség {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - A videó aránya túl nagy ({{ ratio }}). A megengedett maximális arány {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - A videó képaránya túl kicsi ({{ ratio }}). A minimálisan elvárt arány {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - A videó négyzetes ({{ width }}x{{ height }}px). A négyzetes videók nem engedélyezettek. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - A videó fekvő tájolású ({{ width }}x{{ height }} px). Fekvő tájolású videók nem engedélyezettek. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - A videó álló tájolású ({{ width }}x{{ height }} px). Álló tájolású videók nem engedélyezettek. - - - The video file is corrupted. - A videófájl sérült. - - - The video contains multiple streams. Only one stream is allowed. - A videó több adatfolyamot tartalmaz. Csak egy adatfolyam engedélyezett. - - - Unsupported video codec "{{ codec }}". - Nem támogatott videokodek „{{ codec }}”. - - - Unsupported video container "{{ container }}". - Nem támogatott videokonténer "{{ container }}". - - - The image file is corrupted. - A képfájl sérült. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - A képen túl kevés pixel van ({{ pixels }}). Az elvárt minimum {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - A kép túl sok pixelt tartalmaz ({{ pixels }}). A várható maximális mennyiség {{ max_pixels }}. - - - This filename does not match the expected charset. - Ez a fájlnév nem felel meg a várt karakterkészletnek. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.hy.xlf b/app/vendor/symfony/validator/Resources/translations/validators.hy.xlf deleted file mode 100644 index bd59319d1..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.hy.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Արժեքը պետք է լինի կեղծ։ - - - This value should be true. - Արժեքը պետք է լինի իրական։ - - - This value should be of type {{ type }}. - Արժեքը պետք է լինի {{ type }} տեսակի։ - - - This value should be blank. - Արժեքը պետք է լինի դատարկ։ - - - The value you selected is not a valid choice. - Ձեր ընտրած արժեքը անվավեր ընտրություն է։ - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Դուք պետք է ընտրեք ամենաքիչը {{ limit }} տարբերակներ։ - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Դուք պետք է ընտրեք ոչ ավելի քան {{ limit }} տարբերակներ։ - - - One or more of the given values is invalid. - Մեկ կամ ավելի տրված արժեքները անվավեր են։ - - - This field was not expected. - Այս դաշտը չի սպասվում։ - - - This field is missing. - Այս դաշտը բացակայում է։ - - - This value is not a valid date. - Արժեքը սխալ ամսաթիվ է։ - - - This value is not a valid datetime. - Ամսաթվի և ժամանակի արժեքը անվավեր է։ - - - This value is not a valid email address. - Անվավեր էլ֊փոստի արժեք։ - - - The file could not be found. - Նիշքը չի գտնվել։ - - - The file is not readable. - Նիշքը անընթեռնելի է։ - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Նիշքը չափազանց մեծ է ({{ size }} {{ suffix }}): Մաքսիմալ թույլատրելի չափսը՝ {{ limit }} {{ suffix }}։ - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - MIME-տեսակը անվավեր է է({{ type }}): Նիշքերի թույլատրելի MIME-տեսակներն են: {{ types }}։ - - - This value should be {{ limit }} or less. - Արժեքը պետք է լինի {{ limit }} կամ փոքր։ - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Արժեքը չափազանց երկար է: Պետք է լինի {{ limit }} կամ ավել սիմվոլներ։ - - - This value should be {{ limit }} or more. - Արժեքը պետ է լինի {{ limit }} կամ շատ։ - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Արժեքը չափազանց կարճ է: Պետք է լինի {{ limit }} կամ ավելի սիմվոլներ։ - - - This value should not be blank. - Արժեքը չպետք է դատարկ լինի։ - - - This value should not be null. - Արժեքը չպետք է լինի null։ - - - This value should be null. - Արժեքը պետք է լինի null։ - - - This value is not valid. - Անվավեր արժեք։ - - - This value is not a valid time. - Ժամանակի արժեքը անվավեր է։ - - - This value is not a valid URL. - Արժեքը URL չէ։ - - - The two values should be equal. - Երկու արժեքները պետք է նույնը լինեն։ - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Նիշքը չափազանց մեծ է: Մաքսիմալ թույլատրելի չափսը {{ limit }} {{ suffix }} է։ - - - The file is too large. - Նիշքը չափազանց մեծ է։ - - - The file could not be uploaded. - Նիշքը չի կարող բեռնվել։ - - - This value should be a valid number. - Արժեքը պետք է լինի թիվ։ - - - This file is not a valid image. - Նիշքը նկարի վավեր ֆորմատ չէ։ - - - This value is not a valid IP address. - Այս արժեքը վավեր IP հասցե չէ։ - - - This value is not a valid language. - Արժեքը վավեր լեզու չէ։ - - - This value is not a valid locale. - Արժեքը չի հանդիսանում վավեր տեղայնացում։ - - - This value is not a valid country. - Արժեքը պետք է լինի երկիր։ - - - This value is already used. - Այդ արժեքն արդեն օգտագործվում է։ - - - The size of the image could not be detected. - Նկարի չափսերը չստացվեց որոշել։ - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Նկարի լայնությունը չափազանց մեծ է({{ width }}px). Մաքսիմալ չափն է {{ max_width }}px։ - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Նկարի լայնությունը չափազանց փոքր է ({{ width }}px). Մինիմալ չափն է {{ min_ width }}px։ - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Նկարի բարձրությունը չափազանց մեծ է ({{ height }}px). Մաքսիմալ չափն է {{ max_height }}px։ - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Նկարի բարձրությունը չափազանց փոքր է ({{ height }}px). Մինիմալ չափն է {{ min_height }}px։ - - - This value should be the user's current password. - Այս արժեքը պետք է լինի օգտագործողի ներկա ծածկագիրը։ - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Այս արժեքը պետք է ունենա ճիշտ {{ limit }} սիմվոլներ։ - - - The file was only partially uploaded. - Նիշքի մասնակի բեռնման սխալ։ - - - No file was uploaded. - Նիշքը չի բեռնվել։ - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini-ում չի կարգավորվել ժամանակավոր թղթապանակ, կամ կարգավորված թղթապանակը չկա։ - - - Cannot write temporary file to disk. - Ժամանակավոր նիշքը հնարավոր չէ գրել սկավառակի վրա։ - - - A PHP extension caused the upload to fail. - PHP ֆորմատը դարձել է բեռնման չհաջողման պատճառ։ - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Այս համախումբը պետք է պաուրակի {{ limit }} կամ ավելի տարրեր։|Այս հավելվածը պետք է պարունակի limit }} տարր կամ ավելին։|Այս համախումբը պետք է պարունակի {{ limit }} տարրերին կամ ավելի։ - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Այս համախումբը պետք է պաուրակի {{ limit }} տարրեր կամ քիչ։|Այս համախումբը պետք է պաուրակի {{ limit }} տարր կամ քիչ։|Այս համախումբը պետք է պաուրակի {{ limit }} տարրեր կամ քիչ։ - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Այս համախումբը պետք է պաուրակի ուղիղ {{ limit }} տարր։|Այս համախումբը պետք է պաուրակի ուղիղ {{ limit }} տարրեր։|Այս համախումբը պետք է պաուրակի {{ limit }} տարրեր։ - - - Invalid card number. - Քարտի սխալ համար: - - - Unsupported card type or invalid card number. - Չսպասարկվող կամ սխալ քարտի համար: - - - This value is not a valid International Bank Account Number (IBAN). - Այս արժեքը վավեր միջազգային բանկային հաշվի համար (IBAN) չէ։ - - - This value is not a valid ISBN-10. - Արժեքը ունի անվավեր ISBN-10 ձևաչափ։ - - - This value is not a valid ISBN-13. - Արժեքը ունի անվավեր ISBN-13 ձևաչափ։ - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Արժեքը չի համապատասխանում ISBN-10 և ISBN-13 ձևաչափերին։ - - - This value is not a valid ISSN. - Արժեքը չի համապաստասխանում ISSN ձևաչափին։ - - - This value is not a valid currency. - Արժեքը վավեր տարադրամ չէ։ - - - This value should be equal to {{ compared_value }}. - Արժեքը պետք է լինի {{ compared_value }}։ - - - This value should be greater than {{ compared_value }}. - Արժեքը պետք է մեծ լինի, քան {{ compared_value }}։ - - - This value should be greater than or equal to {{ compared_value }}. - Արժեքը պետք է լինի հավասար կամ մեծ քան {{ compared_value }}։ - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Արժեքը պետք է լինի ինչպես {{ compared_value_type }} {{ compared_value }}։ - - - This value should be less than {{ compared_value }}. - Արժեքը պետք է լինի փոքր քան {{ compared_value }}։ - - - This value should be less than or equal to {{ compared_value }}. - Արժեքը պետք է լինի փոքր կամ հավասար {{ compared_value }}։ - - - This value should not be equal to {{ compared_value }}. - Արժեքը պետք է լինի հավասար {{ compared_value }}։ - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Արժեքը պետք է լինի նունը {{ compared_value_type }} {{ compared_value }}: - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Պատկերի կողմերի հարաբերակցությունը խիստ մեծ է ({{ ratio }}). Մաքսիմալ հարաբերակցությունը՝ {{ max_ratio }}։ - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Պատկերի կողմերի հարաբերակցությունը խիստ փոքր է ({{ ratio }}). Մինիմալ հարաբերակցությունը՝ {{ min_ratio }}։ - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Պատկերը քառակուսի է({{ width }}x{{ height }}px)։ Քառակուսի նկարներ չեն թույլատրվում։ - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Պատկերը ալբոմային ուղղվածության է({{ width }}x{{ height }}px)․ դա չի թույլատրվում։ - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Պատկերը պորտրետային ուղղվածության է ({{ width }}x{{ height }}px)․ դա չի թույլատրվում։ - - - An empty file is not allowed. - Դատարկ նիշք չի թույլատրվում։ - - - The host could not be resolved. - Հոսթի անունը հնարավոր չի պարզել։ - - - This value does not match the expected {{ charset }} charset. - Արժեքը չի համընկնում {{ charset }} կոդավորման հետ։ - - - This value is not a valid Business Identifier Code (BIC). - Այս արժեքը վավեր բիզնեսի նորմատիվ կոդ (BIC) չէ։ - - - Error - Սխալ - - - This value is not a valid UUID. - Այս արժեքը վավեր UUID չէ։ - - - This value should be a multiple of {{ compared_value }}. - Այս արժեքը պետք է լինի բազմակի {{ compared_value }}։ - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Բիզնեսի նույնականացման կոդը (BIC) կապված չէ IBAN- ի հետ {{ iban }}։ - - - This value should be valid JSON. - Այս արժեքը պետք է լինի վավեր JSON։ - - - This collection should contain only unique elements. - Այս համախումբը պետք է պարունակի միայն եզակի տարրեր։ - - - This value should be positive. - Այս արժեքը պետք է լինի դրական։ - - - This value should be either positive or zero. - Այս արժեքը պետք է լինի դրական կամ զրոյական։ - - - This value should be negative. - Այս արժեքը պետք է լինի բացասական։ - - - This value should be either negative or zero. - Այս արժեքը պետք է լինի բացասական կամ զրոյական։ - - - This value is not a valid timezone. - Այս արժեքը վավեր ժամային գոտի չէ։ - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Գաղտնաբառը գտնվել է տվյալների արտահոսքում. այն չպետք է օգտագործվի: Խնդրում ենք օգտագործել մեկ այլ գաղտնաբառ։ - - - This value should be between {{ min }} and {{ max }}. - Այս արժեքը պետք է լինի {{ min }}-ի և {{ max }}-ի միջև։ - - - This value is not a valid hostname. - Այս հոստի անունը վավեր չէ։ - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Այս համախմբի տարրերի քանակը պետք է հավասար լինի {{ compared_value }}-ի բազմապատիկներին։ - - - This value should satisfy at least one of the following constraints: - Այս արժեքը պետք է բավարարի հետևյալ սահմանափակումներից առնվազն մեկը։ - - - Each element of this collection should satisfy its own set of constraints. - Այս համախմբի յուրաքանչյուր տարր պետք է բավարարի իր սեփական սահմանափակումները։ - - - This value is not a valid International Securities Identification Number (ISIN). - Այս արժեքը արժեթղթերի նույնականացման միջազգային համարը վավեր չէ(ISIN)։ - - - This value should be a valid expression. - Այս արժեքը պետք է լինի վավեր արտահայտություն: - - - This value is not a valid CSS color. - Այս արժեքը վավեր CSS գույն չէ։ - - - This value is not a valid CIDR notation. - Այս արժեքը վավեր CIDR նշում չէ։ - - - The value of the netmask should be between {{ min }} and {{ max }}. - Ցանցային դիմակի արժեքը պետք է լինի {{ min }}-ի և {{ max }}-ի միջև։ - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Ֆայլի անունը շատ երկար է։ Այն պետք է ունենա {{ filename_max_length }} նիշ կամ պակաս։ - - - The password strength is too low. Please use a stronger password. - Գաղտնաբառի անվտանգությունը շատ ցածր է։ Խնդրում ենք գործածել ավելի ամրագույն գաղտնաբառ։ - - - This value contains characters that are not allowed by the current restriction-level. - Այս արժեքը պարունակում է այն նիշերը, որոնք չեն թույլատրվում ըստ ընթացիկ սահմանումների։ - - - Using invisible characters is not allowed. - Անտեսանելի նիշերի օգտագործումը չի թույլատրվում։ - - - Mixing numbers from different scripts is not allowed. - Թվերի խառնուրդը տարբեր սցենարներից չի թույլատրվում։ - - - Using hidden overlay characters is not allowed. - Թաքնված ծածկանիշերի օգտագործումը չի թույլատրվում։ - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Ֆայլի ընդլայնումը անվավեր է ({{ extension }})։ Թույլատրվող ընդլայնումներն են՝ {{ extensions }}։ - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Հայտնաբերված նիշագրության կոդը անվավեր է ({{ detected }})։ Թույլատրվող կոդերն են՝ {{ encodings }}։ - - - This value is not a valid MAC address. - Այս արժեքը վավեր MAC հասցե չէ։ - - - This URL is missing a top-level domain. - Այս URL-ը չունի վերին մակարդակի դոմեյն: - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Այս արժեքը շատ կարճ է: պետք է պարունակի գոնե մեկ բառ.|Այս արժեքը շատ կարճ է: պետք է պարունակի գոնե {{ min }} բառեր: - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Այս արժեքը շատ երկար է: պետք է պարունակի միայն մեկ բառ.|Այս արժեքը շատ երկար է: պետք է պարունակի {{ max }} բառ կամ ավելի քիչ: - - - This value does not represent a valid week in the ISO 8601 format. - Այս արժեքը չի ներկայացնում ISO 8601 ձևաչափով գործող շաբաթ։ - - - This value is not a valid week. - Այս արժեքը վավեր շաբաթ չէ: - - - This value should not be before week "{{ min }}". - Այս արժեքը չպետք է լինի «{{ min }}» շաբաթից առաջ։ - - - This value should not be after week "{{ max }}". - Այս արժեքը չպետք է լինի «{{ max }}» շաբաթից հետո։ - - - This value is not a valid Twig template. - Այս արժեքը վավեր Twig ձևանմուշ չէ: - - - This file is not a valid video. - Այս ֆայլը վավեր տեսանյութ չէ։ - - - The size of the video could not be detected. - Չհաջողվեց հայտնաբերել տեսանյութի չափը. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Տեսահոլովակի լայնությունը չափազանց մեծ է ({{ width }}px)։ Թույլատրելի առավելագույն լայնությունը {{ max_width }}px է։ - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Տեսանյութի լայնությունը չափազանց փոքր է ({{ width }}px). Սպասվող նվազագույն լայնքը {{ min_width }}px է. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Վիդեոյի բարձրությունը չափազանց մեծ է ({{ height }}px)։ Թույլատրելի առավելագույն բարձրությունը {{ max_height }}px է։ - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Վիդեոյի բարձրությունը շատ փոքր է ({{ height }}px)։ Սպասվող նվազագույն բարձրությունը {{ min_height }}px է։ - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Տեսանյութը ունի չափազանց քիչ պիքսելներ ({{ pixels }}). Սպասվող նվազագույն քանակը {{ min_pixels }} է։ - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Տեսանյութը ունի չափազանց շատ պիքսելներ ({{ pixels }}). Սպասվող առավելագույն քանակը {{ max_pixels }} է։ - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Տեսանյութի հարաբերակցությունը չափազանց մեծ է ({{ ratio }}): Թույլատրելի առավելագույն հարաբերակցությունը {{ max_ratio }} է։ - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Վիդեոյի հարաբերակցությունը շատ փոքր է ({{ ratio }}). Ավելի փոքրագույն սպասվող հարաբերակցությունը {{ min_ratio }} է. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Տեսանյութը քառակուսի է ({{ width }}x{{ height }}px). Քառակուսի տեսանյութերը թույլատրելի չեն. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Տեսանյութը հորիզոնական կողմնորոշմամբ է ({{ width }}x{{ height }} px). Հորիզոնական տեսանյութերը թույլատրելի չեն. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Վիդեոն ուղղահայաց կողմնորոշված է ({{ width }}x{{ height }}px)։ Ուղղահայաց կողմնորոշմամբ տեսանյութերը թույլատրելի չեն։ - - - The video file is corrupted. - Տեսանյութի ֆայլը վնասված է. - - - The video contains multiple streams. Only one stream is allowed. - Տեսանյութը պարունակում է բազմաթիվ հոսքեր։ Թույլատրվում է միայն մեկ հոսք։ - - - Unsupported video codec "{{ codec }}". - Չաջակցվող տեսանյութի կոդեկ «{{ codec }}»։ - - - Unsupported video container "{{ container }}". - Չաջակցվող վիդեո կոնտեյներ "{{ container }}". - - - The image file is corrupted. - Պատկերի ֆայլը վնասված է։ - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Պատկերը ունի չափազանց քիչ պիքսելներ ({{ pixels }}). Սպասվող նվազագույնը {{ min_pixels }} է։ - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Պատկերը ունի չափազանց շատ պիքսել ({{ pixels }}). Սպասվող առավելագույն քանակը {{ max_pixels }} է. - - - This filename does not match the expected charset. - Այս ֆայլի անունը չի համապատասխանում սպասվող նիշքերի հավաքածուին. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.id.xlf b/app/vendor/symfony/validator/Resources/translations/validators.id.xlf deleted file mode 100644 index b303d50e1..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.id.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Nilai ini harus bernilai salah. - - - This value should be true. - Nilai ini harus bernilai benar. - - - This value should be of type {{ type }}. - Nilai ini harus bertipe {{ type }}. - - - This value should be blank. - Nilai ini harus kosong. - - - The value you selected is not a valid choice. - Nilai yang dipilih tidak tepat. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Anda harus memilih paling tidak {{ limit }} pilihan. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Anda harus memilih paling banyak {{ limit }} pilihan. - - - One or more of the given values is invalid. - Satu atau lebih nilai yang diberikan tidak sah. - - - This field was not expected. - Ruas ini tidak diharapkan. - - - This field is missing. - Ruas ini hilang. - - - This value is not a valid date. - Nilai ini bukan merupakan tanggal yang sah. - - - This value is not a valid datetime. - Nilai ini bukan merupakan tanggal dan waktu yang sah. - - - This value is not a valid email address. - Nilai ini bukan alamat surel yang sah. - - - The file could not be found. - Berkas tidak dapat ditemukan. - - - The file is not readable. - Berkas tidak dapat dibaca. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Ukuran berkas terlalu besar ({{ size }} {{ suffix }}). Ukuran maksimum yang diizinkan adalah {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Jenis berkas ({{ type }}) tidak sah. Jenis berkas yang diizinkan adalah {{ types }}. - - - This value should be {{ limit }} or less. - Nilai ini harus {{ limit }} atau kurang. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Nilai ini terlalu panjang. Seharusnya {{ limit }} karakter atau kurang. - - - This value should be {{ limit }} or more. - Nilai ini harus {{ limit }} atau lebih. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Nilai ini terlalu pendek. Seharusnya {{ limit }} karakter atau lebih. - - - This value should not be blank. - Nilai ini tidak boleh kosong. - - - This value should not be null. - Nilai ini tidak boleh 'null'. - - - This value should be null. - Nilai ini harus 'null'. - - - This value is not valid. - Nilai ini tidak sah. - - - This value is not a valid time. - Nilai ini bukan merupakan waktu yang sah. - - - This value is not a valid URL. - Nilai ini bukan URL yang sah. - - - The two values should be equal. - Isi keduanya harus sama. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Ukuran berkas terlalu besar. Ukuran maksimum yang diizinkan adalah {{ limit }} {{ suffix }}. - - - The file is too large. - Ukuran berkas terlalu besar. - - - The file could not be uploaded. - Berkas tidak dapat diunggah. - - - This value should be a valid number. - Nilai ini harus angka yang sah. - - - This file is not a valid image. - Berkas ini tidak termasuk citra. - - - This value is not a valid IP address. - Nilai ini bukan alamat IP yang valid. - - - This value is not a valid language. - Nilai ini bukan bahasa yang sah. - - - This value is not a valid locale. - Nilai ini bukan lokal yang sah. - - - This value is not a valid country. - Nilai ini bukan negara yang sah. - - - This value is already used. - Nilai ini sudah digunakan. - - - The size of the image could not be detected. - Ukuran dari citra tidak bisa dideteksi. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Lebar citra terlalu besar ({{ width }}px). Ukuran lebar maksimum adalah {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Lebar citra terlalu kecil ({{ width }}px). Ukuran lebar minimum yang diharapkan adalah {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Tinggi citra terlalu besar ({{ height }}px). Ukuran tinggi maksimum adalah {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Tinggi citra terlalu kecil ({{ height }}px). Ukuran tinggi minimum yang diharapkan adalah {{ min_height }}px. - - - This value should be the user's current password. - Nilai ini harus kata sandi pengguna saat ini. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Nilai ini harus memiliki tepat {{ limit }} karakter. - - - The file was only partially uploaded. - Berkas hanya terunggah sebagian. - - - No file was uploaded. - Tidak ada berkas terunggah. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Tidak ada folder sementara yang dikonfigurasi di php.ini, atau folder yang dikonfigurasi tidak ada. - - - Cannot write temporary file to disk. - Tidak dapat menuliskan berkas sementara ke dalam media penyimpanan. - - - A PHP extension caused the upload to fail. - Sebuah ekstensi PHP menyebabkan kegagalan unggah. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Kumpulan ini harus memiliki {{ limit }} elemen atau lebih. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Kumpulan ini harus memiliki kurang dari {{ limit }} elemen. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Kumpulan ini harus memiliki tepat {{ limit }} elemen. - - - Invalid card number. - Nomor kartu tidak sah. - - - Unsupported card type or invalid card number. - Jenis kartu tidak didukung atau nomor kartu tidak sah. - - - This value is not a valid International Bank Account Number (IBAN). - Nilai ini bukan Nomor Rekening Bank Internasional (IBAN) yang valid. - - - This value is not a valid ISBN-10. - Nilai ini bukan ISBN-10 yang sah. - - - This value is not a valid ISBN-13. - Nilai ini bukan ISBN-13 yang sah. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Nilai ini bukan ISBN-10 maupun ISBN-13 yang sah. - - - This value is not a valid ISSN. - Nilai ini bukan ISSN yang sah. - - - This value is not a valid currency. - Nilai ini bukan mata uang yang sah. - - - This value should be equal to {{ compared_value }}. - Nilai ini seharusnya sama dengan {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Nilai ini seharusnya lebih dari {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Nilai ini seharusnya lebih dari atau sama dengan {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Nilai ini seharusnya identik dengan {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Nilai ini seharusnya kurang dari {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Nilai ini seharusnya kurang dari atau sama dengan {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Nilai ini seharusnya tidak sama dengan {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Nilai ini seharusnya tidak identik dengan {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Rasio citra terlalu besar ({{ ratio }}). Rasio maksimum yang diizinkan adalah {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Rasio citra terlalu kecil ({{ ratio }}). Rasio minimum yang diharapkan adalah {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Citra persegi ({{ width }}x{{ height }}px). Citra persegi tidak diizinkan. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Citra berorientasi lanskap ({{ width }}x{{ height }}px). Citra berorientasi lanskap tidak diizinkan. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Citra berorientasi potret ({{ width }}x{{ height }}px). Citra berorientasi potret tidak diizinkan. - - - An empty file is not allowed. - Berkas kosong tidak diizinkan. - - - The host could not be resolved. - Host tidak dapat diselesaikan. - - - This value does not match the expected {{ charset }} charset. - Nilai ini tidak memenuhi set karakter {{ charset }} yang diharapkan. - - - This value is not a valid Business Identifier Code (BIC). - Nilai ini bukan Kode Identifikasi Bisnis (BIC) yang valid. - - - Error - Galat - - - This value is not a valid UUID. - Nilai ini bukan UUID yang valid. - - - This value should be a multiple of {{ compared_value }}. - Nilai ini harus kelipatan dari {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Business Identifier Code (BIC) ini tidak terkait dengan IBAN {{ iban }}. - - - This value should be valid JSON. - Nilai ini harus berisi JSON yang sah. - - - This collection should contain only unique elements. - Kumpulan ini harus mengandung elemen yang unik. - - - This value should be positive. - Nilai ini harus positif. - - - This value should be either positive or zero. - Nilai ini harus positif atau nol. - - - This value should be negative. - Nilai ini harus negatif. - - - This value should be either negative or zero. - Nilai ini harus negatif atau nol. - - - This value is not a valid timezone. - Nilai ini harus merupakan zona waktu yang sah. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Kata sandi ini telah bocor di data breach, harus tidak digunakan kembali. Silahkan gunakan kata sandi yang lain. - - - This value should be between {{ min }} and {{ max }}. - Nilai ini harus berada diantara {{ min }} dan {{ max }}. - - - This value is not a valid hostname. - Nilai ini bukan merupakan hostname yang sah. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Angka dari setiap elemen di dalam kumpulan ini harus kelipatan dari {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Nilai ini harus memenuhi setidaknya satu dari batasan berikut: - - - Each element of this collection should satisfy its own set of constraints. - Setiap elemen koleksi ini harus memenuhi batasannya sendiri. - - - This value is not a valid International Securities Identification Number (ISIN). - Nilai ini bukan merupakan International Securities Identification Number (ISIN) yang sah. - - - This value should be a valid expression. - Nilai ini harus berupa ekspresi yang sah. - - - This value is not a valid CSS color. - Nilai ini bukan merupakan warna CSS yang sah. - - - This value is not a valid CIDR notation. - Nilai ini bukan merupakan notasi CIDR yang sah. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Nilai dari netmask harus berada diantara {{ min }} dan {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Nama file terlalu panjang. Harusnya {{ filename_max_length }} karakter atau kurang. - - - The password strength is too low. Please use a stronger password. - Kata sandi terlalu lemah. Harap gunakan kata sandi yang lebih kuat. - - - This value contains characters that are not allowed by the current restriction-level. - Nilai ini mengandung karakter yang tidak diizinkan oleh tingkat pembatasan saat ini. - - - Using invisible characters is not allowed. - Penggunaan karakter tak terlihat tidak diperbolehkan. - - - Mixing numbers from different scripts is not allowed. - Menggabungkan angka-angka dari skrip yang berbeda tidak diperbolehkan. - - - Using hidden overlay characters is not allowed. - Penggunaan karakter overlay yang tersembunyi tidak diperbolehkan. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Ekstensi file tidak valid ({{ extension }}). Ekstensi yang diperbolehkan adalah {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Pengkodean karakter yang terdeteksi tidak valid ({{ detected }}). Pengkodean yang diperbolehkan adalah {{ encodings }}. - - - This value is not a valid MAC address. - Nilai ini bukan alamat MAC yang valid. - - - This URL is missing a top-level domain. - URL ini tidak memiliki domain tingkat atas. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Nilai ini terlalu pendek. Seharusnya berisi setidaknya satu kata.|Nilai ini terlalu pendek. Seharusnya berisi setidaknya {{ min }} kata. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Nilai ini terlalu panjang. Seharusnya hanya berisi satu kata.|Nilai ini terlalu panjang. Seharusnya berisi {{ max }} kata atau kurang. - - - This value does not represent a valid week in the ISO 8601 format. - Nilai ini tidak mewakili minggu yang valid dalam format ISO 8601. - - - This value is not a valid week. - Nilai ini bukan minggu yang valid. - - - This value should not be before week "{{ min }}". - Nilai ini tidak boleh sebelum minggu "{{ min }}". - - - This value should not be after week "{{ max }}". - Nilai ini tidak boleh setelah minggu "{{ max }}". - - - This value is not a valid Twig template. - Nilai ini bukan templat Twig yang valid. - - - This file is not a valid video. - Berkas ini bukan video yang valid. - - - The size of the video could not be detected. - Ukuran video tidak dapat dideteksi. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Lebar video terlalu besar ({{ width }}px). Lebar maksimum yang diizinkan adalah {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Lebar video terlalu kecil ({{ width }}px). Lebar minimum yang diharapkan adalah {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Tinggi video terlalu besar ({{ height }}px). Tinggi maksimum yang diizinkan adalah {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Tinggi video terlalu kecil ({{ height }}px). Tinggi minimum yang diharapkan adalah {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video memiliki terlalu sedikit piksel ({{ pixels }}). Jumlah minimum yang diharapkan adalah {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video memiliki terlalu banyak piksel ({{ pixels }}). Jumlah maksimum yang diharapkan adalah {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Rasio video terlalu besar ({{ ratio }}). Rasio maksimum yang diizinkan adalah {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Rasio video terlalu kecil ({{ ratio }}). Rasio minimum yang diharapkan adalah {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video berbentuk persegi ({{ width }}x{{ height }}px). Video persegi tidak diizinkan. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video berorientasi lanskap ({{ width }}x{{ height }}px). Video berorientasi lanskap tidak diizinkan. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video berorientasi potret ({{ width }}x{{ height }}px). Video berorientasi potret tidak diizinkan. - - - The video file is corrupted. - Berkas video rusak. - - - The video contains multiple streams. Only one stream is allowed. - Video berisi beberapa aliran. Hanya satu aliran yang diizinkan. - - - Unsupported video codec "{{ codec }}". - Kodek video tidak didukung "{{ codec }}". - - - Unsupported video container "{{ container }}". - Kontainer video tidak didukung "{{ container }}". - - - The image file is corrupted. - Berkas gambar rusak. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Gambar memiliki terlalu sedikit piksel ({{ pixels }}). Jumlah minimum yang diharapkan adalah {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Gambar memiliki terlalu banyak piksel ({{ pixels }}). Jumlah maksimum yang diharapkan adalah {{ max_pixels }}. - - - This filename does not match the expected charset. - Nama berkas ini tidak sesuai dengan set karakter yang diharapkan. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.it.xlf b/app/vendor/symfony/validator/Resources/translations/validators.it.xlf deleted file mode 100644 index e22713e8d..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.it.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Questo valore dovrebbe essere falso. - - - This value should be true. - Questo valore dovrebbe essere vero. - - - This value should be of type {{ type }}. - Questo valore dovrebbe essere di tipo {{ type }}. - - - This value should be blank. - Questo valore dovrebbe essere vuoto. - - - The value you selected is not a valid choice. - Il valore selezionato non è una scelta valida. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Si dovrebbe selezionare almeno {{ limit }} opzione.|Si dovrebbero selezionare almeno {{ limit }} opzioni. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Si dovrebbe selezionare al massimo {{ limit }} opzione.|Si dovrebbero selezionare al massimo {{ limit }} opzioni. - - - One or more of the given values is invalid. - Uno o più valori inseriti non sono validi. - - - This field was not expected. - Questo campo non è stato previsto. - - - This field is missing. - Questo campo è mancante. - - - This value is not a valid date. - Questo valore non è una data valida. - - - This value is not a valid datetime. - Questo valore non è una data e ora valida. - - - This value is not a valid email address. - Questo valore non è un indirizzo email valido. - - - The file could not be found. - Non è stato possibile trovare il file. - - - The file is not readable. - Il file non è leggibile. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Il file è troppo grande ({{ size }} {{ suffix }}). La dimensione massima consentita è {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Il mime type del file non è valido ({{ type }}). I tipi permessi sono {{ types }}. - - - This value should be {{ limit }} or less. - Questo valore dovrebbe essere {{ limit }} o inferiore. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Questo valore è troppo lungo. Dovrebbe essere al massimo di {{ limit }} carattere.|Questo valore è troppo lungo. Dovrebbe essere al massimo di {{ limit }} caratteri. - - - This value should be {{ limit }} or more. - Questo valore dovrebbe essere {{ limit }} o superiore. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Questo valore è troppo corto. Dovrebbe essere almeno di {{ limit }} carattere.|Questo valore è troppo corto. Dovrebbe essere almeno di {{ limit }} caratteri. - - - This value should not be blank. - Questo valore non dovrebbe essere vuoto. - - - This value should not be null. - Questo valore non dovrebbe essere nullo. - - - This value should be null. - Questo valore dovrebbe essere nullo. - - - This value is not valid. - Questo valore non è valido. - - - This value is not a valid time. - Questo valore non è un'ora valida. - - - This value is not a valid URL. - Questo valore non è un URL valido. - - - The two values should be equal. - I due valori dovrebbero essere uguali. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Il file è troppo grande. La dimensione massima è {{ limit }} {{ suffix }}. - - - The file is too large. - Il file è troppo grande. - - - The file could not be uploaded. - Il file non può essere caricato. - - - This value should be a valid number. - Questo valore dovrebbe essere un numero. - - - This file is not a valid image. - Questo file non è una immagine valida. - - - This value is not a valid IP address. - Questo valore non è un indirizzo IP valido. - - - This value is not a valid language. - Questo valore non è una lingua valida. - - - This value is not a valid locale. - Questo valore non è una impostazione regionale valida. - - - This value is not a valid country. - Questo valore non è una nazione valida. - - - This value is already used. - Questo valore è già stato utilizzato. - - - The size of the image could not be detected. - La dimensione dell'immagine non può essere determinata. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - La larghezza dell'immagine è troppo grande ({{ width }}px). La larghezza massima è di {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - La larghezza dell'immagine è troppo piccola ({{ width }}px). La larghezza minima è di {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - L'altezza dell'immagine è troppo grande ({{ height }}px). L'altezza massima è di {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - L'altezza dell'immagine è troppo piccola ({{ height }}px). L'altezza minima è di {{ min_height }}px. - - - This value should be the user's current password. - Questo valore dovrebbe essere la password attuale dell'utente. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Questo valore dovrebbe contenere esattamente {{ limit }} carattere.|Questo valore dovrebbe contenere esattamente {{ limit }} caratteri. - - - The file was only partially uploaded. - Il file è stato caricato solo parzialmente. - - - No file was uploaded. - Nessun file è stato caricato. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Non è stata configurata una cartella temporanea in php.ini, o la cartella configurata non esiste. - - - Cannot write temporary file to disk. - Impossibile scrivere il file temporaneo sul disco. - - - A PHP extension caused the upload to fail. - Un'estensione PHP ha causato il fallimento del caricamento. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Questa collezione dovrebbe contenere almeno {{ limit }} elemento.|Questa collezione dovrebbe contenere almeno {{ limit }} elementi. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Questa collezione dovrebbe contenere massimo {{ limit }} elemento.|Questa collezione dovrebbe contenere massimo {{ limit }} elementi. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Questa collezione dovrebbe contenere esattamente {{ limit }} elemento.|Questa collezione dovrebbe contenere esattamente {{ limit }} elementi. - - - Invalid card number. - Numero di carta non valido. - - - Unsupported card type or invalid card number. - Tipo di carta non supportato o numero non valido. - - - This value is not a valid International Bank Account Number (IBAN). - Questo valore non è un IBAN valido. - - - This value is not a valid ISBN-10. - Questo valore non è un codice ISBN-10 valido. - - - This value is not a valid ISBN-13. - Questo valore non è un codice ISBN-13 valido. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Questo valore non è un codice ISBN-10 o ISBN-13 valido. - - - This value is not a valid ISSN. - Questo valore non è un codice ISSN valido. - - - This value is not a valid currency. - Questo valore non è una valuta valida. - - - This value should be equal to {{ compared_value }}. - Questo valore dovrebbe essere uguale a {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Questo valore dovrebbe essere maggiore di {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Questo valore dovrebbe essere maggiore o uguale a {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Questo valore dovrebbe essere identico a {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Questo valore dovrebbe essere minore di {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Questo valore dovrebbe essere minore o uguale a {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Questo valore dovrebbe essere diverso da {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Questo valore dovrebbe essere diverso da {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Il rapporto di aspetto dell'immagine è troppo grande ({{ ratio }}). Il rapporto massimo consentito è {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Il rapporto di aspetto dell'immagine è troppo piccolo ({{ ratio }}). Il rapporto minimo consentito è {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - L'immagine è quadrata ({{ width }}x{{ height }}px). Le immagini quadrate non sono consentite. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - L'immagine è orizzontale ({{ width }}x{{ height }}px). Le immagini orizzontali non sono consentite. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - L'immagine è verticale ({{ width }}x{{ height }}px). Le immagini verticali non sono consentite. - - - An empty file is not allowed. - Un file vuoto non è consentito. - - - The host could not be resolved. - L'host non può essere risolto. - - - This value does not match the expected {{ charset }} charset. - Questo valore non corrisponde al charset {{ charset }} previsto. - - - This value is not a valid Business Identifier Code (BIC). - Questo valore non è un codice identificativo bancario (BIC) valido. - - - Error - Errore - - - This value is not a valid UUID. - Questo valore non è un UUID valido. - - - This value should be a multiple of {{ compared_value }}. - Questo valore dovrebbe essere un multiplo di {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Questo codice identificativo bancario (BIC) non è associato all'IBAN {{ iban }}. - - - This value should be valid JSON. - Questo valore dovrebbe essere un JSON valido. - - - This collection should contain only unique elements. - Questa collezione dovrebbe contenere solo elementi unici. - - - This value should be positive. - Questo valore dovrebbe essere positivo. - - - This value should be either positive or zero. - Questo valore dovrebbe essere positivo oppure zero. - - - This value should be negative. - Questo valore dovrebbe essere negativo. - - - This value should be either negative or zero. - Questo valore dovrebbe essere negativo oppure zero. - - - This value is not a valid timezone. - Questo valore non è un fuso orario valido. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Questa password è trapelata durante una compromissione di dati, non deve essere usata. Si prega di usare una password diversa. - - - This value should be between {{ min }} and {{ max }}. - Questo valore dovrebbe essere compreso tra {{ min }} e {{ max }}. - - - This value is not a valid hostname. - Questo valore non è un nome di host valido. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Il numero di elementi in questa collezione dovrebbe essere un multiplo di {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Questo valore dovrebbe soddisfare almeno uno dei vincoli seguenti: - - - Each element of this collection should satisfy its own set of constraints. - Ciascun elemento di questa collezione dovrebbe soddisfare il suo insieme di vincoli. - - - This value is not a valid International Securities Identification Number (ISIN). - Questo valore non è un codice identificativo internazionale di valori mobiliari (ISIN) valido. - - - This value should be a valid expression. - Questo valore dovrebbe essere un'espressione valida. - - - This value is not a valid CSS color. - Questo valore non è un colore CSS valido. - - - This value is not a valid CIDR notation. - Questo valore non è una notazione CIDR valida. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Il valore della netmask dovrebbe essere compreso tra {{ min }} e {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Il nome del file è troppo lungo. Dovrebbe avere {{ filename_max_length }} carattere o meno.|Il nome del file è troppo lungo. Dovrebbe avere {{ filename_max_length }} caratteri o meno. - - - The password strength is too low. Please use a stronger password. - La password non è abbastanza sicura. Per favore, utilizza una password più robusta. - - - This value contains characters that are not allowed by the current restriction-level. - Questo valore contiene caratteri che non sono consentiti dal livello di restrizione attuale. - - - Using invisible characters is not allowed. - Utilizzare caratteri invisibili non è consentito. - - - Mixing numbers from different scripts is not allowed. - Non è consentito mescolare numeri provenienti da diversi script. - - - Using hidden overlay characters is not allowed. - Non è consentito utilizzare caratteri sovrapposti nascosti. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - L'estensione del file non è valida ({{ extension }}). Le estensioni consentite sono {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - La codifica dei caratteri rilevata non è valida ({{ detected }}). Le codifiche ammesse sono {{ encodings }}. - - - This value is not a valid MAC address. - Questo valore non è un indirizzo MAC valido. - - - This URL is missing a top-level domain. - Questo URL è privo di un dominio di primo livello. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Questo valore è troppo corto. Dovrebbe contenere almeno una parola.|Questo valore è troppo corto. Dovrebbe contenere almeno {{ min }} parole. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Questo valore è troppo lungo. Dovrebbe contenere una parola.|Questo valore è troppo lungo. Dovrebbe contenere {{ max }} parole o meno. - - - This value does not represent a valid week in the ISO 8601 format. - Questo valore non rappresenta una settimana valida nel formato ISO 8601. - - - This value is not a valid week. - Questo valore non è una settimana valida. - - - This value should not be before week "{{ min }}". - Questo valore non dovrebbe essere prima della settimana "{{ min }}". - - - This value should not be after week "{{ max }}". - Questo valore non dovrebbe essere dopo la settimana "{{ max }}". - - - This value is not a valid Twig template. - Questo valore non è un template Twig valido. - - - This file is not a valid video. - Questo file non è un video valido. - - - The size of the video could not be detected. - Non è stato possibile rilevare la dimensione del video. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - La larghezza del video è troppo grande ({{ width }}px). La larghezza massima consentita è {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - La larghezza del video è troppo piccola ({{ width }}px). La larghezza minima prevista è {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - L'altezza del video è troppo grande ({{ height }}px). L'altezza massima consentita è {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - L'altezza del video è troppo piccola ({{ height }}px). L'altezza minima prevista è {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Il video ha troppo pochi pixel ({{ pixels }}). La quantità minima prevista è {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Il video ha troppi pixel ({{ pixels }}). La quantità massima prevista è {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Il rapporto del video è troppo alto ({{ ratio }}). Il rapporto massimo consentito è {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Il rapporto del video è troppo piccolo ({{ ratio }}). Il rapporto minimo previsto è {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Il video è quadrato ({{ width }}x{{ height }}px). I video quadrati non sono consentiti. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Il video è in orientamento orizzontale ({{ width }}x{{ height }}px). I video orizzontali non sono consentiti. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Il video è in orientamento verticale ({{ width }}x{{ height }}px). I video in orientamento verticale non sono consentiti. - - - The video file is corrupted. - Il file video è danneggiato. - - - The video contains multiple streams. Only one stream is allowed. - Il video contiene più flussi. È consentito un solo flusso. - - - Unsupported video codec "{{ codec }}". - Codec video non supportato «{{ codec }}». - - - Unsupported video container "{{ container }}". - Container video non supportato "{{ container }}". - - - The image file is corrupted. - Il file immagine è danneggiato. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - L’immagine ha troppo pochi pixel ({{ pixels }}). La quantità minima prevista è {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - L’immagine ha troppi pixel ({{ pixels }}). La quantità massima prevista è {{ max_pixels }}. - - - This filename does not match the expected charset. - Questo nome file non corrisponde al set di caratteri previsto. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.ja.xlf b/app/vendor/symfony/validator/Resources/translations/validators.ja.xlf deleted file mode 100644 index 419b77e09..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.ja.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - この値はfalseでなければなりません。 - - - This value should be true. - この値はtrueでなければなりません。 - - - This value should be of type {{ type }}. - この値は{{ type }}型でなければなりません。 - - - This value should be blank. - この値は空でなければなりません。 - - - The value you selected is not a valid choice. - 有効な選択肢ではありません。 - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - {{ limit }}個以上選択してください。 - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - {{ limit }}個以下で選択してください。 - - - One or more of the given values is invalid. - 無効な値が含まれています。 - - - This field was not expected. - このフィールドは不要です。 - - - This field is missing. - このフィールドを入力してください。 - - - This value is not a valid date. - 有効な日付ではありません。 - - - This value is not a valid datetime. - 有効な日時ではありません。 - - - This value is not a valid email address. - 有効なメールアドレスではありません。 - - - The file could not be found. - ファイルが見つかりません。 - - - The file is not readable. - ファイルが読み込めません。 - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - ファイルのサイズが大きすぎます({{ size }} {{ suffix }})。{{ limit }} {{ suffix }}以下にしてください。 - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - ファイルのMIMEタイプが無効です({{ type }})。有効なMIMEタイプは{{ types }}です。 - - - This value should be {{ limit }} or less. - この値は{{ limit }}以下でなければなりません。 - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - 長すぎます。この値は{{ limit }}文字以下で入力してください。 - - - This value should be {{ limit }} or more. - この値は{{ limit }}以上でなければなりません。 - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - 短すぎます。この値は{{ limit }}文字以上で入力してください。 - - - This value should not be blank. - この値は空にできません。 - - - This value should not be null. - 値を入力してください。 - - - This value should be null. - 入力しないでください。 - - - This value is not valid. - 有効な値ではありません。 - - - This value is not a valid time. - 有効な時刻ではありません。 - - - This value is not a valid URL. - 有効なURLではありません。 - - - The two values should be equal. - 2つの値は同じでなければなりません。 - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - ファイルのサイズが大きすぎます。許可されている最大サイズは{{ limit }} {{ suffix }}です。 - - - The file is too large. - ファイルのサイズが大きすぎます。 - - - The file could not be uploaded. - ファイルをアップロードできませんでした。 - - - This value should be a valid number. - この値は有効な数値でなければなりません。 - - - This file is not a valid image. - 選択されたファイルは有効な画像ではありません。 - - - This value is not a valid IP address. - 有効なIPアドレスではありません。 - - - This value is not a valid language. - 有効な言語名ではありません。 - - - This value is not a valid locale. - 有効なロケールではありません。 - - - This value is not a valid country. - 有効な国名ではありません。 - - - This value is already used. - 既に使用されています。 - - - The size of the image could not be detected. - 画像のサイズが検出できません。 - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - 画像の幅が大きすぎます({{ width }}px)。{{ max_width }}px以下にしてください。 - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - 画像の幅が小さすぎます({{ width }}px)。{{ min_width }}px以上にしてください。 - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - 画像の高さが大きすぎます({{ height }}px)。{{ max_height }}px以下にしてください。 - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - 画像の高さが小さすぎます({{ height }}px)。{{ min_height }}px以上にしてください。 - - - This value should be the user's current password. - 現在のパスワードを入力してください。 - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - この値は{{ limit }}文字ちょうどで入力してください。 - - - The file was only partially uploaded. - ファイルのアップロードが完了しませんでした。 - - - No file was uploaded. - ファイルがアップロードされていません。 - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.iniに一時フォルダが設定されていないか、設定されたフォルダが存在しません。 - - - Cannot write temporary file to disk. - 一時ファイルをディスクに書き込むことができません。 - - - A PHP extension caused the upload to fail. - PHP拡張が原因でアップロードに失敗しました。 - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - 要素は{{ limit }}個以上でなければなりません。 - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - 要素は{{ limit }}個以下でなければなりません。 - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - 要素はちょうど{{ limit }}個でなければなりません。 - - - Invalid card number. - 無効なカード番号です。 - - - Unsupported card type or invalid card number. - 対応していないカードまたは無効なカード番号です。 - - - This value is not a valid International Bank Account Number (IBAN). - 有効な国際銀行勘定番号(IBAN)ではありません。 - - - This value is not a valid ISBN-10. - 有効なISBN-10コードではありません。 - - - This value is not a valid ISBN-13. - 有効なISBN-13コードではありません。 - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - 有効なISBN-10コードまたはISBN-13コードではありません。 - - - This value is not a valid ISSN. - 有効なISSNコードではありません。 - - - This value is not a valid currency. - 有効な通貨ではありません。 - - - This value should be equal to {{ compared_value }}. - この値は{{ compared_value }}と同じ値でなければなりません。 - - - This value should be greater than {{ compared_value }}. - この値は{{ compared_value }}より大きくなければなりません。 - - - This value should be greater than or equal to {{ compared_value }}. - この値は{{ compared_value }}以上でなければなりません。 - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - この値は{{ compared_value_type }}型の{{ compared_value }}と同じでなければなりません。 - - - This value should be less than {{ compared_value }}. - この値は{{ compared_value }}未満でなければなりません。 - - - This value should be less than or equal to {{ compared_value }}. - この値は{{ compared_value }}以下でなければなりません。 - - - This value should not be equal to {{ compared_value }}. - この値は{{ compared_value }}と等しくてはいけません。 - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - この値は{{ compared_value_type }}型の{{ compared_value }}と異なる値にしてください。 - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - 画像のアスペクト比が大きすぎます({{ ratio }})。{{ max_ratio }}までにしてください。 - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - 画像のアスペクト比が小さすぎます({{ ratio }})。{{ min_ratio }}以上にしてください。 - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - 画像が正方形になっています({{ width }}x{{ height }}px)。正方形の画像は許可されていません。 - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - 画像が横向きになっています({{ width }}x{{ height }}px)。横向きの画像は許可されていません。 - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - 画像が縦向きになっています({{ width }}x{{ height }}px)。縦向きの画像は許可されていません。 - - - An empty file is not allowed. - 空のファイルは許可されていません。 - - - The host could not be resolved. - ホストを解決できませんでした。 - - - This value does not match the expected {{ charset }} charset. - この値の文字コードが期待される{{ charset }}と一致しません。 - - - This value is not a valid Business Identifier Code (BIC). - 有効な事業者識別コード(BIC)ではありません。 - - - Error - エラー - - - This value is not a valid UUID. - 有効なUUIDではありません。 - - - This value should be a multiple of {{ compared_value }}. - この値は{{ compared_value }}の倍数でなければなりません。 - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - このSWIFTコードはIBANコード({{ iban }})に関連付けられていません。 - - - This value should be valid JSON. - この値は有効なJSONでなければなりません。 - - - This collection should contain only unique elements. - 要素は重複してはなりません。 - - - This value should be positive. - この値は正の数でなければなりません。 - - - This value should be either positive or zero. - この値は正の数、または0でなければなりません。 - - - This value should be negative. - この値は負の数でなければなりません。 - - - This value should be either negative or zero. - この値は負の数、または0でなければなりません。 - - - This value is not a valid timezone. - 有効なタイムゾーンではありません。 - - - This password has been leaked in a data breach, it must not be used. Please use another password. - このパスワードは漏洩しているため使用できません。 - - - This value should be between {{ min }} and {{ max }}. - この値は{{ min }}以上{{ max }}以下でなければなりません。 - - - This value is not a valid hostname. - 有効なホスト名ではありません。 - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - 要素の数は{{ compared_value }}の倍数でなければなりません。 - - - This value should satisfy at least one of the following constraints: - 以下の制約のうち少なくとも1つを満たさなければなりません。 - - - Each element of this collection should satisfy its own set of constraints. - コレクションの各要素は、それぞれの制約を満たさなければなりません。 - - - This value is not a valid International Securities Identification Number (ISIN). - この値は有効な国際証券識別番号(ISIN)ではありません。 - - - This value should be a valid expression. - この値は有効な式形式でなければなりません。 - - - This value is not a valid CSS color. - この値は有効なCSSカラーではありません。 - - - This value is not a valid CIDR notation. - この値は有効なCIDR表記ではありません。 - - - The value of the netmask should be between {{ min }} and {{ max }}. - サブネットマスクは{{ min }}から{{ max }}の範囲で入力してください。 - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - ファイル名が長すぎます。ファイル名は{{ filename_max_length }}文字以下でなければなりません。 - - - The password strength is too low. Please use a stronger password. - パスワードの強度が弱すぎます。より強いパスワードを使用してください。 - - - This value contains characters that are not allowed by the current restriction-level. - 現在の設定では使用できない文字が含まれています。 - - - Using invisible characters is not allowed. - 不可視文字は使用できません。 - - - Mixing numbers from different scripts is not allowed. - 異なる種類の数字を使うことはできません。 - - - Using hidden overlay characters is not allowed. - 隠れたオーバレイ文字は使用できません。 - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - ファイルの拡張子が無効です({{ extension }})。有効な拡張子は{{ extensions }}です。 - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - 検出された文字コードは無効です({{ detected }})。有効な文字コードは{{ encodings }}です。 - - - This value is not a valid MAC address. - 有効なMACアドレスではありません。 - - - This URL is missing a top-level domain. - このURLはトップレベルドメインがありません。 - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - 短すぎます。この値は{{ min }}単語以上にする必要があります。 - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - 長すぎます。この値は{{ max }}単語以下にする必要があります。 - - - This value does not represent a valid week in the ISO 8601 format. - 週の形式が正しくありません(ISO 8601形式)。 - - - This value is not a valid week. - 有効な週形式ではありません。 - - - This value should not be before week "{{ min }}". - 週 "{{ min }}" 以降を指定してください。 - - - This value should not be after week "{{ max }}". - 週 "{{ max }}" までを指定してください。 - - - This value is not a valid Twig template. - 有効なTwigテンプレートではありません。 - - - This file is not a valid video. - 選択されたファイルは有効な動画ではありません。 - - - The size of the video could not be detected. - 動画のファイルサイズを検出できませんでした。 - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - 動画の幅が大きすぎます({{ width }}px)。許可されている最大の幅は {{ max_width }}px です。 - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - 動画の幅が小さすぎます({{ width }}px)。許可されている最小の幅は {{ min_width }}px です。 - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - 動画の高さが大きすぎます ({{ height }}px)。許可されている最大の高さは {{ max_height }}px です。 - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - 動画の高さが小さすぎます ({{ height }}px)。許可されている最小の高さは {{ min_height }}px です。 - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - この動画のピクセル数が少なすぎます ({{ pixels }})。許可されている最小ピクセル数は {{ min_pixels }} です。 - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - この動画のピクセル数が多すぎます ({{ pixels }})。許可されている最大ピクセル数は {{ max_pixels }} です。 - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - 動画のアスペクト比が大きすぎます ({{ ratio }})。許可されている最大比率は {{ max_ratio }} です。 - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - 動画のアスペクト比が小さすぎます ({{ ratio }})。許可されている最小比率は {{ min_ratio }} です。 - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - 動画は正方形です ({{ width }}x{{ height }}px)。正方形の動画は許可されていません。 - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - 動画は横向きです({{ width }}x{{ height }}px)。横向きの動画は許可されていません。 - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - 動画は縦向きです({{ width }}x{{ height }}px)。縦向きの動画は許可されていません。 - - - The video file is corrupted. - 動画ファイルが破損しています。 - - - The video contains multiple streams. Only one stream is allowed. - この動画には複数のストリームが含まれています。許可されるのは1つのストリームのみです。 - - - Unsupported video codec "{{ codec }}". - サポートされていないビデオコーデック「{{ codec }}」です。 - - - Unsupported video container "{{ container }}". - サポートされていない動画コンテナ「{{ container }}」です。 - - - The image file is corrupted. - 画像ファイルが破損しています。 - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - 画像のピクセル数が少なすぎます({{ pixels }})。許可されている最小ピクセル数は {{ min_pixels }} です。 - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - 画像のピクセル数が多すぎます({{ pixels }})。許可されている最大ピクセル数は {{ max_pixels }} です。 - - - This filename does not match the expected charset. - このファイル名は期待される文字セットと一致しません。 - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.lb.xlf b/app/vendor/symfony/validator/Resources/translations/validators.lb.xlf deleted file mode 100644 index dd4ac75a1..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.lb.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Dëse Wäert sollt falsch sinn. - - - This value should be true. - Dëse Wäert sollt wouer sinn. - - - This value should be of type {{ type }}. - Dëse Wäert sollt vum Typ {{ type }} sinn. - - - This value should be blank. - Dëse Wäert sollt eidel sinn. - - - The value you selected is not a valid choice. - Dëse Wäert sollt enger vun de Wielméiglechkeeten entspriechen. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Et muss mindestens {{ limit }} Méiglechkeet ausgewielt ginn.|Et musse mindestens {{ limit }} Méiglechkeeten ausgewielt ginn. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Et dierf héchstens {{ limit }} Méiglechkeet ausgewielt ginn.|Et dierfen héchstens {{ limit }} Méiglechkeeten ausgewielt ginn. - - - One or more of the given values is invalid. - Een oder méi vun de Wäerter ass ongëlteg. - - - This field was not expected. - D'Feld gouf net erwaart. - - - This field is missing. - D'Feld feelt. - - - This value is not a valid date. - Dëse Wäert entsprécht kenger gëlteger Datumsangab. - - - This value is not a valid datetime. - Dëse Wäert entsprécht kenger gëlteger Datums- an Zäitangab. - - - This value is not a valid email address. - Dëse Wäert ass keng gëlteg Email-Adress. - - - The file could not be found. - De Fichier gouf net fonnt. - - - The file is not readable. - De Fichier ass net liesbar. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - De Fichier ass ze grouss ({{ size }} {{ suffix }}). Déi zougeloosse Maximalgréisst bedréit {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Den Typ vum Fichier ass ongëlteg ({{ type }}). Erlaabten Type sinn {{ types }}. - - - This value should be {{ limit }} or less. - Dëse Wäert soll méi kleng oder gläich {{ limit }} sinn. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Dës Zeecheketten ass ze laang. Se sollt héchstens {{ limit }} Zeechen hunn. - - - This value should be {{ limit }} or more. - Dëse Wäert sollt méi grouss oder gläich {{ limit }} sinn. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Dës Zeecheketten ass ze kuerz. Se sollt mindestens {{ limit }} Zeechen hunn. - - - This value should not be blank. - Dëse Wäert sollt net eidel sinn. - - - This value should not be null. - Dëst sollt keen Null-Wäert sinn. - - - This value should be null. - Dëst sollt keen Null-Wäert sinn. - - - This value is not valid. - Dëse Wäert ass net gëlteg. - - - This value is not a valid time. - Dëse Wäert entsprécht kenger gëlteger Zäitangab. - - - This value is not a valid URL. - Dëse Wäert ass keng gëlteg URL. - - - The two values should be equal. - Béid Wäerter sollten identesch sinn. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - De fichier ass ze grouss. Déi maximal Gréisst dierf {{ limit }} {{ suffix }} net depasséieren. - - - The file is too large. - De Fichier ass ze grouss. - - - The file could not be uploaded. - De Fichier konnt net eropgeluede ginn. - - - This value should be a valid number. - Dëse Wäert sollt eng gëlteg Zuel sinn. - - - This file is not a valid image. - Dëse Fichier ass kee gëltegt Bild. - - - This value is not a valid IP address. - Dëse Wäert ass keng gülteg IP-Adress. - - - This value is not a valid language. - Dëse Wäert entsprécht kenger gëlteger Sprooch. - - - This value is not a valid locale. - Dëse Wäert entsprécht kengem gëltege Gebittsschema. - - - This value is not a valid country. - Dëse Wäert entsprécht kengem gëltege Land. - - - This value is already used. - Dëse Wäert gëtt scho benotzt. - - - The size of the image could not be detected. - D'Gréisst vum Bild konnt net detektéiert ginn. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - D'Breet vum Bild ass ze grouss ({{ width }}px). Déi erlaabte maximal Breet ass {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - D'Breet vum Bild ass ze kleng ({{ width }}px). Déi minimal Breet ass {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - D'Héicht vum Bild ass ze grouss ({{ height }}px). Déi erlaabte maximal Héicht ass {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - D'Héicht vum Bild ass ze kleng ({{ height }}px). Déi minimal Héicht ass {{ min_height }}px. - - - This value should be the user's current password. - Dëse Wäert sollt dem aktuelle Benotzerpasswuert entspriechen. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Dëse Wäert sollt exakt {{ limit }} Buschtaf hunn.|Dëse Wäert sollt exakt {{ limit }} Buschtawen hunn. - - - The file was only partially uploaded. - De Fichier gouf just deelweis eropgelueden. - - - No file was uploaded. - Et gouf kee Fichier eropgelueden. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Et gouf keen temporären Dossier an der php.ini konfiguréiert oder den temporären Dossier existéiert net. - - - Cannot write temporary file to disk. - Den temporäre Fichier kann net gespäichert ginn. - - - A PHP extension caused the upload to fail. - Eng PHP-Erweiderung huet den Upload verhënnert. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Dës Sammlung sollt {{ limit }} oder méi Elementer hunn. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Dës Sammlung sollt {{ limit }} oder manner Elementer hunn. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Dës Sammlung sollt exakt {{ limit }} Element hunn.|Dës Sammlung sollt exakt {{ limit }} Elementer hunn. - - - Invalid card number. - Ongëlteg Kaartennummer. - - - Unsupported card type or invalid card number. - Net ënnerstëtzte Kaartentyp oder ongëlteg Kaartennummer. - - - This value is not a valid International Bank Account Number (IBAN). - Dëse Wäert ass keng gülteg International Bankkontonummer (IBAN). - - - This value is not a valid ISBN-10. - Dëse Wäert ass keng gëlteg ISBN-10. - - - This value is not a valid ISBN-13. - Dëse Wäert ass keng gëlteg ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Dëse Wäert ass weder eng gëlteg ISBN-10 nach eng gëlteg ISBN-13. - - - This value is not a valid ISSN. - Dëse Wäert ass keng gëlteg ISSN. - - - This value is not a valid currency. - Dëse Wäert ass keng gëlteg Währung. - - - This value should be equal to {{ compared_value }}. - Dëse Wäert sollt {{ compared_value }} sinn. - - - This value should be greater than {{ compared_value }}. - Dëse Wäert sollt méi grouss wéi {{ compared_value }} sinn. - - - This value should be greater than or equal to {{ compared_value }}. - Dëse Wäert sollt méi grouss wéi oder gläich {{ compared_value }} sinn. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Dëse Wäert sollt identesch si mat {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Dëse Wäert sollt méi kleng wéi {{ compared_value }} sinn. - - - This value should be less than or equal to {{ compared_value }}. - Dëse Wäert sollt méi kleng wéi oder gläich {{ compared_value }} sinn. - - - This value should not be equal to {{ compared_value }}. - Dëse Wäert sollt net {{ compared_value }} sinn. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Dëse Wäert sollt net identesch si mat {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - D'Säiteverhältnis vum Bild ass ze grouss ({{ ratio }}). Den erlaabte Maximalwäert ass {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - D'Säiteverhältnis vum Bild ass ze kleng ({{ ratio }}). Den erwaarte Minimalwäert ass {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - D'Bild ass quadratesch ({{ width }}x{{ height }}px). Quadratesch Biller sinn net erlaabt. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - D'Bild ass am Queeschformat ({{ width }}x{{ height }}px). Biller am Queeschformat sinn net erlaabt. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - D'Bild ass am Héichformat ({{ width }}x{{ height }}px). Biller am Héichformat sinn net erlaabt. - - - An empty file is not allowed. - En eidele Fichier ass net erlaabt. - - - The host could not be resolved. - Den Host-Numm konnt net opgeléist ginn. - - - This value does not match the expected {{ charset }} charset. - Dëse Wäert entsprécht net dem erwaarten Zeechesaz {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Dëse Wäert ass kee gültege Business Identifier Code (BIC). - - - Error - Feeler - - - This value is not a valid UUID. - Dëse Wäert ass keng gülteg UUID. - - - This value should be a multiple of {{ compared_value }}. - Dëse Wäert sollt e puer vun {{ compared_value }} sinn. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Dëse "Business Identifier Code" (BIC) ass net mat IBAN verbonnen {{ iban }}. - - - This value should be valid JSON. - Dëse Wäert sollt gëlteg JSON. - - - This collection should contain only unique elements. - Dës Sammlung sollt just eenzegaarteg Elementer enthalen. - - - This value should be positive. - Dëse Wäert sollt positiv sinn. - - - This value should be either positive or zero. - Dëse Wäert sollt entweeder positiv oder null sinn. - - - This value should be negative. - Dëse Wäert sollt negativ sinn. - - - This value should be either negative or zero. - Dëse Wäert sollt entweeder negativ oder null sinn. - - - This value is not a valid timezone. - Dëse Wäert ass keng gëlteg Zäitzon. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Dëst Passwuert war Deel vun engem Dateleck an dierf net benotzt ginn. Benotzt w.e.g. en anert Passwuert . - - - This value should be between {{ min }} and {{ max }}. - De Wäert sollt tëscht {{ min }} a(n) {{ max }} leien. - - - This value is not a valid hostname. - Dëse Wäert ass kee gëltegen Hostnumm. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - D'Unzuel un Elementer an dëser Sammlung sollt e multipel vu(n) {{ compared_value }} sinn. - - - This value should satisfy at least one of the following constraints: - Dëse Wäert sollt op d'mannst ee vun dësen Aschränkungen erfëllen: - - - Each element of this collection should satisfy its own set of constraints. - All Element aus dëser Sammlung sollt seng eegen Aschränkungen erfëllen. - - - This value is not a valid International Securities Identification Number (ISIN). - Dëse Wäert ass keng gëlteg International Wäertpabeiererkennnummer (ISIN). - - - This value should be a valid expression. - Dëse Wäert soll eng gëlteg Expression sinn. - - - This value is not a valid CSS color. - Dëse Wäert ass keng gëlteg CSS Faarf. - - - This value is not a valid CIDR notation. - Dëse Wäert ass keng gëlteg CIDR Notatioun. - - - The value of the netmask should be between {{ min }} and {{ max }}. - De Wäert vum Netmask soll tëscht {{ min }} a {{ max }} sinn. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - De Dateinimm ass ze laang. Et sollt {{ filename_max_length }} Zeechen oder manner hunn.|De Dateinimm ass ze laang. Et sollt {{ filename_max_length }} Zeechen oder manner hunn. - - - The password strength is too low. Please use a stronger password. - D'Staarf vum Passwuert ass ze schwaach. Benotzt w. e. g. e stäerker Passwuert. - - - This value contains characters that are not allowed by the current restriction-level. - Dëse Wäert enthält Zeechen, déi net erlaabt sinn no der aktueller Beschränkungsstuf. - - - Using invisible characters is not allowed. - D'Benotzen vu onsiichtbaren Zeechen ass net erlaabt. - - - Mixing numbers from different scripts is not allowed. - D'Mësche vu Nummeren aus verschiddenen Skripten ass net erlaabt. - - - Using hidden overlay characters is not allowed. - D'Benotzen vu verstoppten Iwwerlagungszeechen ass net erlaabt. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - D'Extensioun vum Fichier ass net valabel ({{ extension }}). Valabel Extensioune sinn {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Den Encodage vun de Schrëftzeechen ass net valabel ({{ detected }}). Valabel Encodage sinn {{ encodings }}. - - - This value is not a valid MAC address. - Dëse Wäert ass keng gülteg MAC-Adress. - - - This URL is missing a top-level domain. - Dësen URL feelt eng Top-Level-Domain. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Dëse Wäert ass ze kuerz. Et sollt op d'mannst ee Wuert enthalen.|Dëse Wäert ass ze kuerz. Et sollt op d'mannst {{ min }} Wierder enthalen. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Dëse Wäert ass ze laang. Et sollt nëmmen ee Wuert enthalen.|Dëse Wäert ass ze laang. Et sollt {{ max }} Wierder oder manner enthalen. - - - This value does not represent a valid week in the ISO 8601 format. - Dëse Wäert stellt keng valabel Woch am ISO 8601-Format duer. - - - This value is not a valid week. - Dëse Wäert ass keng valabel Woch. - - - This value should not be before week "{{ min }}". - Dëse Wäert sollt net virun der Woch "{{ min }}" sinn. - - - This value should not be after week "{{ max }}". - Dëse Wäert sollt net no Woch "{{ max }}" sinn. - - - This value is not a valid Twig template. - Dëse Wäert ass kee valabelen Twig-Template. - - - This file is not a valid video. - Dës Datei ass kee gëltegen Video. - - - The size of the video could not be detected. - D'Gréisst vum Video konnt net erkannt ginn. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - D'Videobreed ass ze grouss ({{ width }}px). Erlaabt maximal Breed ass {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - D'Videobreed ass ze kleng ({{ width }}px). Minimal erwaart Breed ass {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - D'Videohéicht ass ze grouss ({{ height }}px). Erlaabt maximal Héicht ass {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - D'Videohéicht ass ze kleng ({{ height }}px). Erwaart Mindesthéicht ass {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - De Video huet ze wéineg Pixel ({{ pixels }}). Erwaart Minimum ass {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - De Video huet ze vill Pixel ({{ pixels }}). Déi erwaart maximal Zuel ass {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - D'Videoproportioun ass ze grouss ({{ ratio }}). Erlaabt maximal Proportioun ass {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - D'Videoratio ass ze kleng ({{ ratio }}). Minimal erwaart Ratio ass {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - De Video ass quadratesch ({{ width }}x{{ height }}px). Quadratesch Videoe sinn net erlaabt. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - De Video ass am Landschaftsformat ({{ width }}x{{ height }} px). Landschafts-Videoe sinn net erlaabt. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - De Video ass am Portraitformat ({{ width }}x{{ height }}px). Portrait-Videoe sinn net erlaabt. - - - The video file is corrupted. - D'Videodatei ass beschiedegt. - - - The video contains multiple streams. Only one stream is allowed. - De Video enthält verschidde Stréimen. Nëmmen ee Stroum ass erlaabt. - - - Unsupported video codec "{{ codec }}". - Net ënnerstëtzte Videocodec „{{ codec }}“. - - - Unsupported video container "{{ container }}". - Net ënnerstëtzte Video-Container "{{ container }}". - - - The image file is corrupted. - D'Bilddatei ass beschiedegt. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - D'Bild huet ze wéineg Pixel ({{ pixels }}). Déi erwaart Mindestzuel ass {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - D'Bild huet ze vill Pixel ({{ pixels }}). Déi erwaart maximal Zuel ass {{ max_pixels }}. - - - This filename does not match the expected charset. - Dësen Dateinumm entsprécht net dem erwaarten Zeechesaz. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.lt.xlf b/app/vendor/symfony/validator/Resources/translations/validators.lt.xlf deleted file mode 100644 index 0d03648c2..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.lt.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Reikšmė turi būti neigiama. - - - This value should be true. - Reikšmė turi būti teigiama. - - - This value should be of type {{ type }}. - Šios reikšmės tipas turi būti {{ type }}. - - - This value should be blank. - Ši reikšmė turi būti tuščia. - - - The value you selected is not a valid choice. - Neteisingas pasirinkimas. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Turite pasirinkti bent {{ limit }} variantą.|Turite pasirinkti bent {{ limit }} variantus.|Turite pasirinkti bent {{ limit }} variantų. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Turite pasirinkti ne daugiau kaip {{ limit }} variantą.|Turite pasirinkti ne daugiau kaip {{ limit }} variantus.|Turite pasirinkti ne daugiau kaip {{ limit }} variantų. - - - One or more of the given values is invalid. - Viena ar daugiau įvestų reikšmių yra netinkamos. - - - This field was not expected. - Nebuvo tikimasi šio laukelio. - - - This field is missing. - Trūkstamas laukelis. - - - This value is not a valid date. - Ši reikšmė nėra data. - - - This value is not a valid datetime. - Ši reikšmė nera data ir laikas. - - - This value is not a valid email address. - Ši reikšmė nėra tinkamas el. pašto adresas. - - - The file could not be found. - Byla nerasta. - - - The file is not readable. - Negalima nuskaityti bylos. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Byla yra per didelė ({{ size }} {{ suffix }}). Maksimalus dydis {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Netinkamas bylos tipas (mime type) ({{ type }}). Galimi bylų tipai {{ types }}. - - - This value should be {{ limit }} or less. - Reikšmė turi būti {{ limit }} arba mažiau. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Per didelis simbolių skaičius. Turi susidaryti iš {{ limit }} arba mažiau simbolių.|Per didelis simbolių skaičius. Turi susidaryti iš {{ limit }} arba mažiau simbolių.|Per didelis simbolių skaičius. Turi susidaryti iš {{ limit }} arba mažiau simbolių. - - - This value should be {{ limit }} or more. - Reikšmė turi būti {{ limit }} arba daugiau. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Per mažas simbolių skaičius. Turi susidaryti iš {{ limit }} arba daugiau simbolių.|Per mažas simbolių skaičius. Turi susidaryti iš {{ limit }} arba daugiau simbolių.|Per mažas simbolių skaičius. Turi susidaryti iš {{ limit }} arba daugiau simbolių. - - - This value should not be blank. - Ši reikšmė negali būti tuščia. - - - This value should not be null. - Ši reikšmė negali būti null. - - - This value should be null. - Ši reikšmė turi būti null. - - - This value is not valid. - Netinkama reikšmė. - - - This value is not a valid time. - Ši reikšmė nėra laikas. - - - This value is not a valid URL. - Ši reikšmė nėra tinkamas interneto adresas. - - - The two values should be equal. - Abi reikšmės turi būti identiškos. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Byla yra per didelė. Maksimalus dydis yra {{ limit }} {{ suffix }}. - - - The file is too large. - Byla per didelė. - - - The file could not be uploaded. - Byla negali būti įkelta. - - - This value should be a valid number. - Ši reikšmė turi būti skaičius. - - - This file is not a valid image. - Byla nėra paveikslėlis. - - - This value is not a valid IP address. - Ši reikšmė nėra tinkamas IP adresas. - - - This value is not a valid language. - Ši reikšmė nėra tinkama kalba. - - - This value is not a valid locale. - Ši reikšmė nėra tinkama lokalė. - - - This value is not a valid country. - Ši reikšmė nėra tinkama šalis. - - - This value is already used. - Ši reikšmė jau yra naudojama. - - - The size of the image could not be detected. - Nepavyko nustatyti nuotraukos dydžio. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Nuotraukos plotis per didelis ({{ width }}px). Maksimalus leidžiamas plotis yra {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Nuotraukos plotis per mažas ({{ width }}px). Minimalus leidžiamas plotis yra {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Nuotraukos aukštis per didelis ({{ height }}px). Maksimalus leidžiamas aukštis yra {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Nuotraukos aukštis per mažas ({{ height }}px). Minimalus leidžiamas aukštis yra {{ min_height }}px. - - - This value should be the user's current password. - Ši reikšmė turi sutapti su dabartiniu naudotojo slaptažodžiu. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Ši reikšmė turi turėti lygiai {{ limit }} simbolį.|Ši reikšmė turi turėti lygiai {{ limit }} simbolius.|Ši reikšmė turi turėti lygiai {{ limit }} simbolių. - - - The file was only partially uploaded. - Failas buvo tik dalinai įkeltas. - - - No file was uploaded. - Nebuvo įkelta jokių failų. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini nesukonfigūruotas laikinas aplankas arba sukonfigūruotas aplankas neegzistuoja. - - - Cannot write temporary file to disk. - Nepavyko išsaugoti laikino failo. - - - A PHP extension caused the upload to fail. - PHP plėtinys sutrukdė failo įkėlimą ir jis nepavyko. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Sąraše turi būti {{ limit }} arba daugiau įrašų.|Sąraše turi būti {{ limit }} arba daugiau įrašų.|Sąraše turi būti {{ limit }} arba daugiau įrašų. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Sąraše turi būti {{ limit }} arba mažiau įrašų.|Sąraše turi būti {{ limit }} arba mažiau įrašų.|Sąraše turi būti {{ limit }} arba mažiau įrašų. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Sąraše turi būti lygiai {{ limit }} įrašas.|Sąraše turi būti lygiai {{ limit }} įrašai.|Sąraše turi būti lygiai {{ limit }} įrašų. - - - Invalid card number. - Klaidingas kortelės numeris. - - - Unsupported card type or invalid card number. - Kortelės tipas nepalaikomas arba klaidingas kortelės numeris. - - - This value is not a valid International Bank Account Number (IBAN). - Ši reikšmė nėra tinkamas Tarptautinis Banko Sąskaitos Numeris (IBAN). - - - This value is not a valid ISBN-10. - Ši reikšmė neatitinka ISBN-10 formato. - - - This value is not a valid ISBN-13. - Ši reikšmė neatitinka ISBN-13 formato. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ši reikšmė neatitinka nei ISBN-10, nei ISBN-13 formato. - - - This value is not a valid ISSN. - Ši reišmė neatitinka ISSN formato. - - - This value is not a valid currency. - Netinkamas valiutos formatas. - - - This value should be equal to {{ compared_value }}. - Ši reikšmė turi būti lygi {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ši reikšmė turi būti didesnė už {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ši reikšmė turi būti didesnė už arba lygi {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ši reikšmė turi būti identiška {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ši reikšmė turi būti mažesnė už {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ši reikšmė turi būti mažesnė už arba lygi {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ši reikšmė neturi būti lygi {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ši reikšmė neturi būti identiška {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Nuotraukos santykis yra per didelis ({{ ratio }}). Didžiausias leistinas santykis yra {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Nuotraukos santykis yra per mažas ({{ ratio }}). Mažiausias leistinas santykis yra {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Nuotrauka yra kvadratinė ({{ width }}x{{ height }}px). Kvadratinės nuotraukos nėra leistinos. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Nuotrauka orientuota į plotį ({{ width }}x{{ height }}px). Nuotraukos orientuotos į plotį nėra leistinos. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Nuotrauka orientuota į aukštį ({{ width }}x{{ height }}px). Nuotraukos orientuotos į aukštį nėra leistinos. - - - An empty file is not allowed. - Failas negali būti tuščias. - - - The host could not be resolved. - Serveris nepasiekiamas. - - - This value does not match the expected {{ charset }} charset. - Ši reikšmė neatitinka {{ charset }} koduotės. - - - This value is not a valid Business Identifier Code (BIC). - Ši reikšmė nėra tinkamas Verslo Identifikavimo Kodas (BIC). - - - Error - Klaida - - - This value is not a valid UUID. - Ši reikšmė nėra tinkamas UUID. - - - This value should be a multiple of {{ compared_value }}. - Ši reikšmė turi būti skaičiaus {{ compared_value }} kartotinis. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Šis bendrovės identifikavimo kodas (BIC) nesusijęs su IBAN {{ iban }}. - - - This value should be valid JSON. - Ši reikšmė turi būti tinkamo JSON formato. - - - This collection should contain only unique elements. - Sąraše turi būti tik unikalios reikšmės. - - - This value should be positive. - Reikšmė turi būti teigiama. - - - This value should be either positive or zero. - Reikšmė turi būti teigiama arba lygi nuliui. - - - This value should be negative. - Reikšmė turi būti neigiama. - - - This value should be either negative or zero. - Reikšmė turi būti neigiama arba lygi nuliui. - - - This value is not a valid timezone. - Reikšmė nėra tinkama laiko juosta. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Slaptažodis yra nutekėjęs duomenų saugumo pažeidime, jo naudoti negalima. Prašome naudoti kitą slaptažodį. - - - This value should be between {{ min }} and {{ max }}. - Ši reikšmė turi būti tarp {{ min }} ir {{ max }}. - - - This value is not a valid hostname. - Ši reikšmė nėra tinkamas svetainės adresas. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Šio sąrašo elementų skaičius turėtų būti skaičiaus {{ compared_value }} kartotinis. - - - This value should satisfy at least one of the following constraints: - Ši reikšmė turėtų atitikti bent vieną iš šių nurodymų: - - - Each element of this collection should satisfy its own set of constraints. - Kiekvienas šio sąrašo elementas turi atitikti savo nurodymų rinkinį. - - - This value is not a valid International Securities Identification Number (ISIN). - Ši reišmė neatitinka tarptautinio vertybinių popierių identifikavimo numerio formato (ISIN). - - - This value should be a valid expression. - Ši vertė turėtų būti teisinga išraiška. - - - This value is not a valid CSS color. - Ši reikšmė nėra tinkama CSS spalva. - - - This value is not a valid CIDR notation. - Ši vertė nėra tinkamas CIDR žymėjimas. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Tinklo kaukės reikšmė turi būti nuo {{ min }} iki {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Failo pavadinimas per ilgas. Jame turėtų būti {{ filename_max_length }} simbolis arba mažiau.|Failo pavadinimas per ilgas. Jame turėtų būti {{ filename_max_length }} simbolių arba mažiau. - - - The password strength is too low. Please use a stronger password. - Slaptažodis per silpnas. Naudokite stipresnį slaptažodį. - - - This value contains characters that are not allowed by the current restriction-level. - Šioje reikšmėje yra simbolių, kurių neleidžia dabartinis apribojimo lygis. - - - Using invisible characters is not allowed. - Naudoti nematomus simbolius draudžiama. - - - Mixing numbers from different scripts is not allowed. - Draudžiama maišyti skaičius iš skirtingų scenarijų. - - - Using hidden overlay characters is not allowed. - Draudžiama naudoti paslėptus perdangos simbolius. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Failo plėtinys netinkamas ({{ extension }}). Leidžiami plėtiniai yra {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Aptikta simbolių koduotė yra netinkama ({{ detected }}). Leidžiamos koduotės yra {{ encodings }}. - - - This value is not a valid MAC address. - Ši reikšmė nėra tinkamas MAC adresas. - - - This URL is missing a top-level domain. - Šiam URL trūksta aukščiausio lygio domeno. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Per mažas žodžių skaičius. Turi susidaryti bent iš 1 žodžio.|Per mažas žodžių skaičius. Turi susidaryti iš {{ min }} arba daugiau žodžių. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Per didelis žodžių skaičius. Turi susidaryti iš 1 žodžio.|Per didelis žodžių skaičius. Turi susidaryti iš {{ max }} arba mažiau žodžių. - - - This value does not represent a valid week in the ISO 8601 format. - Ši reikšmė neatitinka galiojančios savaitės ISO 8601 formatu. - - - This value is not a valid week. - Ši reikšmė nėra galiojanti savaitė. - - - This value should not be before week "{{ min }}". - Ši reikšmė neturėtų būti prieš savaitę "{{ min }}". - - - This value should not be after week "{{ max }}". - Ši reikšmė neturėtų būti po savaitės "{{ max }}". - - - This value is not a valid Twig template. - Ši reikšmė nėra tinkamas „Twig“ šablonas. - - - This file is not a valid video. - Šis failas nėra galiojantis vaizdo įrašas. - - - The size of the video could not be detected. - Nepavyko nustatyti vaizdo įrašo dydžio. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Vaizdo įrašo plotis per didelis ({{ width }}px). Leidžiamas didžiausias plotis yra {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Vaizdo įrašo plotis per mažas ({{ width }}px). Tikėtinas mažiausias plotis yra {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Vaizdo aukštis per didelis ({{ height }}px). Leidžiamas maksimalus aukštis yra {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Vaizdo aukštis per mažas ({{ height }}px). Tikėtinas minimalus aukštis yra {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Vaizdo įraše per mažai pikselių ({{ pixels }}). Tikimasi mažiausiai {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Vaizdo įraše per daug pikselių ({{ pixels }}). Tikimasi, kad didžiausias kiekis yra {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Vaizdo santykis per didelis ({{ ratio }}). Leidžiamas didžiausias santykis yra {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Vaizdo santykis per mažas ({{ ratio }}). Tikimasi mažiausias santykis yra {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Vaizdo įrašas yra kvadratinis ({{ width }}x{{ height }}px). Kvadratiniai vaizdo įrašai neleidžiami. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Vaizdo įrašas yra gulsčio formato ({{ width }}x{{ height }} px). Gulsčio formato vaizdo įrašai neleidžiami. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Vaizdo įrašas yra portreto orientacijos ({{ width }}x{{ height }}px). Portreto orientacijos vaizdo įrašai neleidžiami. - - - The video file is corrupted. - Vaizdo failas sugadintas. - - - The video contains multiple streams. Only one stream is allowed. - Vaizdo įraše yra keli srautai. Leidžiamas tik vienas srautas. - - - Unsupported video codec "{{ codec }}". - Nepalaikomas vaizdo kodekas „{{ codec }}“. - - - Unsupported video container "{{ container }}". - Nepalaikomas vaizdo konteineris "{{ container }}". - - - The image file is corrupted. - Paveikslėlio failas sugadintas. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Paveikslėlyje per mažai pikselių ({{ pixels }}). Tikimasi mažiausiai {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Paveikslėlis turi per daug pikselių ({{ pixels }}). Tikėtinas didžiausias kiekis yra {{ max_pixels }}. - - - This filename does not match the expected charset. - Šis failo pavadinimas neatitinka laukiamo ženklų rinkinio. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.lv.xlf b/app/vendor/symfony/validator/Resources/translations/validators.lv.xlf deleted file mode 100644 index 7d654c43b..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.lv.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Šai vērtībai ir jābūt nepatiesai. - - - This value should be true. - Šai vērtībai ir jābūt patiesai. - - - This value should be of type {{ type }}. - Šīs vērtības tipam ir jābūt {{ type }}. - - - This value should be blank. - Šai vērtībai ir jābūt tukšai. - - - The value you selected is not a valid choice. - Vērtība, kuru jūs izvēlējāties, nav derīga izvēle. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Jums nav jāveic izvēle.|Jums ir jāveic vismaz {{ limit }} izvēle.|Jums ir jāveic vismaz {{ limit }} izvēles. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Jums nav jāveic izvēle.|Jums ir jāveic ne vairāk kā {{ limit }} izvēle.|Jums ir jāveic ne vairāk kā {{ limit }} izvēles. - - - One or more of the given values is invalid. - Viena vai vairākas no dotajām vērtībām ir nederīgas. - - - This field was not expected. - Šis lauks netika gaidīts. - - - This field is missing. - Šis lauks ir pazudis. - - - This value is not a valid date. - Šī vērtība ir nederīgs datums. - - - This value is not a valid datetime. - Šī vērtība ir nederīgs datums un laiks. - - - This value is not a valid email address. - Šī vērtība ir nederīga e-pasta adrese. - - - The file could not be found. - Fails nav atrasts. - - - The file is not readable. - Fails nav lasāms. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Fails ir pārāk liels ({{ size }} {{ suffix }}). Atļautais maksimālais izmērs ir {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Faila mime tips nav derīgs ({{ type }}). Atļautie mime tipi ir {{ types }}. - - - This value should be {{ limit }} or less. - Šai vērtībai ir jābūt ne vairāk kā {{ limit }}. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Šīs vērtības garums ir 0 rakstzīmes.|Šī vērtība ir pārāk gara. Tai būtu jābūt ne vairāk kā {{ limit }} rakstzīmi garai.|Šī vērtība ir pārāk gara. Tai būtu jābūt ne vairāk kā {{ limit }} rakstzīmes garai. - - - This value should be {{ limit }} or more. - Šai vērtībai ir jābūt ne mazāk kā {{ limit }}. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Šīs vērtības garums ir 0 rakstzīmes.|Šī vērtība ir pārāk īsa. Tai būtu jābūt ne mazāk kā {{ limit }} rakstzīmi garai.|Šī vērtība ir pārāk īsa. Tai būtu jābūt ne mazāk kā {{ limit }} rakstzīmes garai. - - - This value should not be blank. - Šai vērtībai nav jābūt tukšai. - - - This value should not be null. - Šai vērtībai nav jābūt null. - - - This value should be null. - Šai vērtībai ir jābūt null. - - - This value is not valid. - Šī vērtība ir nederīga. - - - This value is not a valid time. - Šī vērtība ir nederīgs laiks. - - - This value is not a valid URL. - Šī vērtība ir nederīgs URL. - - - The two values should be equal. - Abām vērtībām jābūt vienādām. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Fails ir pārāk liels. Atļautais maksimālais izmērs ir {{ limit }} {{ suffix }}. - - - The file is too large. - Fails ir pārāk liels. - - - The file could not be uploaded. - Failu nevarēja augšupielādēt. - - - This value should be a valid number. - Šai vērtībai ir jābūt derīgam skaitlim. - - - This file is not a valid image. - Šis fails nav derīgs attēls. - - - This value is not a valid IP address. - Šī vērtība nav derīga IP adrese. - - - This value is not a valid language. - Šī vērtība nav derīga valoda. - - - This value is not a valid locale. - Šī vērtība nav derīga lokalizācija. - - - This value is not a valid country. - Šī vērtība nav derīga valsts. - - - This value is already used. - Šī vērtība jau tiek izmantota. - - - The size of the image could not be detected. - Nevar noteikt attēla izmēru. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Attēla platums ir pārāk liels ({{ width }}px). Atļautais maksimālais platums ir {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Attēla platums ir pārāk mazs ({{ width }}px). Minimālais sagaidāmais platums ir {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Attēla augstums ir pārāk liels ({{ height }}px). Atļautais maksimālais augstums ir {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Attēla augstums ir pārāk mazs ({{ height }}px). Minimālais sagaidāmais augstums ir {{ min_height }}px. - - - This value should be the user's current password. - Šai vērtībai ir jābūt lietotāja pašreizējai parolei. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Šīs vērtības garums ir 0 rakstzīmes.|Šai vērtībai ir jābūt tieši {{ limit }} rakstzīmi garai.|Šai vērtībai ir jābūt tieši {{ limit }} rakstzīmes garai. - - - The file was only partially uploaded. - Fails bija tikai daļēji augšupielādēts. - - - No file was uploaded. - Fails netika augšupielādēts. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini nav konfigurēta pagaidu mape vai arī konfigurētā mape neeksistē. - - - Cannot write temporary file to disk. - Nevar ierakstīt pagaidu failu diskā. - - - A PHP extension caused the upload to fail. - PHP paplašinājums izraisīja augšupielādes neizdošanos. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Šis krājums satur 0 elementu.|Šim krājumam jāsatur vismaz {{ limit }} elements.|Šim krājumam jāsatur vismaz {{ limit }} elementi. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Šis krājums satur 0 elementu.|Šim krājumam jāsatur ne vairāk kā {{ limit }} elements.|Šim krājumam jāsatur ne vairāk kā {{ limit }} elementi. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Šis krājums satur 0 elementu.|Šim krājumam jāsatur tieši {{ limit }} elements.|Šim krājumam jāsatur tieši {{ limit }} elementi. - - - Invalid card number. - Nederīgs kartes numurs. - - - Unsupported card type or invalid card number. - Neatbalstīts kartes tips vai nederīgs kartes numurs. - - - This value is not a valid International Bank Account Number (IBAN). - Šī vērtība nav derīgs Starptautiskais Bankas Konta Numurs (IBAN). - - - This value is not a valid ISBN-10. - Šī vērtība nav derīgs ISBN-10 numurs. - - - This value is not a valid ISBN-13. - Šī vērtība nav derīgs ISBN-13 numurs. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Šī vērtība neatbilst ne derīgam ISBN-10 numuram, ne derīgm ISBN-13 numuram. - - - This value is not a valid ISSN. - Šī vērtība nav derīgs ISSN numurs. - - - This value is not a valid currency. - Šī vērtība nav derīga valūta. - - - This value should be equal to {{ compared_value }}. - Šai vērtībai ir jābūt vienādai ar {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Šai vērtībai ir jābūt lielākai par {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Šai vērtībai ir jābūt lielākai vai vienādai ar {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Šai vērtībai ir jābūt identiskai ar {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Šai vērtībai ir jābūt mazākai par {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Šai vērtībai ir jābūt mazākai vai vienādai ar {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Šai vērtībai ir jābūt vienādai ar {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Šai vērtībai nav jābūt identiskai ar {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Attēla attiecība ir pārāk liela ({{ ratio }}). Atļautā maksimālā attiecība ir {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Attēla attiecība ir pārāk maza ({{ ratio }}). Minimālā sagaidāmā attiecība ir {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Šis attēls ir kvadrāts ({{ width }}x{{ height }}px). Kvadrātveida attēli nav atļauti. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Attēls ir orientēts kā ainava ({{ width }}x{{ height }}px). Attēli, kas ir orientēti kā ainavas, nav atļauti. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Attēls ir orientēts kā portrets ({{ width }}x{{ height }}px). Attēli, kas ir orientēti kā portreti, nav atļauti. - - - An empty file is not allowed. - Tukšs fails nav atļauts. - - - The host could not be resolved. - Resursdatora nosaukumu nevar atrisināt. - - - This value does not match the expected {{ charset }} charset. - Šī vērtība neatbilst sagaidāmajai rakstzīmju kopai {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Šī vērtība nav derīgs Uzņēmuma Identifikācijas Kods (BIC). - - - Error - Kļūda - - - This value is not a valid UUID. - Šī vērtība nav derīgs UUID. - - - This value should be a multiple of {{ compared_value }}. - Šai vērtībai jābūt vairākas reizes atkārtotai {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Šis Biznesa Identifikācijas Kods (BIC) neatbilst {{ iban }} konta numuram (IBAN). - - - This value should be valid JSON. - Šai vērtībai jābūt derīgam JSON. - - - This collection should contain only unique elements. - Šai kolekcijai jāsatur tikai unikāli elementi. - - - This value should be positive. - Šai vērtībai jābūt pozitīvai. - - - This value should be either positive or zero. - Šai vērtībai jābūt pozitīvai vai vienādai ar nulli. - - - This value should be negative. - Šai vērtībai jābūt negatīvai. - - - This value should be either negative or zero. - Šai vērtībai jābūt negatīvai vai vienādai ar nulli. - - - This value is not a valid timezone. - Šī vērtība nav derīga laika zona. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Šī parole tika publicēta datu noplūdē, to nedrīkst izmantot. Lūdzu, izvēlieties citu paroli. - - - This value should be between {{ min }} and {{ max }}. - Šai vērtībai jābūt starp {{ min }} un {{ max }}. - - - This value is not a valid hostname. - Šī vērtība nav derīgs tīmekļa servera nosaukums. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Elementu skaitam šajā kolekcijā jābūt {{ compared_value }} reizinājumam. - - - This value should satisfy at least one of the following constraints: - Šai vērtībai jāiekļaujas vismaz vienā no sekojošiem ierobežojumiem: - - - Each element of this collection should satisfy its own set of constraints. - Šīs kolekcijas katram elementam jāiekļaujas savā ierobežojumu kopā. - - - This value is not a valid International Securities Identification Number (ISIN). - Šī vērtība nav derīgs starptautiskais vērtspapīru identifikācijas numurs (ISIN). - - - This value should be a valid expression. - Šai vērtībai jābūt korektai izteiksmei. - - - This value is not a valid CSS color. - Šī vērtība nav korekta CSS krāsa. - - - This value is not a valid CIDR notation. - Šī vērtība nav korekts CIDR apzīmējums. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Tīkla maskas (netmask) vērtībai jābūt starp {{ min }} un {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Faila nosaukums ir pārāk garš. Tas var būt {{ filename_max_length }} rakstzīmi garš vai īsāks.|Faila nosaukums ir pārāk garš. Tas var būt {{ filename_max_length }} rakstzīmes garš vai īsāks. - - - The password strength is too low. Please use a stronger password. - Paroles stiprums ir pārāk zems. Lūdzu, izmantojiet spēcīgāku paroli. - - - This value contains characters that are not allowed by the current restriction-level. - Šī vērtība satur rakstzīmes, kuras nav atļautas pašreizējā ierobežojuma līmenī. - - - Using invisible characters is not allowed. - Neredzamu rakstzīmju izmantošana nav atļauta. - - - Mixing numbers from different scripts is not allowed. - Nav atļauts sajaukt numurus no dažādiem skriptiem. - - - Using hidden overlay characters is not allowed. - Slēptu pārklājuma rakstzīmju izmantošana nav atļauta. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Faila paplašinājums nav derīgs ({{ extension }}). Atļautie paplašinājumi ir {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Noteiktais rakstzīmju kodējums nav derīgs ({{ detected }}). Atļautie kodējumi ir {{ encodings }}. - - - This value is not a valid MAC address. - Šī vērtība nav derīga MAC adrese. - - - This URL is missing a top-level domain. - Šim URL trūkst augšējā līmeņa domēna. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Šī vērtība ir pārāk īsa. Tai būtu jābūt vismaz vienu vārdu garai.|Šī vērtība ir pārāk īsa. Tai būtu jābūt ne mazāk kā {{ min }} vārdus garai. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Šī vērtība ir pārāk gara. Tai būtu jābūt vienam vārdam.|Šī vērtība ir pārāk gara. Tai būtu jābūt ne vairāk kā {{ max }} vārdus garai. - - - This value does not represent a valid week in the ISO 8601 format. - Šī vērtība neatspoguļo nedēļu ISO 8601 formatā. - - - This value is not a valid week. - Šī vērtība nav derīga nedēļa. - - - This value should not be before week "{{ min }}". - Šai vērtībai nevajadzētu būt pirms "{{ min }}" nedēļas. - - - This value should not be after week "{{ max }}". - Šai vērtībai nevajadzētu būt pēc "{{ max }}" nedēļas. - - - This value is not a valid Twig template. - Šī vērtība nav derīgs Twig šablons. - - - This file is not a valid video. - Šī datne nav derīgs video fails. - - - The size of the video could not be detected. - Neizdevās noteikt video izmēru. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video platums ir pārāk liels ({{ width }}px). Atļautais maksimālais platums ir {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video platums ir pārāk mazs ({{ width }}px). Sagaidāmais minimālais platums ir {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video augstums ir pārāk liels ({{ height }}px). Atļautais maksimālais augstums ir {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Video augstums ir pārāk mazs ({{ height }}px). Sagaidāmais minimālais augstums ir {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video ir pārāk maz pikseļu ({{ pixels }}). Sagaidāmais minimālais daudzums ir {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video ir pārāk daudz pikseļu ({{ pixels }}). Paredzētais maksimālais daudzums ir {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video attiecība ir pārāk liela ({{ ratio }}). Atļautā maksimālā attiecība ir {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Video attiecība ir pārāk maza ({{ ratio }}). Sagaidāmā minimālā attiecība ir {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video ir kvadrātveida ({{ width }}x{{ height }}px). Kvadrātveida video nav atļauti. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video ir ainavas orientācijā ({{ width }}x{{ height }} px). Ainavas formāta video nav atļauti. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video ir portreta orientācijā ({{ width }}x{{ height }}px). Portreta orientācijas video nav atļauti. - - - The video file is corrupted. - Video fails ir bojāts. - - - The video contains multiple streams. Only one stream is allowed. - Video satur vairākus straumējumus. Atļauta ir tikai viena straume. - - - Unsupported video codec "{{ codec }}". - Neatbalstīts video kodeks "{{ codec }}". - - - Unsupported video container "{{ container }}". - Neatbalstīts video konteiners "{{ container }}". - - - The image file is corrupted. - Attēla fails ir bojāts. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Attēlam ir par maz pikseļu ({{ pixels }}). Sagaidāmais minimālais daudzums ir {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Attēlam ir pārāk daudz pikseļu ({{ pixels }}). Sagaidāmais maksimālais daudzums ir {{ max_pixels }}. - - - This filename does not match the expected charset. - Šis faila nosaukums neatbilst paredzētajam rakstzīmju kopumam. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.mk.xlf b/app/vendor/symfony/validator/Resources/translations/validators.mk.xlf deleted file mode 100644 index a21621b17..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.mk.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Оваа вредност треба да биде лажна. - - - This value should be true. - Оваа вредност треба да биде вистинита. - - - This value should be of type {{ type }}. - Оваа вредност треба да биде од типот {{ type }}. - - - This value should be blank. - Оваа вредност треба да биде празна. - - - The value you selected is not a valid choice. - Вредноста што ја одбравте не е валиден избор. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Мора да одберете најмалку {{ limit }} избор.|Мора да одберете најмалку {{ limit }} изброи. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Може да одберете најмногу {{ limit }} избор.|Мора да одберете најмногу {{ limit }} избори. - - - One or more of the given values is invalid. - Една или повеќе од дадените вредности не се валидни. - - - This field was not expected. - Ова поле не беше очекувано. - - - This field is missing. - Ова поле недостига. - - - This value is not a valid date. - Оваа вредност не е валиден датум. - - - This value is not a valid datetime. - Оваа вредност не е валиден датум и време. - - - This value is not a valid email address. - Оваа вредност не е валидна адреса за е-пошта. - - - The file could not be found. - Датотеката не е најдена. - - - The file is not readable. - Датотеката не може да биде прочитана. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Датотеката е премногу голема ({{ size }} {{ suffix }}). Максималната дозволена големина е {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Миме типот на датотеката не е валиден ({{ type }}). Дозволените миме типови се {{ types }}. - - - This value should be {{ limit }} or less. - Оваа вредност треба да биде {{ limit }} или помалку. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Оваа вредност е предолга. Треба да содржи {{ limit }} карактер или помалку.|Оваа вредност е предолга. Треба да содржи {{ limit }} карактери или помалку. - - - This value should be {{ limit }} or more. - Оваа вредност треба да е {{ limit }} или повеќе. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Оваа вредност е прекратка. Треба да содржи {{ limit }} карактер или повеќе.|Оваа вредност е прекратка. Треба да содржи {{ limit }} карактери или повеќе. - - - This value should not be blank. - Ова поле не може да биде празно. - - - This value should not be null. - Оваа вредност не може да биде ништо (null). - - - This value should be null. - Оваа вредност треба да е ништо (null). - - - This value is not valid. - Оваа вредност не е валидна. - - - This value is not a valid time. - Оваа вредност не е валидно време. - - - This value is not a valid URL. - Оваа вредност не е валиден URL. - - - The two values should be equal. - Двете вредности треба да се еднакви. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Датотеката е премногу голема. Максималната дозволена големина е {{ limit }} {{ suffix }}. - - - The file is too large. - Датотеката е премногу голема. - - - The file could not be uploaded. - Датотеката не може да биде подигната. - - - This value should be a valid number. - Оваа вредност треба да е валиден број. - - - This file is not a valid image. - Оваа датотека не е валидна слика. - - - This value is not a valid IP address. - Оваа вредност не е валидна IP адреса. - - - This value is not a valid language. - Оваа вредност не е валиден јазик. - - - This value is not a valid locale. - Оваа вредност не е валидна локализација. - - - This value is not a valid country. - Оваа вредност не е валидна земја. - - - This value is already used. - Оваа вредност веќе се користи. - - - The size of the image could not be detected. - Големината на сликата не може да се детектира. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширината на сликата е преголема ({{ width }}px). Максималната дозволена ширина е {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширината на сликата е премала ({{ width }}px). Минималната дозволена ширина е {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Висината на сликата е преголема ({{ height }}px). Максималната дозволена висина е {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Висината на сликата е премала ({{ height }}px). Минималната дозволена висина е {{ min_height }}px. - - - This value should be the user's current password. - Оваа вредност треба да биде сегашната лозинка на корисникот. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Оваа вредност треба да има точно {{ limit }} карактер.|Оваа вредност треба да има точно {{ limit }} карактери. - - - The file was only partially uploaded. - Датотеката е само делумно подигната. - - - No file was uploaded. - Датотеката не е подигната. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Не е конфигурирана привремена папка во php.ini, или конфигурираната папка не постои. - - - Cannot write temporary file to disk. - Не може да се напише привремена датотека на дискот. - - - A PHP extension caused the upload to fail. - PHP екстензијата предизвика подигнувањето да биде неуспешно. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Оваа колекција треба да содржи {{ limit }} елемент или повеќе.|Оваа колекција треба да содржи {{ limit }} елементи или повеќе. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Оваа колекција треба да содржи {{ limit }} елемент или помалку.|Оваа колекција треба да содржи {{ limit }} елементи или помалку. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Оваа колекција треба да содржи точно {{ limit }} елемент.|Оваа колекција треба да содржи точно {{ limit }} елементи. - - - Invalid card number. - Бројот на картичката не е валиден. - - - Unsupported card type or invalid card number. - Неподдржан тип на картичка или бројот на картичката не е валиден. - - - This value is not a valid International Bank Account Number (IBAN). - Оваа вредност не е валиден Меѓународен Банкарски Сметка Број (IBAN). - - - This value is not a valid ISBN-10. - Оваа вредност не е валиден ISBN-10. - - - This value is not a valid ISBN-13. - Оваа вредност не е валиден ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Оваа вредност не е ниту валиден ISBN-10 ниту валиден ISBN-13. - - - This value is not a valid ISSN. - Оваа вредност не е валиден ISSN. - - - This value is not a valid currency. - Оваа вредност не е валидна валута. - - - This value should be equal to {{ compared_value }}. - Оваа вредност треба да биде еднаква на {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Оваа вредност треба да е поголема од {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Оваа вредност треба да е поголема или еднаква на {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Оваа вредност треба да е идентична на {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Оваа вредност треба да е помала од {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Оваа вредност треба да е помала или еднаква на {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Оваа вредност треба да не биде еднаква на {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Оваа вредност треба да не биде идентична со {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Соодносот на сликата е преголем ({{ ratio }}).Максималниот дозволен сооднос е {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Соодносот на сликата е премал ({{ ratio }}). Минималниот дозволен сооднос е {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Сликата е квадратна ({{ width }}x{{ height }}px). Квадратни слики не се дозволени. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Сликата е ориентирана кон пејзаж ({{ width }}x{{ height }}px). Сликите ориентирани кон пејзаж не се дозволени. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Сликата е ориентирана кон портрет ({{ width }}x{{ height }}px). Сликите ориентирани кон портрет не се дозволени. - - - An empty file is not allowed. - Празна датотека не е дозволена. - - - The host could not be resolved. - Хостот е недостапен. - - - This value does not match the expected {{ charset }} charset. - Оваа вредност не се совпаѓа со очекуваниот {{ charset }} сет на карактери (charset). - - - This value is not a valid Business Identifier Code (BIC). - Оваа вредност не е валиден Бизнис Идентификациски Код (BIC). - - - Error - Грешка - - - This value is not a valid UUID. - Оваа вредност не е валиден UUID. - - - This value should be a multiple of {{ compared_value }}. - Оваа вредност треба да биде повеќекратна од {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Овој бизнис идентификациски код (BIC) не е поврзан со IBAN {{ iban }}. - - - This value should be valid JSON. - Оваа вредност треба да биде валиден JSON. - - - This collection should contain only unique elements. - Оваа колекција треба да содржи само уникатни елементи. - - - This value should be positive. - Оваа вредност треба да биде позитивна. - - - This value should be either positive or zero. - Оваа вредност треба да биде или позитивна или нула. - - - This value should be negative. - Оваа вредност треба да биде негативна. - - - This value should be either negative or zero. - Оваа вредност треба да биде или негативна или нула. - - - This value is not a valid timezone. - Оваа вредност не е валидна временска зона. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Оваа лозинка е компромитирана и не смее да биде користена. Ве молиме употребете друга лозинка. - - - This value should be between {{ min }} and {{ max }}. - Оваа вредност треба да е помеѓу {{ min }} и {{ max }}. - - - This value is not a valid hostname. - Оваа вредност не е валидно име за мрежниот сметач (hostname). - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Бројот на елементи во оваа колекција треба да биде повеќекратен од {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Оваа вредност треба да задоволува најмалку едно од следните ограничувања: - - - Each element of this collection should satisfy its own set of constraints. - Секој елемент од оваа колекција треба да задоволува сопствен сет на ограничувања. - - - This value is not a valid International Securities Identification Number (ISIN). - Оваа вредност не е важечки меѓународен идентификациски број за хартии од вредност (ISIN). - - - This value should be a valid expression. - Оваа вредност треба да биде валиден израз. - - - This value is not a valid CSS color. - Оваа вредност не е валидна CSS боја. - - - This value is not a valid CIDR notation. - Оваа вредност не е валидна CIDR ознака. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Вредноста на мрежната маска (netmask) треба да биде помеѓу {{ min }} и {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Името на датотеката е предолго. Треба да има {{ filename_max_length }} карактер има помалку.|Името на датотеката е предолго. Треба да има {{ filename_max_length }} карактери или помалку. - - - The password strength is too low. Please use a stronger password. - Оваа лозинка е премногу едноставна. Ве молиме користете посилна лозинка. - - - This value contains characters that are not allowed by the current restriction-level. - Оваа вредност содржи карактери кои не се дозволени од тековното ниво на ограничување. - - - Using invisible characters is not allowed. - Користењето на невидливи знаци не е дозволено. - - - Mixing numbers from different scripts is not allowed. - Не е дозволено мешање на броеви од различни скрипти. - - - Using hidden overlay characters is not allowed. - Не е дозволено користење на скриени знаци за преклопување. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Зголемувања на датотеката е неважечка ({{ extension }}). Дозволени зголемувања се ({{ extensions }}). - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Откриеното кодирање на знаци е неважечко ({{ detected }}). Дозволените шифрирања се {{ encodings }}. - - - This value is not a valid MAC address. - Оваа вредност не е валидна MAC адреса. - - - This URL is missing a top-level domain. - На овој URL недостасува домен од највисоко ниво. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Оваа вредност е премногу кратка. Треба да содржи барем една збор.|Оваа вредност е премногу кратка. Треба да содржи барем {{ min }} зборови. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Оваа вредност е премногу долга. Треба да содржи само еден збор.|Оваа вредност е премногу долга. Треба да содржи {{ max }} зборови или помалку. - - - This value does not represent a valid week in the ISO 8601 format. - Ова вредност не претставува валидна недела во ISO 8601 формат. - - - This value is not a valid week. - Оваа вредност не е валидна недела. - - - This value should not be before week "{{ min }}". - Ова вредност не треба да биде пред неделата "{{ min }}". - - - This value should not be after week "{{ max }}". - Ова вредност не треба да биде по недела "{{ max }}". - - - This value is not a valid Twig template. - Оваа вредност не е валиден Twig шаблон. - - - This file is not a valid video. - Оваа датотека не е валидно видео. - - - The size of the video could not be detected. - Големината на видеото не можеше да се утврди. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширината на видеото е премногу голема ({{ width }}px). Дозволената максимална ширина е {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширината на видеото е премала ({{ width }}px). Минималната очекувана ширина е {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Висината на видеото е премногу голема ({{ height }}px). Дозволената максимална висина е {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Висината на видеото е премала ({{ height }}px). Очекуваната минимална висина е {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Видеото има премалку пиксели ({{ pixels }}). Очекуван минимален износ е {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Видеото има премногу пиксели ({{ pixels }}). Очекуваниот максимален износ е {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Соодносот на видеото е преголем ({{ ratio }}). Дозволениот максимален сооднос е {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Односот на видеото е премал ({{ ratio }}). Очекуваниот минимален однос е {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Видеото е квадратно ({{ width }}x{{ height }}px). Квадратни видеа не се дозволени. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Видеото е во хоризонтална ориентација ({{ width }}x{{ height }} px). Хоризонтални видеа не се дозволени. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Видеото е во портретна ориентација ({{ width }}x{{ height }}px). Видеа со портретна ориентација не се дозволени. - - - The video file is corrupted. - Видео датотеката е оштетена. - - - The video contains multiple streams. Only one stream is allowed. - Видеото содржи повеќе струи. Дозволена е само една струја. - - - Unsupported video codec "{{ codec }}". - Неподдржан видео кодек „{{ codec }}“. - - - Unsupported video container "{{ container }}". - Неподдржан видео контејнер "{{ container }}". - - - The image file is corrupted. - Датотеката со слика е оштетена. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Сликата има премалку пиксели ({{ pixels }}). Очекуваниот минимален број е {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Сликата има премногу пиксели ({{ pixels }}). Очекуваната максимална количина е {{ max_pixels }}. - - - This filename does not match the expected charset. - Името на датотеката не одговара на очекуваниот збир на знаци. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.mn.xlf b/app/vendor/symfony/validator/Resources/translations/validators.mn.xlf deleted file mode 100644 index 42a841f7d..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.mn.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Энэ утга буруу байх ёстой. - - - This value should be true. - Энэ утга үнэн байх ёстой. - - - This value should be of type {{ type }}. - Энэ утга {{ type }} -н төрөл байх ёстой. - - - This value should be blank. - Энэ утга хоосон байх ёстой. - - - The value you selected is not a valid choice. - Сонгосон утга буруу байна. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Хамгийн багадаа {{ limit }} утга сонгогдсон байх ёстой. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Хамгийн ихдээ {{ limit }} утга сонгогдох боломжтой. - - - One or more of the given values is invalid. - Өгөгдсөн нэг эсвэл нэгээс олон утга буруу байна. - - - This field was not expected. - Энэ талбар нь хүлээгдэж байсан юм. - - - This field is missing. - Энэ талбар нь алга болсон байна. - - - This value is not a valid date. - Энэ утга буруу date төрөл байна . - - - This value is not a valid datetime. - Энэ утга буруу цаг төрөл байна. - - - This value is not a valid email address. - И-майл хаяг буруу байна. - - - The file could not be found. - Файл олдсонгүй. - - - The file is not readable. - Файл уншигдахуйц биш байна. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Файл хэтэрхий том байна ({{ size }} {{ suffix }}). Зөвшөөрөгдөх дээд хэмжээ {{ limit }} {{ suffix }} байна. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Файлын MIME-төрөл нь буруу байна ({{ type }}). Зөвшөөрөгдөх MIME-төрлүүд {{ types }}. - - - This value should be {{ limit }} or less. - Энэ утга {{ limit }} юмуу эсвэл бага байна. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Энэ утга хэтэрхий урт байна. {{ limit }} тэмдэгтийн урттай юмуу эсвэл бага байна. - - - This value should be {{ limit }} or more. - Энэ утга {{ limit }} юмуу эсвэл их байна. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Энэ утга хэтэрхий богино байна. {{ limit }} тэмдэгт эсвэл их байна. - - - This value should not be blank. - Энэ утга хоосон байж болохгүй. - - - This value should not be null. - Энэ утга null байж болохгүй. - - - This value should be null. - Энэ утга null байна. - - - This value is not valid. - Энэ утга буруу байна. - - - This value is not a valid time. - Энэ утга буруу цаг төрөл байна. - - - This value is not a valid URL. - Энэ утга буруу URL байна . - - - The two values should be equal. - Хоёр утгууд ижил байх ёстой. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Файл хэтэрхий том байна. Зөвшөөрөгдөх дээд хэмжээ нь {{ limit }} {{ suffix }} байна. - - - The file is too large. - Файл хэтэрхий том байна. - - - The file could not be uploaded. - Файл upload хийгдсэнгүй. - - - This value should be a valid number. - Энэ утга зөвхөн тоо байна. - - - This file is not a valid image. - Файл зураг биш байна. - - - This value is not a valid IP address. - Энэ утга хүчинтэй IP хаяг биш юм. - - - This value is not a valid language. - Энэ утга үнэн зөв хэл биш байна. - - - This value is not a valid locale. - Энэ утга үнэн зөв байршил биш байна. - - - This value is not a valid country. - Энэ утга үнэн бодит улс биш байна. - - - This value is already used. - Энэ утга аль хэдийнээ хэрэглэгдсэн байна. - - - The size of the image could not be detected. - Зургийн хэмжээ тогтоогдож чадсангүй. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Зургийн өргөн хэтэрхий том байна ({{ width }}px). Өргөн нь хамгийн ихдээ {{ max_width }}px байх боломжтой. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Зургийн өргөн хэтэрхий жижиг байна ({{ width }}px). Өргөн нь хамгийн багадаа {{ min_width }}px байх боломжтой. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Зургийн өндөр хэтэрхий том байна ({{ height }}px). Өндөр нь хамгийн ихдээ {{ max_height }}px байх боломжтой. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Зургийн өндөр хэтэрхий жижиг байна ({{ height }}px). Өндөр нь хамгийн багадаа {{ min_height }}px байх боломжтой. - - - This value should be the user's current password. - Энэ утга хэрэглэгчийн одоогийн нууц үг байх ёстой. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Энэ утга яг {{ limit }} тэмдэгт байх ёстой.|Энэ утга яг {{ limit }} тэмдэгт байх ёстой. - - - The file was only partially uploaded. - Файлын зөвхөн хагас нь upload хийгдсэн. - - - No file was uploaded. - Ямар ч файл upload хийгдсэнгүй. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini дээр түр зуурын хавтсыг тохируулаагүй байна, эсвэл тохируулсан хавтас байхгүй байна. - - - Cannot write temporary file to disk. - Түр зуурын файлыг диск руу бичиж болохгүй байна. - - - A PHP extension caused the upload to fail. - PHP extension нь upload -г амжилтгүй болгоод байна. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Энэ коллекц {{ limit }} ба түүнээс дээш тооны элемент агуулах ёстой.|Энэ коллекц {{ limit }} ба түүнээс дээш тооны элемент агуулах ёстой. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Энэ коллекц {{ limit }} ба түүнээс доош тооны элемент агуулах ёстой.|Энэ коллекц {{ limit }} ба түүнээс доош тооны элемент агуулах ёстой. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Энэ коллекц яг {{ limit }} элемент агуулах ёстой.|Энэ коллекц яг {{ limit }} элемент агуулах ёстой. - - - Invalid card number. - Картын дугаар буруу байна. - - - Unsupported card type or invalid card number. - Дэмжигдээгүй картын төрөл эсвэл картын дугаар буруу байна. - - - This value is not a valid International Bank Account Number (IBAN). - Энэ утга хүчинтэй Олон улсын Банкны Дансны Дугаар (IBAN) биш юм. - - - This value is not a valid ISBN-10. - Энэ утга үнэн зөв ISBN-10 биш байна. - - - This value is not a valid ISBN-13. - Энэ утга үнэн зөв ISBN-13 биш байна. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Энэ утга үнэн зөв ISBN-10 юмуу ISBN-13 биш байна. - - - This value is not a valid ISSN. - Энэ утга үнэн зөв ISSN биш байна. - - - This value is not a valid currency. - Энэ утга үнэн бодит валют биш байна. - - - This value should be equal to {{ compared_value }}. - Энэ утга {{ compared_value }} -тaй тэнцүү байх ёстой. - - - This value should be greater than {{ compared_value }}. - Энэ утга {{ compared_value }} -с их байх ёстой. - - - This value should be greater than or equal to {{ compared_value }}. - Энэ утга {{ compared_value }} -тай тэнцүү юмуу эсвэл их байх ёстой. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Энэ утга {{ compared_value_type }} {{ compared_value }} -тай яг ижил байх ёстой. - - - This value should be less than {{ compared_value }}. - Энэ утга {{ compared_value }} -с бага байх ёстой. - - - This value should be less than or equal to {{ compared_value }}. - Энэ утга {{ compared_value }} -тай ижил юмуу эсвэл бага байх ёстой. - - - This value should not be equal to {{ compared_value }}. - Энэ утга {{ compared_value }} -тай тэнцүү байх ёсгүй. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Энэ утга {{ compared_value_type }} {{ compared_value }} -тай яг ижил байх ёсгүй. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Зургийн харьцаа хэтэрхий том байна ({{ ratio }}). Харьцаа нь хамгийн ихдээ {{ max_ratio }} байна. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Зургийн харьцаа хэтэрхий жижиг байна ({{ ratio }}). Харьцаа нь хамгийн багадаа {{ min_ratio }} байна. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Зураг дөрвөлжин хэлбэртэй байна ({{ width }}x{{ height }}px). Дөрвөлжин зургууд оруулах боломжгүй. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Зураг хэвтээ байрлалтай байна ({{ width }}x{{ height }}px). Хэвтээ байрлалтай зургууд оруулах боломжгүй. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Зургууд босоо байрлалтай байна ({{ width }}x{{ height }}px). Босоо байрлалтай зургууд оруулах боломжгүй. - - - An empty file is not allowed. - Хоосон файл оруулах боломжгүй. - - - The host could not be resolved. - Хост зөв тохирогдоогүй байна. - - - This value does not match the expected {{ charset }} charset. - Энэ утга тооцоолсон {{ charset }} тэмдэгттэй таарахгүй байна. - - - This value is not a valid Business Identifier Code (BIC). - Энэ утга хүчинтэй Бизнес Таних Код (BIC) биш юм. - - - Error - Алдаа - - - This value is not a valid UUID. - Энэ утга хүчинтэй UUID биш юм. - - - This value should be a multiple of {{ compared_value }}. - Энэ утга {{ compared_value }} -н үржвэр байх ёстой. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Энэ Business Identifier Code (BIC) код нь IBAN {{ iban }} -тай холбоогүй байна. - - - This value should be valid JSON. - Энэ утга JSON байх ёстой. - - - This collection should contain only unique elements. - Энэ коллекц зөвхөн давтагдахгүй элементүүд агуулах ёстой. - - - This value should be positive. - Энэ утга эерэг байх ёстой. - - - This value should be either positive or zero. - Энэ утга тэг эсвэл эерэг байх ёстой. - - - This value should be negative. - Энэ утга сөрөг байх ёстой. - - - This value should be either negative or zero. - Энэ утга сөрөг эсвэл тэг байх ёстой. - - - This value is not a valid timezone. - Энэ утга үнэн зөв цагийн бүс биш байна. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Энэ нууц үгийн мэдээлэл алдагдсан байх магадлалтай учраас дахин ашиглагдах ёсгүй. Өөр нууц үг ашиглана уу. - - - This value should be between {{ min }} and {{ max }}. - Энэ утга {{ min }} -с {{ max }} хооронд байх ёстой. - - - This value is not a valid hostname. - Энэ утга буруу hostname байна. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Энэхүү цуглуулган дахь элемэнтийн тоо, {{ compared_value }}-н үржвэр байх ёстой. - - - This value should satisfy at least one of the following constraints: - Энэ утга доорх болзолуудын ядаж нэгийг хангах ёстой: - - - Each element of this collection should satisfy its own set of constraints. - Энэхүү цуглуулган дахь элемэнтүүд өөр өөрсдийн болзолуудаа хангах ёстой. - - - This value is not a valid International Securities Identification Number (ISIN). - Энэ утга зөв International Securities Identification Number (ISIN) биш байна. - - - This value should be a valid expression. - Энэ утга нь зөв илэрхийлэл байх ёстой. - - - This value is not a valid CSS color. - Энэ утга нь хүчинтэй CSS өнгө биш байна. - - - This value is not a valid CIDR notation. - Энэ утга нь хүчинтэй CIDR тэмдэглэгээ биш байна. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Сүлжээний маскны утга нь {{ min }} ба {{ max }}-ийн хооронд байх ёстой. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Файлын нэр хэт урт байна. Энэ нь {{ filename_max_length }} тэмдэгт эсвэл түүнээс бага байх ёстой.|Файлын нэр хэт урт байна. Энэ нь {{ filename_max_length }} тэмдэгт эсвэл түүнээс бага байх ёстой. - - - The password strength is too low. Please use a stronger password. - Нууц үгийн хүч нь хэт бага байна. Хүчтэй нууц үгийг ашиглана уу. - - - This value contains characters that are not allowed by the current restriction-level. - Энэ утга нь одоогийн хязгаарлалтын түвшинд зөвшөөрөгдөөгүй тэмдэгтүүд агуулж байна. - - - Using invisible characters is not allowed. - Харагдахгүй тэмдэгтүүдийг ашиглахыг зөвшөөрөхгүй. - - - Mixing numbers from different scripts is not allowed. - Янз бүрийн скриптүүдээс тоог хольж хэрэглэхийг зөвшөөрөхгүй. - - - Using hidden overlay characters is not allowed. - Нууцлагдсан давхаргын тэмдэгтүүдийг ашиглахыг зөвшөөрөхгүй. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Файлын өргөтгөл буруу байна ({{ extension }}). Зөвшөөрөгдсөн өргөтгөлүүд нь {{ extensions }} юм. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Илрүүлсэн тэмдэгтийн кодчилол буруу байна ({{ detected }}). Зөвшөөрөгдсөн кодчилолууд нь {{ encodings }} юм. - - - This value is not a valid MAC address. - Энэ утга хүчинтэй MAC хаяг биш юм. - - - This URL is missing a top-level domain. - Энэ URL дээд түвшингийн домейн дутуу байна. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Энэ утга нь хэтэрхий богино байна. Энэ нь дор хаяж нэг үг агуулсан байх ёстой.|Энэ утга нь хэтэрхий богино байна. Энэ нь дор хаяж {{ min }} үг агуулсан байх ёстой. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Энэ утга нь хэтэрхий урт байна. Энэ нь зөвхөн нэг үг агуулсан байх ёстой.|Энэ утга нь хэтэрхий урт байна. Энэ нь {{ max }} үг эсвэл түүнээс бага байх ёстой. - - - This value does not represent a valid week in the ISO 8601 format. - Энэ утга нь ISO 8601 форматад хүчинтэй долоо хоногийг илэрхийлэхгүй байна. - - - This value is not a valid week. - Энэ утга хүчинтэй долоо хоног биш байна. - - - This value should not be before week "{{ min }}". - Энэ утга нь "{{ min }}" долоо хоногоос өмнө байх ёсгүй. - - - This value should not be after week "{{ max }}". - Энэ утга нь долоо хоног "{{ max }}" -аас хойш байх ёсгүй. - - - This value is not a valid Twig template. - Энэ утга нь Twig-ийн хүчинтэй загвар биш юм. - - - This file is not a valid video. - Энэ файл хүчинтэй видео биш байна. - - - The size of the video could not be detected. - Видеоны хэмжээг тодорхойлох боломжгүй байлаа. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Видео өргөн хэт их байна ({{ width }}px). Зөвшөөрөгдөх дээд өргөн нь {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Видео өргөн хэт бага байна ({{ width }}px). Хамгийн бага хүлээгдэж буй өргөн {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Видеоны өндөр хэт их байна ({{ height }}px). Зөвшөөрөгдсөн дээд өндөр нь {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Видео өндрийг хэт бага байна ({{ height }}px). Хамгийн бага өндрийн шаардлага {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Видео хэт цөөн пикселтэй байна ({{ pixels }}). Хүлээгдэж буй хамгийн бага хэмжээ нь {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Видео хэт олон пикселтэй байна ({{ pixels }}). Хүлээгдэж буй дээд хэмжээ нь {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Видео харьцаа хэт их байна ({{ ratio }}). Зөвшөөрөгдөх дээд харьцаа {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Видеоны харьцаа хэт жижиг байна ({{ ratio }}). Хамгийн бага хүлээгдэж буй харьцаа {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Видео дөрвөлжин байна ({{ width }}x{{ height }}px). Дөрвөлжин видеонууд зөвшөөрөгдөхгүй. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Видео хэвтээ чиглэлтэй байна ({{ width }}x{{ height }} px). Хэвтээ видеонууд зөвшөөрөгдөхгүй. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Видео босоо чиглэлтэй ({{ width }}x{{ height }}px). Босоо чиглэлийн видеонууд зөвшөөрөгдөхгүй. - - - The video file is corrupted. - Видео файл гэмтсэн байна. - - - The video contains multiple streams. Only one stream is allowed. - Видео нь олон урсгал агуулсан байна. Зөвхөн нэг урсгалыг зөвшөөрнө. - - - Unsupported video codec "{{ codec }}". - Дэмжигдээгүй видео кодек "{{ codec }}". - - - Unsupported video container "{{ container }}". - Дэмжигдээгүй видео контейнер "{{ container }}". - - - The image file is corrupted. - Зургийн файл гэмтсэн. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Зурган дээрх пикселийн тоо дэндүү цөөн байна ({{ pixels }}). Хүлээгдэж буй доод хэмжээ нь {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Зурагт хэт олон пиксел байна ({{ pixels }}). Хүлээгдэж буй дээд хэмжээ нь {{ max_pixels }}. - - - This filename does not match the expected charset. - Энэ файлын нэр хүлээгдэж буй тэмдэгтийн багцтай нийцэхгүй байна. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.my.xlf b/app/vendor/symfony/validator/Resources/translations/validators.my.xlf deleted file mode 100644 index bf23d6363..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.my.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - ဤတန်ဖိုးသည် false ဖြစ်ရမည်။ - - - This value should be true. - ဤတန်ဖိုးသည် true ဖြစ်ရမည်။ - - - This value should be of type {{ type }}. - ဤတန်ဖိုးသည် {{ type }} အမျိုးအစားဖြစ်ရမည်။ - - - This value should be blank. - ဤတန်ဖိုးသည် ကွပ်လပ်မဖြစ်သင့်ပါ။ - - - The value you selected is not a valid choice. - သင်ရွေးချယ်သောတန်ဖိုးသည် သင့်လျှော်သော် တန်ဖိုးမဟုတ်ပါ။ - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - သင်သည် အနည်းဆုံးရွေးချယ်မှု {{ limit }} ခုရွေးချယ်ရမည်။ - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - သင်သည်အများဆုံး {{ limit }} ခုသာရွေးချယ်ခွင့်ရှိသည်။ - - - One or more of the given values is invalid. - ပေးထားသောတန်ဖိုးတစ်ခု (သို့မဟုတ်) တစ်ခုထက်ပို၍မမှန်ကန်ပါ။ - - - This field was not expected. - ဤကွက်လပ်ကိုမမျှော်လင့်ထားပါ။ - - - This field is missing. - ဤကွက်လပ်ကိုမမျှော်လင့်ထားပါ။ - - - This value is not a valid date. - ဤတန်ဖိုးသည်မှန်ကန်သော်ရက်စွဲမဟုတ်ပါ။ - - - This value is not a valid datetime. - ဤတန်ဖိုးသည် မှန်ကန်သော် ရက်စွဲ/အချိန် မဟုတ်ပါ။ - - - This value is not a valid email address. - ဤတန်ဖိုးသည် မှန်ကန်သော် အီးမေးလိပ်စာ မဟုတ်ပါ။ - - - The file could not be found. - ဖိုင်ရှာမတွေ့ပါ။ - - - The file is not readable. - ဤဖိုင်ကို ဖတ်၍မရပါ။ - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - ဖိုင်အရွယ်အစား အလွန်ကြီးနေသည် ({{ size }} {{ suffix }}). ခွင့်ပြုထားသော အများဆုံး ဖိုင်ဆိုဒ်သည် {{ limit }} {{ suffix }} ဖြစ်သည်။ - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - ဖိုင်၏ mime အမျိုးအစားမမှန်ကန်ပါ ({{ type }})။ ခွင့်ပြုထားသော mime အမျိုးအစားများမှာ {{ types }}. - - - This value should be {{ limit }} or less. - ဤတန်ဖိုးသည် {{ limit }} (သို့မဟုတ်) {{ limit }} ထက်နည်းသင့်သည်။ - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - ဤတန်ဖိုးသည် အလွန်ရှည်လွန်းသည်။ ၎င်းတွင်အက္ခရာ {{ limit }} (သို့မဟုတ်) ၎င်းထက်နည်းသင့်သည်။ | ဤတန်ဖိုးသည် အလွန်ရှည်လွန်းသည်။ ၎င်းတွင်အက္ခရာ {{limit}} ခုနှင့်အထက်ရှိသင့်သည်။ - - - This value should be {{ limit }} or more. - ဤတန်ဖိုးသည် {{limit}} (သို့မဟုတ်) ထို့ထက်ပိုသင့်သည်။ - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - ဤတန်ဖိုးသည် အလွန်တိုလွန်းသည်။ ၎င်းတွင်အက္ခရာ {{limit}} (သို့မဟုတ်) ထို့ထက်ပိုရှိသင့်သည်။ | ဤတန်ဖိုးသည်တိုလွန်းသည်။ ၎င်းတွင်အက္ခရာ {{limit}} လုံးနှင့်အထက်ရှိသင့်သည်။ - - - This value should not be blank. - ဤတန်ဖိုးသည်ကွက်လပ်မဖြစ်သင့်ပါ။ - - - This value should not be null. - ဤတန်ဖိုးသည် null မဖြစ်သင့်ပါ။ - - - This value should be null. - ဤတန်ဖိုးသည် null ဖြစ်သင့်သည်။ - - - This value is not valid. - ဤတန်ဖိုးသည်မှန်ကန်သောတန်ဖိုးမဟုတ်ပါ။ - - - This value is not a valid time. - ဤတန်ဖိုးသည်မှန်ကန်သော အချိန်တန်ဖိုးမဟုတ်ပါ။ - - - This value is not a valid URL. - ဤတန်ဖိုးသည်မှန်ကန်သော URL တန်ဖိုးမဟုတ်ပါ။ - - - The two values should be equal. - တန်ဖိုးနှစ်ခုသည် တူညီသင့်သည်။ - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - ဤဖိုင်သည် အလွန်ကြီးသည်။ ခွင့်ပြုထားသည့်အများဆုံးဖိုင်အရွယ်အစားသည် {{ limit }} {{ suffix }} ဖြစ်သည်။ - - - The file is too large. - ဤဖိုင်သည် အလွန်ကြီးသည်။ - - - The file could not be uploaded. - ဤဖိုင်ကိုတင်၍မရပါ။ - - - This value should be a valid number. - ဤတန်ဖိုးသည်မှန်ကန်သောနံပါတ်ဖြစ်သင့်သည်။ - - - This file is not a valid image. - ဤဖိုင်သည်မှန်ကန်သော ဓါတ်ပုံမဟုတ်ပါ။ - - - This value is not a valid IP address. - ဤတန်ဖိုးသည် မှန်ကန်သော IP လိပ်စာ မဟုတ်ပါ။ - - - This value is not a valid language. - ဤတန်ဖိုးသည် မှန်ကန်သောဘာသာစကားမဟုတ်ပါ။ - - - This value is not a valid locale. - ဤတန်ဖိုးသည်မှန်ကန်သောဘာသာပြန်မဟုတ်ပါ။ - - - This value is not a valid country. - ဤတန်ဖိုးသည်မှန်ကန်သောနိုင်ငံမဟုတ်ပါ။ - - - This value is already used. - ဤတန်ဖိုးသည် အသုံးပြုပြီးသားဖြစ်သည်။ - - - The size of the image could not be detected. - ဓါတ်ပုံအရွယ်အစားကိုရှာမတွေ့ပါ။ - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - ပုံ၏အလျားသည် ကြီးလွန်းသည် ({{ width }}px)။ ခွင့်ပြုထားသည့်အများဆုံးအလျားသည် {{max_width}}px ဖြစ်သည်။ - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - ပုံ၏အလျားသည် သေးလွန်းသည် ({{ width }}px)။ ခွင့်ပြုထားသည့်အနည်းဆုံးအလျားသည် {{max_width}}px ဖြစ်သည်။ - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ပုံ၏အနံသည် ကြီးလွန်းသည် ({{ height }}px)။ ခွင့်ပြုထားသည့်အများဆုံးအနံသည် {{max_height}}px ဖြစ်သည်။ - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ပုံ၏အနံသည် သေးလွန်းသည် ({{ height }}px)။ ခွင့်ပြုထားသည့်အနည်းဆုံးအနံသည် {{min_height}}px ဖြစ်သည်။ - - - This value should be the user's current password. - ဤတန်ဖိုးသည်အသုံးပြုသူ၏ လက်ရှိစကားဝှက်ဖြစ်သင့်သည်။ - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - ဤတန်ဖိုးသည်စာလုံး {{limit}} အတိအကျရှိသင့်သည်။ - - - The file was only partially uploaded. - ဤဖိုင်သည်တစ်စိတ်တစ်ပိုင်းသာ upload တင်ခဲ့သည်။ - - - No file was uploaded. - မည်သည့် ဖိုင်မျှ upload မလုပ်ခဲ့ပါ။ - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini တွင်ယာယီဖိုင်တွဲကိုပြင်ဆင်ထားခြင်းမရှိပါ၊ သို့မဟုတ် ပြင်ဆင်ထားသောဖိုင်တွဲမရှိပါ။ - - - Cannot write temporary file to disk. - ယာရီဖိုင်ကို disk မရေးနိုင်ပါ။ - - - A PHP extension caused the upload to fail. - PHP extension တစ်ခုကြောင့် upload တင်၍မရနိုင်ပါ။ - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - ဤ collection တွင် {{limit}} element (သို့မဟုတ်) ထို့ထက်မပိုသင့်ပါ။ - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - ဤ collection တွင် {{limit}} element (သို့မဟုတ်) ၎င်းထက်နည်းသင့်သည်။ - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - ဤစုစည်းမှုတွင် {{limit}} element အတိအကျပါသင့်သည်။ - - - Invalid card number. - ကဒ်နံပါတ်မမှန်ပါ။ - - - Unsupported card type or invalid card number. - ကဒ်အမျိုးအစားမမှန်ပါ (သို့မဟုတ်) ကဒ်နံပါတ်မမှန်ပါ။ - - - This value is not a valid International Bank Account Number (IBAN). - ဤတန်ဖိုးသည် မှန်ကန်သော နိုင်ငံတကာ ဘဏ်စာရင်းနံပါတ် (IBAN) မဟုတ်ပါ။ - - - This value is not a valid ISBN-10. - ဤတန်ဖိုးသည် မှန်ကန်သော ISBN-10 တန်ဖိုးမဟုတ်ပါ၊ - - - This value is not a valid ISBN-13. - ဤတန်ဖိုးသည် မှန်ကန်သော ISBN-13 တန်ဖိုးမဟုတ်ပါ၊ - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - ဤတန်ဖိုးသည် သင့်လျှော်သော် ISBN-10 (သို့မဟုတ်) ISBN-13 တန်ဖိုးမဟုတ်ပါ၊ - - - This value is not a valid ISSN. - ဤတန်ဖိုးသည် သင့်လျှော်သော် ISSN တန်ဖိုးမဟုတ်ပါ။ - - - This value is not a valid currency. - ဤတန်ဖိုးသည် သင့်လျှော်သော် ငွေကြေးတန်ဖိုးမဟုတ်ပါ။ - - - This value should be equal to {{ compared_value }}. - ဤတန်ဖိုးသည် {{ compared_value }} နှင့်ညီသင့်သည်။ - - - This value should be greater than {{ compared_value }}. - ဤတန်ဖိုးသည် {{ compared_value }} ထက်ကြီးသင့်သည်။ - - - This value should be greater than or equal to {{ compared_value }}. - ဤတန်ဖိုးသည် {{ compared_value }} ထက်ကြီးသင့်သည် (သို့မဟုတ်) ဤတန်ဖိုးသည် {{ compared_value }} ညီသင့်သည်။ - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - ဤတန်ဖိုးသည် {{ compared_value_type }} {{ compared_value }} နှင့်ထပ်တူညီမျှသင့်သည်။ - - - This value should be less than {{ compared_value }}. - ဤတန်ဖိုးသည် {{ compared_value }} ထက်မနဲသောတဲ့ တန်ဖိုးဖြစ်သင့်သည်။ - - - This value should be less than or equal to {{ compared_value }}. - ဤတန်ဖိုးသည် {{ compared_value }} ထက် မနည်းသောတန်ဖိုး (သို့မဟုတ်) ညီမျှသောတန်ဖိုးဖြစ်သင့်သည်။ - - - This value should not be equal to {{ compared_value }}. - ဤတန်ဖိုးသည် {{ compared_value }} နှင့်မညီသင့်ပါ။ - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - ဤတန်ဖိုးသည် {{ compared_value_type }} {{ compared_value }} နှင့်ထပ်တူမညီမျှသင့်သည်။ - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - ဤဓာတ်ပုံအချိုးအစားသည်အလွန်ကြီးလွန်းသည်။ ({{ ratio }})။ ခွင့်ပြုထားသောဓာတ်ပုံအချိုးအသားသည် {{ max_ratio }} ဖြစ်သည်။ - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - ဤဓာတ်ပုံအချိုးအစားသည်အလွန်သေးလွန်းသည်။ ({{ ratio }})။ ခွင့်ပြုထားသောဓာတ်ပုံအချိုးအသားသည် {{ min_ratio }} ဖြစ်သည်။ - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - ဤဓာတ်ပုံသည် စတုရန်းဖြစ်နေသည် ({{ width }}x{{ height }}px)။ စတုရန်းဓာတ်ပုံများကို ခွင့်မပြုပါ။ - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - ဤဓာတ်ပုံသည် အလျှားလိုက်ဖြစ်နေသည် ({{ width }}x{{ height }}px). အလျှားလိုက်ဓာတ်ပုံများခွင့်မပြုပါ။ - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - ဤဓာတ်ပုံသည် ဒေါင်လိုက်ဖြစ်နေသည် ({{ width }}x{{ height }}px). ဒေါင်လိုက်ဓာတ်ပုံများခွင့်မပြုပါ။ - - - An empty file is not allowed. - ဖိုင်အလွတ်ကိုတင်ခွင့်မပြုပါ။ - - - The host could not be resolved. - host ဖြေရှင်း၍မနိုင်ပါ။ - - - This value does not match the expected {{ charset }} charset. - ဤတန်ဖိုးသည် မျှော်မှန်းထားသော {{ charset }} စားလုံးနှင့် ကိုက်ညီမှုမရှိပါ။ - - - This value is not a valid Business Identifier Code (BIC). - ဤတန်ဖိုးသည် မှန်ကန်သော စီးပွားရေး မှတ်ပုံတင်ကုဒ် (BIC) မဟုတ်ပါ။ - - - Error - အမှား - - - This value is not a valid UUID. - ဤတန်ဖိုးသည် မှန်ကန်သော UUID မဟုတ်ပါ။ - - - This value should be a multiple of {{ compared_value }}. - ဤတန်ဖိုးသည် {{compared_value}} ၏ စတူတန်ဖိုးဖြစ်သင့်သည်။ - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - ဤ Business Identifier Code (BIC) သည် IBAN {{ iban }} နှင့်ဆက်စပ်မှုမရှိပါ။ - - - This value should be valid JSON. - ဤတန်ဖိုးသည် သင့်လျှော်သော် JSON တန်ဖိုးဖြစ်သင့်သည်။ - - - This collection should contain only unique elements. - ဤ collection ကိုယ်ပိုင် elements များ ပါသင့်သည်။ - - - This value should be positive. - ဤတန်ဖိုးသည် အပေါင်းဖြစ်သင့်သည်။ - - - This value should be either positive or zero. - ဤတန်ဖိုးသည် အပေါင်း (သို့မဟုတ်) သုည ဖြစ်သင့်သည်။ - - - This value should be negative. - ဤတန်ဖိုးသည် အနုတ် ဖြစ်သင့်သည်။ - - - This value should be either negative or zero. - ဤတန်ဖိုးသည် အနုတ် (သို့မဟုတ်) သုည ဖြစ်သင့်သည်။ - - - This value is not a valid timezone. - ဤတန်ဖိုးသည် မှန်ကန်သော အချိန်ဇုန်မဟုတ်ပါ။ - - - This password has been leaked in a data breach, it must not be used. Please use another password. - ဤစကားဝှက် သည် ဒေတာပေါက်ကြားမှုတစ်ခုဖြစ်ခဲ့သည်။ ဤစကား၀ှက်ကိုအသုံးမပြုရပါ။ ကျေးဇူးပြု၍ အခြားစကားဝှက်ကိုသုံးပါ။ - - - This value should be between {{ min }} and {{ max }}. - ဤတန်ဖိုးသည် {{ min }} နှင့် {{ max }} ကြားရှိသင့်သည်။ - - - This value is not a valid hostname. - ဤတန်ဖိုးသည် သင့်လျှော်သော် hostname မဟုတ်ပါ။ - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - ဤ collection တွင်ပါပါ၀င်သော elements အရေအတွက်သည် {{ compared_value }} ၏ စတူဖြစ်သင့်သည်။ - - - This value should satisfy at least one of the following constraints: - ဤတန်ဖိုးသည် အောက်ပါကန့်သတ်ချက်များအနက်မှအနည်းဆုံးတစ်ခု ဖြည့်ဆည်းပေးသင့်သည်။ - - - Each element of this collection should satisfy its own set of constraints. - ဤ collection ၏ element တစ်ခုစီသည်၎င်း၏ကိုယ်ပိုင်ကန့်သတ်ချက်များကိုဖြည့်ဆည်းသင့်သည်။ - - - This value is not a valid International Securities Identification Number (ISIN). - ဤတန်ဖိုးသည် သင့်လျှော်သော် အပြည်ပြည်ဆိုင်ရာငွေချေးသက်သေခံနံပါတ် ,International Securities Identification Number (ISIN) မဟုတ်ပါ။ - - - This value should be a valid expression. - ဤတန်ဖိုးသည်မှန်ကန်သောစကားရပ်ဖြစ်သင့်သည်။ - - - This value is not a valid CSS color. - ဤတန်ဖိုးသည် CSS အရောင်မှန်ကန်မှုမရှိပါ။ - - - This value is not a valid CIDR notation. - ဤတန်ဖိုးသည် CIDR မှတ်စုံမှန်ကန်မှုမရှိပါ။ - - - The value of the netmask should be between {{ min }} and {{ max }}. - ကွန်ယက်မျက်နှာဖုံး၏ တန်ဖိုးသည် {{ min }} နှင့် {{ max }} ကြားရှိရမည်။ - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - ဖိုင်နာမည်သည် အရှည်လွန်းသည်။ သင်္ကေတ {{ filename_max_length }} သို့မဟုတ် နည်းသည့်အရေအတွက်ရှိရမည်။|ဖိုင်နာမည်သည် အရှည်လွန်းသည်။ သင်္ကေတ {{ filename_max_length }} သို့မဟုတ် နည်းသည့်အရေအတွက်ရှိရမည်။ - - - The password strength is too low. Please use a stronger password. - စကားဝှက်ခိုင်မာမှုနည်းပါးသည်။ ပိုခိုင်မာသော စကားဝှက်ကို သုံးပါ။ - - - This value contains characters that are not allowed by the current restriction-level. - ဤတန်ဖိုးတွင် လက်ရှိကန့်သတ်မှုအဆင့်မှ ခွင့်မပြုထားသော ဇာတ်ကောင်များပါဝင်သည်။ - - - Using invisible characters is not allowed. - မမြင်ရသော ဇာတ်ကောင်များကို သုံးခြင်းကို ခွင့်မပြုပါ။ - - - Mixing numbers from different scripts is not allowed. - မတူညီသော ဇာတ်ကောင်များမှ နံပါတ်များကို ရောနှောစပ်ခြင်းကို ခွင့်မပြုပါ။ - - - Using hidden overlay characters is not allowed. - ပုန်းထားသော အထပ်ကောင်းဇာတ်ကောင်များကို သုံးခြင်းကို ခွင့်မပြုပါ။ - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - ဖိုင်တွင်းတိုးခြင်းသည် မမှန်ကန်ပါ ({{ extension }})။ ခွင့်ပြုထားသော တိုးခြင်းများမှာ {{ extensions }} ဖြစ်သည်။ - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - တွေ့ရှိထားသော စာလုံးကုဒ်စံနစ်သည် မမှန်ကန်ပါ ({{ detected }})။ ခွင့်ပြုထားသော ကုဒ်စံနစ်များမှာ {{ encodings }} ဖြစ်သည်။ - - - This value is not a valid MAC address. - ဤတန်ဖိုးသည် မှန်ကန်သော MAC လိပ်စာ မဟုတ်ပါ။ - - - This URL is missing a top-level domain. - ဤ URL တွင် အမြင့်ဆုံးအဆင့်ဒိုမိန်း ပါဝင်မရှိပါ။ - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - ဤတန်ဖိုးသည် အလွန်တိုတောင်းသည်။ အနည်းဆုံး စကားလုံးတစ်လုံး ပါဝင်သင့်သည်။|ဤတန်ဖိုးသည် အလွန်တိုတောင်းသည်။ အနည်းဆုံး စကားလုံး {{ min }} လုံး ပါဝင်သင့်သည်။ - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - ဤတန်ဖိုးသည် အလွန်ရှည်လျားသည်။ စကားလုံးတစ်လုံးသာ ပါဝင်သင့်သည်။|ဤတန်ဖိုးသည် အလွန်ရှည်လျားသည်။ စကားလုံး {{ max }} လုံး သို့မဟုတ် ထိုထက်နည်းသည် ပါဝင်သင့်သည်။ - - - This value does not represent a valid week in the ISO 8601 format. - ဤတန်ဖိုးသည် ISO 8601 ပုံစံအတိုင်း မသက်ဆိုင်သော သီတင်းပတ်ကို ကိုယ်စားမပြုပါ။ - - - This value is not a valid week. - ဤတန်ဖိုးသည်မှန်ကန်သည့်အပတ်မဟုတ်ပါ။ - - - This value should not be before week "{{ min }}". - ဤတန်ဖိုးသည် သီတင်းပတ် "{{ min }}" မတိုင်မီ ဖြစ်သင့်သည်မဟုတ်ပါ။ - - - This value should not be after week "{{ max }}". - ဤတန်ဖိုးသည် သီတင်းပတ် "{{ max }}" ပြီးနောက် ဖြစ်သင့်သည်မဟုတ်ပါ။ - - - This value is not a valid Twig template. - ဤတန်ဖိုးသည် မှန်ကန်သော Twig တင်းပလိတ်မဟုတ်ပါ။ - - - This file is not a valid video. - ဤဖိုင်သည် မှန်ကန်သော ဗီဒီယို မဟုတ်ပါ။ - - - The size of the video could not be detected. - ဗီဒီယို၏ အရွယ်အစားကို စိစစ်မရနိုင်ခဲ့ပါ။ - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - ဗီဒီယိုအကျယ် {{ width }}px သည် အလွန်ကြီးနေသည်။ ခွင့်ပြုထားသော အများဆုံးအကျယ်မှာ {{ max_width }}px ဖြစ်သည်။ - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - ဗီဒီယိုအကျယ်အဝန်းမှာ သေးလွန်းနေပါတယ် ({{ width }}px)။ ခန့်မှန်းထားသော အနည်းဆုံး အကျယ်မှာ {{ min_width }}px ဖြစ်ပါတယ်။ - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ဗီဒီယိုအမြင့် ကြီးလွန်းသည် ({{ height }}px)။ ခွင့်ပြုထားသော အမြင့်အများဆုံးမှာ {{ max_height }}px ဖြစ်သည်။ - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ဗွီဒီယိုအမြင့် သက်သက်ငယ်နေပါသည် ({{ height }}px)။ မျှော်မှန်းထားသော အနည်းဆုံးအမြင့်မှာ {{ min_height }}px ဖြစ်သည်။ - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - ဗီဒီယိုတွင် ပစ်ဆယ် အရေအတွက် နည်းလွန်းသည် ({{ pixels }})။ မျှော်လင့်ထားသည့် အနည်းဆုံး အရေအတွက်မှာ {{ min_pixels }} ဖြစ်သည်။ - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - ဗီဒီယိုတွင် pixel များ အလွန်များနေသည် ({{ pixels }})။ မျှော်မှန်းထားသော အများဆုံးပမာဏမှာ {{ max_pixels }} ဖြစ်သည်။ - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - ဗီဒီယို အချိုးအစား များလွန်းသည် ({{ ratio }})။ ခွင့်ပြုထားသော အများဆုံး အချိုးအစားမှာ {{ max_ratio }} ဖြစ်သည်။ - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - ဗီဒီယိုအချိုးအစား သောလွန်းငယ်သည် ({{ ratio }})။ ခန့်မှန်းထားသော အနည်းဆုံး အချိုးအစားမှာ {{ min_ratio }} ဖြစ်သည်။ - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - ဗီဒီယိုသည် စတုဂံဖြစ်သည် ({{ width }}x{{ height }}px)။ စတုဂံ ဗီဒီယိုများကို ခွင့်မပြုပါ။ - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - ဗီဒီယိုသည် အလျားလိုက် ({{ width }}x{{ height }} px) ဖြစ်သည်။ အလျားလိုက်ဗီဒီယိုများကို ခွင့်မပြုပါ။ - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - ဗီဒီယိုသည် ဒေါင်လိုက် ရှုထောင့်ဖြစ်သည် ({{ width }}x{{ height }}px)။ ဒေါင်လိုက် ဗီဒီယိုများကို ခွင့်မပြုပါ။ - - - The video file is corrupted. - ဗီဒီယိုဖိုင် ပျက်စီးထားသည်။ - - - The video contains multiple streams. Only one stream is allowed. - ဗီဒီယိုတွင် စီးဆင်းမှုများ များစွာ ပါရှိသည်။ စီးဆင်းမှုတစ်ခုသာ ခွင့်ပြုထားသည်။ - - - Unsupported video codec "{{ codec }}". - ပံ့ပိုးမထားသော ဗီဒီယိုကုဒက် "{{ codec }}" ။ - - - Unsupported video container "{{ container }}". - မပံ့ပိုးထားသော ဗီဒီယို ကွန်တိနာ "{{ container }}". - - - The image file is corrupted. - ပုံဖိုင် ပျက်စီးနေသည်။ - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - ပုံတွင် ပစ်ဆယ်များအလွန်နည်းပါးသည် ({{ pixels }})။ မျှော်မှန်းထားသော အနည်းဆုံး အရေအတွက်မှာ {{ min_pixels }} ဖြစ်သည်။ - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - ပုံတွင် ပစ်ကဆယ်များ အလွန်များနေသည် ({{ pixels }}). လျှောက်ထားထားသော အများဆုံး ပမာဏမှာ {{ max_pixels }} ဖြစ်သည်. - - - This filename does not match the expected charset. - ဤဖိုင်နာမည်သည် မျှော်မှန်းထားသော အက္ခရာစုနှင့် ကိုက်ညီမှုမရှိပါ။ - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.nb.xlf b/app/vendor/symfony/validator/Resources/translations/validators.nb.xlf deleted file mode 100644 index 11ce9777b..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.nb.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Verdien må være usann. - - - This value should be true. - Verdien må være sann. - - - This value should be of type {{ type }}. - Verdien skal ha typen {{ type }}. - - - This value should be blank. - Verdien skal være blank. - - - The value you selected is not a valid choice. - Den valgte verdien er ikke gyldig. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Du må velge minst {{ limit }} valg. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Du kan maks velge {{ limit }} valg. - - - One or more of the given values is invalid. - En eller flere av de oppgitte verdiene er ugyldige. - - - This field was not expected. - Dette feltet var ikke forventet. - - - This field is missing. - Dette feltet mangler. - - - This value is not a valid date. - Verdien er ikke en gyldig dato. - - - This value is not a valid datetime. - Verdien er ikke en gyldig dato/tid. - - - This value is not a valid email address. - Verdien er ikke en gyldig e-postadresse. - - - The file could not be found. - Filen kunne ikke finnes. - - - The file is not readable. - Filen er ikke lesbar. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Filen er for stor ({{ size }} {{ suffix }}). Tilatte maksimale størrelse {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mimetypen av filen er ugyldig ({{ type }}). Tilatte mimetyper er {{ types }}. - - - This value should be {{ limit }} or less. - Verdien må være {{ limit }} tegn lang eller mindre. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Verdien er for lang. Den må ha {{ limit }} tegn eller mindre. - - - This value should be {{ limit }} or more. - Verdien må være {{ limit }} eller mer. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Verdien er for kort. Den må ha {{ limit }} tegn eller flere. - - - This value should not be blank. - Verdien kan ikke være blank. - - - This value should not be null. - Verdien kan ikke være tom (null). - - - This value should be null. - Verdien skal være tom (null). - - - This value is not valid. - Verdien er ugyldig. - - - This value is not a valid time. - Verdien er ikke en gyldig tid. - - - This value is not a valid URL. - Verdien er ikke en gyldig URL. - - - The two values should be equal. - Verdiene skal være identiske. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Filen er for stor. Den maksimale størrelsen er {{ limit }} {{ suffix }}. - - - The file is too large. - Filen er for stor. - - - The file could not be uploaded. - Filen kunne ikke lastes opp. - - - This value should be a valid number. - Verdien skal være et gyldig tall. - - - This file is not a valid image. - Denne filen er ikke et gyldig bilde. - - - This value is not a valid IP address. - Denne verdien er ikke en gyldig IP-adresse. - - - This value is not a valid language. - Verdien er ikke et gyldig språk. - - - This value is not a valid locale. - Verdien er ikke en gyldig lokalitet. - - - This value is not a valid country. - Verdien er ikke et gyldig navn på land. - - - This value is already used. - Verdien er allerede brukt. - - - The size of the image could not be detected. - Bildestørrelsen kunne ikke oppdages. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Bildebredden er for stor ({{ width }} piksler). Tillatt maksimumsbredde er {{ max_width }} piksler. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Bildebredden er for liten ({{ width }} piksler). Forventet minimumsbredde er {{ min_width }} piksler. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Bildehøyden er for stor ({{ height }} piksler). Tillatt maksimumshøyde er {{ max_height }} piksler. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Bildehøyden er for liten ({{ height }} piksler). Forventet minimumshøyde er {{ min_height }} piksler. - - - This value should be the user's current password. - Verdien skal være brukerens sitt nåværende passord. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Verdien skal være nøyaktig {{ limit }} tegn. - - - The file was only partially uploaded. - Filen var kun delvis opplastet. - - - No file was uploaded. - Ingen fil var lastet opp. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Ingen midlertidig mappe ble konfigurert i php.ini, eller den konfigurerte mappen eksisterer ikke. - - - Cannot write temporary file to disk. - Kan ikke skrive midlertidig fil til disk. - - - A PHP extension caused the upload to fail. - En PHP-utvidelse forårsaket en feil under opplasting. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Denne samlingen må inneholde {{ limit }} element eller flere.|Denne samlingen må inneholde {{ limit }} elementer eller flere. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Denne samlingen må inneholde {{ limit }} element eller færre.|Denne samlingen må inneholde {{ limit }} elementer eller færre. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Denne samlingen må inneholde nøyaktig {{ limit }} element.|Denne samlingen må inneholde nøyaktig {{ limit }} elementer. - - - Invalid card number. - Ugyldig kortnummer. - - - Unsupported card type or invalid card number. - Korttypen er ikke støttet eller kortnummeret er ugyldig. - - - This value is not a valid International Bank Account Number (IBAN). - Denne verdien er ikke et gyldig internasjonalt bankkontonummer (IBAN). - - - This value is not a valid ISBN-10. - Verdien er ikke en gyldig ISBN-10. - - - This value is not a valid ISBN-13. - Verdien er ikke en gyldig ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Verdien er hverken en gyldig ISBN-10 eller ISBN-13. - - - This value is not a valid ISSN. - Verdien er ikke en gyldig ISSN. - - - This value is not a valid currency. - Verdien er ikke gyldig valuta. - - - This value should be equal to {{ compared_value }}. - Verdien skal være lik {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Verdien skal være større enn {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Verdien skal være større enn eller lik {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Verdien skal være identisk med {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Verdien skal være mindre enn {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Verdien skal være mindre enn eller lik {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Verdien skal ikke være lik {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Verdien skal ikke være identisk med {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Bildeforholdet er for stort ({{ ratio }}). Tillatt bildeforhold er maks {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Bildeforholdet er for lite ({{ ratio }}). Forventet bildeforhold er minst {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Bildet er en kvadrat ({{ width }}x{{ height }}px). Kvadratiske bilder er ikke tillatt. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Bildet er i liggende retning ({{ width }}x{{ height }}px). Bilder i liggende retning er ikke tillatt. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Bildet er i stående retning ({{ width }}x{{ height }}px). Bilder i stående retning er ikke tillatt. - - - An empty file is not allowed. - Tomme filer er ikke tilatt. - - - The host could not be resolved. - Vertsnavn kunne ikke løses. - - - This value does not match the expected {{ charset }} charset. - Verdien samsvarer ikke med forventet tegnsett {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Denne verdien er ikke en gyldig forretningsidentifikasjonskode (BIC). - - - Error - Feil - - - This value is not a valid UUID. - Denne verdien er ikke en gyldig UUID. - - - This value should be a multiple of {{ compared_value }}. - Verdien skal være flertall av {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Business Identifier Code (BIC) er ikke tilknyttet en IBAN {{ iban }}. - - - This value should be valid JSON. - Verdien er ikke gyldig JSON. - - - This collection should contain only unique elements. - Samlingen kan kun inneholde unike elementer. - - - This value should be positive. - Denne verdien må være positiv. - - - This value should be either positive or zero. - Denne verdien må være positiv eller null. - - - This value should be negative. - Denne verdien må være negativ. - - - This value should be either negative or zero. - Denne verdien må være negativ eller null. - - - This value is not a valid timezone. - Verdien er ikke en gyldig tidssone. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Dette passordet er lekket i et datainnbrudd, det må ikke tas i bruk. Vennligst bruk et annet passord. - - - This value should be between {{ min }} and {{ max }}. - Verdien må være mellom {{ min }} og {{ max }}. - - - This value is not a valid hostname. - Denne verdien er ikke et gyldig vertsnavn. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Antall elementer i denne samlingen bør være et multiplum av {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Denne verdien skal tilfredsstille minst en av følgende begrensninger: - - - Each element of this collection should satisfy its own set of constraints. - Hvert element i denne samlingen skal tilfredsstille sitt eget sett med begrensninger. - - - This value is not a valid International Securities Identification Number (ISIN). - Denne verdien er ikke et gyldig International Securities Identification Number (ISIN). - - - This value should be a valid expression. - Denne verdien skal være et gyldig uttrykk. - - - This value is not a valid CSS color. - Denne verdien er ikke en gyldig CSS-farge. - - - This value is not a valid CIDR notation. - Denne verdien er ikke en gyldig CIDR-notasjon. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Verdien på nettmasken skal være mellom {{ min }} og {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Filnavnet er for langt. Det bør ha {{ filename_max_length }} tegn eller mindre.|Filnavnet er for langt. Det bør ha {{ filename_max_length }} tegn eller mindre. - - - The password strength is too low. Please use a stronger password. - Passordstyrken er for lav. Vennligst bruk et sterkere passord. - - - This value contains characters that are not allowed by the current restriction-level. - Denne verdien inneholder tegn som ikke er tillatt av gjeldende restriksjonsnivå. - - - Using invisible characters is not allowed. - Det er ikke tillatt å bruke usynlige tegn. - - - Mixing numbers from different scripts is not allowed. - Det er ikke tillatt å blande tall fra forskjellige skript. - - - Using hidden overlay characters is not allowed. - Det er ikke tillatt å bruke skjulte overleggskarakterer. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Filutvidelsen er ugyldig ({{ extension }}). Tillatte utvidelser er {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Den oppdagede tegnkodingen er ugyldig ({{ detected }}). Tillatte kodinger er {{ encodings }}. - - - This value is not a valid MAC address. - Denne verdien er ikke en gyldig MAC-adresse. - - - This URL is missing a top-level domain. - Denne URL-en mangler et toppnivådomene. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Denne verdien er for kort. Den bør inneholde minst ett ord.|Denne verdien er for kort. Den bør inneholde minst {{ min }} ord. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Denne verdien er for lang. Den bør inneholde kun ett ord.|Denne verdien er for lang. Den bør inneholde {{ max }} ord eller færre. - - - This value does not represent a valid week in the ISO 8601 format. - Denne verdien representerer ikke en gyldig uke i ISO 8601-formatet. - - - This value is not a valid week. - Denne verdien er ikke en gyldig uke. - - - This value should not be before week "{{ min }}". - Denne verdien bør ikke være før uke "{{ min }}". - - - This value should not be after week "{{ max }}". - Denne verdien bør ikke være etter uke "{{ max }}". - - - This value is not a valid Twig template. - Denne verdien er ikke en gyldig Twig-mal. - - - This file is not a valid video. - Denne filen er ikke en gyldig video. - - - The size of the video could not be detected. - Videostørrelsen kunne ikke oppdages. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Videobredden er for stor ({{ width }}px). Tillatt maksimal bredde er {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Videobredden er for liten ({{ width }}px). Forventet minimumsbredde er {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Videohøyden er for stor ({{ height }}px). Tillatt maksimal høyde er {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Videoens høyde er for liten ({{ height }}px). Forventet minstehøyde er {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoen har for få piksler ({{ pixels }}). Forventet minimum er {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoen har for mange piksler ({{ pixels }}). Forventet maksimalt antall er {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video-forholdet er for stort ({{ ratio }}). Tillatt maksimalt forhold er {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Videoforholdet er for lite ({{ ratio }}). Forventet minimumsforhold er {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Videoen er kvadratisk ({{ width }}x{{ height }}px). Kvadratiske videoer er ikke tillatt. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Videoen er i liggende format ({{ width }}x{{ height }} px). Liggende videoer er ikke tillatt. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Videoen er i portrettformat ({{ width }}x{{ height }}px). Portrettvideoer er ikke tillatt. - - - The video file is corrupted. - Videofilen er ødelagt. - - - The video contains multiple streams. Only one stream is allowed. - Videoen inneholder flere strømmer. Kun én strøm er tillatt. - - - Unsupported video codec "{{ codec }}". - Ikke støttet videokodek «{{ codec }}». - - - Unsupported video container "{{ container }}". - Ikke-støttet videokontainer "{{ container }}". - - - The image file is corrupted. - Bildefilen er ødelagt. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Bildet har for få piksler ({{ pixels }}). Forventet minimum er {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Bildet har for mange piksler ({{ pixels }}). Forventet maksimalt antall er {{ max_pixels }}. - - - This filename does not match the expected charset. - Dette filnavnet samsvarer ikke med forventet tegnsett. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.nl.xlf b/app/vendor/symfony/validator/Resources/translations/validators.nl.xlf deleted file mode 100644 index 74bea6f48..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.nl.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Deze waarde moet onwaar zijn. - - - This value should be true. - Deze waarde moet waar zijn. - - - This value should be of type {{ type }}. - Deze waarde moet van het type {{ type }} zijn. - - - This value should be blank. - Deze waarde moet leeg zijn. - - - The value you selected is not a valid choice. - De geselecteerde waarde is geen geldige optie. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Selecteer ten minste {{ limit }} optie.|Selecteer ten minste {{ limit }} opties. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Selecteer maximaal {{ limit }} optie.|Selecteer maximaal {{ limit }} opties. - - - One or more of the given values is invalid. - Eén of meer van de ingegeven waarden zijn ongeldig. - - - This field was not expected. - Dit veld werd niet verwacht. - - - This field is missing. - Dit veld ontbreekt. - - - This value is not a valid date. - Deze waarde is geen geldige datum. - - - This value is not a valid datetime. - Deze waarde is geen geldige datum en tijd. - - - This value is not a valid email address. - Deze waarde is geen geldig e-mailadres. - - - The file could not be found. - Het bestand kon niet gevonden worden. - - - The file is not readable. - Het bestand is niet leesbaar. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Het bestand is te groot ({{ size }} {{ suffix }}). De maximale grootte is {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Het mediatype van het bestand is ongeldig ({{ type }}). De toegestane mediatypes zijn {{ types }}. - - - This value should be {{ limit }} or less. - Deze waarde moet {{ limit }} of minder zijn. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Deze waarde is te lang. Deze mag maximaal één teken bevatten.|Deze waarde is te lang. Deze mag maximaal {{ limit }} tekens bevatten. - - - This value should be {{ limit }} or more. - Deze waarde moet {{ limit }} of meer zijn. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Deze waarde is te kort. Deze moet ten minste één teken bevatten.|Deze waarde is te kort. Deze moet ten minste {{ limit }} tekens bevatten. - - - This value should not be blank. - Deze waarde mag niet leeg zijn. - - - This value should not be null. - Deze waarde mag niet null zijn. - - - This value should be null. - Deze waarde moet null zijn. - - - This value is not valid. - Deze waarde is niet geldig. - - - This value is not a valid time. - Deze waarde is geen geldige tijd. - - - This value is not a valid URL. - Deze waarde is geen geldige URL. - - - The two values should be equal. - De twee waarden moeten gelijk zijn. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Het bestand is te groot. De maximale grootte is {{ limit }} {{ suffix }}. - - - The file is too large. - Het bestand is te groot. - - - The file could not be uploaded. - Het bestand kon niet worden geüpload. - - - This value should be a valid number. - Deze waarde moet een geldig getal zijn. - - - This file is not a valid image. - Dit bestand is geen geldige afbeelding. - - - This value is not a valid IP address. - Deze waarde is geen geldig IP-adres. - - - This value is not a valid language. - Deze waarde is geen geldige taal. - - - This value is not a valid locale. - Deze waarde is geen geldige landinstelling. - - - This value is not a valid country. - Deze waarde is geen geldig land. - - - This value is already used. - Deze waarde wordt al gebruikt. - - - The size of the image could not be detected. - De grootte van de afbeelding kon niet bepaald worden. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - De afbeelding is te breed ({{ width }}px). De maximale breedte is {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - De afbeelding is niet breed genoeg ({{ width }}px). De minimaal verwachte breedte is {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - De afbeelding is te hoog ({{ height }}px). De maximale hoogte is {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - De afbeelding is niet hoog genoeg ({{ height }}px). De minimaal verwachte hoogte is {{ min_height }}px. - - - This value should be the user's current password. - Deze waarde moet het huidige wachtwoord van de gebruiker zijn. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Deze waarde moet exact één teken lang zijn.|Deze waarde moet exact {{ limit }} tekens lang zijn. - - - The file was only partially uploaded. - Het bestand is slechts gedeeltelijk geüpload. - - - No file was uploaded. - Er is geen bestand geüpload. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Er is geen tijdelijke map geconfigureerd in php.ini, of de gespecificeerde map bestaat niet. - - - Cannot write temporary file to disk. - Kan het tijdelijke bestand niet wegschrijven op de schijf. - - - A PHP extension caused the upload to fail. - De upload is mislukt vanwege een PHP-extensie. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Deze collectie moet één of meer elementen bevatten.|Deze collectie moet {{ limit }} of meer elementen bevatten. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Deze collectie moet één of minder elementen bevatten.|Deze collectie moet {{ limit }} of minder elementen bevatten. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Deze collectie moet exact één element bevatten.|Deze collectie moet exact {{ limit }} elementen bevatten. - - - Invalid card number. - Ongeldig creditcardnummer. - - - Unsupported card type or invalid card number. - Niet-ondersteund type creditcard of ongeldig nummer. - - - This value is not a valid International Bank Account Number (IBAN). - Deze waarde is geen geldig internationaal bankrekeningnummer (IBAN). - - - This value is not a valid ISBN-10. - Deze waarde is geen geldige ISBN-10. - - - This value is not a valid ISBN-13. - Deze waarde is geen geldige ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Deze waarde is geen geldige ISBN-10 of ISBN-13. - - - This value is not a valid ISSN. - Deze waarde is geen geldige ISSN. - - - This value is not a valid currency. - Deze waarde is geen geldige valuta. - - - This value should be equal to {{ compared_value }}. - Deze waarde moet gelijk zijn aan {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Deze waarde moet groter zijn dan {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Deze waarde moet groter of gelijk aan {{ compared_value }} zijn. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Deze waarde moet identiek zijn aan {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Deze waarde moet minder zijn dan {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Deze waarde moet minder dan of gelijk aan {{ compared_value }} zijn. - - - This value should not be equal to {{ compared_value }}. - Deze waarde mag niet gelijk zijn aan {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Deze waarde mag niet identiek zijn aan {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - De afbeeldingsverhouding is te groot ({{ ratio }}). De maximale verhouding is {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - De afbeeldingsverhouding is te klein ({{ ratio }}). De minimale verhouding is {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - De afbeelding is vierkant ({{ width }}x{{ height }}px). Vierkante afbeeldingen zijn niet toegestaan. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - De afbeelding is liggend ({{ width }}x{{ height }}px). Liggende afbeeldingen zijn niet toegestaan. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - De afbeelding is staand ({{ width }}x{{ height }}px). Staande afbeeldingen zijn niet toegestaan. - - - An empty file is not allowed. - Lege bestanden zijn niet toegestaan. - - - The host could not be resolved. - De hostnaam kon niet worden gevonden. - - - This value does not match the expected {{ charset }} charset. - Deze waarde is niet in de verwachte tekencodering {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Deze waarde is geen geldige bankidentificatiecode (BIC). - - - Error - Fout - - - This value is not a valid UUID. - Deze waarde is geen geldige UUID. - - - This value should be a multiple of {{ compared_value }}. - Deze waarde moet een meervoud van {{ compared_value }} zijn. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Deze bankidentificatiecode (BIC) is niet gekoppeld aan IBAN {{ iban }}. - - - This value should be valid JSON. - Deze waarde moet geldige JSON zijn. - - - This collection should contain only unique elements. - Deze collectie mag alleen unieke elementen bevatten. - - - This value should be positive. - Deze waarde moet positief zijn. - - - This value should be either positive or zero. - Deze waarde moet positief of gelijk aan nul zijn. - - - This value should be negative. - Deze waarde moet negatief zijn. - - - This value should be either negative or zero. - Deze waarde moet negatief of gelijk aan nul zijn. - - - This value is not a valid timezone. - Deze waarde is geen geldige tijdzone. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Dit wachtwoord is gelekt bij een datalek en mag niet worden gebruikt. Kies een ander wachtwoord. - - - This value should be between {{ min }} and {{ max }}. - Deze waarde moet zich tussen {{ min }} en {{ max }} bevinden. - - - This value is not a valid hostname. - Deze waarde is geen geldige hostnaam. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Het aantal elementen van deze collectie moet een veelvoud zijn van {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Deze waarde moet voldoen aan tenminste een van de volgende voorwaarden: - - - Each element of this collection should satisfy its own set of constraints. - Elk element van deze collectie moet voldoen aan zijn eigen set voorwaarden. - - - This value is not a valid International Securities Identification Number (ISIN). - Deze waarde is geen geldig International Securities Identification Number (ISIN). - - - This value should be a valid expression. - Deze waarde moet een geldige expressie zijn. - - - This value is not a valid CSS color. - Deze waarde is geen geldige CSS kleur. - - - This value is not a valid CIDR notation. - Deze waarde is geen geldige CIDR-notatie. - - - The value of the netmask should be between {{ min }} and {{ max }}. - De waarde van het netmasker moet tussen {{ min }} en {{ max }} liggen. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - De bestandsnaam is te lang. Het moet {{ filename_max_length }} of minder karakters zijn.|De bestandsnaam is te lang. Het moet {{ filename_max_length }} of minder karakters zijn. - - - The password strength is too low. Please use a stronger password. - Het wachtwoord is niet sterk genoeg. Probeer een sterker wachtwoord. - - - This value contains characters that are not allowed by the current restriction-level. - Deze waarde bevat tekens die niet zijn toegestaan volgens het huidige beperkingsniveau. - - - Using invisible characters is not allowed. - Het gebruik van onzichtbare tekens is niet toegestaan. - - - Mixing numbers from different scripts is not allowed. - Het mengen van cijfers uit verschillende schriften is niet toegestaan. - - - Using hidden overlay characters is not allowed. - Het gebruik van verborgen overlay-tekens is niet toegestaan. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - De bestandsextensie is ongeldig ({{ extension }}). De toegestane extensies zijn {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - De gedetecteerde karaktercodering is ongeldig ({{ detected }}). De toegestane coderingen zijn {{ encodings }}. - - - This value is not a valid MAC address. - Deze waarde is geen geldig MAC-adres. - - - This URL is missing a top-level domain. - Deze URL mist een top-level domein. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Deze waarde is te kort. Het moet ten minste één woord bevatten.|Deze waarde is te kort. Het moet ten minste {{ min }} woorden bevatten. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Deze waarde is te lang. Het moet één woord zijn.|Deze waarde is te lang. Het mag maximaal {{ max }} woorden bevatten. - - - This value does not represent a valid week in the ISO 8601 format. - Deze waarde vertegenwoordigt geen geldige week in het ISO 8601-formaat. - - - This value is not a valid week. - Deze waarde is geen geldige week. - - - This value should not be before week "{{ min }}". - Deze waarde mag niet vóór week "{{ min }}" liggen. - - - This value should not be after week "{{ max }}". - Deze waarde mag niet na week "{{ max }}" liggen. - - - This value is not a valid Twig template. - Deze waarde is geen geldige Twig-template. - - - This file is not a valid video. - Dit bestand is geen geldige video. - - - The size of the video could not be detected. - De grootte van de video kon niet worden gedetecteerd. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - De videobreedte is te groot ({{ width }}px). Toegestane maximale breedte is {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - De videobreedte is te klein ({{ width }}px). Verwachte minimum breedte is {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - De videohoogte is te groot ({{ height }}px). Toegestane maximale hoogte is {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - De videohoogte is te klein ({{ height }}px). Verwachte minimale hoogte is {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - De video heeft te weinig pixels ({{ pixels }}). Verwachte minimumaantal is {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - De video heeft te veel pixels ({{ pixels }}). Het verwachte maximum is {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - De videoratio is te groot ({{ ratio }}). Toegestane maximale ratio is {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - De videoratio is te klein ({{ ratio }}). Verwachte minimumverhouding is {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - De video is vierkant ({{ width }}x{{ height }}px). Vierkante video's zijn niet toegestaan. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - De video is in liggende oriëntatie ({{ width }}x{{ height }} px). Liggende video's zijn niet toegestaan. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - De video is in portretstand ({{ width }}x{{ height }}px). Video's in portretstand zijn niet toegestaan. - - - The video file is corrupted. - Het videobestand is beschadigd. - - - The video contains multiple streams. Only one stream is allowed. - De video bevat meerdere streams. Slechts één stream is toegestaan. - - - Unsupported video codec "{{ codec }}". - Niet-ondersteunde videocodec ‘{{ codec }}’. - - - Unsupported video container "{{ container }}". - Niet-ondersteunde videocontainer "{{ container }}". - - - The image file is corrupted. - Het afbeeldingsbestand is beschadigd. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - De afbeelding heeft te weinig pixels ({{ pixels }}). Verwachte minimumhoeveelheid is {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - De afbeelding heeft te veel pixels ({{ pixels }}). Het verwachte maximum is {{ max_pixels }}. - - - This filename does not match the expected charset. - Deze bestandsnaam komt niet overeen met de verwachte tekencodering. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.nn.xlf b/app/vendor/symfony/validator/Resources/translations/validators.nn.xlf deleted file mode 100644 index 16dbe2727..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.nn.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Verdien skulle ha vore tom/nei. - - - This value should be true. - Verdien skulla ha vore satt/ja. - - - This value should be of type {{ type }}. - Verdien må vere av typen {{ type }}. - - - This value should be blank. - Verdien skal vere blank. - - - The value you selected is not a valid choice. - Verdien du valde er ikkje gyldig. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Du må gjere minst {{ limit }} val. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Du kan maksimalt gjere {{ limit }} val. - - - One or more of the given values is invalid. - Ein eller fleire av dei opplyste verdiane er ugyldige. - - - This field was not expected. - Dette feltet var ikkje forventa. - - - This field is missing. - Dette feltet mangler. - - - This value is not a valid date. - Verdien er ikkje ein gyldig dato. - - - This value is not a valid datetime. - Verdien er ikkje ein gyldig dato og tid. - - - This value is not a valid email address. - Verdien er ikkje ei gyldig e-postadresse. - - - The file could not be found. - Fila er ikkje funnen. - - - The file is not readable. - Fila kan ikkje lesast. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Fila er for stor ({{ size }} {{ suffix }}). Maksimal storleik er {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mime-typen av fila er ugyldig ({{ type }}). Tillatne mime-typar er {{ types }}. - - - This value should be {{ limit }} or less. - Verdien må vere {{ limit }} eller mindre. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Verdien er for lang. Den må vere {{ limit }} bokstavar eller mindre. - - - This value should be {{ limit }} or more. - Verdien må vere {{ limit }} eller meir. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Verdien er for kort. Den må ha {{ limit }} teikn eller fleire. - - - This value should not be blank. - Verdien kan ikkje vere blank. - - - This value should not be null. - Verdien kan ikkje vere tom (null). - - - This value should be null. - Verdien må vere tom (null). - - - This value is not valid. - Verdien er ikkje gyldig. - - - This value is not a valid time. - Verdien er ikkje ei gyldig tidseining. - - - This value is not a valid URL. - Verdien er ikkje ein gyldig URL. - - - The two values should be equal. - Dei to verdiane må vere like. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Fila er for stor. Den maksimale storleiken er {{ limit }} {{ suffix }}. - - - The file is too large. - Fila er for stor. - - - The file could not be uploaded. - Fila kunne ikkje bli lasta opp. - - - This value should be a valid number. - Verdien må vere eit gyldig tal. - - - This file is not a valid image. - Fila er ikkje eit gyldig bilete. - - - This value is not a valid IP address. - Denne verdien er ikkje ein gyldig IP-adresse. - - - This value is not a valid language. - Verdien er ikkje eit gyldig språk. - - - This value is not a valid locale. - Verdien er ikkje ein gyldig lokalitet (språk/region). - - - This value is not a valid country. - Verdien er ikkje eit gyldig land. - - - This value is already used. - Verdien er allereie i bruk. - - - The size of the image could not be detected. - Storleiken på biletet kunne ikkje oppdagast. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Biletbreidda er for stor, ({{ width }} pikslar). Tillaten maksimumsbreidde er {{ max_width }} pikslar. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Biletbreidda er for liten, ({{ width }} pikslar). Forventa minimumsbreidde er {{ min_width }} pikslar. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Bilethøgda er for stor, ({{ height }} pikslar). Tillaten maksimumshøgde er {{ max_height }} pikslar. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Billethøgda er for låg, ({{ height }} pikslar). Forventa minimumshøgde er {{ min_height }} pikslar. - - - This value should be the user's current password. - Verdien må vere brukaren sitt noverande passord. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Verdien må vere nøyaktig {{ limit }} teikn. - - - The file was only partially uploaded. - Fila vart berre delvis lasta opp. - - - No file was uploaded. - Inga fil vart lasta opp. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Ingen midlertidig mappe var konfigurert i php.ini, eller den konfigurerte mappa eksisterer ikkje. - - - Cannot write temporary file to disk. - Kan ikkje skrive førebels fil til disk. - - - A PHP extension caused the upload to fail. - Ei PHP-udviding forårsaka feil under opplasting. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Denne samlinga må innehalde {{ limit }} element eller meir.|Denne samlinga må innehalde {{ limit }} element eller meir. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Denne samlinga må innehalde {{ limit }} element eller færre.|Denne samlinga må innehalde {{ limit }} element eller færre. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Denne samlinga må innehalde nøyaktig {{ limit }} element.|Denne samlinga må innehalde nøyaktig {{ limit }} element. - - - Invalid card number. - Ugyldig kortnummer. - - - Unsupported card type or invalid card number. - Korttypen er ikkje støtta, eller kortnummeret er ugyldig. - - - This value is not a valid International Bank Account Number (IBAN). - Denne verdien er ikkje eit gyldig internasjonalt bankkontonummer (IBAN). - - - This value is not a valid ISBN-10. - Verdien er ikkje eit gyldig ISBN-10. - - - This value is not a valid ISBN-13. - Verdien er ikkje eit gyldig ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Verdien er verken eit gyldig ISBN-10 eller eit gyldig ISBN-13. - - - This value is not a valid ISSN. - Verdien er ikkje eit gyldig ISSN. - - - This value is not a valid currency. - Verdien er ikkje ein gyldig valuta. - - - This value should be equal to {{ compared_value }}. - Verdien bør vera eins med {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Verdien bør vera større enn {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Verdien bør vera større enn eller eins med {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Verdien bør vera eins med {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Verdien bør vera mindre enn {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Verdi bør vera mindre enn eller eins med {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Verdi bør ikkje vera eins med {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Denne verdien bør ikkje vera eins med {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Sideforholdet til biletet er for stort ({{ ratio }}). Sideforholdet kan ikkje vere større enn {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Sideforholdet til biletet er for lite ({{ ratio }}). Sideforholdet kan ikkje vere mindre enn {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Biletet er kvadratisk ({{ width }}x{{ height }}px). Kvadratiske bilete er ikkje tillatne. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Biletet er landskapsorientert ({{ width }}x{{ height }}px). Landskapsorienterte bilete er ikkje tillatne. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Biletet er portrettorientert ({{ width }}x{{ height }}px). Portrettorienterte bilete er ikkje tillatne. - - - An empty file is not allowed. - Ei tom fil er ikkje tillate. - - - The host could not be resolved. - Verten kunne ikkje finnast. - - - This value does not match the expected {{ charset }} charset. - Verdien stemmer ikkje med forventa {{ charset }} charset. - - - This value is not a valid Business Identifier Code (BIC). - Denne verdien er ikkje ein gyldig forretningsidentifikasjonskode (BIC). - - - Error - Feil - - - This value is not a valid UUID. - Denne verdien er ikkje ein gyldig UUID. - - - This value should be a multiple of {{ compared_value }}. - Verdien bør vera eit multipel av {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Denne Business Identifier Code (BIC) er ikkje kopla til IBAN {{ iban }}. - - - This value should be valid JSON. - Verdien bør vera gyldig JSON. - - - This collection should contain only unique elements. - Denne samlinga bør berre innehalda unike element. - - - This value should be positive. - Verdien bør vera positiv. - - - This value should be either positive or zero. - Verdien bør vera anten positiv eller null. - - - This value should be negative. - Verdien bør vera negativ. - - - This value should be either negative or zero. - Verdien bør vera negativ eller null. - - - This value is not a valid timezone. - Verdien er ikkje ei gyldig tidssone. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Dette passordet har lekt ut ved eit datainnbrot, det får ikkje nyttast. Gje opp eit anna passord. - - - This value should be between {{ min }} and {{ max }}. - Denne verdien bør liggje mellom {{ min }} og {{ max }}. - - - This value is not a valid hostname. - Verdien er ikkje eit gyldig vertsnamn. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Talet på element i denne samlinga bør vera eit multippel av {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Verdien burde oppfylla minst ein av følgjande avgrensingar: - - - Each element of this collection should satisfy its own set of constraints. - Kvart element i denne samlinga bør oppfylla sine eigne avgrensingar. - - - This value is not a valid International Securities Identification Number (ISIN). - Verdien er ikkje eit gyldig International Securities Identification Number (ISIN). - - - This value should be a valid expression. - Denne verdien skal være et gyldig uttrykk. - - - This value is not a valid CSS color. - Denne verdien er ikke en gyldig CSS-farge. - - - This value is not a valid CIDR notation. - Denne verdien er ikke en gyldig CIDR-notasjon. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Verdien av nettmasken skal være mellom {{ min }} og {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Filnamnet er for langt. Det bør ha {{ filename_max_length }} teikn eller færre.|Filnamnet er for langt. Det bør ha {{ filename_max_length }} teikn eller færre. - - - The password strength is too low. Please use a stronger password. - Passordstyrken er for låg. Vennligst bruk eit sterkare passord. - - - This value contains characters that are not allowed by the current restriction-level. - Denne verdien inneheld teikn som ikkje er tillatne av det gjeldande restriksjonsnivået. - - - Using invisible characters is not allowed. - Det er ikkje tillate å bruke usynlege teikn. - - - Mixing numbers from different scripts is not allowed. - Det er ikkje tillate å blande tal frå forskjellige skript. - - - Using hidden overlay characters is not allowed. - Det er ikkje tillate å bruke skjulte overleggsteikn. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Filutvidinga er ugyldig ({{ extension }}). Tillatne utvidingar er {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Den oppdaga teiknkodinga er ugyldig ({{ detected }}). Tillatne kodingar er {{ encodings }}. - - - This value is not a valid MAC address. - Denne verdien er ikkje ein gyldig MAC-adresse. - - - This URL is missing a top-level domain. - Denne URL-en manglar eit toppnivådomene. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Denne verdien er for kort. Han bør innehalde minst eitt ord.|Denne verdien er for kort. Han bør innehalde minst {{ min }} ord. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Denne verdien er for lang. Han bør innehalde berre eitt ord.|Denne verdien er for lang. Han bør innehalde {{ max }} ord eller færre. - - - This value does not represent a valid week in the ISO 8601 format. - Denne verdien representerer ikkje ein gyldig veke i ISO 8601-formatet. - - - This value is not a valid week. - Denne verdien er ikkje ei gyldig veke. - - - This value should not be before week "{{ min }}". - Denne verdien bør ikkje vere før veke "{{ min }}". - - - This value should not be after week "{{ max }}". - Denne verdien bør ikkje vere etter veke "{{ max }}". - - - This value is not a valid Twig template. - Denne verdien er ikkje ein gyldig Twig-mal. - - - This file is not a valid video. - Denne fila er ikkje ein gyldig video. - - - The size of the video could not be detected. - Storleiken på videoen kunne ikkje oppdagast. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Videobreidda er for stor ({{ width }}px). Tillaten maksimal breidde er {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Videobreidda er for lita ({{ width }}px). Forventa minimumsbreidde er {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Videoen si høgd er for stor ({{ height }}px). Tillaten maksimal høgd er {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Videohøgda er for lita ({{ height }}px). Forventa minstehøgd er {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoen har for få pikslar ({{ pixels }}). Forventa minimum er {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoen har for mange pikslar ({{ pixels }}). Forventa maksimalt tal er {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Videoforholdet er for stort ({{ ratio }}). Tillaten maksimal forhold er {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Videoforholdet er for lite ({{ ratio }}). Forventa minimumsforhold er {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Videoen er kvadratisk ({{ width }}x{{ height }}px). Kvadratiske videoar er ikkje tillatne. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Videoen er i liggjande format ({{ width }}x{{ height }} px). Liggjande videoar er ikkje tillatne. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Videoen er i portrettformat ({{ width }}x{{ height }}px). Portrettvideoar er ikkje tillatne. - - - The video file is corrupted. - Videofila er skadd. - - - The video contains multiple streams. Only one stream is allowed. - Videoen inneheld fleire straumar. Berre éin straum er tillaten. - - - Unsupported video codec "{{ codec }}". - Ikkje støtta videokodek «{{ codec }}». - - - Unsupported video container "{{ container }}". - Ikkje-støtta videokontainer "{{ container }}". - - - The image file is corrupted. - Bildefila er skadd. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Biletet har for få pikslar ({{ pixels }}). Forventa minimum er {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Biletet har for mange pikslar ({{ pixels }}). Forventa maksimalt tal er {{ max_pixels }}. - - - This filename does not match the expected charset. - Dette filnamnet samsvarar ikkje med forventa teiknsett. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.no.xlf b/app/vendor/symfony/validator/Resources/translations/validators.no.xlf deleted file mode 100644 index 11ce9777b..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.no.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Verdien må være usann. - - - This value should be true. - Verdien må være sann. - - - This value should be of type {{ type }}. - Verdien skal ha typen {{ type }}. - - - This value should be blank. - Verdien skal være blank. - - - The value you selected is not a valid choice. - Den valgte verdien er ikke gyldig. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Du må velge minst {{ limit }} valg. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Du kan maks velge {{ limit }} valg. - - - One or more of the given values is invalid. - En eller flere av de oppgitte verdiene er ugyldige. - - - This field was not expected. - Dette feltet var ikke forventet. - - - This field is missing. - Dette feltet mangler. - - - This value is not a valid date. - Verdien er ikke en gyldig dato. - - - This value is not a valid datetime. - Verdien er ikke en gyldig dato/tid. - - - This value is not a valid email address. - Verdien er ikke en gyldig e-postadresse. - - - The file could not be found. - Filen kunne ikke finnes. - - - The file is not readable. - Filen er ikke lesbar. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Filen er for stor ({{ size }} {{ suffix }}). Tilatte maksimale størrelse {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mimetypen av filen er ugyldig ({{ type }}). Tilatte mimetyper er {{ types }}. - - - This value should be {{ limit }} or less. - Verdien må være {{ limit }} tegn lang eller mindre. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Verdien er for lang. Den må ha {{ limit }} tegn eller mindre. - - - This value should be {{ limit }} or more. - Verdien må være {{ limit }} eller mer. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Verdien er for kort. Den må ha {{ limit }} tegn eller flere. - - - This value should not be blank. - Verdien kan ikke være blank. - - - This value should not be null. - Verdien kan ikke være tom (null). - - - This value should be null. - Verdien skal være tom (null). - - - This value is not valid. - Verdien er ugyldig. - - - This value is not a valid time. - Verdien er ikke en gyldig tid. - - - This value is not a valid URL. - Verdien er ikke en gyldig URL. - - - The two values should be equal. - Verdiene skal være identiske. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Filen er for stor. Den maksimale størrelsen er {{ limit }} {{ suffix }}. - - - The file is too large. - Filen er for stor. - - - The file could not be uploaded. - Filen kunne ikke lastes opp. - - - This value should be a valid number. - Verdien skal være et gyldig tall. - - - This file is not a valid image. - Denne filen er ikke et gyldig bilde. - - - This value is not a valid IP address. - Denne verdien er ikke en gyldig IP-adresse. - - - This value is not a valid language. - Verdien er ikke et gyldig språk. - - - This value is not a valid locale. - Verdien er ikke en gyldig lokalitet. - - - This value is not a valid country. - Verdien er ikke et gyldig navn på land. - - - This value is already used. - Verdien er allerede brukt. - - - The size of the image could not be detected. - Bildestørrelsen kunne ikke oppdages. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Bildebredden er for stor ({{ width }} piksler). Tillatt maksimumsbredde er {{ max_width }} piksler. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Bildebredden er for liten ({{ width }} piksler). Forventet minimumsbredde er {{ min_width }} piksler. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Bildehøyden er for stor ({{ height }} piksler). Tillatt maksimumshøyde er {{ max_height }} piksler. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Bildehøyden er for liten ({{ height }} piksler). Forventet minimumshøyde er {{ min_height }} piksler. - - - This value should be the user's current password. - Verdien skal være brukerens sitt nåværende passord. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Verdien skal være nøyaktig {{ limit }} tegn. - - - The file was only partially uploaded. - Filen var kun delvis opplastet. - - - No file was uploaded. - Ingen fil var lastet opp. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Ingen midlertidig mappe ble konfigurert i php.ini, eller den konfigurerte mappen eksisterer ikke. - - - Cannot write temporary file to disk. - Kan ikke skrive midlertidig fil til disk. - - - A PHP extension caused the upload to fail. - En PHP-utvidelse forårsaket en feil under opplasting. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Denne samlingen må inneholde {{ limit }} element eller flere.|Denne samlingen må inneholde {{ limit }} elementer eller flere. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Denne samlingen må inneholde {{ limit }} element eller færre.|Denne samlingen må inneholde {{ limit }} elementer eller færre. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Denne samlingen må inneholde nøyaktig {{ limit }} element.|Denne samlingen må inneholde nøyaktig {{ limit }} elementer. - - - Invalid card number. - Ugyldig kortnummer. - - - Unsupported card type or invalid card number. - Korttypen er ikke støttet eller kortnummeret er ugyldig. - - - This value is not a valid International Bank Account Number (IBAN). - Denne verdien er ikke et gyldig internasjonalt bankkontonummer (IBAN). - - - This value is not a valid ISBN-10. - Verdien er ikke en gyldig ISBN-10. - - - This value is not a valid ISBN-13. - Verdien er ikke en gyldig ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Verdien er hverken en gyldig ISBN-10 eller ISBN-13. - - - This value is not a valid ISSN. - Verdien er ikke en gyldig ISSN. - - - This value is not a valid currency. - Verdien er ikke gyldig valuta. - - - This value should be equal to {{ compared_value }}. - Verdien skal være lik {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Verdien skal være større enn {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Verdien skal være større enn eller lik {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Verdien skal være identisk med {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Verdien skal være mindre enn {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Verdien skal være mindre enn eller lik {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Verdien skal ikke være lik {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Verdien skal ikke være identisk med {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Bildeforholdet er for stort ({{ ratio }}). Tillatt bildeforhold er maks {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Bildeforholdet er for lite ({{ ratio }}). Forventet bildeforhold er minst {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Bildet er en kvadrat ({{ width }}x{{ height }}px). Kvadratiske bilder er ikke tillatt. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Bildet er i liggende retning ({{ width }}x{{ height }}px). Bilder i liggende retning er ikke tillatt. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Bildet er i stående retning ({{ width }}x{{ height }}px). Bilder i stående retning er ikke tillatt. - - - An empty file is not allowed. - Tomme filer er ikke tilatt. - - - The host could not be resolved. - Vertsnavn kunne ikke løses. - - - This value does not match the expected {{ charset }} charset. - Verdien samsvarer ikke med forventet tegnsett {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Denne verdien er ikke en gyldig forretningsidentifikasjonskode (BIC). - - - Error - Feil - - - This value is not a valid UUID. - Denne verdien er ikke en gyldig UUID. - - - This value should be a multiple of {{ compared_value }}. - Verdien skal være flertall av {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Business Identifier Code (BIC) er ikke tilknyttet en IBAN {{ iban }}. - - - This value should be valid JSON. - Verdien er ikke gyldig JSON. - - - This collection should contain only unique elements. - Samlingen kan kun inneholde unike elementer. - - - This value should be positive. - Denne verdien må være positiv. - - - This value should be either positive or zero. - Denne verdien må være positiv eller null. - - - This value should be negative. - Denne verdien må være negativ. - - - This value should be either negative or zero. - Denne verdien må være negativ eller null. - - - This value is not a valid timezone. - Verdien er ikke en gyldig tidssone. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Dette passordet er lekket i et datainnbrudd, det må ikke tas i bruk. Vennligst bruk et annet passord. - - - This value should be between {{ min }} and {{ max }}. - Verdien må være mellom {{ min }} og {{ max }}. - - - This value is not a valid hostname. - Denne verdien er ikke et gyldig vertsnavn. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Antall elementer i denne samlingen bør være et multiplum av {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Denne verdien skal tilfredsstille minst en av følgende begrensninger: - - - Each element of this collection should satisfy its own set of constraints. - Hvert element i denne samlingen skal tilfredsstille sitt eget sett med begrensninger. - - - This value is not a valid International Securities Identification Number (ISIN). - Denne verdien er ikke et gyldig International Securities Identification Number (ISIN). - - - This value should be a valid expression. - Denne verdien skal være et gyldig uttrykk. - - - This value is not a valid CSS color. - Denne verdien er ikke en gyldig CSS-farge. - - - This value is not a valid CIDR notation. - Denne verdien er ikke en gyldig CIDR-notasjon. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Verdien på nettmasken skal være mellom {{ min }} og {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Filnavnet er for langt. Det bør ha {{ filename_max_length }} tegn eller mindre.|Filnavnet er for langt. Det bør ha {{ filename_max_length }} tegn eller mindre. - - - The password strength is too low. Please use a stronger password. - Passordstyrken er for lav. Vennligst bruk et sterkere passord. - - - This value contains characters that are not allowed by the current restriction-level. - Denne verdien inneholder tegn som ikke er tillatt av gjeldende restriksjonsnivå. - - - Using invisible characters is not allowed. - Det er ikke tillatt å bruke usynlige tegn. - - - Mixing numbers from different scripts is not allowed. - Det er ikke tillatt å blande tall fra forskjellige skript. - - - Using hidden overlay characters is not allowed. - Det er ikke tillatt å bruke skjulte overleggskarakterer. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Filutvidelsen er ugyldig ({{ extension }}). Tillatte utvidelser er {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Den oppdagede tegnkodingen er ugyldig ({{ detected }}). Tillatte kodinger er {{ encodings }}. - - - This value is not a valid MAC address. - Denne verdien er ikke en gyldig MAC-adresse. - - - This URL is missing a top-level domain. - Denne URL-en mangler et toppnivådomene. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Denne verdien er for kort. Den bør inneholde minst ett ord.|Denne verdien er for kort. Den bør inneholde minst {{ min }} ord. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Denne verdien er for lang. Den bør inneholde kun ett ord.|Denne verdien er for lang. Den bør inneholde {{ max }} ord eller færre. - - - This value does not represent a valid week in the ISO 8601 format. - Denne verdien representerer ikke en gyldig uke i ISO 8601-formatet. - - - This value is not a valid week. - Denne verdien er ikke en gyldig uke. - - - This value should not be before week "{{ min }}". - Denne verdien bør ikke være før uke "{{ min }}". - - - This value should not be after week "{{ max }}". - Denne verdien bør ikke være etter uke "{{ max }}". - - - This value is not a valid Twig template. - Denne verdien er ikke en gyldig Twig-mal. - - - This file is not a valid video. - Denne filen er ikke en gyldig video. - - - The size of the video could not be detected. - Videostørrelsen kunne ikke oppdages. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Videobredden er for stor ({{ width }}px). Tillatt maksimal bredde er {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Videobredden er for liten ({{ width }}px). Forventet minimumsbredde er {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Videohøyden er for stor ({{ height }}px). Tillatt maksimal høyde er {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Videoens høyde er for liten ({{ height }}px). Forventet minstehøyde er {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoen har for få piksler ({{ pixels }}). Forventet minimum er {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoen har for mange piksler ({{ pixels }}). Forventet maksimalt antall er {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video-forholdet er for stort ({{ ratio }}). Tillatt maksimalt forhold er {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Videoforholdet er for lite ({{ ratio }}). Forventet minimumsforhold er {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Videoen er kvadratisk ({{ width }}x{{ height }}px). Kvadratiske videoer er ikke tillatt. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Videoen er i liggende format ({{ width }}x{{ height }} px). Liggende videoer er ikke tillatt. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Videoen er i portrettformat ({{ width }}x{{ height }}px). Portrettvideoer er ikke tillatt. - - - The video file is corrupted. - Videofilen er ødelagt. - - - The video contains multiple streams. Only one stream is allowed. - Videoen inneholder flere strømmer. Kun én strøm er tillatt. - - - Unsupported video codec "{{ codec }}". - Ikke støttet videokodek «{{ codec }}». - - - Unsupported video container "{{ container }}". - Ikke-støttet videokontainer "{{ container }}". - - - The image file is corrupted. - Bildefilen er ødelagt. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Bildet har for få piksler ({{ pixels }}). Forventet minimum er {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Bildet har for mange piksler ({{ pixels }}). Forventet maksimalt antall er {{ max_pixels }}. - - - This filename does not match the expected charset. - Dette filnavnet samsvarer ikke med forventet tegnsett. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.pl.xlf b/app/vendor/symfony/validator/Resources/translations/validators.pl.xlf deleted file mode 100644 index 8f329dcd4..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.pl.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Ta wartość powinna być fałszem. - - - This value should be true. - Ta wartość powinna być prawdą. - - - This value should be of type {{ type }}. - Ta wartość powinna być typu {{ type }}. - - - This value should be blank. - Ta wartość powinna być pusta. - - - The value you selected is not a valid choice. - Ta wartość powinna być jedną z podanych opcji. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Powinieneś wybrać co najmniej {{ limit }} opcję.|Powinieneś wybrać co najmniej {{ limit }} opcje.|Powinieneś wybrać co najmniej {{ limit }} opcji. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Powinieneś wybrać maksymalnie {{ limit }} opcję.|Powinieneś wybrać maksymalnie {{ limit }} opcje.|Powinieneś wybrać maksymalnie {{ limit }} opcji. - - - One or more of the given values is invalid. - Jedna lub więcej z podanych wartości jest nieprawidłowa. - - - This field was not expected. - Tego pola się nie spodziewano. - - - This field is missing. - Tego pola brakuje. - - - This value is not a valid date. - Ta wartość nie jest prawidłową datą. - - - This value is not a valid datetime. - Ta wartość nie jest prawidłową datą i czasem. - - - This value is not a valid email address. - Ta wartość nie jest prawidłowym adresem email. - - - The file could not be found. - Plik nie mógł zostać odnaleziony. - - - The file is not readable. - Nie można odczytać pliku. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Plik jest za duży ({{ size }} {{ suffix }}). Maksymalny dozwolony rozmiar to {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Nieprawidłowy typ mime pliku ({{ type }}). Dozwolone typy mime to {{ types }}. - - - This value should be {{ limit }} or less. - Ta wartość powinna wynosić {{ limit }} lub mniej. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Ta wartość jest zbyt długa. Powinna mieć {{ limit }} lub mniej znaków.|Ta wartość jest zbyt długa. Powinna mieć {{ limit }} lub mniej znaków.|Ta wartość jest zbyt długa. Powinna mieć {{ limit }} lub mniej znaków. - - - This value should be {{ limit }} or more. - Ta wartość powinna wynosić {{ limit }} lub więcej. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Ta wartość jest zbyt krótka. Powinna mieć {{ limit }} lub więcej znaków.|Ta wartość jest zbyt krótka. Powinna mieć {{ limit }} lub więcej znaków.|Ta wartość jest zbyt krótka. Powinna mieć {{ limit }} lub więcej znaków. - - - This value should not be blank. - Ta wartość nie powinna być pusta. - - - This value should not be null. - Ta wartość nie powinna być nullem. - - - This value should be null. - Ta wartość powinna być nullem. - - - This value is not valid. - Ta wartość jest nieprawidłowa. - - - This value is not a valid time. - Ta wartość nie jest prawidłowym czasem. - - - This value is not a valid URL. - Ta wartość nie jest prawidłowym adresem URL. - - - The two values should be equal. - Obie wartości powinny być równe. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Plik jest za duży. Maksymalny dozwolony rozmiar to {{ limit }} {{ suffix }}. - - - The file is too large. - Plik jest za duży. - - - The file could not be uploaded. - Plik nie mógł być wgrany. - - - This value should be a valid number. - Ta wartość powinna być prawidłową liczbą. - - - This file is not a valid image. - Ten plik nie jest obrazem. - - - This value is not a valid IP address. - Ta wartość nie jest prawidłowym adresem IP. - - - This value is not a valid language. - Ta wartość nie jest prawidłowym językiem. - - - This value is not a valid locale. - Ta wartość nie jest prawidłową lokalizacją. - - - This value is not a valid country. - Ta wartość nie jest prawidłową nazwą kraju. - - - This value is already used. - Ta wartość jest już wykorzystywana. - - - The size of the image could not be detected. - Nie można wykryć rozmiaru obrazka. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Szerokość obrazka jest zbyt duża ({{ width }}px). Maksymalna dopuszczalna szerokość to {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Szerokość obrazka jest zbyt mała ({{ width }}px). Oczekiwana minimalna szerokość to {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Wysokość obrazka jest zbyt duża ({{ height }}px). Maksymalna dopuszczalna wysokość to {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Wysokość obrazka jest zbyt mała ({{ height }}px). Oczekiwana minimalna wysokość to {{ min_height }}px. - - - This value should be the user's current password. - Ta wartość powinna być aktualnym hasłem użytkownika. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Ta wartość powinna mieć dokładnie {{ limit }} znak.|Ta wartość powinna mieć dokładnie {{ limit }} znaki.|Ta wartość powinna mieć dokładnie {{ limit }} znaków. - - - The file was only partially uploaded. - Plik został wgrany tylko częściowo. - - - No file was uploaded. - Żaden plik nie został wgrany. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Nie skonfigurowano folderu tymczasowego w php.ini lub skonfigurowany folder nie istnieje. - - - Cannot write temporary file to disk. - Nie można zapisać pliku tymczasowego na dysku. - - - A PHP extension caused the upload to fail. - Rozszerzenie PHP spowodowało błąd podczas wgrywania. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ten zbiór powinien zawierać {{ limit }} lub więcej elementów. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ten zbiór powinien zawierać {{ limit }} lub mniej elementów. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ten zbiór powinien zawierać dokładnie {{ limit }} element.|Ten zbiór powinien zawierać dokładnie {{ limit }} elementy.|Ten zbiór powinien zawierać dokładnie {{ limit }} elementów. - - - Invalid card number. - Nieprawidłowy numer karty. - - - Unsupported card type or invalid card number. - Nieobsługiwany rodzaj karty lub nieprawidłowy numer karty. - - - This value is not a valid International Bank Account Number (IBAN). - Ta wartość nie jest prawidłowym Międzynarodowym Numerem Rachunku Bankowego (IBAN). - - - This value is not a valid ISBN-10. - Ta wartość nie jest prawidłowym numerem ISBN-10. - - - This value is not a valid ISBN-13. - Ta wartość nie jest prawidłowym numerem ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ta wartość nie jest prawidłowym numerem ISBN-10 ani ISBN-13. - - - This value is not a valid ISSN. - Ta wartość nie jest prawidłowym numerem ISSN. - - - This value is not a valid currency. - Ta wartość nie jest prawidłową walutą. - - - This value should be equal to {{ compared_value }}. - Ta wartość powinna być równa {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ta wartość powinna być większa niż {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ta wartość powinna być większa bądź równa {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ta wartość powinna być identycznego typu {{ compared_value_type }} oraz wartości {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ta wartość powinna być mniejsza niż {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ta wartość powinna być mniejsza bądź równa {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ta wartość nie powinna być równa {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ta wartość nie powinna być identycznego typu {{ compared_value_type }} oraz wartości {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Proporcje obrazu są zbyt duże ({{ ratio }}). Maksymalne proporcje to {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Proporcje obrazu są zbyt małe ({{ ratio }}). Minimalne proporcje to {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Obraz jest kwadratem ({{ width }}x{{ height }}px). Kwadratowe obrazy nie są akceptowane. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Obraz jest panoramiczny ({{ width }}x{{ height }}px). Panoramiczne zdjęcia nie są akceptowane. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Obraz jest portretowy ({{ width }}x{{ height }}px). Portretowe zdjęcia nie są akceptowane. - - - An empty file is not allowed. - Plik nie może być pusty. - - - The host could not be resolved. - Nazwa hosta nie została rozpoznana. - - - This value does not match the expected {{ charset }} charset. - Ta wartość nie pasuje do oczekiwanego zestawu znaków {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Ta wartość nie jest prawidłowym Kodem Identyfikującym Bank (BIC). - - - Error - Błąd - - - This value is not a valid UUID. - Ta wartość nie jest prawidłowym UUID. - - - This value should be a multiple of {{ compared_value }}. - Ta wartość powinna być wielokrotnością {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ten kod BIC (Business Identifier Code) nie jest powiązany z międzynarodowym numerem rachunku bankowego (IBAN) {{ iban }}. - - - This value should be valid JSON. - Ta wartość powinna być prawidłowym formatem JSON. - - - This collection should contain only unique elements. - Ten zbiór powinien zawierać tylko unikalne elementy. - - - This value should be positive. - Ta wartość powinna być dodatnia. - - - This value should be either positive or zero. - Ta wartość powinna być dodatnia lub równa zero. - - - This value should be negative. - Ta wartość powinna być ujemna. - - - This value should be either negative or zero. - Ta wartość powinna być ujemna lub równa zero. - - - This value is not a valid timezone. - Ta wartość nie jest prawidłową strefą czasową. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - To hasło wyciekło w wyniku naruszenia danych i nie może być użyte. Proszę użyć innego hasła. - - - This value should be between {{ min }} and {{ max }}. - Ta wartość powinna być pomiędzy {{ min }} a {{ max }}. - - - This value is not a valid hostname. - Ta wartość nie jest prawidłową nazwą hosta. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Liczba elementów w tym zbiorze powinna być wielokrotnością {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Ta wartość powinna spełniać co najmniej jedną z następujących reguł: - - - Each element of this collection should satisfy its own set of constraints. - Każdy element w tym zbiorze powinien spełniać własny zestaw reguł. - - - This value is not a valid International Securities Identification Number (ISIN). - Ta wartość nie jest prawidłowym Międzynarodowym Numerem Identyfikacyjnym Papierów Wartościowych (ISIN). - - - This value should be a valid expression. - Ta wartość powinna być prawidłowym wyrażeniem. - - - This value is not a valid CSS color. - Ta wartość nie jest prawidłowym kolorem CSS. - - - This value is not a valid CIDR notation. - Ta wartość nie jest prawidłową notacją CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Wartość maski podsieci powinna być pomiędzy {{ min }} i {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Nazwa pliku jest za długa. Powinna mieć {{ filename_max_length }} znak lub mniej.|Nazwa pliku jest za długa. Powinna mieć {{ filename_max_length }} znaki lub mniej.|Nazwa pliku jest za długa. Powinna mieć {{ filename_max_length }} znaków lub mniej. - - - The password strength is too low. Please use a stronger password. - Siła hasła jest zbyt niska. Użyj mocniejszego hasła. - - - This value contains characters that are not allowed by the current restriction-level. - Ta wartość zawiera znaki, które nie są dozwolone przez aktualny poziom ograniczeń. - - - Using invisible characters is not allowed. - Używanie niewidzialnych znaków jest niedozwolone. - - - Mixing numbers from different scripts is not allowed. - Mieszanie liczb z różnych skryptów jest niedozwolone. - - - Using hidden overlay characters is not allowed. - Używanie ukrytych znaków nakładki jest niedozwolone. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Rozszerzenie pliku jest nieprawidłowe ({{ extension }}). Dozwolone rozszerzenia to {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Wykryte kodowanie znaków ({{ detected }}) jest nieprawidłowe. Dozwolone kodowania to {{ encodings }}. - - - This value is not a valid MAC address. - Ta wartość nie jest prawidłowym adresem MAC. - - - This URL is missing a top-level domain. - Ten URL nie zawiera domeny najwyższego poziomu. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Ta wartość jest zbyt krótka. Powinna zawierać co najmniej jedno słowo.|Ta wartość jest zbyt krótka. Powinna zawierać co najmniej {{ min }} słów. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Ta wartość jest zbyt długa. Powinna zawierać jedno słowo.|Ta wartość jest zbyt długa. Powinna zawierać {{ max }} słowa lub mniej.|Ta wartość jest zbyt długa. Powinna zawierać {{ max }} słów lub mniej. - - - This value does not represent a valid week in the ISO 8601 format. - Ta wartość nie jest poprawnym oznaczeniem tygodnia w formacie ISO 8601. - - - This value is not a valid week. - Ta wartość nie jest poprawnym oznaczeniem tygodnia. - - - This value should not be before week "{{ min }}". - Ta wartość nie powinna być przed tygodniem "{{ min }}". - - - This value should not be after week "{{ max }}". - Ta wartość nie powinna być po tygodniu "{{ max }}". - - - This value is not a valid Twig template. - Ta wartość nie jest prawidłowym szablonem Twig. - - - This file is not a valid video. - Ten plik nie jest prawidłowym plikiem wideo. - - - The size of the video could not be detected. - Nie można wykryć rozmiaru wideo. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Szerokość wideo jest zbyt duża ({{ width }}px). Maksymalna dopuszczalna szerokość to {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Szerokość wideo jest zbyt mała ({{ width }}px). Oczekiwana minimalna szerokość to {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Wysokość wideo jest zbyt duża ({{ height }}px). Maksymalna dopuszczalna wysokość to {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Wysokość wideo jest zbyt mała ({{ height }}px). Oczekiwana minimalna wysokość to {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Wideo ma zbyt mało ({{ pixels }} pikseli). Oczekiwana minimalna liczba to {{ min_pixels }} pikseli. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Wideo ma zbyt wiele ({{ pixels }} pikseli). Oczekiwana maksymalna liczba to {{ max_pixels }} pikseli. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Współczynnik proporcji wideo jest zbyt duży ({{ ratio }}). Maksymalny dopuszczalny współczynnik to {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Współczynnik proporcji wideo jest zbyt mały ({{ ratio }}). Oczekiwany minimalny współczynnik to {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Wideo jest w formacie kwadratowym ({{ width }}x{{ height }}px). Filmy w tym formacie są niedozwolone. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Wideo ma orientację poziomą ({{ width }}x{{ height }}px). Filmy w orientacji poziomej są niedozwolone. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Wideo ma orientację pionową ({{ width }}x{{ height }}px). Filmy w orientacji pionowej są niedozwolone. - - - The video file is corrupted. - Plik wideo jest uszkodzony. - - - The video contains multiple streams. Only one stream is allowed. - Wideo zawiera wiele strumieni. Dozwolony jest tylko jeden strumień. - - - Unsupported video codec "{{ codec }}". - Nieobsługiwany kodek wideo "{{ codec }}". - - - Unsupported video container "{{ container }}". - Nieobsługiwany kontener wideo "{{ container }}". - - - The image file is corrupted. - Plik obrazu jest uszkodzony. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Obraz ma zbyt mało ({{ pixels }} pikseli). Oczekiwana minimalna liczba to {{ min_pixels }} pikseli. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Obraz ma zbyt wiele ({{ pixels }} pikseli). Oczekiwana maksymalna liczba to {{ max_pixels }} pikseli. - - - This filename does not match the expected charset. - Ta nazwa pliku nie odpowiada oczekiwanemu zestawowi znaków. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.pt.xlf b/app/vendor/symfony/validator/Resources/translations/validators.pt.xlf deleted file mode 100644 index 536b5b7ba..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.pt.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Este valor deveria ser falso. - - - This value should be true. - Este valor deveria ser verdadeiro. - - - This value should be of type {{ type }}. - Este valor deveria ser do tipo {{ type }}. - - - This value should be blank. - Este valor deveria ser vazio. - - - The value you selected is not a valid choice. - O valor selecionado não é uma opção válida. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Você deveria selecionar {{ limit }} opção no mínimo.|Você deveria selecionar {{ limit }} opções no mínimo. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Você deve selecionar, no máximo {{ limit }} opção.|Você deve selecionar, no máximo {{ limit }} opções. - - - One or more of the given values is invalid. - Um ou mais dos valores introduzidos não são válidos. - - - This field was not expected. - Este campo não era esperado. - - - This field is missing. - Este campo está faltando. - - - This value is not a valid date. - Este valor não é uma data válida. - - - This value is not a valid datetime. - Este valor não é uma data-hora válida. - - - This value is not a valid email address. - Este valor não é um endereço de e-mail válido. - - - The file could not be found. - O arquivo não pôde ser encontrado. - - - The file is not readable. - O arquivo não pôde ser lido. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - O arquivo é muito grande ({{ size }} {{ suffix }}). O tamanho máximo permitido é de {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - O tipo mime do arquivo é inválido ({{ type }}). Os tipos mime permitidos são {{ types }}. - - - This value should be {{ limit }} or less. - Este valor deveria ser {{ limit }} ou menor. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - O valor é muito longo. Deveria ter {{ limit }} caracteres ou menos. - - - This value should be {{ limit }} or more. - Este valor deveria ser {{ limit }} ou mais. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - O valor é muito curto. Deveria de ter {{ limit }} caractere ou mais.|O valor é muito curto. Deveria de ter {{ limit }} caracteres ou mais. - - - This value should not be blank. - Este valor não deveria ser vazio. - - - This value should not be null. - Este valor não deveria ser nulo. - - - This value should be null. - Este valor deveria ser nulo. - - - This value is not valid. - Este valor não é válido. - - - This value is not a valid time. - Este valor não é uma hora válida. - - - This value is not a valid URL. - Este valor não é uma URL válida. - - - The two values should be equal. - Os dois valores deveriam ser iguais. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - O arquivo é muito grande. O tamanho máximo permitido é de {{ limit }} {{ suffix }}. - - - The file is too large. - O arquivo é muito grande. - - - The file could not be uploaded. - Não foi possível enviar o arquivo. - - - This value should be a valid number. - Este valor deveria ser um número válido. - - - This file is not a valid image. - Este arquivo não é uma imagem. - - - This value is not a valid IP address. - Este valor não é um endereço IP válido. - - - This value is not a valid language. - Este valor não é uma linguagem válida. - - - This value is not a valid locale. - Este valor não é uma localidade válida. - - - This value is not a valid country. - Este valor não é um país válido. - - - This value is already used. - Este valor já está a ser usado. - - - The size of the image could not be detected. - O tamanho da imagem não foi detectado. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - A largura da imagem ({{ width }}px) é muito grande. A largura máxima da imagem é: {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A largura da imagem ({{ width }}px) é muito pequena. A largura mínima da imagem é de: {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - A altura da imagem ({{ height }}px) é muito grande. A altura máxima da imagem é de: {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A altura da imagem ({{ height }}px) é muito pequena. A altura mínima da imagem é de: {{ min_height }}px. - - - This value should be the user's current password. - Este valor deveria ser a senha atual do usuário. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Este valor deve possuir exatamente {{ limit }} caractere.|Este valor deve possuir exatamente {{ limit }} caracteres. - - - The file was only partially uploaded. - Só foi enviada uma parte do arquivo. - - - No file was uploaded. - Nenhum arquivo foi enviado. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Nenhuma pasta temporária foi configurada no php.ini, ou a pasta configurada não existe. - - - Cannot write temporary file to disk. - Não foi possível escrever os arquivos temporários no disco. - - - A PHP extension caused the upload to fail. - Uma extensão PHP causou a falha no envio. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Esta coleção deve conter {{ limit }} elemento ou mais.|Esta coleção deve conter {{ limit }} elementos ou mais. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Esta coleção deve conter {{ limit }} elemento ou menos.|Esta coleção deve conter {{ limit }} elementos ou menos. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Esta coleção deve conter exatamente {{ limit }} elemento.|Esta coleção deve conter exatamente {{ limit }} elementos. - - - Invalid card number. - Número de cartão inválido. - - - Unsupported card type or invalid card number. - Tipo de cartão não suportado ou número de cartão inválido. - - - This value is not a valid International Bank Account Number (IBAN). - Este valor não é um Número de Conta Bancária Internacional (IBAN) válido. - - - This value is not a valid ISBN-10. - Este valor não é um ISBN-10 válido. - - - This value is not a valid ISBN-13. - Este valor não é um ISBN-13 válido. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Este valor não é um ISBN-10 ou ISBN-13 válido. - - - This value is not a valid ISSN. - Este valor não é um ISSN válido. - - - This value is not a valid currency. - Este não é um valor monetário válido. - - - This value should be equal to {{ compared_value }}. - Este valor deve ser igual a {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Este valor deve ser superior a {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Este valor deve ser igual ou superior a {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Este valor deve ser idêntico a {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Este valor deve ser inferior a {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Este valor deve ser igual ou inferior a {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Este valor não deve ser igual a {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Este valor não deve ser idêntico a {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - O formato da imagem é muito grande ({{ ratio }}). O formato máximo é {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - O formato da imagem é muito pequeno ({{ ratio }}). O formato mínimo esperado é {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - A imagem é um quadrado ({{ width }}x{{ height }}px). Imagens quadradas não são permitidas. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - A imagem está em orientação de paisagem ({{ width }}x{{ height }}px). Imagens orientadas em paisagem não são permitidas. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - A imagem está em orientação de retrato ({{ width }}x{{ height }}px). Imagens orientadas em retrato não são permitidas. - - - An empty file is not allowed. - Um arquivo vazio não é permitido. - - - The host could not be resolved. - O host não pode ser resolvido. - - - This value does not match the expected {{ charset }} charset. - Este valor não corresponde ao conjunto de caracteres {{ charset }} esperado. - - - This value is not a valid Business Identifier Code (BIC). - Este valor não é um Código de Identificação de Negócio (BIC) válido. - - - Error - Erro - - - This value is not a valid UUID. - Este valor não é um UUID válido. - - - This value should be a multiple of {{ compared_value }}. - Este valor deve ser um múltiplo de {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - O Código de Identificação de Empresa (BIC) não está associado ao IBAN {{ iban }}. - - - This value should be valid JSON. - Este valor deve ser um JSON válido. - - - This collection should contain only unique elements. - Esta coleção deve conter só elementos únicos. - - - This value should be positive. - Este valor deve ser positivo. - - - This value should be either positive or zero. - Este valor deve ser superior ou igual a zero. - - - This value should be negative. - Este valor deve ser negativo. - - - This value should be either negative or zero. - Este valor deve ser inferior ou igual a zero. - - - This value is not a valid timezone. - Este valor não é um fuso horário válido. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Esta senha foi divulgada durante um vazamento de dados, não deve ser usada de novamente. Por favor usar uma senha outra. - - - This value should be between {{ min }} and {{ max }}. - Este valor deve estar entre {{ min }} e {{ max }}. - - - This value is not a valid hostname. - Este valor não é um nome de host válido. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - O número de elementos desta coleção deve ser um múltiplo de {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Este valor deve satisfazer pelo menos uma das seguintes restrições: - - - Each element of this collection should satisfy its own set of constraints. - Cada elemento desta coleção deve satisfazer o seu próprio conjunto de restrições. - - - This value is not a valid International Securities Identification Number (ISIN). - Este valor não é um Número Internacional de Identificação de Segurança (ISIN) válido. - - - This value should be a valid expression. - Este valor deve ser uma expressão válida. - - - This value is not a valid CSS color. - Este valor não é uma cor de CSS válida. - - - This value is not a valid CIDR notation. - Este valor não é uma notação CIDR válida. - - - The value of the netmask should be between {{ min }} and {{ max }}. - O valor da máscara de rede deve estar entre {{ min }} e {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - O nome do arquivo é muito grande. Deveria ter {{ filename_max_length }} caractere ou menos.|O nome do arquivo é muito grande. Deveria ter {{ filename_max_length }} caracteres ou menos. - - - The password strength is too low. Please use a stronger password. - A força da senha é muito baixa. Por favor utilize uma senha mais forte. - - - This value contains characters that are not allowed by the current restriction-level. - Este valor contém caracteres que não são permitidos pelo nível de restrição atual. - - - Using invisible characters is not allowed. - Não é permitido usar caracteres invisíveis. - - - Mixing numbers from different scripts is not allowed. - Não é permitido misturar números de scripts diferentes. - - - Using hidden overlay characters is not allowed. - Não é permitido usar caracteres de sobreposição ocultos. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - A extensão do arquivo é inválida ({{ extension }}). As extensões permitidas são {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - A codificação de carateres detectada é inválida ({{ detected }}). As codificações permitidas são {{ encodings }}. - - - This value is not a valid MAC address. - Este valor não é um endereço MAC válido. - - - This URL is missing a top-level domain. - Esta URL está faltando o domínio de nível superior. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Este valor é muito curto. Deve conter pelo menos uma palavra.|Este valor é muito curto. Deve conter pelo menos {{ min }} palavras. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Este valor é muito longo. Deve conter apenas uma palavra.|Este valor é muito longo. Deve conter {{ max }} palavras ou menos. - - - This value does not represent a valid week in the ISO 8601 format. - Este valor não representa uma semana válida no formato ISO 8601. - - - This value is not a valid week. - Este valor não é uma semana válida. - - - This value should not be before week "{{ min }}". - Este valor não deve ser anterior à semana "{{ min }}". - - - This value should not be after week "{{ max }}". - Este valor não deve estar após a semana "{{ max }}". - - - This value is not a valid Twig template. - Este valor não é um modelo Twig válido. - - - This file is not a valid video. - Este ficheiro não é um vídeo válido. - - - The size of the video could not be detected. - Não foi possível detetar o tamanho do vídeo. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - A largura do vídeo é demasiado grande ({{ width }}px). A largura máxima permitida é {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A largura do vídeo é demasiado pequena ({{ width }}px). A largura mínima esperada é {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - A altura do vídeo é demasiado grande ({{ height }}px). A altura máxima permitida é {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A altura do vídeo é demasiado pequena ({{ height }}px). A altura mínima esperada é {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - O vídeo tem poucos píxeis ({{ pixels }} píxeis). A quantidade mínima esperada é {{ min_pixels }} píxeis. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - O vídeo tem demasiados píxeis ({{ pixels }} píxeis). A quantidade máxima esperada é {{ max_pixels }} píxeis. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - O rácio do vídeo é demasiado grande ({{ ratio }}). O rácio máximo permitido é {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - O rácio do vídeo é demasiado pequeno ({{ ratio }}). O rácio mínimo esperado é {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - O vídeo é quadrado ({{ width }}x{{ height }}px). Vídeos quadrados não são permitidos. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - O vídeo está orientado na horizontal ({{ width }}x{{ height }}px). Vídeos orientados na horizontal não são permitidos. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - O vídeo está orientado na vertical ({{ width }}x{{ height }}px). Vídeos orientados na vertical não são permitidos. - - - The video file is corrupted. - O ficheiro de vídeo está corrompido. - - - The video contains multiple streams. Only one stream is allowed. - O vídeo contém múltiplos fluxos. Apenas é permitido um fluxo. - - - Unsupported video codec "{{ codec }}". - Codec de vídeo "{{ codec }}" não suportado. - - - Unsupported video container "{{ container }}". - Contentor de vídeo "{{ container }}" não suportado. - - - The image file is corrupted. - O ficheiro de imagem está corrompido. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - A imagem tem poucos píxeis ({{ pixels }} píxeis). A quantidade mínima esperada é {{ min_pixels }} píxeis. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - A imagem tem demasiados píxeis ({{ pixels }} píxeis). A quantidade máxima esperada é {{ max_pixels }} píxeis. - - - This filename does not match the expected charset. - O nome do ficheiro não corresponde ao conjunto de caracteres esperado. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf b/app/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf deleted file mode 100644 index 322e56307..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Este valor deve ser falso. - - - This value should be true. - Este valor deve ser verdadeiro. - - - This value should be of type {{ type }}. - Este valor deve ser do tipo {{ type }}. - - - This value should be blank. - Este valor deve ser vazio. - - - The value you selected is not a valid choice. - O valor selecionado não é uma opção válida. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Você deve selecionar, no mínimo, {{ limit }} opção.|Você deve selecionar, no mínimo, {{ limit }} opções. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Você deve selecionar, no máximo, {{ limit }} opção.|Você deve selecionar, no máximo, {{ limit }} opções. - - - One or more of the given values is invalid. - Um ou mais valores informados são inválidos. - - - This field was not expected. - Este campo não era esperado. - - - This field is missing. - Este campo está ausente. - - - This value is not a valid date. - Este valor não é uma data válida. - - - This value is not a valid datetime. - Este valor não é uma data e hora válida. - - - This value is not a valid email address. - Este valor não é um endereço de e-mail válido. - - - The file could not be found. - O arquivo não foi encontrado. - - - The file is not readable. - O arquivo não pode ser lido. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - O arquivo é muito grande ({{ size }} {{ suffix }}). O tamanho máximo permitido é {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - O tipo mime do arquivo é inválido ({{ type }}). Os tipos mime permitidos são {{ types }}. - - - This value should be {{ limit }} or less. - Este valor deve ser {{ limit }} ou menos. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Este valor é muito longo. Deve ter {{ limit }} caractere ou menos.|Este valor é muito longo. Deve ter {{ limit }} caracteres ou menos. - - - This value should be {{ limit }} or more. - Este valor deve ser {{ limit }} ou mais. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Este valor é muito curto. Deve ter {{ limit }} caractere ou mais.|Este valor é muito curto. Deve ter {{ limit }} caracteres ou mais. - - - This value should not be blank. - Este valor não deve ser vazio. - - - This value should not be null. - Este valor não deve ser nulo. - - - This value should be null. - Este valor deve ser nulo. - - - This value is not valid. - Este valor não é válido. - - - This value is not a valid time. - Este valor não é uma hora válida. - - - This value is not a valid URL. - Este valor não é uma URL válida. - - - The two values should be equal. - Os dois valores devem ser iguais. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - O arquivo é muito grande. O tamanho máximo permitido é de {{ limit }} {{ suffix }}. - - - The file is too large. - O arquivo é muito grande. - - - The file could not be uploaded. - O arquivo não pode ser enviado. - - - This value should be a valid number. - Este valor deve ser um número válido. - - - This file is not a valid image. - Este arquivo não é uma imagem válida. - - - This value is not a valid IP address. - Este valor não é um endereço IP válido. - - - This value is not a valid language. - Este valor não é um idioma válido. - - - This value is not a valid locale. - Este valor não é uma localidade válida. - - - This value is not a valid country. - Este valor não é um país válido. - - - This value is already used. - Este valor já está sendo usado. - - - The size of the image could not be detected. - O tamanho da imagem não pode ser detectado. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - A largura da imagem é muito grande ({{ width }}px). A largura máxima permitida é de {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A largura da imagem é muito pequena ({{ width }}px). A largura mínima esperada é de {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - A altura da imagem é muito grande ({{ height }}px). A altura máxima permitida é de {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A altura da imagem é muito pequena ({{ height }}px). A altura mínima esperada é de {{ min_height }}px. - - - This value should be the user's current password. - Este valor deve ser a senha atual do usuário. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Este valor deve ter exatamente {{ limit }} caractere.|Este valor deve ter exatamente {{ limit }} caracteres. - - - The file was only partially uploaded. - O arquivo foi enviado apenas parcialmente. - - - No file was uploaded. - Nenhum arquivo foi enviado. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Nenhum diretório temporário foi configurado no php.ini, ou o diretório configurado não existe. - - - Cannot write temporary file to disk. - Não foi possível escrever o arquivo temporário no disco. - - - A PHP extension caused the upload to fail. - Uma extensão PHP fez com que o envio falhasse. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Esta coleção deve conter {{ limit }} elemento ou mais.|Esta coleção deve conter {{ limit }} elementos ou mais. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Esta coleção deve conter {{ limit }} elemento ou menos.|Esta coleção deve conter {{ limit }} elementos ou menos. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Esta coleção deve conter exatamente {{ limit }} elemento.|Esta coleção deve conter exatamente {{ limit }} elementos. - - - Invalid card number. - Número de cartão inválido. - - - Unsupported card type or invalid card number. - Tipo de cartão não suportado ou número de cartão inválido. - - - This value is not a valid International Bank Account Number (IBAN). - Este valor não é um Número de Conta Bancária Internacional (IBAN) válido. - - - This value is not a valid ISBN-10. - Este valor não é um ISBN-10 válido. - - - This value is not a valid ISBN-13. - Este valor não é um ISBN-13 válido. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Este valor não é um ISBN-10 e nem um ISBN-13 válido. - - - This value is not a valid ISSN. - Este valor não é um ISSN válido. - - - This value is not a valid currency. - Este não é um valor monetário válido. - - - This value should be equal to {{ compared_value }}. - Este valor deve ser igual a {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Este valor deve ser maior que {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Este valor deve ser maior ou igual a {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Este valor deve ser idêntico a {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Este valor deve ser menor que {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Este valor deve ser menor ou igual a {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Este valor não deve ser igual a {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Este valor não deve ser idêntico a {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - A proporção da imagem é muito grande ({{ ratio }}). A proporção máxima permitida é {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - A proporção da imagem é muito pequena ({{ ratio }}). A proporção mínima esperada é {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - A imagem está num formato quadrado ({{ width }}x{{ height }}px). Imagens com formato quadrado não são permitidas. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - A imagem está orientada à paisagem ({{ width }}x{{ height }}px). Imagens orientadas à paisagem não são permitidas. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - A imagem está orientada ao retrato ({{ width }}x{{ height }}px). Imagens orientadas ao retrato não são permitidas. - - - An empty file is not allowed. - Arquivo vazio não é permitido. - - - The host could not be resolved. - O host não pôde ser resolvido. - - - This value does not match the expected {{ charset }} charset. - Este valor não corresponde ao charset {{ charset }} esperado. - - - This value is not a valid Business Identifier Code (BIC). - Este valor não é um Código de Identificação de Negócios (BIC) válido. - - - Error - Erro - - - This value is not a valid UUID. - Este valor não é um UUID válido. - - - This value should be a multiple of {{ compared_value }}. - Este valor deve ser múltiplo de {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Este Código Identificador Bancário (BIC) não está associado ao IBAN {{ iban }}. - - - This value should be valid JSON. - Este valor deve ser um JSON válido. - - - This collection should contain only unique elements. - Esta coleção deve conter somente elementos únicos. - - - This value should be positive. - Este valor deve ser positivo. - - - This value should be either positive or zero. - Este valor deve ser positivo ou zero. - - - This value should be negative. - Este valor deve ser negativo. - - - This value should be either negative or zero. - Este valor deve ser negativo ou zero. - - - This value is not a valid timezone. - Este valor não representa um fuso horário válido. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Esta senha foi divulgada num vazamento de dados e não deve ser utilizada. Por favor, utilize outra senha. - - - This value should be between {{ min }} and {{ max }}. - Este valor deve estar entre {{ min }} e {{ max }}. - - - This value is not a valid hostname. - Este valor não é um nome de host válido. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - O número de elementos desta coleção deve ser um múltiplo de {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Este valor deve satisfazer pelo menos uma das seguintes restrições: - - - Each element of this collection should satisfy its own set of constraints. - Cada elemento desta coleção deve satisfazer seu próprio grupo de restrições. - - - This value is not a valid International Securities Identification Number (ISIN). - Este valor não é um Número de Identificação de Títulos Internacionais (ISIN) válido. - - - This value should be a valid expression. - Este valor deve ser uma expressão válida. - - - This value is not a valid CSS color. - Este valor não é uma cor CSS válida. - - - This value is not a valid CIDR notation. - Este valor não é uma notação CIDR válida. - - - The value of the netmask should be between {{ min }} and {{ max }}. - O valor da máscara de rede deve estar entre {{ min }} e {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - O nome do arquivo é muito longo. Deve ter {{ filename_max_length }} caractere ou menos.|O nome do arquivo é muito longo. Deve ter {{ filename_max_length }} caracteres ou menos. - - - The password strength is too low. Please use a stronger password. - A força da senha é muito baixa. Por favor, use uma senha mais forte. - - - This value contains characters that are not allowed by the current restriction-level. - Este valor contém caracteres que não são permitidos pelo nível de restrição atual. - - - Using invisible characters is not allowed. - O uso de caracteres invisíveis não é permitido. - - - Mixing numbers from different scripts is not allowed. - Misturar números de scripts diferentes não é permitido. - - - Using hidden overlay characters is not allowed. - O uso de caracteres de sobreposição ocultos não é permitido. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - A extensão do arquivo é inválida ({{ extension }}). As extensões permitidas são {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - A codificação de caracteres detectada é inválida ({{ detected }}). As codificações permitidas são {{ encodings }}. - - - This value is not a valid MAC address. - Este valor não é um endereço MAC válido. - - - This URL is missing a top-level domain. - Esta URL está faltando o domínio de nível superior. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Este valor é muito curto. Deve conter pelo menos uma palavra.|Este valor é muito curto. Deve conter pelo menos {{ min }} palavras. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Este valor é muito longo. Deve conter apenas uma palavra.|Este valor é muito longo. Deve conter {{ max }} palavras ou menos. - - - This value does not represent a valid week in the ISO 8601 format. - Este valor não representa uma semana válida no formato ISO 8601. - - - This value is not a valid week. - Este valor não é uma semana válida. - - - This value should not be before week "{{ min }}". - Este valor não deve ser anterior à semana "{{ min }}". - - - This value should not be after week "{{ max }}". - Este valor não deve estar após a semana "{{ max }}". - - - This value is not a valid Twig template. - Este valor não é um modelo Twig válido. - - - This file is not a valid video. - Este arquivo não é um vídeo válido. - - - The size of the video could not be detected. - Não foi possível detectar o tamanho do vídeo. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - A largura do vídeo é muito grande ({{ width }}px). A largura máxima permitida é {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A largura do vídeo é muito pequena ({{ width }}px). A largura mínima esperada é {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - A altura do vídeo é muito grande ({{ height }}px). A altura máxima permitida é {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A altura do vídeo é muito pequena ({{ height }}px). A altura mínima esperada é {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - O vídeo tem poucos pixels ({{ pixels }}). A quantidade mínima esperada é {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - O vídeo tem pixels demais ({{ pixels }}). A quantidade máxima esperada é {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - A proporção do vídeo é muito grande ({{ ratio }}). A proporção máxima permitida é {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - A proporção do vídeo é muito pequena ({{ ratio }}). A proporção mínima esperada é {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - O vídeo é quadrado ({{ width }}x{{ height }}px). Vídeos quadrados não são permitidos. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - O vídeo está no modo paisagem ({{ width }}x{{ height }}px). Vídeos em paisagem não são permitidos. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - O vídeo está em orientação vertical ({{ width }}x{{ height }}px). Vídeos em orientação vertical não são permitidos. - - - The video file is corrupted. - O arquivo de vídeo está corrompido. - - - The video contains multiple streams. Only one stream is allowed. - O vídeo contém múltiplos fluxos. Apenas um fluxo é permitido. - - - Unsupported video codec "{{ codec }}". - Codec de vídeo não suportado "{{ codec }}". - - - Unsupported video container "{{ container }}". - Contêiner de vídeo não suportado "{{ container }}". - - - The image file is corrupted. - O arquivo de imagem está corrompido. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - A imagem tem pixels de menos ({{ pixels }}). A quantidade mínima esperada é {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - A imagem tem pixels demais ({{ pixels }}). A quantidade máxima esperada é {{ max_pixels }}. - - - This filename does not match the expected charset. - Este nome de arquivo não corresponde ao conjunto de caracteres esperado. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.ro.xlf b/app/vendor/symfony/validator/Resources/translations/validators.ro.xlf deleted file mode 100644 index 385c264b7..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.ro.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Această valoare ar trebui să fie falsă. - - - This value should be true. - Această valoare ar trebui să fie adevărată. - - - This value should be of type {{ type }}. - Această valoare ar trebui să fie de tipul {{ type }}. - - - This value should be blank. - Această valoare ar trebui să fie necompletată. - - - The value you selected is not a valid choice. - Valoarea selectată nu este o opțiune validă. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Trebuie să selectați cel puțin {{ limit }} opțiune.|Trebuie să selectați cel puțin {{ limit }} opțiuni.|Trebuie să selectați cel puțin {{ limit }} de opțiuni. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Trebuie să selectați cel mult {{ limit }} opțiune.|Trebuie să selectați cel mult {{ limit }} opțiuni.|Trebuie să selectați cel mult {{ limit }} de opțiuni. - - - One or more of the given values is invalid. - Una sau mai multe dintre valorile furnizate sunt invalide. - - - This field was not expected. - Acest câmp nu era prevăzut. - - - This field is missing. - Acest câmp lipsește. - - - This value is not a valid date. - Această valoare nu reprezintă o dată validă. - - - This value is not a valid datetime. - Această valoare nu reprezintă o dată și oră validă. - - - This value is not a valid email address. - Această valoare nu reprezintă o adresă de e-mail validă. - - - The file could not be found. - Fișierul nu a putut fi găsit. - - - The file is not readable. - Fișierul nu poate fi citit. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Fișierul este prea mare ({{ size }} {{ suffix }}). Dimensiunea maximă permisă este {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Tipul fișierului este invalid ({{ type }}). Tipurile de fișiere permise sunt {{ types }}. - - - This value should be {{ limit }} or less. - Această valoare ar trebui să fie cel mult {{ limit }}. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Această valoare este prea lungă. Ar trebui să aibă maxim {{ limit }} caracter.|Această valoare este prea lungă. Ar trebui să aibă maxim {{ limit }} caractere.|Această valoare este prea lungă. Ar trebui să aibă maxim {{ limit }} de caractere. - - - This value should be {{ limit }} or more. - Această valoare ar trebui să fie cel puțin {{ limit }}. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Această valoare este prea scurtă. Ar trebui să aibă minim {{ limit }} caracter.|Această valoare este prea scurtă. Ar trebui să aibă minim {{ limit }} caractere.|Această valoare este prea scurtă. Ar trebui să aibă minim {{ limit }} de caractere. - - - This value should not be blank. - Această valoare nu ar trebui să fie necompletată. - - - This value should not be null. - Această valoare nu ar trebui să fie nulă. - - - This value should be null. - Această valoare ar trebui să fie nulă. - - - This value is not valid. - Această valoare nu este validă. - - - This value is not a valid time. - Această valoare nu reprezintă o oră validă. - - - This value is not a valid URL. - Această valoare nu reprezintă un URL valid. - - - The two values should be equal. - Cele două valori ar trebui să fie egale. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Fișierul este prea mare. Mărimea maximă permisă este de {{ limit }} {{ suffix }}. - - - The file is too large. - Fișierul este prea mare. - - - The file could not be uploaded. - Fișierul nu a putut fi încărcat. - - - This value should be a valid number. - Această valoare nu reprezintă un număr valid. - - - This file is not a valid image. - Acest fișier nu este o imagine validă. - - - This value is not a valid IP address. - Această valoare nu este o adresă IP validă. - - - This value is not a valid language. - Această valoare nu reprezintă o limbă corectă. - - - This value is not a valid locale. - Această valoare nu este o localizare validă. - - - This value is not a valid country. - Această valoare nu este o țară validă. - - - This value is already used. - Această valoare este folosită deja. - - - The size of the image could not be detected. - Mărimea imaginii nu a putut fi detectată. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Lățimea imaginii este prea mare ({{ width }}px). Lățimea maximă permisă este de {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Lățimea imaginii este prea mică ({{ width }}px). Lățimea minimă permisă este de {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Înălțimea imaginii este prea mare ({{ height }}px). Înălțimea maximă permisă este de {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Înălțimea imaginii este prea mică ({{ height }}px). Înălțimea minimă permisă este de {{ min_height }}px. - - - This value should be the user's current password. - Această valoare trebuie să fie parola curentă a utilizatorului. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Această valoare trebuie să conțină exact {{ limit }} caracter.|Această valoare trebuie să conțină exact {{ limit }} caractere.|Această valoare trebuie să conțină exact {{ limit }} de caractere. - - - The file was only partially uploaded. - Fișierul a fost încărcat parțial. - - - No file was uploaded. - Nu a fost încărcat niciun fișier. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Nu a fost configurat niciun folder temporar în php.ini, sau folderul configurat nu există. - - - Cannot write temporary file to disk. - Nu a fost posibilă scrierea fișierului temporar pe disc. - - - A PHP extension caused the upload to fail. - O extensie PHP a cauzat eșecul încărcării. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Această colecție trebuie să conțină cel puțin {{ limit }} element.|Această colecție trebuie să conțină cel puțin {{ limit }} elemente.|Această colecție trebuie să conțină cel puțin {{ limit }} de elemente. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Această colecție trebuie să conțină cel mult {{ limit }} element.|Această colecție trebuie să conțină cel mult {{ limit }} elemente.|Această colecție trebuie să conțină cel mult {{ limit }} de elemente. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Această colecție trebuie să conțină exact {{ limit }} element.|Această colecție trebuie să conțină exact {{ limit }} elemente.|Această colecție trebuie să conțină exact {{ limit }} de elemente. - - - Invalid card number. - Numărul cardului este invalid. - - - Unsupported card type or invalid card number. - Tipul sau numărul cardului sunt invalide. - - - This value is not a valid International Bank Account Number (IBAN). - Această valoare nu este un Număr de Cont Bancar Internațional (IBAN) valid. - - - This value is not a valid ISBN-10. - Această valoare nu este un cod ISBN-10 valid. - - - This value is not a valid ISBN-13. - Această valoare nu este un cod ISBN-13 valid. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Această valoare nu este un cod ISBN-10 sau ISBN-13 valid. - - - This value is not a valid ISSN. - Această valoare nu este un cod ISSN valid. - - - This value is not a valid currency. - Această valoare nu este o monedă validă. - - - This value should be equal to {{ compared_value }}. - Această valoare trebuie să fie egală cu {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Această valoare trebuie să fie mai mare decât {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Această valoare trebuie să fie mai mare sau egală cu {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Această valoare trebuie să fie identică cu {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Această valoare trebuie să fie mai mică decât {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Această valoare trebuie să fie mai mică sau egală cu {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Această valoare nu trebuie să fie egală cu {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Această valoare nu trebuie să fie identică cu {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Raportul imaginii este prea mare ({{ ratio }}). Raportul maxim permis este {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Raportul imaginii este prea mic ({{ ratio }}). Raportul minim permis este {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Imaginea este pătrată ({{ width }}x{{ height }}px). Imaginile pătrate nu sunt permise. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Imaginea are orientarea orizontală ({{ width }}x{{ height }}px). Imaginile cu orientare orizontală nu sunt permise. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Imaginea are orientarea portret ({{ width }}x{{ height }}px). Imaginile cu orientare portret nu sunt permise. - - - An empty file is not allowed. - Nu se permite un fișier gol. - - - The host could not be resolved. - Host-ul nu a putut fi rezolvat. - - - This value does not match the expected {{ charset }} charset. - Această valoare nu corespunde setului de caractere {{ charset }} așteptat. - - - This value is not a valid Business Identifier Code (BIC). - Această valoare nu este un Cod de Identificare a Afacerilor (BIC) valid. - - - Error - Eroare - - - This value is not a valid UUID. - Această valoare nu este un UUID valid. - - - This value should be a multiple of {{ compared_value }}. - Această valoare trebuie să fie un multiplu de {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Codul BIC (Business Identifier Code) nu este asociat cu codul IBAN {{ iban }}. - - - This value should be valid JSON. - Această valoare trebuie să fie un JSON valid. - - - This collection should contain only unique elements. - Această colecție ar trebui să conțină numai elemente unice. - - - This value should be positive. - Această valoare ar trebui să fie pozitivă. - - - This value should be either positive or zero. - Această valoare trebuie să fie pozitivă sau zero. - - - This value should be negative. - Această valoare ar trebui să fie negativă. - - - This value should be either negative or zero. - Această valoare trebuie să fie negativă sau zero. - - - This value is not a valid timezone. - Această valoare nu este un fus orar valid. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Această parolă a fost compromisă și nu poate fi utilizată. Vă rugăm să utilizați o altă parolă. - - - This value should be between {{ min }} and {{ max }}. - Această valoare trebuie să fie între {{ min }} și {{ max }}. - - - This value is not a valid hostname. - Această valoare nu este un hostname valid. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Numărul de elemente din această colecție ar trebui să fie un multiplu de {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Această valoare trebuie să îndeplinească cel puțin una dintre următoarele condiții: - - - Each element of this collection should satisfy its own set of constraints. - Fiecare element din acest set ar trebui să îndeplinească propriul set de condiții. - - - This value is not a valid International Securities Identification Number (ISIN). - Această valoare nu este un număr internațional de identificare (ISIN) valabil. - - - This value should be a valid expression. - Această valoare ar trebui să fie o expresie validă. - - - This value is not a valid CSS color. - Această valoare nu este o culoare CSS validă. - - - This value is not a valid CIDR notation. - Această valoare nu este o notație CIDR validă. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Valoarea măștii de rețea trebuie să fie între {{ min }} și {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Denumirea fișierului este prea lungă. Trebuie să conțină {{ filename_max_length }} caracter sau mai puțin.|Denumirea fișierului este prea lungă. Trebuie să conțină {{ filename_max_length }} caractere sau mai puține. - - - The password strength is too low. Please use a stronger password. - Complexitatea parolei este prea mică. Vă rugăm să folosiți o parolă mai puternică. - - - This value contains characters that are not allowed by the current restriction-level. - Această valoare conține caractere care nu sunt permise de nivelul de restricționare curent. - - - Using invisible characters is not allowed. - Folosirea caracterelor invizibile nu este permisă. - - - Mixing numbers from different scripts is not allowed. - Combinarea numerelor din diferite script-uri nu este permisă. - - - Using hidden overlay characters is not allowed. - Folosirea caracterelor ascunse nu este permisă. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Extensia fișierului este invalidă ({{ extension }}). Extensiile permise sunt {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Codificarea caracterelor detectate este invalidă ({{ detected }}). Codificările permise sunt {{ encodings }}. - - - This value is not a valid MAC address. - Această valoare nu este o adresă MAC validă. - - - This URL is missing a top-level domain. - Acestui URL îi lipsește un domeniu de nivel superior. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Această valoare este prea scurtă. Trebuie să conțină cel puțin un cuvânt.|Această valoare este prea scurtă. Trebuie să conțină cel puțin {{ min }} cuvinte. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Această valoare este prea lungă. Trebuie să conțină un singur cuvânt.|Această valoare este prea lungă. Trebuie să conțină cel mult {{ max }} cuvinte. - - - This value does not represent a valid week in the ISO 8601 format. - Această valoare nu reprezintă o săptămână validă în formatul ISO 8601. - - - This value is not a valid week. - Această valoare nu este o săptămână validă. - - - This value should not be before week "{{ min }}". - Această valoare nu trebuie să fie înainte de săptămâna "{{ min }}". - - - This value should not be after week "{{ max }}". - Această valoare nu trebuie să fie după săptămâna "{{ max }}". - - - This value is not a valid Twig template. - Această valoare nu este un șablon Twig valid. - - - This file is not a valid video. - Acest fișier nu este un videoclip valid. - - - The size of the video could not be detected. - Dimensiunea videoclipului nu a putut fi detectată. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Lățimea videoclipului este prea mare ({{ width }}px). Lățimea maximă permisă este {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Lățimea videoclipului este prea mică ({{ width }}px). Lățimea minimă așteptată este {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Înălțimea videoclipului este prea mare ({{ height }}px). Înălțimea maximă permisă este {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Înălțimea videoclipului este prea mică ({{ height }}px). Înălțimea minimă așteptată este {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoclipul are prea puțini pixeli ({{ pixels }}). Cantitatea minimă așteptată este {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoclipul are prea mulți pixeli ({{ pixels }}). Cantitatea maximă așteptată este {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Raportul video este prea mare ({{ ratio }}). Raportul maxim permis este {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Raportul video este prea mic ({{ ratio }}). Raportul minim așteptat este {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Videoclipul este pătrat ({{ width }}x{{ height }}px). Videoclipurile pătrate nu sunt permise. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Videoclipul are orientare peisaj ({{ width }}x{{ height }} px). Videoclipurile în orientare peisaj nu sunt permise. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Videoclipul este în orientare portret ({{ width }}x{{ height }}px). Videoclipurile cu orientare portret nu sunt permise. - - - The video file is corrupted. - Fișierul video este corupt. - - - The video contains multiple streams. Only one stream is allowed. - Videoclipul conține mai multe fluxuri. Doar un singur flux este permis. - - - Unsupported video codec "{{ codec }}". - Codec video nesuportat „{{ codec }}”. - - - Unsupported video container "{{ container }}". - Container video nesuportat "{{ container }}". - - - The image file is corrupted. - Fișierul imagine este corupt. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Imaginea are prea puțini pixeli ({{ pixels }}). Cantitatea minimă așteptată este {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Imaginea are prea mulți pixeli ({{ pixels }}). Cantitatea maximă așteptată este {{ max_pixels }}. - - - This filename does not match the expected charset. - Acest nume de fișier nu corespunde setului de caractere așteptat. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.ru.xlf b/app/vendor/symfony/validator/Resources/translations/validators.ru.xlf deleted file mode 100644 index 5392515de..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.ru.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Значение должно быть ложным. - - - This value should be true. - Значение должно быть истинным. - - - This value should be of type {{ type }}. - Тип значения должен быть {{ type }}. - - - This value should be blank. - Значение должно быть пустым. - - - The value you selected is not a valid choice. - Выбранное Вами значение недопустимо. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Вы должны выбрать хотя бы {{ limit }} вариант.|Вы должны выбрать хотя бы {{ limit }} варианта.|Вы должны выбрать хотя бы {{ limit }} вариантов. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Вы должны выбрать не более чем {{ limit }} вариант.|Вы должны выбрать не более чем {{ limit }} варианта.|Вы должны выбрать не более чем {{ limit }} вариантов. - - - One or more of the given values is invalid. - Одно или несколько заданных значений недопустимо. - - - This field was not expected. - Это поле не ожидалось. - - - This field is missing. - Это поле отсутствует. - - - This value is not a valid date. - Значение не является правильной датой. - - - This value is not a valid datetime. - Значение даты и времени недопустимо. - - - This value is not a valid email address. - Значение адреса электронной почты недопустимо. - - - The file could not be found. - Файл не может быть найден. - - - The file is not readable. - Файл не может быть прочитан. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Файл слишком большой ({{ size }} {{ suffix }}). Максимально допустимый размер {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - MIME-тип файла недопустим ({{ type }}). Допустимы MIME-типы файлов {{ types }}. - - - This value should be {{ limit }} or less. - Значение должно быть {{ limit }} или меньше. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Значение слишком длинное. Должно быть равно {{ limit }} символу или меньше.|Значение слишком длинное. Должно быть равно {{ limit }} символам или меньше.|Значение слишком длинное. Должно быть равно {{ limit }} символам или меньше. - - - This value should be {{ limit }} or more. - Значение должно быть {{ limit }} или больше. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Значение слишком короткое. Должно быть равно {{ limit }} символу или больше.|Значение слишком короткое. Должно быть равно {{ limit }} символам или больше.|Значение слишком короткое. Должно быть равно {{ limit }} символам или больше. - - - This value should not be blank. - Значение не должно быть пустым. - - - This value should not be null. - Значение не должно быть null. - - - This value should be null. - Значение должно быть null. - - - This value is not valid. - Значение недопустимо. - - - This value is not a valid time. - Значение времени недопустимо. - - - This value is not a valid URL. - Значение не является допустимым URL. - - - The two values should be equal. - Оба значения должны быть одинаковыми. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Файл слишком большой. Максимально допустимый размер {{ limit }} {{ suffix }}. - - - The file is too large. - Файл слишком большой. - - - The file could not be uploaded. - Файл не может быть загружен. - - - This value should be a valid number. - Значение должно быть числом. - - - This file is not a valid image. - Файл не является допустимым форматом изображения. - - - This value is not a valid IP address. - Это значение не является действительным IP-адресом. - - - This value is not a valid language. - Значение не является допустимым языком. - - - This value is not a valid locale. - Значение не является допустимой локалью. - - - This value is not a valid country. - Значение не является допустимой страной. - - - This value is already used. - Это значение уже используется. - - - The size of the image could not be detected. - Не удалось определить размер изображения. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширина изображения слишком велика ({{ width }}px). Максимально допустимая ширина {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширина изображения слишком мала ({{ width }}px). Минимально допустимая ширина {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Высота изображения слишком велика ({{ height }}px). Максимально допустимая высота {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Высота изображения слишком мала ({{ height }}px). Минимально допустимая высота {{ min_height }}px. - - - This value should be the user's current password. - Значение должно быть текущим паролем пользователя. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Значение должно быть равно {{ limit }} символу.|Значение должно быть равно {{ limit }} символам.|Значение должно быть равно {{ limit }} символам. - - - The file was only partially uploaded. - Файл был загружен только частично. - - - No file was uploaded. - Файл не был загружен. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - В php.ini не была настроена временная папка, или настроенная папка не существует. - - - Cannot write temporary file to disk. - Невозможно записать временный файл на диск. - - - A PHP extension caused the upload to fail. - Расширение PHP вызвало ошибку при загрузке. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Эта коллекция должна содержать {{ limit }} элемент или больше.|Эта коллекция должна содержать {{ limit }} элемента или больше.|Эта коллекция должна содержать {{ limit }} элементов или больше. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Эта коллекция должна содержать {{ limit }} элемент или меньше.|Эта коллекция должна содержать {{ limit }} элемента или меньше.|Эта коллекция должна содержать {{ limit }} элементов или меньше. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Эта коллекция должна содержать ровно {{ limit }} элемент.|Эта коллекция должна содержать ровно {{ limit }} элемента.|Эта коллекция должна содержать ровно {{ limit }} элементов. - - - Invalid card number. - Неверный номер карты. - - - Unsupported card type or invalid card number. - Неподдерживаемый тип или неверный номер карты. - - - This value is not a valid International Bank Account Number (IBAN). - Это значение не является действительным Международным банковским счетом (IBAN). - - - This value is not a valid ISBN-10. - Значение имеет неверный формат ISBN-10. - - - This value is not a valid ISBN-13. - Значение имеет неверный формат ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Значение не соответствует форматам ISBN-10 и ISBN-13. - - - This value is not a valid ISSN. - Значение не соответствует формату ISSN. - - - This value is not a valid currency. - Некорректный формат валюты. - - - This value should be equal to {{ compared_value }}. - Значение должно быть равно {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Значение должно быть больше чем {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Значение должно быть больше или равно {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Значение должно быть идентичным {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Значение должно быть меньше чем {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Значение должно быть меньше или равно {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Значение не должно быть равно {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Значение не должно быть идентичным {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Соотношение сторон изображения слишком велико ({{ ratio }}). Максимальное соотношение сторон {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Соотношение сторон изображения слишком мало ({{ ratio }}). Минимальное соотношение сторон {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Изображение квадратное ({{ width }}x{{ height }}px). Квадратные изображения не разрешены. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Изображение в альбомной ориентации ({{ width }}x{{ height }}px). Изображения в альбомной ориентации не разрешены. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Изображение в портретной ориентации ({{ width }}x{{ height }}px). Изображения в портретной ориентации не разрешены. - - - An empty file is not allowed. - Пустые файлы не разрешены. - - - The host could not be resolved. - Имя хоста не может быть разрешено. - - - This value does not match the expected {{ charset }} charset. - Значение не совпадает с ожидаемой {{ charset }} кодировкой. - - - This value is not a valid Business Identifier Code (BIC). - Это значение не является действительным Бизнес-идентификатором (BIC). - - - Error - Ошибка - - - This value is not a valid UUID. - Это значение не является действительным UUID. - - - This value should be a multiple of {{ compared_value }}. - Значение должно быть кратно {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Данный BIC не связан с IBAN {{ iban }}. - - - This value should be valid JSON. - Значение должно быть корректным JSON. - - - This collection should contain only unique elements. - Эта коллекция должна содержать только уникальные элементы. - - - This value should be positive. - Значение должно быть положительным. - - - This value should be either positive or zero. - Значение должно быть положительным или равным нулю. - - - This value should be negative. - Значение должно быть отрицательным. - - - This value should be either negative or zero. - Значение должно быть отрицательным или равным нулю. - - - This value is not a valid timezone. - Значение не является корректным часовым поясом. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Данный пароль был скомпрометирован в результате утечки данных и не должен быть использован. Пожалуйста, используйте другой пароль. - - - This value should be between {{ min }} and {{ max }}. - Значение должно быть между {{ min }} и {{ max }}. - - - This value is not a valid hostname. - Значение не является корректным именем хоста. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Количество элементов в этой коллекции должно быть кратным {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Значение должно удовлетворять как минимум одному из следующих ограничений: - - - Each element of this collection should satisfy its own set of constraints. - Каждый элемент этой коллекции должен удовлетворять своему собственному набору ограничений. - - - This value is not a valid International Securities Identification Number (ISIN). - Значение не является корректным международным идентификационным номером ценных бумаг (ISIN). - - - This value should be a valid expression. - Это значение должно быть корректным выражением. - - - This value is not a valid CSS color. - Значение не является корректным CSS цветом. - - - This value is not a valid CIDR notation. - Значение не соответствует нотации CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Значение маски подсети должно быть от {{ min }} до {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Имя файла слишком длинное. Оно должно содержать {{ filename_max_length }} символ или меньше.|Имя файла слишком длинное. Оно должно содержать {{ filename_max_length }} символа или меньше.|Имя файла слишком длинное. Оно должно содержать {{ filename_max_length }} символов или меньше. - - - The password strength is too low. Please use a stronger password. - Слишком низкая надёжность пароля. Пожалуйста, используйте более надёжный пароль. - - - This value contains characters that are not allowed by the current restriction-level. - Значение содержит символы, запрещённые на текущем уровне ограничений. - - - Using invisible characters is not allowed. - Использование невидимых символов запрещено. - - - Mixing numbers from different scripts is not allowed. - Смешивание номеров из разных сценариев запрещено. - - - Using hidden overlay characters is not allowed. - Использование невидимых символов наложения запрещено. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Недопустимое расширение файла ({{ extension }}). Разрешенные расширения: {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Обнаруженная кодировка символов недопустима ({{ detected }}). Разрешенные кодировки: {{ encodings }}. - - - This value is not a valid MAC address. - Это значение не является действительным MAC-адресом. - - - This URL is missing a top-level domain. - В этом URL отсутствует домен верхнего уровня. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Это значение слишком короткое. Оно должно содержать как минимум одно слово.|Это значение слишком короткое. Оно должно содержать как минимум {{ min }} слова.|Это значение слишком короткое. Оно должно содержать как минимум {{ min }} слов. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Это значение слишком длинное. Оно должно содержать только одно слово.|Это значение слишком длинное. Оно должно содержать {{ max }} слова или меньше.|Это значение слишком длинное. Оно должно содержать {{ max }} слов или меньше. - - - This value does not represent a valid week in the ISO 8601 format. - Это значение не представляет допустимую неделю в формате ISO 8601. - - - This value is not a valid week. - Это значение не является допустимой неделей. - - - This value should not be before week "{{ min }}". - Это значение не должно быть раньше недели "{{ min }}". - - - This value should not be after week "{{ max }}". - Это значение не должно быть после недели "{{ max }}". - - - This value is not a valid Twig template. - Это значение не является корректным шаблоном Twig. - - - This file is not a valid video. - Этот файл не является корректным видео. - - - The size of the video could not be detected. - Не удалось определить размер видео. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширина видео слишком велика ({{ width }}px). Максимально допустимая ширина {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширина видео слишком мала ({{ width }}px). Минимально допустимая ширина {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Высота видео слишком велика ({{ height }}px). Максимально допустимая высота {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Высота видео слишком мала ({{ height }}px). Минимально допустимая высота {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - В видео слишком мало пикселей ({{ pixels }} пикселей). Минимально допустимое количество {{ min_pixels }} пикселей. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - В видео слишком много пикселей ({{ pixels }} пикселей). Максимально допустимое количество {{ max_pixels }} пикселей. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Соотношение сторон видео слишком велико ({{ ratio }}). Максимально допустимое соотношение {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Соотношение сторон видео слишком мало ({{ ratio }}). Минимально допустимое соотношение {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Видео квадратное ({{ width }}x{{ height }}px). Квадратные видео не разрешены. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Видео в альбомной ориентации ({{ width }}x{{ height }}px). Видео в альбомной ориентации не разрешены. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Видео в портретной ориентации ({{ width }}x{{ height }}px). Видео в портретной ориентации не разрешены. - - - The video file is corrupted. - Видеофайл повреждён. - - - The video contains multiple streams. Only one stream is allowed. - Видео содержит несколько потоков. Разрешён только один поток. - - - Unsupported video codec "{{ codec }}". - Неподдерживаемый видеокодек «{{ codec }}». - - - Unsupported video container "{{ container }}". - Неподдерживаемый видеоконтейнер «{{ container }}». - - - The image file is corrupted. - Файл изображения повреждён. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - В изображении слишком мало пикселей ({{ pixels }} пикселей). Минимально допустимое количество {{ min_pixels }} пикселей. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - В изображении слишком много пикселей ({{ pixels }} пикселей). Максимально допустимое количество {{ max_pixels }} пикселей. - - - This filename does not match the expected charset. - Это имя файла не соответствует ожидаемой кодировке. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.sk.xlf b/app/vendor/symfony/validator/Resources/translations/validators.sk.xlf deleted file mode 100644 index e79521321..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.sk.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Táto hodnota by mala byť nastavená na false. - - - This value should be true. - Táto hodnota by mala byť nastavená na true. - - - This value should be of type {{ type }}. - Táto hodnota by mala byť typu {{ type }}. - - - This value should be blank. - Táto hodnota by mala byť prázdna. - - - The value you selected is not a valid choice. - Táto hodnota by mala byť jednou z poskytnutých možností. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Mali by ste vybrať minimálne {{ limit }} možnosť.|Mali by ste vybrať minimálne {{ limit }} možnosti.|Mali by ste vybrať minimálne {{ limit }} možností. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Mali by ste vybrať najviac {{ limit }} možnosť.|Mali by ste vybrať najviac {{ limit }} možnosti.|Mali by ste vybrať najviac {{ limit }} možností. - - - One or more of the given values is invalid. - Niektoré z uvedených hodnôt sú neplatné. - - - This field was not expected. - Toto pole sa neočakáva. - - - This field is missing. - Toto pole chýba. - - - This value is not a valid date. - Tato hodnota nemá platný formát dátumu. - - - This value is not a valid datetime. - Táto hodnota nemá platný formát dátumu a času. - - - This value is not a valid email address. - Táto hodnota nie je platná emailová adresa. - - - The file could not be found. - Súbor sa nenašiel. - - - The file is not readable. - Súbor nie je čitateľný. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Súbor je príliš veľký ({{ size }} {{ suffix }}). Maximálna povolená veľkosť je {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Súbor typu ({{ type }}) nie je podporovaný. Podporované typy sú {{ types }}. - - - This value should be {{ limit }} or less. - Táto hodnota by mala byť {{ limit }} alebo menej. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Táto hodnota obsahuje viac znakov ako je povolené. Mala by obsahovať najviac {{ limit }} znak.|Táto hodnota obsahuje viac znakov ako je povolené. Mala by obsahovať najviac {{ limit }} znaky.|Táto hodnota obsahuje viac znakov ako je povolené. Mala by obsahovať najviac {{ limit }} znakov. - - - This value should be {{ limit }} or more. - Táto hodnota by mala byť viac ako {{ limit }}. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Táto hodnota je príliš krátka. Musí obsahovať minimálne {{ limit }} znak.|Táto hodnota je príliš krátka. Musí obsahovať minimálne {{ limit }} znaky.|Táto hodnota je príliš krátka. Minimálny počet znakov je {{ limit }}. - - - This value should not be blank. - Táto hodnota by mala byť vyplnená. - - - This value should not be null. - Táto hodnota by nemala byť null. - - - This value should be null. - Táto hodnota by mala byť null. - - - This value is not valid. - Táto hodnota nie je platná. - - - This value is not a valid time. - Tato hodnota nemá správny formát času. - - - This value is not a valid URL. - Táto hodnota nie je platnou URL adresou. - - - The two values should be equal. - Tieto dve hodnoty by mali byť rovnaké. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Súbor je príliš veľký. Maximálna povolená veľkosť je {{ limit }} {{ suffix }}. - - - The file is too large. - Súbor je príliš veľký. - - - The file could not be uploaded. - Súbor sa nepodarilo nahrať. - - - This value should be a valid number. - Táto hodnota by mala byť číslo. - - - This file is not a valid image. - Tento súbor nie je obrázok. - - - This value is not a valid IP address. - Táto hodnota nie je platná IP adresa. - - - This value is not a valid language. - Tento jazyk neexistuje. - - - This value is not a valid locale. - Táto lokalizácia neexistuje. - - - This value is not a valid country. - Táto krajina neexistuje. - - - This value is already used. - Táto hodnota sa už používa. - - - The size of the image could not be detected. - Nepodarilo sa zistiť rozmery obrázku. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Obrázok je príliš široký ({{ width }}px). Maximálna povolená šírka obrázku je {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Obrázok je príliš úzky ({{ width }}px). Minimálna šírka obrázku by mala byť {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Obrázok je príliš vysoký ({{ height }}px). Maximálna povolená výška obrázku je {{ max_height }}px.]]> - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Obrázok je príliš nízky ({{ height }}px). Minimálna výška obrázku by mala byť {{ min_height }}px. - - - This value should be the user's current password. - Táto hodnota by mala byť aktuálne heslo používateľa. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Táto hodnota by mala mať presne {{ limit }} znak.|Táto hodnota by mala mať presne {{ limit }} znaky.|Táto hodnota by mala mať presne {{ limit }} znakov. - - - The file was only partially uploaded. - Bola nahraná len časť súboru. - - - No file was uploaded. - Žiadny súbor nebol nahraný. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - V php.ini nie je nastavený žiadny dočasný adresár, alebo nastavený adresár neexistuje. - - - Cannot write temporary file to disk. - Dočasný súbor sa nepodarilo zapísať na disk. - - - A PHP extension caused the upload to fail. - Rozšírenie PHP zabránilo nahraniu súboru. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Táto kolekcia by mala obsahovať aspoň {{ limit }} prvok alebo viac.|Táto kolekcia by mala obsahovať aspoň {{ limit }} prvky alebo viac.|Táto kolekcia by mala obsahovať aspoň {{ limit }} prvkov alebo viac. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Táto kolekcia by mala maximálne {{ limit }} prvok.|Táto kolekcia by mala obsahovať maximálne {{ limit }} prvky.|Táto kolekcia by mala obsahovať maximálne {{ limit }} prvkov. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Táto kolekcia by mala obsahovať presne {{ limit }} prvok.|Táto kolekcia by mala obsahovať presne {{ limit }} prvky.|Táto kolekcia by mala obsahovať presne {{ limit }} prvkov. - - - Invalid card number. - Neplatné číslo karty. - - - Unsupported card type or invalid card number. - Nepodporovaný typ karty alebo neplatné číslo karty. - - - This value is not a valid International Bank Account Number (IBAN). - Táto hodnota nie je platným Medzinárodným bankovým číslom účtu (IBAN). - - - This value is not a valid ISBN-10. - Táto hodnota je neplatné ISBN-10. - - - This value is not a valid ISBN-13. - Táto hodnota je neplatné ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Táto hodnota nie je platné ISBN-10 ani ISBN-13. - - - This value is not a valid ISSN. - Táto hodnota nie je platné ISSN. - - - This value is not a valid currency. - Táto hodnota nie je platná mena. - - - This value should be equal to {{ compared_value }}. - Táto hodnota by mala byť rovná {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Táto hodnota by mala byť väčšia ako {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Táto hodnota by mala byť väčšia alebo rovná {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Táto hodnota by mala byť typu {{ compared_value_type }} a zároveň by mala byť rovná {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Táto hodnota by mala byť menšia ako {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Táto hodnota by mala byť menšia alebo rovná {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Táto hodnota by nemala byť rovná {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Táto hodnota by nemala byť typu {{ compared_value_type }} a zároveň by nemala byť rovná {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Pomer strán obrázku je príliš veľký ({{ ratio }}). Maximálny povolený pomer strán obrázku je {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Pomer strán obrázku je príliš malý ({{ ratio }}). Minimálny povolený pomer strán obrázku je {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Strany obrázku sú štvorcové ({{ width }}x{{ height }}px). Štvorcové obrázky nie sú povolené. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Obrázok je orientovaný na šírku ({{ width }}x{{ height }}px). Obrázky orientované na šírku nie sú povolené. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Obrázok je orientovaný na výšku ({{ width }}x{{ height }}px). Obrázky orientované na výšku nie sú povolené. - - - An empty file is not allowed. - Súbor nesmie byť prázdny. - - - The host could not be resolved. - Hostiteľa nebolo možné rozpoznať. - - - This value does not match the expected {{ charset }} charset. - Táto hodnota nezodpovedá očakávanej znakovej sade {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Táto hodnota nie je platným Obchodným identifikačným kódom (BIC). - - - Error - Chyba - - - This value is not a valid UUID. - Táto hodnota nie je platné UUID. - - - This value should be a multiple of {{ compared_value }}. - Táto hodnota by mala byť násobkom {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Tento identifikačný kód podniku (BIC) nie je spojený s IBAN {{ iban }}. - - - This value should be valid JSON. - Táto hodnota by mala byť platný JSON. - - - This collection should contain only unique elements. - Táto kolekcia by mala obsahovať len unikátne prvky. - - - This value should be positive. - Táto hodnota by mala byť kladná. - - - This value should be either positive or zero. - Táto hodnota by mala byť kladná alebo nulová. - - - This value should be negative. - Táto hodnota by mala byť záporná. - - - This value should be either negative or zero. - Táto hodnota by mala byť záporná alebo nulová. - - - This value is not a valid timezone. - Táto hodnota nie je platné časové pásmo. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Toto heslo uniklo pri narušení ochrany dát, nie je možné ho použiť. Prosím, použite iné heslo. - - - This value should be between {{ min }} and {{ max }}. - Táto hodnota by mala byť medzi {{ min }} a {{ max }}. - - - This value is not a valid hostname. - Táto hodnota nie je platný hostname. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Počet prvkov v tejto kolekcii musí byť násobok {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Táto hodnota musí spĺňať aspoň jedno z nasledujúcich obmedzení: - - - Each element of this collection should satisfy its own set of constraints. - Každý prvok v tejto kolekcii musí spĺňať svoje vlastné obmedzenia. - - - This value is not a valid International Securities Identification Number (ISIN). - Táto hodnota nie je platné medzinárodné označenie cenného papiera (ISIN). - - - This value should be a valid expression. - Táto hodnota by mala byť platným výrazom. - - - This value is not a valid CSS color. - Táto hodnota nie je platná CSS farba. - - - This value is not a valid CIDR notation. - Táto hodnota nie je platnou notáciou CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Hodnota masky siete by mala byť medzi {{ min }} a {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Názov súboru je príliš dlhý. Mal by mať {{ filename_max_length }} znak alebo menej.|Názov súboru je príliš dlhý. Mal by mať {{ filename_max_length }} znaky alebo menej.|Názov súboru je príliš dlhý. Mal by mať {{ filename_max_length }} znakov alebo menej. - - - The password strength is too low. Please use a stronger password. - Sila hesla je príliš nízka. Použite silnejšie heslo. - - - This value contains characters that are not allowed by the current restriction-level. - Táto hodnota obsahuje znaky, ktoré nie sú povolené aktuálnou úrovňou obmedzenia. - - - Using invisible characters is not allowed. - Používanie neviditeľných znakov nie je povolené. - - - Mixing numbers from different scripts is not allowed. - Miešanie čísel z rôznych skriptov nie je povolené. - - - Using hidden overlay characters is not allowed. - Používanie skrytých prekryvných znakov nie je povolené. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Prípona súboru je neplatná ({{ extension }}). Povolené prípony sú {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Zistené kódovanie znakov je neplatné ({{ detected }}). Povolené kódovania sú {{ encodings }}. - - - This value is not a valid MAC address. - Táto hodnota nie je platnou MAC adresou. - - - This URL is missing a top-level domain. - Tejto URL chýba doména najvyššej úrovne. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Táto hodnota je príliš krátka. Mala by obsahovať aspoň jedno slovo.|Táto hodnota je príliš krátka. Mala by obsahovať aspoň {{ min }} slov. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Táto hodnota je príliš dlhá. Mala by obsahovať len jedno slovo.|Táto hodnota je príliš dlhá. Mala by obsahovať {{ max }} slov alebo menej. - - - This value does not represent a valid week in the ISO 8601 format. - Táto hodnota nepredstavuje platný týždeň vo formáte ISO 8601. - - - This value is not a valid week. - Táto hodnota nie je platný týždeň. - - - This value should not be before week "{{ min }}". - Táto hodnota by nemala byť pred týždňom "{{ min }}". - - - This value should not be after week "{{ max }}". - Táto hodnota by nemala byť po týždni "{{ max }}". - - - This value is not a valid Twig template. - Táto hodnota nie je platnou Twig šablónou. - - - This file is not a valid video. - Tento súbor nie je platné video. - - - The size of the video could not be detected. - Veľkosť videa sa nepodarilo zistiť. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Šírka videa je príliš veľká ({{ width }}px). Povolená maximálna šírka je {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Šírka videa je príliš malá ({{ width }}px). Očakávaná minimálna šírka je {{ min_width }} px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Výška videa je príliš veľká ({{ height }}px). Povolená maximálna výška je {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Výška videa je príliš malá ({{ height }}px). Očakávaná minimálna výška je {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video má príliš málo pixelov ({{ pixels }}). Očakávané minimálne množstvo je {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video má príliš veľa pixelov ({{ pixels }}). Očakávané maximálne množstvo je {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Pomer strán videa je príliš veľký ({{ ratio }}). Povolený maximálny pomer strán je {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Pomer strán videa je príliš malý ({{ ratio }}). Očakávaný minimálny pomer strán je {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video je štvorcové ({{ width }}x{{ height }}px). Štvorcové videá nie sú povolené. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video je orientované na šírku ({{ width }}x{{ height }} px). Videá orientované na šírku nie sú povolené. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video je orientované na výšku ({{ width }}x{{ height }}px). Videá orientované na výšku nie sú povolené. - - - The video file is corrupted. - Videosúbor je poškodený. - - - The video contains multiple streams. Only one stream is allowed. - Video obsahuje viacero tokov. Povolený je len jeden tok. - - - Unsupported video codec "{{ codec }}". - Nepodporovaný videokodek "{{ codec }}". - - - Unsupported video container "{{ container }}". - Nepodporovaný kontajner videa "{{ container }}". - - - The image file is corrupted. - Súbor obrázka je poškodený. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Obrázok má príliš málo pixelov ({{ pixels }}). Očakávané minimálne množstvo je {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Obrázok má príliš veľa pixelov ({{ pixels }}). Očakávané maximálne množstvo je {{ max_pixels }}. - - - This filename does not match the expected charset. - Tento názov súboru nezodpovedá očakávanej znakovej sade. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.sl.xlf b/app/vendor/symfony/validator/Resources/translations/validators.sl.xlf deleted file mode 100644 index 14d1485c5..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.sl.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Vrednost bi morala biti nepravilna (false). - - - This value should be true. - Vrednost bi morala biti pravilna (true). - - - This value should be of type {{ type }}. - Vrednost mora biti naslednjega tipa {{ type }}. - - - This value should be blank. - Vrednost mora biti prazna. - - - The value you selected is not a valid choice. - Vrednost, ki ste jo izbrali, ni veljavna možnost. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Izbrati morate vsaj {{ limit }} možnost.|Izbrati morate vsaj {{ limit }} možnosti.|Izbrati morate vsaj {{ limit }} možnosti.|Izbrati morate vsaj {{ limit }} možnosti. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Izberete lahko največ {{ limit }} možnost.|Izberete lahko največ {{ limit }} možnosti.|Izberete lahko največ {{ limit }} možnosti.|Izberete lahko največ {{ limit }} možnosti. - - - One or more of the given values is invalid. - Ena ali več podanih vrednosti ni veljavnih. - - - This field was not expected. - To polje ni bilo pričakovati. - - - This field is missing. - To polje manjka. - - - This value is not a valid date. - Ta vrednost ni veljaven datum. - - - This value is not a valid datetime. - Ta vrednost ni veljaven datum in čas. - - - This value is not a valid email address. - Ta vrednost ni veljaven e-poštni naslov. - - - The file could not be found. - Datoteke ni mogoče najti. - - - The file is not readable. - Datoteke ni mogoče prebrati. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Datoteka je prevelika ({{ size }} {{ suffix }}). Največja dovoljena velikost je {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mime tip datoteke je neveljaven ({{ type }}). Dovoljeni mime tipi so {{ types }}. - - - This value should be {{ limit }} or less. - Ta vrednost bi morala biti {{ limit }} ali manj. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Ta vrednost je predolga. Morala bi imeti {{ limit }} znak ali manj.|Ta vrednost je predolga. Morala bi imeti {{ limit }} znaka ali manj.|Ta vrednost je predolga. Morala bi imeti {{ limit }} znake ali manj.|Ta vrednost je predolga. Morala bi imeti {{ limit }} znakov ali manj. - - - This value should be {{ limit }} or more. - Ta vrednost bi morala biti {{ limit }} ali več. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Ta vrednost je prekratka. Morala bi imeti {{ limit }} znak ali več.|Ta vrednost je prekratka. Morala bi imeti {{ limit }} znaka ali več.|Ta vrednost je prekratka. Morala bi imeti {{ limit }} znake ali več.|Ta vrednost je prekratka. Morala bi imeti {{ limit }} znakov ali več. - - - This value should not be blank. - Ta vrednost ne bi smela biti prazna. - - - This value should not be null. - Ta vrednost ne bi smela biti nedefinirana (null). - - - This value should be null. - Ta vrednost bi morala biti nedefinirana (null). - - - This value is not valid. - Ta vrednost ni veljavna. - - - This value is not a valid time. - Ta vrednost ni veljaven čas. - - - This value is not a valid URL. - Ta vrednost ni veljaven URL. - - - The two values should be equal. - Ti dve vrednosti bi morali biti enaki. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Datoteka je prevelika. Največja dovoljena velikost je {{ limit }} {{ suffix }}. - - - The file is too large. - Datoteka je prevelika. - - - The file could not be uploaded. - Datoteke ni bilo mogoče naložiti. - - - This value should be a valid number. - Ta vrednost bi morala biti veljavna številka. - - - This file is not a valid image. - Ta datoteka ni veljavna slika. - - - This value is not a valid IP address. - Ta vrednost ni veljaven IP naslov. - - - This value is not a valid language. - Ta vrednost ni veljaven jezik. - - - This value is not a valid locale. - Ta vrednost ni veljavna lokalnost. - - - This value is not a valid country. - Ta vrednost ni veljavna država. - - - This value is already used. - Ta vrednost je že uporabljena. - - - The size of the image could not be detected. - Velikosti slike ni bilo mogoče zaznati. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina slike je preširoka ({{ width }}px). Največja dovoljena širina je {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina slike je premajhna ({{ width }}px). Najmanjša predvidena širina je {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Višina slike je prevelika ({{ height }}px). Največja dovoljena višina je {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Višina slike je premajhna ({{ height }}px). Najmanjša predvidena višina je {{ min_height }}px. - - - This value should be the user's current password. - Ta vrednost bi morala biti trenutno uporabnikovo geslo. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Ta vrednost bi morala imeti točno {{ limit }} znak.|Ta vrednost bi morala imeti točno {{ limit }} znaka.|Ta vrednost bi morala imeti točno {{ limit }} znake.|Ta vrednost bi morala imeti točno {{ limit }} znakov. - - - The file was only partially uploaded. - Datoteka je bila le delno naložena. - - - No file was uploaded. - Nobena datoteka ni bila naložena. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - V php.ini ni bila nastavljena začasna mapa, ali pa nastavljena mapa ne obstaja. - - - Cannot write temporary file to disk. - Začasne datoteke ni bilo mogoče zapisati na disk. - - - A PHP extension caused the upload to fail. - PHP razširitev je vzrok, da nalaganje ni uspelo. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ta zbirka bi morala vsebovati {{ limit }} element ali več.|Ta zbirka bi morala vsebovati {{ limit }} elementa ali več.|Ta zbirka bi morala vsebovati {{ limit }} elemente ali več.|Ta zbirka bi morala vsebovati {{ limit }} elementov ali več. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ta zbirka bi morala vsebovati {{ limit }} element ali manj.|Ta zbirka bi morala vsebovati {{ limit }} elementa ali manj.|Ta zbirka bi morala vsebovati {{ limit }} elemente ali manj.|Ta zbirka bi morala vsebovati {{ limit }} elementov ali manj. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ta zbirka bi morala vsebovati točno {{ limit }} element.|Ta zbirka bi morala vsebovati točno {{ limit }} elementa.|Ta zbirka bi morala vsebovati točno {{ limit }} elemente.|Ta zbirka bi morala vsebovati točno {{ limit }} elementov. - - - Invalid card number. - Neveljavna številka kartice. - - - Unsupported card type or invalid card number. - Nepodprti tip kartice ali neveljavna številka kartice. - - - This value is not a valid International Bank Account Number (IBAN). - Ta vrednost ni veljavna mednarodna številka bančnega računa (IBAN). - - - This value is not a valid ISBN-10. - Neveljavna vrednost po ISBN-10. - - - This value is not a valid ISBN-13. - Neveljavna vrednost po ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Neveljavna vrednost po ISBN-10 ali po ISBN-13. - - - This value is not a valid ISSN. - Neveljavna vrednost ISSN. - - - This value is not a valid currency. - Ta vrednost ni veljavna valuta. - - - This value should be equal to {{ compared_value }}. - Ta vrednost bi morala biti enaka {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ta vrednost bi morala biti večja od {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ta vrednost bi morala biti večja ali enaka {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ta vrednost bi morala biti identična {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ta vrednost bi morala biti manjša od {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ta vrednost bi morala biti manjša ali enaka {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ta vrednost ne bi smela biti enaka {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ta vrednost ne bi smela biti identična {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Razmerje slike je preveliko ({{ ratio }}). Največje dovoljeno razmerje je {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Razmerje slike je premajhno ({{ ratio }}). Najmanjše pričakovano razmerje je {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Slika je kvadrat ({{ width }}x{{ height }}px). Kvadratne slike niso dovoljene. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Slika je ležeče usmerjena ({{ width }}x{{ height }}px). Ležeče usmerjene slike niso dovoljene. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Slika je pokončno usmerjena ({{ width }}x{{ height }}px). Pokončno usmerjene slike niso dovoljene. - - - An empty file is not allowed. - Prazna datoteka ni dovoljena. - - - The host could not be resolved. - Gostitelja ni bilo mogoče prepoznati. - - - This value does not match the expected {{ charset }} charset. - Ta vrednost se ne ujema s pričakovanim naborom znakov {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Ta vrednost ni veljavna poslovna identifikacijska koda (BIC). - - - Error - Napaka - - - This value is not a valid UUID. - Ta vrednost ni veljaven UUID. - - - This value should be a multiple of {{ compared_value }}. - Ta vrednost bi morala biti večkratnik od {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ta poslovna identifikacijska koda (BIC) ni povezana z IBAN {{ iban }}. - - - This value should be valid JSON. - Ta vrednost bi morala biti veljaven JSON. - - - This collection should contain only unique elements. - Ta zbirka bi morala vsebovati samo edinstvene elemente. - - - This value should be positive. - Ta vrednost bi morala biti pozitivna. - - - This value should be either positive or zero. - Ta vrednost bi morala biti pozitivna ali enaka nič. - - - This value should be negative. - Ta vrednost bi morala biti negativna. - - - This value should be either negative or zero. - Ta vrednost bi morala biti negativna ali enaka nič. - - - This value is not a valid timezone. - Ta vrednost ni veljaven časovni pas. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - To geslo je ušlo pri kršitvi varnosti podatkov in ga ne smete uporabljati. Prosimo, uporabite drugo geslo. - - - This value should be between {{ min }} and {{ max }}. - Ta vrednost bi morala biti med {{ min }} in {{ max }}. - - - This value is not a valid hostname. - Ta vrednost ni veljavno ime gostitelja. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Število elementov v tej zbirki bi moralo biti mnogokratnik {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Ta vrednost bi morala zadostiti vsaj eni izmed sledečih omejitev: - - - Each element of this collection should satisfy its own set of constraints. - Vsak element te zbirke bi moral zadostiti svojemu lastnemu naboru omejitev. - - - This value is not a valid International Securities Identification Number (ISIN). - Ta vrednost ni veljavna mednarodna identifikacijska koda vrednostnih papirjev (ISIN). - - - This value should be a valid expression. - Ta vrednost bi morala biti veljaven izraz. - - - This value is not a valid CSS color. - Ta vrednost ni veljavna barva CSS. - - - This value is not a valid CIDR notation. - Ta vrednost ni veljaven zapis CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Vrednost omrežne maske mora biti med {{ min }} in {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Ime datoteke je predolgo. Imeti mora {{ filename_max_length }} znak ali manj.|Ime datoteke je predolgo. Imeti mora {{ filename_max_length }} znaka ali manj.|Ime datoteke je predolgo. Imeti mora {{ filename_max_length }} znake ali manj.|Ime datoteke je predolgo. Imeti mora {{ filename_max_length }} znakov ali manj. - - - The password strength is too low. Please use a stronger password. - Moč gesla je prenizka. Uporabite močnejše geslo. - - - This value contains characters that are not allowed by the current restriction-level. - Ta vrednost vsebuje znake, ki jih trenutna raven omejitve ne dovoljuje. - - - Using invisible characters is not allowed. - Uporaba nevidnih znakov ni dovoljena. - - - Mixing numbers from different scripts is not allowed. - Mešanje številk iz različnih skript ni dovoljeno. - - - Using hidden overlay characters is not allowed. - Uporaba skritih prekrivnih znakov ni dovoljena. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Končnica datoteke ni veljavna ({{ extension }}). Dovoljene so naslednje končnice: {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Zaznano kodiranje znakov ni veljavno ({{ detected }}). Dovoljene so naslednje vrste kodiranja {{ encodings }}. - - - This value is not a valid MAC address. - Ta vrednost ni veljaven MAC naslov. - - - This URL is missing a top-level domain. - URL-ju manjka vrhnja domena. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Ta vrednost je prekratka. Vsebovati mora vsaj eno besedo.|Ta vrednost je prekratka. Vsebovati mora vsaj {{ min }} besedi.|Ta vrednost je prekratka. Vsebovati mora vsaj {{ min }} besede.|Ta vrednost je prekratka. Vsebovati mora vsaj {{ min }} besed. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Ta vrednost je predolga. Vsebovati mora največ eno besedo.|Ta vrednost je predolga. Vsebovati mora največ {{ max }}.|Ta vrednost je predolga. Vsebovati mora največ {{ max }} besede.|Ta vrednost je predolga. Vsebovati mora največ {{ max }} besed. - - - This value does not represent a valid week in the ISO 8601 format. - Ta vrednost ne predstavlja veljavnega tedna v ISO 8601 formatu. - - - This value is not a valid week. - Ta vrednost ni veljaven teden. - - - This value should not be before week "{{ min }}". - Ta vrednost ne sme biti pred tednom "{{ min }}". - - - This value should not be after week "{{ max }}". - Ta vrednost ne sme biti po tednu "{{ max }}". - - - This value is not a valid Twig template. - Ta vrednost ni veljavna predloga Twig. - - - This file is not a valid video. - Ta datoteka ni veljavna videodatoteka. - - - The size of the video could not be detected. - Velikosti videoposnetka ni bilo mogoče določiti. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina videoposnetka je prevelika ({{ width }}px). Največja dovoljena širina je {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina videoposnetka je premajhna ({{ width }}px). Najmanjša pričakovana širina je {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Višina videoposnetka je prevelika ({{ height }}px). Največja dovoljena višina je {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Višina videoposnetka je premajhna ({{ height }}px). Najmanjša pričakovana višina je {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoposnetek ima premalo slikovnih pik ({{ pixels }}). Najmanjše pričakovano število je {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoposnetek ima preveč slikovnih pik ({{ pixels }}). Največje pričakovano število je {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Razmerje videoposnetka je preveliko ({{ ratio }}). Največje dovoljeno razmerje je {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Razmerje videoposnetka je premajhno ({{ ratio }}). Najmanjše pričakovano razmerje je {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Videoposnetek je kvadraten ({{ width }}x{{ height }}px). Kvadratni videoposnetki niso dovoljeni. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Videoposnetek je ležeče usmerjen ({{ width }}x{{ height }}px). Ležeče usmerjeni videoposnetki niso dovoljeni. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Videoposnetek je pokončno usmerjen ({{ width }}x{{ height }}px). Pokončno usmerjeni videoposnetki niso dovoljeni. - - - The video file is corrupted. - Videodatoteka je poškodovana. - - - The video contains multiple streams. Only one stream is allowed. - Videoposnetek vsebuje več tokov. Dovoljen je le en tok. - - - Unsupported video codec "{{ codec }}". - Nepodprt videokodek "{{ codec }}". - - - Unsupported video container "{{ container }}". - Nepodprt videovsebnik "{{ container }}". - - - The image file is corrupted. - Slikovna datoteka je poškodovana. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Slika ima premalo slikovnih pik ({{ pixels }}). Najmanjše pričakovano število je {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Slika ima preveč slikovnih pik ({{ pixels }}). Največje pričakovano število je {{ max_pixels }}. - - - This filename does not match the expected charset. - Ime datoteke ne ustreza pričakovanemu naboru znakov. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.sq.xlf b/app/vendor/symfony/validator/Resources/translations/validators.sq.xlf deleted file mode 100644 index 0561705a6..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.sq.xlf +++ /dev/null @@ -1,568 +0,0 @@ - - - -
- - Për fjalët e huaja, të cilat nuk kanë përkthim të drejtpërdrejtë, ju lutemi të ndiqni rregullat e mëposhtme: - a) në rast se emri është akronim i përdorur gjerësisht si i përveçëm, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Gjinia gjykohet sipas rastit. Shembull: JSON (mashkullore) - b) në rast se emri është akronim i papërdorur gjerësisht si i përveçëm, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Gjinia është femërore. Shembull: URL (femërore) - c) në rast se emri duhet lakuar për shkak të rasës në fjali, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Shembull: host-i, prej host-it - d) në rast se emri nuk duhet lakuar për shkak të trajtës në fjali, atëherë, emri rrethote me thonjëzat “”. Shembull: “locale” - -
- - - This value should be false. - Kjo vlerë duhet të jetë e pavërtetë (false). - - - This value should be true. - Kjo vlerë duhet të jetë e vërtetë (true). - - - This value should be of type {{ type }}. - Kjo vlerë duhet të jetë e llojit {{ type }}. - - - This value should be blank. - Kjo vlerë duhet të jetë e zbrazët. - - - The value you selected is not a valid choice. - Vlera që keni zgjedhur nuk është alternativë e vlefshme. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Duhet të zgjidhni së paku {{ limit }} alternativë.|Duhet të zgjidhni së paku {{ limit }} alternativa. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Duhet të zgjidhni së shumti {{ limit }} alternativë.|Duhet të zgjidhni së shumti {{ limit }} alternativa. - - - One or more of the given values is invalid. - Një apo më shumë nga vlerat e dhëna janë të pavlefshme. - - - This field was not expected. - Kjo fushë nuk pritej. - - - This field is missing. - Kjo fushë mungon. - - - This value is not a valid date. - Kjo vlerë nuk është datë e vlefshme. - - - This value is not a valid datetime. - Kjo vlerë nuk është datë dhe orë e vlefshme. - - - This value is not a valid email address. - Kjo vlerë nuk është email adresë e vlefshme. - - - The file could not be found. - Fajli nuk u gjet. - - - The file is not readable. - Fajli nuk është e lexueshme. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Fajli është shumë e madhe ({{ size }} {{ suffix }}). Madhësia maksimale e lejuar është {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Lloji “mime” i fajlit është i pavlefshëm ({{ type }}). Llojet “mime” të lejuara janë {{ types }}. - - - This value should be {{ limit }} or less. - Kjo vlerë duhet të jetë {{ limit }} ose më pak. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Kjo vlerë është shumë e gjatë. Duhet të përmbajë {{ limit }} karakter ose më pak.|Kjo vlerë është shumë e gjatë. Duhet të përmbajë {{ limit }} karaktere ose më pak. - - - This value should be {{ limit }} or more. - Kjo vlerë duhet të jetë {{ limit }} ose më shumë. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Kjo vlerë është shumë e shkurtër. Duhet të përmbajë {{ limit }} karakter ose më shumë.|Kjo vlerë është shumë e shkurtër. Duhet të përmbajë {{ limit }} karaktere ose më shumë. - - - This value should not be blank. - Kjo vlerë nuk duhet të jetë e zbrazët. - - - This value should not be null. - Kjo vlerë nuk duhet të jetë “null”. - - - This value should be null. - Kjo vlerë duhet të jetë “null”. - - - This value is not valid. - Kjo vlerë nuk është e vlefshme. - - - This value is not a valid time. - Kjo vlerë nuk është një orë e vlefshme. - - - This value is not a valid URL. - Kjo vlerë nuk është URL e vlefshme. - - - The two values should be equal. - Këto dy vlera duhet të jenë të barabarta. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Ky fajl është shumë i madhë. Madhësia maksimale e lejuar është {{ limit }} {{ suffix }}. - - - The file is too large. - Ky fajl është shumë i madhë. - - - The file could not be uploaded. - Ky fajl nuk mund të ngarkohet. - - - This value should be a valid number. - Kjo vlerë duhet të jetë një numër i vlefshëm. - - - This file is not a valid image. - Ky fajl nuk është një imazh i vlefshëm. - - - This value is not a valid IP address. - Kjo vlerë nuk është një adresë IP e vlefshme. - - - This value is not a valid language. - Kjo vlerë nuk është një gjuhë e vlefshme. - - - This value is not a valid locale. - Kjo vlerë nuk është nje “locale” e vlefshme. - - - This value is not a valid country. - Kjo vlerë nuk është një shtet i vlefshëm. - - - This value is already used. - Kjo vlerë është tashmë në përdorim. - - - The size of the image could not be detected. - Madhësia e imazhit nuk mund të zbulohet. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Gjerësia e imazhit është shumë e madhe ({{ width }}px). Gjerësia maksimale e lejuar është {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Gjerësia e imazhit është shumë e vogël ({{ width }}px). Gjerësia minimale e pritur është {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Gjatësia e imazhit është shumë e madhe ({{ height }}px). Gjatësia maksimale e lejuar është {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Gjatësia e imazhit është shumë e vogël ({{ height }}px). Gjatësia minimale e pritur është {{ min_height }}px. - - - This value should be the user's current password. - Kjo vlerë duhet të jetë fjalëkalimi i tanishëm i përdoruesit. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Kjo vlerë duhet të ketë saktësisht {{ limit }} karakter.|Kjo vlerë duhet të ketë saktësisht {{ limit }} karaktere. - - - The file was only partially uploaded. - Ky fajl është ngarkuar pjesërisht. - - - No file was uploaded. - Nuk është ngarkuar ndonjë fajl. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Nuk është konfiguruar asnjë dosje e përkohshëm në php.ini, ose dosja e konfiguruar nuk ekziston. - - - Cannot write temporary file to disk. - Nuk mund të shkruhet fajli e përkohshme në disk. - - - A PHP extension caused the upload to fail. - Një shtojcë PHP shkaktoi dështimin e ngarkimit. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ky koleksion duhet të përmbajë {{ limit }} element ose më shumë.|Ky koleksion duhet të përmbajë {{ limit }} elemente ose më shumë. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ky koleksion duhet të përmbajë {{ limit }} element ose më pak.|Ky koleksion duhet të përmbajë {{ limit }} elemente ose më pak. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ky koleksion duhet të përmbajë saktësisht {{ limit }} element.|Ky koleksion duhet të përmbajë saktësisht {{ limit }} elemente. - - - Invalid card number. - Numër karte i pavlefshëm. - - - Unsupported card type or invalid card number. - Lloji i kartës i papërkrahur ose numër kartës i pavlefshëm. - - - This value is not a valid International Bank Account Number (IBAN). - Kjo vlerë nuk është një Numër Llogarie Bankare Ndërkombëtare (IBAN) i vlefshëm. - - - This value is not a valid ISBN-10. - Kjo vlerë nuk është një ISBN-10 e vlefshme. - - - This value is not a valid ISBN-13. - Kjo vlerë nuk është një ISBN-13 e vlefshme. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Kjo vlerë nuk është as ISBN-10 e vlefshme as ISBN-13 e vlefshme. - - - This value is not a valid ISSN. - Kjo vlerë nuk është një ISSN e vlefshme. - - - This value is not a valid currency. - Kjo vlerë nuk është një valutë e vlefshme. - - - This value should be equal to {{ compared_value }}. - Kjo vlerë duhet të jetë e barabartë me {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Kjo vlerë duhet të jetë më e madhe se {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Kjo vlerë duhet të jetë më e madhe ose e barabartë me {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Kjo vlerë duhet të jetë identike me {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Kjo vlerë duhet të jetë më vogël se {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Kjo vlerë duhet të jetë më e vogël ose e barabartë me {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Kjo vlerë nuk duhet të jetë e barabartë me {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Kjo vlerë nuk duhet të jetë identike me {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Raporti i imazhit është shumë i madh ({{ ratio }}). Raporti maksimal i lejuar është {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Raporti i imazhit është shumë i vogël ({{ ratio }}). Raporti minimal pritet të jetë {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Imazhi është katror ({{ width }}x{{ height }}px). Imazhet katrore nuk janë të lejuara. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Imazhi është i orientuar horizontalisht ({{ width }}x{{ height }}px). Imazhet e orientuara horizontalisht nuk lejohen. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Imazhi është i orientuar vertikalisht ({{ width }}x{{ height }}px). Imazhet orientuara vertikalisht nuk lejohen. - - - An empty file is not allowed. - Një fajl i zbrazët nuk lejohet. - - - The host could not be resolved. - Host-i nuk mund te zbulohej. - - - This value does not match the expected {{ charset }} charset. - Kjo vlerë nuk përputhet me kodifikimin e karaktereve {{ charset }} që pritej. - - - This value is not a valid Business Identifier Code (BIC). - Kjo vlerë nuk është një Kod Identifikues Biznesi (BIC) i vlefshëm. - - - Error - Gabim - - - This value is not a valid UUID. - Kjo vlerë nuk është një UUID e vlefshme. - - - This value should be a multiple of {{ compared_value }}. - Kjo vlerë duhet të jetë një shumëfish i {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ky Kod Identifikues Biznesi (BIC) nuk është i lidhur me IBAN {{ iban }}. - - - This value should be valid JSON. - Kjo vlerë duhet të jetë JSON i vlefshëm. - - - This collection should contain only unique elements. - Ky koleksion duhet të përmbajë vetëm elementë unikë. - - - This value should be positive. - Kjo vlerë duhet të jetë pozitive. - - - This value should be either positive or zero. - Kjo vlerë duhet të jetë pozitive ose zero. - - - This value should be negative. - Kjo vlerë duhet të jetë negative. - - - This value should be either negative or zero. - Kjo vlerë duhet të jetë negative ose zero. - - - This value is not a valid timezone. - Kjo vlerë nuk është një zonë e vlefshme kohore. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Ky fjalëkalim është zbuluar në një shkelje të të dhënave, nuk duhet të përdoret. Ju lutemi përdorni një fjalëkalim tjetër. - - - This value should be between {{ min }} and {{ max }}. - Kjo vlerë duhet të jetë ndërmjet {{ min }} dhe {{ max }}. - - - This value is not a valid hostname. - Kjo vlerë nuk është një emër i vlefshëm host-i. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Numri i elementeve në këtë koleksion duhet të jetë një shumëfish i {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Kjo vlerë duhet të plotësojë të paktën njërën nga kufizimet e mëposhtme: - - - Each element of this collection should satisfy its own set of constraints. - Secili element i këtij koleksioni duhet të përmbushë kufizimet e veta. - - - This value is not a valid International Securities Identification Number (ISIN). - Kjo vlerë nuk është një numër i vlefshëm identifikues ndërkombëtar i sigurisë (ISIN). - - - This value should be a valid expression. - Kjo vlerë duhet të jetë një shprehje e vlefshme. - - - This value is not a valid CSS color. - Kjo vlerë nuk është një ngjyrë e vlefshme CSS. - - - This value is not a valid CIDR notation. - Kjo vlerë nuk është një shënim i vlefshëm CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Vlera e maskës së rrjetit duhet të jetë ndërmjet {{ min }} dhe {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Emri i fajlit është shumë i gjatë. Duhet të ketë maksimumi {{ filename_max_length }} karakter ose më pak.|Emri i fajlit është shumë i gjatë. Duhet të ketë maksimumi {{ filename_max_length }} karaktere ose më pak. - - - The password strength is too low. Please use a stronger password. - Fuqia e fjalëkalimit është shumë e ulët. Ju lutemi përdorni një fjalëkalim më të fortë. - - - This value contains characters that are not allowed by the current restriction-level. - Kjo vlerë përmban karaktere që nuk lejohen nga niveli aktual i kufizimit. - - - Using invisible characters is not allowed. - Përdorimi i karaktereve të padukshme nuk lejohet. - - - Mixing numbers from different scripts is not allowed. - Përzierja e numrave nga shkrimet e ndryshme nuk lejohet. - - - Using hidden overlay characters is not allowed. - Përdorimi i karaktereve të mbivendosura të fshehura nuk lejohet. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Shtesa e fajlit është e pavlefshme ({{ extension }}). Shtesat e lejuara janë {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Kodimi i karakterit të identifikuar është i pavlefshëm ({{ detected }}). Kodimet e lejuara janë {{ encodings }}. - - - This value is not a valid MAC address. - Kjo nuk është një adresë e vlefshme e Kontrollit të Qasjes në Media (MAC). - - - This URL is missing a top-level domain. - Kësaj URL-je i mungon një domain i nivelit të sipërm. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Kjo vlerë është shumë e shkurtër. Duhet të përmbajë të paktën një fjalë.|Kjo vlerë është shumë e shkurtër. Duhet të përmbajë të paktën {{ min }} fjalë. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Kjo vlerë është shumë e gjatë. Duhet të përmbajë një fjalë.|Kjo vlerë është shumë e gjatë. Duhet të përmbajë {{ max }} fjalë ose më pak. - - - This value does not represent a valid week in the ISO 8601 format. - Kjo vlerë nuk përfaqëson një javë të vlefshme në formatin ISO 8601. - - - This value is not a valid week. - Kjo vlerë nuk është një javë e vlefshme. - - - This value should not be before week "{{ min }}". - Kjo vlerë nuk duhet të jetë para javës "{{ min }}". - - - This value should not be after week "{{ max }}". - Kjo vlerë nuk duhet të jetë pas javës "{{ max }}". - - - This value is not a valid Twig template. - Kjo vlerë nuk është një shabllon Twig i vlefshëm. - - - This file is not a valid video. - Ky fajl nuk është video e vlefshme. - - - The size of the video could not be detected. - Madhësia e videos nuk mund të zbulohej. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Gjerësia e videos është shumë e madhe ({{ width }}px). Gjerësia maksimale e lejuar është {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Gjerësia e videos është shumë e vogël ({{ width }}px). Gjerësia minimale e pritur është {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Lartësia e videos është shumë e madhe ({{ height }}px). Lartësia maksimale e lejuar është {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Lartësia e videos është shumë e vogël ({{ height }}px). Lartësia minimale e pritur është {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video ka shumë pak pikselë ({{ pixels }}). Sasia minimale e pritur është {{ min_pixels }}px. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoja ka tepër piksele ({{ pixels }}). Sasia maksimale e pritur është {{ max_pixels }}px. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Raporti i videos është shumë i madh ({{ ratio }}). Raporti maksimal i lejuar është {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Raporti i videos është shumë i vogël ({{ ratio }}). Raporti minimal i pritur është {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Videoja është katrore ({{ width }}x{{ height }}px). Videot katrore nuk lejohen. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Videoja është me orientim horizontal ({{ width }}x{{ height }}px). Videot horizontale nuk lejohen. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Videoja është me orientim portret ({{ width }}x{{ height }}px). Videot me orientim portret nuk lejohen. - - - The video file is corrupted. - Fajli i videos është i korruptuar. - - - The video contains multiple streams. Only one stream is allowed. - Videoja përmban disa rrjedha. Lejohet vetëm një rrjedhë. - - - Unsupported video codec "{{ codec }}". - Kodeku videos është i pambështetur „{{ codec }}“. - - - Unsupported video container "{{ container }}". - Kontejneri videos është i pambështetur "{{ container }}". - - - The image file is corrupted. - Fajli i imazhit është korruptuar. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Imazhi ka shumë pak pikselë ({{ pixels }}). Sasia minimale e pritur është {{ min_pixels }}px. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Imazhi ka shumë pikselë ({{ pixels }}). Shuma maksimale e pritur është {{ max_pixels }}px. - - - This filename does not match the expected charset. - Ky emër fajlit nuk përputhet me grupin e pritur të karaktereve. - - -
-
diff --git a/app/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf b/app/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf deleted file mode 100644 index 4aeba68fd..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Вредност треба да буде нетачна. - - - This value should be true. - Вредност треба да буде тачна. - - - This value should be of type {{ type }}. - Вредност треба да буде типа {{ type }}. - - - This value should be blank. - Вредност треба да буде празна. - - - The value you selected is not a valid choice. - Вредност треба да буде једна од понуђених. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Изаберите бар {{ limit }} могућност.|Изаберите бар {{ limit }} могућности.|Изаберите бар {{ limit }} могућности. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Изаберите највише {{ limit }} могућност.|Изаберите највише {{ limit }} могућности.|Изаберите највише {{ limit }} могућности. - - - One or more of the given values is invalid. - Једна или више вредности је невалидна. - - - This field was not expected. - Ово поље није било очекивано. - - - This field is missing. - Ово поље недостаје. - - - This value is not a valid date. - Вредност није валидан датум. - - - This value is not a valid datetime. - Вредност није валидан датум-време. - - - This value is not a valid email address. - Вредност није валидна адреса електронске поште. - - - The file could not be found. - Датотека не може бити пронађена. - - - The file is not readable. - Датотека није читљива. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Датотека је превелика ({{ size }} {{ suffix }}). Највећа дозвољена величина је {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Миме тип датотеке није валидан ({{ type }}). Дозвољени миме типови су {{ types }}. - - - This value should be {{ limit }} or less. - Вредност треба да буде {{ limit }} или мање. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Вредност је предугачка. Треба да има {{ limit }} карактер или мање.|Вредност је предугачка. Треба да има {{ limit }} карактера или мање.|Вредност је предугачка. Треба да има {{ limit }} карактера или мање. - - - This value should be {{ limit }} or more. - Вредност треба да буде {{ limit }} или више. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Вредност је прекратка. Треба да има {{ limit }} карактер или више.|Вредност је прекратка. Треба да има {{ limit }} карактера или више.|Вредност је прекратка. Треба да има {{ limit }} карактера или више. - - - This value should not be blank. - Вредност не треба да буде празна. - - - This value should not be null. - Вредност не треба да буде null. - - - This value should be null. - Вредност треба да буде null. - - - This value is not valid. - Вредност није валидна. - - - This value is not a valid time. - Вредност није валидно време. - - - This value is not a valid URL. - Вредност није валидан URL. - - - The two values should be equal. - Обе вредности треба да буду једнаке. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Датотека је превелика. Највећа дозвољена величина је {{ limit }} {{ suffix }}. - - - The file is too large. - Датотека је превелика. - - - The file could not be uploaded. - Датотека не може бити отпремљена. - - - This value should be a valid number. - Вредност треба да буде валидан број. - - - This file is not a valid image. - Ова датотека није валидна слика. - - - This value is not a valid IP address. - Ова вредност није валидна IP адреса. - - - This value is not a valid language. - Вредност није валидан језик. - - - This value is not a valid locale. - Вредност није валидна међународна ознака језика. - - - This value is not a valid country. - Вредност није валидна држава. - - - This value is already used. - Вредност је већ искоришћена. - - - The size of the image could not be detected. - Величина слике не може бити одређена. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширина слике је превелика ({{ width }} пиксела). Најећа дозвољена ширина је {{ max_width }} пиксела. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширина слике је премала ({{ width }} пиксела). Најмања дозвољена ширина је {{ min_width }} пиксела. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Висина слике је превелика ({{ height }} пиксела). Најећа дозвољена висина је {{ max_height }} пиксела. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Висина слике је премала ({{ height }} пиксела). Најмања дозвољена висина је {{ min_height }} пиксела. - - - This value should be the user's current password. - Вредност треба да буде тренутна корисничка лозинка. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Вредност треба да има тачно {{ limit }} карактер.|Вредност треба да има тачно {{ limit }} карактера.|Вредност треба да има тачно {{ limit }} карактера. - - - The file was only partially uploaded. - Датотека је само делимично отпремљена. - - - No file was uploaded. - Датотека није отпремљена. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Привремени директоријум није конфигурисан у php.ini, или конфигурисани директоријум не постоји. - - - Cannot write temporary file to disk. - Немогуће писање привремене датотеке на диск. - - - A PHP extension caused the upload to fail. - PHP екстензија је проузроковала неуспех отпремања датотеке. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ова колекција треба да садржи {{ limit }} или више елемената.|Ова колекција треба да садржи {{ limit }} или више елемената.|Ова колекција треба да садржи {{ limit }} или више елемената. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ова колекција треба да садржи {{ limit }} или мање елемената.|Ова колекција треба да садржи {{ limit }} или мање елемената.|Ова колекција треба да садржи {{ limit }} или мање елемената. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ова колекција треба да садржи тачно {{ limit }} елемент.|Ова колекција треба да садржи тачно {{ limit }} елемента.|Ова колекција треба да садржи тачно {{ limit }} елемената. - - - Invalid card number. - Невалидан број картице. - - - Unsupported card type or invalid card number. - Невалидан број картице или тип картице није подржан. - - - This value is not a valid International Bank Account Number (IBAN). - Ова вредност није валидан Међународни број банковног рачуна (IBAN). - - - This value is not a valid ISBN-10. - Ова вредност није валидан ISBN-10. - - - This value is not a valid ISBN-13. - Ова вредност није валидан ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Овa вредност није ни валидан ISBN-10 ни валидан ISBN-13. - - - This value is not a valid ISSN. - Ова вредност није валидан ISSN. - - - This value is not a valid currency. - Ово вредност није валидна валута. - - - This value should be equal to {{ compared_value }}. - Ова вредност треба да буде {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ова вредност треба да буде већа од {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ова вредност треба да буде већа или једнака {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ова вредност треба да буде идентична са {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ова вредност треба да буде мања од {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ова вредност треба да буде мања или једнака {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ова вредност не треба да буде једнака {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ова вредност не треба да буде идентична са {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Размера ове слике је превелика ({{ ratio }}). Максимална дозвољена размера је {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Размера ове слике је премала ({{ ratio }}). Минимална очекивана размера је {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Слика је квадратна ({{ width }}x{{ height }} пиксела). Квадратне слике нису дозвољене. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Слика је оријентације пејзажа ({{ width }}x{{ height }} пиксела). Пејзажна оријентација слика није дозвољена. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Слика је оријантације портрета ({{ width }}x{{ height }} пиксела). Портретна оријентација слика није дозвољена. - - - An empty file is not allowed. - Празна датотека није дозвољена. - - - The host could not be resolved. - Име хоста не може бити разрешено. - - - This value does not match the expected {{ charset }} charset. - Вредност се не поклапа са очекиваним {{ charset }} сетом карактера. - - - This value is not a valid Business Identifier Code (BIC). - Ова вредност није валидан Код за идентификацију бизниса (BIC). - - - Error - Грешка - - - This value is not a valid UUID. - Ова вредност није валидан UUID. - - - This value should be a multiple of {{ compared_value }}. - Ова вредност треба да буде дељива са {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - BIC код није повезан са IBAN {{ iban }}. - - - This value should be valid JSON. - Ова вредност треба да буде валидан JSON. - - - This collection should contain only unique elements. - Ова колекција треба да садржи само јединствене елементе. - - - This value should be positive. - Ова вредност треба да буде позитивна. - - - This value should be either positive or zero. - Ова вредност треба да буде или позитивна или нула. - - - This value should be negative. - Ова вредност треба да буде негативна. - - - This value should be either negative or zero. - Ова вредност треба да буде или негативна или нула. - - - This value is not a valid timezone. - Ова вредност није валидна временска зона. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Ова лозинка је компромитована приликом претходних напада, немојте је користити. Користите другу лозинку. - - - This value should be between {{ min }} and {{ max }}. - Ова вредност треба да буде између {{ min }} и {{ max }}. - - - This value is not a valid hostname. - Ова вредност није исправно име хоста. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Број елемената у овој колекцији треба да буде дељив са {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Ова вредност треба да задовољава најмање једно од наредних ограничења: - - - Each element of this collection should satisfy its own set of constraints. - Сваки елемент ове колекције треба да задовољи сопствени скуп ограничења. - - - This value is not a valid International Securities Identification Number (ISIN). - Ова вредност није валидна међународна идентификациона ознака хартија од вредности (ISIN). - - - This value should be a valid expression. - Ова вредност треба да буде валидан израз. - - - This value is not a valid CSS color. - Ова вредност није валидна CSS боја. - - - This value is not a valid CIDR notation. - Ова вредност није валидна CIDR нотација. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Вредност мрежне маске треба да буде између {{ min }} и {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Назив датотеке је сувише дугачак. Треба да има {{ filename_max_length }} карактер или мање.|Назив датотеке је сувише дугачак. Треба да има {{ filename_max_length }} карактера или мање.|Назив датотеке је сувише дугачак. Треба да има {{ filename_max_length }} карактера или мање. - - - The password strength is too low. Please use a stronger password. - Лозинка није довољно јака. Молимо користите јачу лозинку. - - - This value contains characters that are not allowed by the current restriction-level. - Ова вредност садржи карактере који нису дозвољени од стране важећег нивоа рестрикције. - - - Using invisible characters is not allowed. - Коришћење невидљивих карактера није дозвољено. - - - Mixing numbers from different scripts is not allowed. - Мешање бројева из различитих скрипти није дозвољено. - - - Using hidden overlay characters is not allowed. - Коришћење скривених преклопних карактера није дозвољено. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Екстензија фајла није валидна ({{ extension }}). Дозвољене екстензије су {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Детектовано кодирање знакова није валидно ({{ detected }}). Дозвољена кодирања су {{ encodings }}. - - - This value is not a valid MAC address. - Ова вредност није валидна MAC адреса. - - - This URL is missing a top-level domain. - Овом URL-у недостаје домен највишег нивоа. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Ова вредност је прекратка. Треба да садржи макар једну реч.|Ова вредност је прекратка. Треба да садржи макар {{ min }} речи.|Ова вредност је прекратка. Треба да садржи макар {{ min }} речи. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Ова вредност је предугачка. Треба да садржи само једну реч.|Ова вредност је предугачка. Треба да садржи највише {{ max }} речи.|Ова вредност је предугачка. Треба да садржи највише {{ max }} речи. - - - This value does not represent a valid week in the ISO 8601 format. - Ова вредност не представља валидну недељу у ISO 8601 формату. - - - This value is not a valid week. - Ова вредност није валидна недеља. - - - This value should not be before week "{{ min }}". - Ова вредност не треба да буде пре недеље "{{ min }}". - - - This value should not be after week "{{ max }}". - Ова вредност не треба да буде после недеље "{{ max }}". - - - This value is not a valid Twig template. - Ова вредност није валидан Twig шаблон. - - - This file is not a valid video. - Ова датотека није валидан видео. - - - The size of the video could not be detected. - Величина видеа не може бити одређена. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширина видеа је превелика ({{ width }}px). Дозвољена максимална ширина је {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширина видеа је премала ({{ width }}px). Очекивана минимална ширина је {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Висина видеа је превелика ({{ height }}px). Дозвољена максимална висина је {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Висина видеа је премала ({{ height }}px). Очекивана минимална висина је {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Видео има премало пиксела ({{ pixels }}). Очекивани минимум је {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Видео има превише пиксела ({{ pixels }}). Очекивани максимум је {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Однос страница видеа је превелик ({{ ratio }}). Дозвољени максимални однос је {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Однос страница видеа је премали ({{ ratio }}). Очекивани минимални однос је {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Видео је квадратног облика ({{ width }}x{{ height }}px). Квадратни видео записи нису дозвољени. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Видео је у водоравној оријентацији ({{ width }}x{{ height }}px). Водоравно оријентисани видео записи нису дозвољени. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Видео је у портрет оријентацији ({{ width }}x{{ height }}px). Портретно оријентисани видео записи нису дозвољени. - - - The video file is corrupted. - Видео датотека је оштећена. - - - The video contains multiple streams. Only one stream is allowed. - Видео садржи више токова. Дозвољен је само један ток. - - - Unsupported video codec "{{ codec }}". - Неподржан видео кодек „{{ codec }}“. - - - Unsupported video container "{{ container }}". - Неподржан видео контејнер „{{ container }}“. - - - The image file is corrupted. - Датотека слике је оштећена. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Слика има премало пиксела ({{ pixels }}). Очекивани минимум је {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Слика има превише пиксела ({{ pixels }}). Очекивани максимум је {{ max_pixels }}. - - - This filename does not match the expected charset. - Ово име датотеке не одговара очекиваном скупу знакова. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf b/app/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf deleted file mode 100644 index 9fac3a261..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Vrednost treba da bude netačna. - - - This value should be true. - Vrednost treba da bude tačna. - - - This value should be of type {{ type }}. - Vrednost treba da bude tipa {{ type }}. - - - This value should be blank. - Vrednost treba da bude prazna. - - - The value you selected is not a valid choice. - Vrednost treba da bude jedna od ponuđenih. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Izaberite bar {{ limit }} mogućnost.|Izaberite bar {{ limit }} mogućnosti.|Izaberite bar {{ limit }} mogućnosti. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Izaberite najviše {{ limit }} mogućnost.|Izaberite najviše {{ limit }} mogućnosti.|Izaberite najviše {{ limit }} mogućnosti. - - - One or more of the given values is invalid. - Jedna ili više vrednosti je nevalidna. - - - This field was not expected. - Ovo polje nije bilo očekivano. - - - This field is missing. - Ovo polje nedostaje. - - - This value is not a valid date. - Vrednost nije validan datum. - - - This value is not a valid datetime. - Vrednost nije validan datum-vreme. - - - This value is not a valid email address. - Vrednost nije validna adresa elektronske pošte. - - - The file could not be found. - Datoteka ne može biti pronađena. - - - The file is not readable. - Datoteka nije čitljiva. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Datoteka je prevelika ({{ size }} {{ suffix }}). Najveća dozvoljena veličina je {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - MIME tip datoteke nije validan ({{ type }}). Dozvoljeni MIME tipovi su {{ types }}. - - - This value should be {{ limit }} or less. - Vrednost treba da bude {{ limit }} ili manje. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Vrednost je predugačka. Treba da ima {{ limit }} karakter ili manje.|Vrednost je predugačka. Treba da ima {{ limit }} karaktera ili manje.|Vrednost je predugačka. Treba da ima {{ limit }} karaktera ili manje. - - - This value should be {{ limit }} or more. - Vrednost treba da bude {{ limit }} ili više. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Vrednost je prekratka. Treba da ima {{ limit }} karakter ili više.|Vrednost je prekratka. Treba da ima {{ limit }} karaktera ili više.|Vrednost je prekratka. Treba da ima {{ limit }} karaktera ili više. - - - This value should not be blank. - Vrednost ne treba da bude prazna. - - - This value should not be null. - Vrednost ne treba da bude null. - - - This value should be null. - Vrednost treba da bude null. - - - This value is not valid. - Vrednost nije validna. - - - This value is not a valid time. - Vrednost nije validno vreme. - - - This value is not a valid URL. - Vrednost nije validan URL. - - - The two values should be equal. - Obe vrednosti treba da budu jednake. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Datoteka je prevelika. Najveća dozvoljena veličina je {{ limit }} {{ suffix }}. - - - The file is too large. - Datoteka je prevelikia. - - - The file could not be uploaded. - Datoteka ne može biti otpremljena. - - - This value should be a valid number. - Vrednost treba da bude validan broj. - - - This file is not a valid image. - Ova datoteka nije validna slika. - - - This value is not a valid IP address. - Ova vrednost nije validna IP adresa. - - - This value is not a valid language. - Vrednost nije validan jezik. - - - This value is not a valid locale. - Vrednost nije validna međunarodna oznaka jezika. - - - This value is not a valid country. - Vrednost nije validna država. - - - This value is already used. - Vrednost je već iskorišćena. - - - The size of the image could not be detected. - Veličina slike ne može biti određena. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina slike je prevelika ({{ width }} piksela). Najveća dozvoljena širina je {{ max_width }} piksela. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina slike je premala ({{ width }} piksela). Najmanja dozvoljena širina je {{ min_width }} piksela. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Visina slike je prevelika ({{ height }} piksela). Najveća dozvoljena visina je {{ max_height }} piksela. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Visina slike je preniska ({{ height }} piksela). Najmanja dozvoljena visina je {{ min_height }} piksela. - - - This value should be the user's current password. - Vrednost treba da bude trenutna korisnička lozinka. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Vrednost treba da ima tačno {{ limit }} karakter.|Vrednost treba da ima tačno {{ limit }} karaktera.|Vrednost treba da ima tačno {{ limit }} karaktera. - - - The file was only partially uploaded. - Datoteka je samo delimično otpremljena. - - - No file was uploaded. - Datoteka nije otpremljena. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Privremeni direktorijum nije konfigurisan u php.ini, ili konfigurisani direktorijum ne postoji. - - - Cannot write temporary file to disk. - Nemoguće pisanje privremene datoteke na disk. - - - A PHP extension caused the upload to fail. - PHP ekstenzija je prouzrokovala neuspeh otpremanja datoteke. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ova kolekcija treba da sadrži {{ limit }} ili više elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili više elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili više elemenata. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ova kolekcija treba da sadrži tačno {{ limit }} element.|Ova kolekcija treba da sadrži tačno {{ limit }} elementa.|Ova kolekcija treba da sadrži tačno {{ limit }} elemenata. - - - Invalid card number. - Nevalidan broj kartice. - - - Unsupported card type or invalid card number. - Nevalidan broj kartice ili tip kartice nije podržan. - - - This value is not a valid International Bank Account Number (IBAN). - Ova vrednost nije validan Međunarodni broj bankovnog računa (IBAN). - - - This value is not a valid ISBN-10. - Ova vrednost nije validan ISBN-10. - - - This value is not a valid ISBN-13. - Ova vrednost nije validan ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ova vrednost nije ni validan ISBN-10 ni validan ISBN-13. - - - This value is not a valid ISSN. - Ova vrednost nije validan ISSN. - - - This value is not a valid currency. - Ova vrednost nije validna valuta. - - - This value should be equal to {{ compared_value }}. - Ova vrednost treba da bude {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ova vrednost treba da bude veća od {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ova vrednost treba da bude veća ili jednaka {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ova vrednost treba da bude identična sa {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ova vrednost treba da bude manja od {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ova vrednost treba da bude manja ili jednaka {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ova vrednost ne treba da bude jednaka {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ova vrednost ne treba da bude identična sa {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Razmera ove slike je prevelika ({{ ratio }}). Maksimalna dozvoljena razmera je {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Razmera ove slike je premala ({{ ratio }}). Minimalna očekivana razmera je {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Slika je kvadratna ({{ width }}x{{ height }} piksela). Kvadratne slike nisu dozvoljene. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Slika je orijentacije pejzaža ({{ width }}x{{ height }} piksela). Pejzažna orijentacija slika nije dozvoljena. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Slika je orijentacije portreta ({{ width }}x{{ height }} piksela). Portretna orijentacija slika nije dozvoljena. - - - An empty file is not allowed. - Prazna datoteka nije dozvoljena. - - - The host could not be resolved. - Ime hosta ne može biti razrešeno. - - - This value does not match the expected {{ charset }} charset. - Vrednost se ne poklapa sa očekivanim {{ charset }} setom karaktera. - - - This value is not a valid Business Identifier Code (BIC). - Ova vrednost nije validan Kod za identifikaciju biznisa (BIC). - - - Error - Greška - - - This value is not a valid UUID. - Ova vrednost nije validan UUID. - - - This value should be a multiple of {{ compared_value }}. - Ova vrednost treba da bude deljiva sa {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - BIC kod nije povezan sa IBAN {{ iban }}. - - - This value should be valid JSON. - Ova vrednost treba da bude validan JSON. - - - This collection should contain only unique elements. - Ova kolekcija treba da sadrži samo jedinstvene elemente. - - - This value should be positive. - Ova vrednost treba da bude pozitivna. - - - This value should be either positive or zero. - Ova vrednost treba da bude ili pozitivna ili nula. - - - This value should be negative. - Ova vrednost treba da bude negativna. - - - This value should be either negative or zero. - Ova vrednost treba da bude ili negativna ili nula. - - - This value is not a valid timezone. - Ova vrednost nije validna vremenska zona. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Ova lozinka je kompromitovana prilikom prethodnih napada, nemojte je koristiti. Koristite drugu lozinku. - - - This value should be between {{ min }} and {{ max }}. - Ova vrednost treba da bude između {{ min }} i {{ max }}. - - - This value is not a valid hostname. - Ova vrednost nije ispravno ime hosta. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Broj elemenata u ovoj kolekciji treba da bude deljiv sa {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Ova vrednost treba da zadovoljava namjanje jedno od narednih ograničenja: - - - Each element of this collection should satisfy its own set of constraints. - Svaki element ove kolekcije treba da zadovolji sopstveni skup ograničenja. - - - This value is not a valid International Securities Identification Number (ISIN). - Ova vrednost nije validna međunarodna identifikaciona oznaka hartija od vrednosti (ISIN). - - - This value should be a valid expression. - Ova vrednost treba da bude validan izraz. - - - This value is not a valid CSS color. - Ova vrednost nije validna CSS boja. - - - This value is not a valid CIDR notation. - Ova vrednost nije validna CIDR notacija. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Vrednost mrežne maske treba da bude između {{ min }} i {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Naziv datoteke je suviše dugačak. Treba da ima {{ filename_max_length }} karakter ili manje.|Naziv datoteke je suviše dugačak. Treba da ima {{ filename_max_length }} karaktera ili manje.|Naziv datoteke je suviše dugačak. Treba da ima {{ filename_max_length }} karaktera ili manje. - - - The password strength is too low. Please use a stronger password. - Lozinka nije dovoljno jaka. Molimo koristite jaču lozinku. - - - This value contains characters that are not allowed by the current restriction-level. - Ova vrednost sadrži karaktere koji nisu dozvoljeni od strane važećeg nivoa restrikcije. - - - Using invisible characters is not allowed. - Korišćenje nevidljivih karaktera nije dozvoljeno. - - - Mixing numbers from different scripts is not allowed. - Mešanje brojeva iz različitih skripti nije dozvoljeno. - - - Using hidden overlay characters is not allowed. - Korišćenje skrivenih preklopnih karaktera nije dozvoljeno. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Ekstenzija fajla nije validna ({{ extension }}). Dozvoljene ekstenzije su {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Detektovano kodiranje znakova nije validno ({{ detected }}). Dozvoljena kodiranja su {{ encodings }}. - - - This value is not a valid MAC address. - Ova vrednost nije validna MAC adresa. - - - This URL is missing a top-level domain. - Ovom URL nedostaje domen najvišeg nivoa. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Ova vrednost je prekratka. Treba da sadrži makar jednu reč.|Ova vrednost je prekratka. Treba da sadrži makar {{ min }} reči.|Ova vrednost je prekratka. Treba da sadrži makar {{ min }} reči. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Ova vrednost je predugačka. Treba da sadrži samo jednu reč.|Ova vrednost je predugačka. Treba da sadrži najviše {{ max }} reči.|Ova vrednost je predugačka. Treba da sadrži najviše {{ max }} reči. - - - This value does not represent a valid week in the ISO 8601 format. - Ova vrednost ne predstavlja validnu nedelju u ISO 8601 formatu. - - - This value is not a valid week. - Ova vrednost nije validna nedelja - - - This value should not be before week "{{ min }}". - Ova vrednost ne treba da bude pre nedelje "{{ min }}". - - - This value should not be after week "{{ max }}". - Ova vrednost ne treba da bude posle nedelje "{{ max }}". - - - This value is not a valid Twig template. - Ova vrednost nije važeći Twig šablon. - - - This file is not a valid video. - Ova datoteka nije važeći video. - - - The size of the video could not be detected. - Nije bilo moguće utvrditi veličinu video snimka. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina videa je prevelika ({{ width }}px). Dozvoljena maksimalna širina je {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina videa je previše mala ({{ width }}px). Očekivana minimalna širina je {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Visina videa je prevelika ({{ height }}px). Dozvoljena maksimalna visina je {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Visina videa je premala ({{ height }}px). Očekivana minimalna visina je {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video ima premalo piksela ({{ pixels }}). Očekivana minimalna količina je {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video ima previše piksela ({{ pixels }}). Očekivana maksimalna količina je {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Odnos slike videa je prevelik ({{ ratio }}). Dozvoljeni maksimalni odnos je {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Odnos stranica videa je previše mali ({{ ratio }}). Očekivani minimalni odnos je {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video je kvadratnog oblika ({{ width }}x{{ height }}px). Kvadratni video zapisi nisu dozvoljeni. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video je u vodoravnoj orijentaciji ({{ width }}x{{ height }} px). Vodoravni video zapisi nisu dozvoljeni. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video je u portret orijentaciji ({{ width }}x{{ height }}px). Video zapisi u portret orijentaciji nisu dozvoljeni. - - - The video file is corrupted. - Video datoteka je oštećena. - - - The video contains multiple streams. Only one stream is allowed. - Video sadrži više tokova. Dozvoljen je samo jedan tok. - - - Unsupported video codec "{{ codec }}". - Nepodržan video kodek „{{ codec }}“. - - - Unsupported video container "{{ container }}". - Nepodržan video kontejner "{{ container }}". - - - The image file is corrupted. - Datoteka slike je oštećena. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Slika ima premalo piksela ({{ pixels }}). Očekivani minimalni broj je {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Slika ima previše piksela ({{ pixels }}). Očekivani maksimalni broj je {{ max_pixels }}. - - - This filename does not match the expected charset. - Ovo ime datoteke ne odgovara očekivanom skupu znakova. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.sv.xlf b/app/vendor/symfony/validator/Resources/translations/validators.sv.xlf deleted file mode 100644 index 1c18cf108..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.sv.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Värdet ska vara falskt. - - - This value should be true. - Värdet ska vara sant. - - - This value should be of type {{ type }}. - Värdet ska vara av typen {{ type }}. - - - This value should be blank. - Värdet ska vara tomt. - - - The value you selected is not a valid choice. - Värdet ska vara ett av de givna valen. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Du måste välja minst {{ limit }} val.|Du måste välja minst {{ limit }} val. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Du kan som mest välja {{ limit }} val.|Du kan som mest välja {{ limit }} val. - - - One or more of the given values is invalid. - Ett eller fler av de angivna värdena är ogiltigt. - - - This field was not expected. - Det här fältet förväntades inte. - - - This field is missing. - Det här fältet saknas. - - - This value is not a valid date. - Värdet är inte ett giltigt datum. - - - This value is not a valid datetime. - Värdet är inte ett giltigt datum med tid. - - - This value is not a valid email address. - Värdet är inte en giltig e-postadress. - - - The file could not be found. - Filen kunde inte hittas. - - - The file is not readable. - Filen är inte läsbar. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Filen är för stor ({{ size }} {{ suffix }}). Största tillåtna storlek är {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Filens MIME-typ ({{ type }}) är ogiltig. De tillåtna typerna är {{ types }}. - - - This value should be {{ limit }} or less. - Värdet ska vara {{ limit }} eller mindre. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Värdet är för långt. Det ska ha {{ limit }} tecken eller färre.|Värdet är för långt. Det ska ha {{ limit }} tecken eller färre. - - - This value should be {{ limit }} or more. - Värdet ska vara {{ limit }} eller mer. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Värdet är för kort. Det ska ha {{ limit }} tecken eller mer.|Värdet är för kort. Det ska ha {{ limit }} tecken eller mer. - - - This value should not be blank. - Värdet kan inte vara tomt. - - - This value should not be null. - Värdet kan inte vara null. - - - This value should be null. - Värdet ska vara null. - - - This value is not valid. - Värdet är inte giltigt. - - - This value is not a valid time. - Värdet är inte en giltig tid. - - - This value is not a valid URL. - Värdet är inte en giltig URL. - - - The two values should be equal. - De två värdena måste vara lika. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Filen är för stor. Tillåten maximal storlek är {{ limit }} {{ suffix }}. - - - The file is too large. - Filen är för stor. - - - The file could not be uploaded. - Filen kunde inte laddas upp. - - - This value should be a valid number. - Värdet ska vara ett giltigt nummer. - - - This file is not a valid image. - Filen är ingen giltig bild. - - - This value is not a valid IP address. - Värdet är inte en giltig IP-adress. - - - This value is not a valid language. - Värdet är inte ett giltigt språk. - - - This value is not a valid locale. - Värdet är inte en giltig plats. - - - This value is not a valid country. - Värdet är inte ett giltigt land. - - - This value is already used. - Värdet används redan. - - - The size of the image could not be detected. - Det gick inte att fastställa storleken på bilden. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Bildens bredd är för stor ({{ width }}px). Tillåten maximal bredd är {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Bildens bredd är för liten ({{ width }}px). Minsta förväntade bredd är {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Bildens höjd är för stor ({{ height }}px). Tillåten maximal bredd är {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Bildens höjd är för liten ({{ height }}px). Minsta förväntade höjd är {{ min_height }}px. - - - This value should be the user's current password. - Värdet ska vara användarens nuvarande lösenord. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Värdet ska ha exakt {{ limit }} tecken.|Värdet ska ha exakt {{ limit }} tecken. - - - The file was only partially uploaded. - Filen laddades bara upp delvis. - - - No file was uploaded. - Ingen fil laddades upp. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Ingen tillfällig mapp konfigurerades i php.ini, eller den konfigurerade mappen finns inte. - - - Cannot write temporary file to disk. - Kan inte skriva temporär fil till disken. - - - A PHP extension caused the upload to fail. - En PHP extension gjorde att uppladdningen misslyckades. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Den här samlingen ska innehålla {{ limit }} element eller mer.|Den här samlingen ska innehålla {{ limit }} element eller mer. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Den här samlingen ska innehålla {{ limit }} element eller mindre.|Den här samlingen ska innehålla {{ limit }} element eller mindre. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Den här samlingen ska innehålla exakt {{ limit }} element.|Den här samlingen ska innehålla exakt {{ limit }} element. - - - Invalid card number. - Ogiltigt kortnummer. - - - Unsupported card type or invalid card number. - Okänd korttyp eller ogiltigt kortnummer. - - - This value is not a valid International Bank Account Number (IBAN). - Värdet är inte ett giltigt internationellt bankkontonummer (IBAN). - - - This value is not a valid ISBN-10. - Värdet är inte en giltig ISBN-10. - - - This value is not a valid ISBN-13. - Värdet är inte en giltig ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Värdet är varken en giltig ISBN-10 eller en giltig ISBN-13. - - - This value is not a valid ISSN. - Värdet är inte en giltig ISSN. - - - This value is not a valid currency. - Värdet är inte en giltig valuta. - - - This value should be equal to {{ compared_value }}. - Värdet ska vara detsamma som {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Värdet ska vara större än {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Värdet ska bara större än eller detsamma som {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Värdet ska vara identiskt till {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Värdet ska vara mindre än {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Värdet ska vara mindre än eller detsamma som {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Värdet ska inte vara detsamma som {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Värdet ska inte vara identiskt med {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Förhållandet mellan bildens bredd och höjd är för stort ({{ ratio }}). Högsta tillåtna förhållande är {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Förhållandet mellan bildens bredd och höjd är för litet ({{ ratio }}). Minsta tillåtna förhållande är {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Bilden är kvadratisk ({{ width }}x{{ height }}px). Kvadratiska bilder tillåts inte. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Bilden är landskapsorienterad ({{ width }}x{{ height }}px). Landskapsorienterade bilder tillåts inte. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Bilden är porträttsorienterad ({{ width }}x{{ height }}px). Porträttsorienterade bilder tillåts inte. - - - An empty file is not allowed. - En tom fil är inte tillåten. - - - The host could not be resolved. - Värddatorn kunde inte hittas. - - - This value does not match the expected {{ charset }} charset. - Värdet har inte den förväntade teckenkodningen {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Värdet är inte en giltig BIC-kod. - - - Error - Fel - - - This value is not a valid UUID. - Värdet är inte en giltig UUID. - - - This value should be a multiple of {{ compared_value }}. - Värdet ska vara en multipel av {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Denna BIC-koden är inte associerad med IBAN {{ iban }}. - - - This value should be valid JSON. - Värdet ska vara giltig JSON. - - - This collection should contain only unique elements. - Denna samling bör endast innehålla unika element. - - - This value should be positive. - Värdet ska vara positivt. - - - This value should be either positive or zero. - Värdet ska vara antingen positivt eller noll. - - - This value should be negative. - Värdet ska vara negativt. - - - This value should be either negative or zero. - Värdet ska vara antingen negativt eller noll. - - - This value is not a valid timezone. - Värdet är inte en giltig tidszon. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Det här lösenordet har läckt ut vid ett dataintrång, det får inte användas. Använd ett annat lösenord. - - - This value should be between {{ min }} and {{ max }}. - Värdet bör ligga mellan {{ min }} och {{ max }}. - - - This value is not a valid hostname. - Värdet är inte ett giltigt servernamn. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Antalet element i samlingen ska vara en multipel av {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Värdet ska uppfylla minst ett av följande krav: - - - Each element of this collection should satisfy its own set of constraints. - Varje element i samlingen skall uppfylla sin egen uppsättning av krav. - - - This value is not a valid International Securities Identification Number (ISIN). - Värdet är inte ett giltigt "International Securities Identification Number" (ISIN). - - - This value should be a valid expression. - Värdet ska vara ett giltigt uttryck. - - - This value is not a valid CSS color. - Värdet är inte en giltig CSS-färg. - - - This value is not a valid CIDR notation. - Värdet är inte en giltig CIDR-notation. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Värdet på nätmasken bör vara mellan {{ min }} och {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Filnamnet är för långt. Det måste vara {{ filename_max_length }} tecken eller färre.|Filnamnet är för långt. Det måste vara {{ filename_max_length }} tecken eller färre. - - - The password strength is too low. Please use a stronger password. - Detta lösenord är för svagt. Använd ett starkare lösenord. - - - This value contains characters that are not allowed by the current restriction-level. - Värdet innehåller tecken som inte är tillåtna. - - - Using invisible characters is not allowed. - Användning av osynliga tecken är inte tillåtet. - - - Mixing numbers from different scripts is not allowed. - Blandning av siffror från olika skript är inte tillåtet. - - - Using hidden overlay characters is not allowed. - Användning av dolda överlagringstecken är inte tillåtet. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Filtillägget är ogiltigt ({{ extension }}). Tillåtna filtillägg är {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Den upptäckta teckenkodningen är ogiltig ({{ detected }}). Tillåtna kodningar är {{ encodings }}. - - - This value is not a valid MAC address. - Värdet är inte en giltig MAC-adress. - - - This URL is missing a top-level domain. - Denna URL saknar en toppdomän. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Det här värdet är för kort. Det ska innehålla minst ett ord.|Det här värdet är för kort. Det ska innehålla minst {{ min }} ord. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Det här värdet är för långt. Det ska innehålla endast ett ord.|Det här värdet är för långt. Det ska innehålla {{ max }} ord eller färre. - - - This value does not represent a valid week in the ISO 8601 format. - Det här värdet representerar inte en giltig vecka i ISO 8601-formatet. - - - This value is not a valid week. - Det här värdet är inte en giltig vecka. - - - This value should not be before week "{{ min }}". - Det här värdet bör inte vara före vecka "{{ min }}". - - - This value should not be after week "{{ max }}". - Det här värdet bör inte vara efter vecka "{{ max }}". - - - This value is not a valid Twig template. - Det här värdet är inte en giltig Twig-mall. - - - This file is not a valid video. - Den här filen är inte en giltig video. - - - The size of the video could not be detected. - Videons storlek kunde inte upptäckas. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Videobredden är för stor ({{ width }}px). Tillåten maximal bredd är {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Videobredden är för liten ({{ width }}px). Förväntad minsta bredd är {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Videons höjd är för stor ({{ height }}px). Tillåten maximal höjd är {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Videohöjden är för liten ({{ height }}px). Förväntad minimihöjd är {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videon har för få pixlar ({{ pixels }}). Förväntad miniminivå är {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videon har för många pixlar ({{ pixels }}). Förväntat maxantal är {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Videons förhållande är för stort ({{ ratio }}). Tillåtet maxförhållande är {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Videoförhållandet är för litet ({{ ratio }}). Förväntat minimiförhållande är {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Videon är kvadratisk ({{ width }}x{{ height }}px). Kvadratiska videor är inte tillåtna. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Videon är i liggande läge ({{ width }}x{{ height }}px). Liggande videor är inte tillåtna. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Videon är i porträttläge ({{ width }}x{{ height }}px). Videor i porträttläge är inte tillåtna. - - - The video file is corrupted. - Videofilen är skadad. - - - The video contains multiple streams. Only one stream is allowed. - Videon innehåller flera strömmar. Endast en ström är tillåten. - - - Unsupported video codec "{{ codec }}". - Videokodek stöds inte "{{ codec }}". - - - Unsupported video container "{{ container }}". - Videokontainer stöds inte "{{ container }}". - - - The image file is corrupted. - Bildfilen är skadad. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Bilden har för få pixlar ({{ pixels }}). Förväntat minimiantal är {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Bilden har för många pixlar ({{ pixels }}). Förväntat maxantal är {{ max_pixels }}. - - - This filename does not match the expected charset. - Detta filnamn stämmer inte med förväntad teckenuppsättning. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.th.xlf b/app/vendor/symfony/validator/Resources/translations/validators.th.xlf deleted file mode 100644 index f9db27cb7..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.th.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - ค่านี้ควรเป็น false - - - This value should be true. - ค่านี้ควรเป็น true - - - This value should be of type {{ type }}. - ค่านี้ควรเป็น {{ type }} - - - This value should be blank. - ควรเป็นค่าว่าง - - - The value you selected is not a valid choice. - คุณเลือกค่าที่ไม่ตรงกับตัวเลือก - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - คุณต้องเลือกอย่างน้อย {{ limit }} ตัวเลือก - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - คุณเลือกได้มากที่สุด {{ limit }} ตัวเลือก - - - One or more of the given values is invalid. - มีบางค่าที่ส่งมาไม่ถูกต้อง - - - This field was not expected. - ไม่ควรมีฟิลด์นี้ - - - This field is missing. - ฟิลด์นี้หายไป - - - This value is not a valid date. - ค่าของวันที่ไม่ถูกต้อง - - - This value is not a valid datetime. - ค่าของวันที่และเวลาไม่ถูกต้อง - - - This value is not a valid email address. - ค่าของอีเมล์ไม่ถูกต้อง - - - The file could not be found. - ไม่พบไฟล์ - - - The file is not readable. - ไฟล์ไม่อยู่ในสถานะที่สามารถอ่านได้ - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - ไฟล์ใหญ่เกิน ({{ size }} {{ suffix }}) อนุญาตให้ใหญ่ที่สุดได้ไม่เกิน {{ limit }} {{ suffix }} - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mime type ของไฟล์ไม่ถูกต้อง ({{ type }}) Mime types ที่อนุญาตคือ {{ types }} - - - This value should be {{ limit }} or less. - ค่านี้ควรจะเป็น {{ limit }} หรือน้อยกว่านั้น - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - ค่านี้ยาวเกินไป ควรจะมีแค่ {{ limit }} ตัวอักษรหรือน้อยกว่านั้น - - - This value should be {{ limit }} or more. - ค่านี้ควรจะมี {{ limit }} หรือมากกว่านั้น - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - ค่านี้สั้นเกินไป ควรจะมี {{ limit }} ตัวอักษรหรือมากกว่านั้น - - - This value should not be blank. - ค่านี้ไม่ควรเป็นค่าว่าง - - - This value should not be null. - ค่านี้ไม่ควรเป็นค่า null - - - This value should be null. - ค่านี้ควรเป็นค่า null - - - This value is not valid. - ค่านี้ไม่ถูกต้อง - - - This value is not a valid time. - ค่าของเวลาไม่ถูกต้อง - - - This value is not a valid URL. - ค่าของ URL ไม่ถูกต้อง - - - The two values should be equal. - ค่าทั้งสองค่าควรจะเหมือนกัน - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - ขนาดไฟล์ใหญ่เกินไป อนุญาตให้ไฟล์ขนาดใหญ่ได้ไม่เกิน {{ limit }} {{ suffix }} - - - The file is too large. - ขนาดไฟล์ใหญ่เกินไป - - - The file could not be uploaded. - ไม่สามารถอัปโหลดไฟล์ได้ - - - This value should be a valid number. - ค่าของตัวเลขไม่ถูกต้อง - - - This file is not a valid image. - ไฟล์นี้ไม่ใช่ไฟล์รูปภาพ - - - This value is not a valid IP address. - ค่านี้ไม่ใช่ที่อยู่ IP ที่ถูกต้อง - - - This value is not a valid language. - ค่าของภาษาไม่ถูกต้อง - - - This value is not a valid locale. - ค่าของภูมิภาค (Locale) ไม่ถูกต้อง - - - This value is not a valid country. - ค่าของประเทศไม่ถูกต้อง - - - This value is already used. - ค่านี้ถูกใช้งานไปแล้ว - - - The size of the image could not be detected. - ไม่สามารถตรวจสอบขนาดไฟล์ของภาพได้ - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - ความกว้างของภาพเกินขนาด ({{ width }}px) อนุญาตให้กว้างได้มากที่สุด {{ max_width }}px - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - ความกว้างของภาพต่ำเกินไป ({{ width }}px) อนุญาตให้ความกว้างไม่ต่ำกว่า {{ min_width }}px - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ความสูงของภาพเกินขนาด ({{ height }}px) อนุญาตให้สูงได้มากที่สุด {{ max_height }}px - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ความสูงของภาพเล็กเกินไป ({{ height }}px) อนุญาตให้ความสูงไม่ควรต่ำกว่า {{ min_height }}px - - - This value should be the user's current password. - ค่านี้ควรจะเป็นรหัสผ่านปัจจุบันของผู้ใช้ - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - ค่านี้ควรจะมีความยาว {{ limit }} ตัวอักษร - - - The file was only partially uploaded. - อัปโหลดไฟล์ได้เพียงบางส่วนเท่านั้น - - - No file was uploaded. - ไม่มีไฟล์ใดถูกอัปโหลด - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - ไม่มีการกำหนดโฟลเดอร์ชั่วคราวใน php.ini หรือโฟลเดอร์ที่กำหนดไม่มีอยู่จริง - - - Cannot write temporary file to disk. - ไม่สามารถเขียนไฟล์ชั่วคราว (temporary file) ลงดิสก์ได้ - - - A PHP extension caused the upload to fail. - PHP extension ทำให้การอัปโหลดมีปัญหา - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - คอเล็กชั่นนี้ควรจะประกอบไปด้วยอย่างน้อย {{ limit }} สมาชิก - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - คอเล็กชั่นนี้ไม่ควรมีสมาชิกเกิน {{ limit }} - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - คอเล็กชั่นนี้ควรจะมี {{ limit }} สมาชิกเท่านั้น - - - Invalid card number. - หมายเลขบัตรไม่ถูกต้อง - - - Unsupported card type or invalid card number. - ไม่รู้จักประเภทของบัตร หรือหมายเลขบัตรไม่ถูกต้อง - - - This value is not a valid International Bank Account Number (IBAN). - ค่านี้ไม่ใช่หมายเลขบัญชีธนาคารระหว่างประเทศ (IBAN) ที่ถูกต้อง - - - This value is not a valid ISBN-10. - ค่านี้ไม่ใช่ ISBN-10 ที่ถูกต้อง - - - This value is not a valid ISBN-13. - ค่านี้ไม่ใช่ ISBN-13 ที่ถูกต้อง - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - ค่านี้ไม่ใช่ ISBN-10 หรือ ISBN-13 ที่ถูกต้อง - - - This value is not a valid ISSN. - ค่านี้ไม่ใช่ ISSN ที่ถูกต้อง - - - This value is not a valid currency. - ค่านี้ไม่ใช่สกุลเงินที่ถูกต้อง - - - This value should be equal to {{ compared_value }}. - ค่านี้ควรตรงกับ {{ compared_value }} - - - This value should be greater than {{ compared_value }}. - ค่านี้ควรจะมากกว่า {{ compared_value }} - - - This value should be greater than or equal to {{ compared_value }}. - ค่านี้ควรจะมากกว่าหรือตรงกับ {{ compared_value }} - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - ค่านี้ควรจะเหมือนกันกับ {{ compared_value_type }} {{ compared_value }} - - - This value should be less than {{ compared_value }}. - ค่านี้ควรจะน้อยกว่า {{ compared_value }} - - - This value should be less than or equal to {{ compared_value }}. - ค่านี้ควรจะน้อยกว่าหรือเท่ากับ {{ compared_value }} - - - This value should not be equal to {{ compared_value }}. - ค่านี้ไม่ควรเท่ากันกับ {{ compared_value }} - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - ค่านี้ไม่ควรเหมือนกันกับ {{ compared_value_type }} {{ compared_value }} - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - สัดส่วนของภาพใหญ่เกิน ({{ ratio }}) สัดส่วนใหญ่ที่สุดที่ใช้ได้คือ {{ max_ratio }} - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - สัดส่วนของภาพเล็กเกิน ({{ ratio }}) สัดส่วนเล็กที่สุดที่ใช้ได้คือ {{ min_ratio }} - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - รูปภาพเป็นจุตรัส ({{ width }}x{{ height }}px) ไม่อนุญาตภาพที่เป็นสี่เหลี่ยมจตุรัส - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - ภาพนี้เป็นแนวนอน ({{ width }}x{{ height }}px) ไม่อนุญาตภาพที่เป็นแนวนอน - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - ภาพนี้เป็นแนวตั้ง ({{ width }}x{{ height }}px) ไม่อนุญาตภาพที่เป็นแนวตั้ง - - - An empty file is not allowed. - ไม่อนุญาตให้ใช้ไฟล์ว่าง - - - The host could not be resolved. - ไม่สามารถแก้ไขชื่อโฮสต์ - - - This value does not match the expected {{ charset }} charset. - ค่านี้ไม่ตรงกับการเข้ารหัส {{ charset }} - - - This value is not a valid Business Identifier Code (BIC). - ค่านี้ไม่ใช่รหัสประจำตัวธุรกิจ (BIC) ที่ถูกต้อง - - - Error - เกิดข้อผิดพลาด - - - This value is not a valid UUID. - ค่านี้ไม่ใช่ UUID ที่ถูกต้อง - - - This value should be a multiple of {{ compared_value }}. - ค่านี้ควรเป็น {{ compared_value }} หลายตัว - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - รหัสสำหรับระบุธุรกิจนี้ (BIC) ไม่เกี่ยวข้องกับ IBAN {{ iban }} - - - This value should be valid JSON. - ค่านี้ควรอยู่ในรูปแบบ JSON ที่ถูกต้อง - - - This collection should contain only unique elements. - คอเล็กชั่นนี้ควรมีเฉพาะสมาชิกที่ไม่ซ้ำกันเท่านั้น - - - This value should be positive. - ค่านี้ควรเป็นค่าบวก - - - This value should be either positive or zero. - ค่านี้ควรเป็นค่าบวกหรือค่าศูนย์ - - - This value should be negative. - ค่านี้ควรเป็นค่าลบ - - - This value should be either negative or zero. - ค่านี้ควรเป็นค่าลบหรือค่าศูนย์ - - - This value is not a valid timezone. - ค่าเขตเวลาไม่ถูกต้อง - - - This password has been leaked in a data breach, it must not be used. Please use another password. - รหัสผ่านนี้ได้เคยรั่วไหลออกไปโดยถูกการละเมิดข้อมูล ซึ่งไม่ควรนำกลับมาใช้ กรุณาใช้รหัสผ่านอื่น - - - This value should be between {{ min }} and {{ max }}. - ค่านี้ควรอยู่ระหว่าง {{ min }} ถึง {{ max }} - - - This value is not a valid hostname. - ค่าโฮสต์เนมไม่ถูกต้อง - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - จำนวนของสมาชิกในคอเล็กชั่นควรเป็นพหุคูณของ {{ compared_value }} - - - This value should satisfy at least one of the following constraints: - ค่านี้ควรเป็นไปตามข้อจำกัดอย่างน้อยหนึ่งข้อจากข้อจำกัดเหล่านี้: - - - Each element of this collection should satisfy its own set of constraints. - สมาชิกแต่ละตัวในคอเล็กชั่นควรเป็นไปตามข้อจำกัดของคอเล็กชั่นนั้นๆ - - - This value is not a valid International Securities Identification Number (ISIN). - ค่ารหัสหลักทรัพย์สากล (ISIN) ไม่ถูกต้อง - - - This value should be a valid expression. - ค่านี้ควรเป็นนิพจน์ที่ถูกต้อง - - - This value is not a valid CSS color. - ค่านี้ไม่ใช่สี CSS ที่ถูกต้อง - - - This value is not a valid CIDR notation. - ค่านี้ไม่ใช่รูปแบบ CIDR ที่ถูกต้อง - - - The value of the netmask should be between {{ min }} and {{ max }}. - ค่าของ netmask ควรมีค่าระหว่าง {{ min }} ถึง {{ max }} - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - ชื่อไฟล์ยาวเกินไป ควรจะมีแค่ {{ filename_max_length }} ตัวอักษรหรือน้อยกว่านั้น - - - The password strength is too low. Please use a stronger password. - รหัสผ่านมีความปลอดภัยต่ำ กรุณาใช้รหัสผ่านที่มีความปลอดภัยสูง - - - This value contains characters that are not allowed by the current restriction-level. - ค่านี้ประกอบด้วยตัวอักษรที่ไม่รับอนุญาตจากระดับข้อบังคับปัจจุบัน - - - Using invisible characters is not allowed. - ไม่อนุญาตให้ใช้ตัวอักษรที่มองไม่เห็น - - - Mixing numbers from different scripts is not allowed. - ไม่อนุญาตให้ผสมตัวเลขจากสคริปต์ที่แตกต่างกัน - - - Using hidden overlay characters is not allowed. - ไม่อนุญาตให้ใช้ตัวอักษรซ้อนทับที่ซ่อนอยู่ - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - นามสกุลไฟล์ไม่ถูกต้อง ({{ extension }}). นามสกุลที่อนุญาตคือ {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - การเข้ารหัสอักขระที่ตรวจพบไม่ถูกต้อง ({{ detected }}). การเข้ารหัสที่อนุญาตคือ {{ encodings }}. - - - This value is not a valid MAC address. - ค่านี้ไม่ใช่ที่อยู่ MAC ที่ถูกต้อง - - - This URL is missing a top-level domain. - URL นี้ขาดโดเมนระดับสูงสุด. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - ค่านี้สั้นเกินไป ควรมีอย่างน้อยหนึ่งคำ|ค่านี้สั้นเกินไป ควรมีอย่างน้อย {{ min }} คำ - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - ค่านี้ยาวเกินไป ควรมีเพียงคำเดียว|ค่านี้ยาวเกินไป ควรมี {{ max }} คำ หรือต่ำกว่า - - - This value does not represent a valid week in the ISO 8601 format. - ค่านี้ไม่แสดงถึงสัปดาห์ที่ถูกต้องตามรูปแบบ ISO 8601 - - - This value is not a valid week. - ค่านี้ไม่ใช่สัปดาห์ที่ถูกต้อง - - - This value should not be before week "{{ min }}". - ค่านี้ไม่ควรจะก่อนสัปดาห์ "{{ min }}" - - - This value should not be after week "{{ max }}". - ค่านี้ไม่ควรจะอยู่หลังสัปดาห์ "{{ max }}" - - - This value is not a valid Twig template. - ค่านี้ไม่ใช่เทมเพลต Twig ที่ถูกต้อง - - - This file is not a valid video. - ไฟล์นี้ไม่ใช่วิดีโอที่ถูกต้อง - - - The size of the video could not be detected. - ไม่สามารถตรวจพบขนาดของวิดีโอได้ - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - ความกว้างของวิดีโอใหญ่เกินไป ({{ width }}px). ความกว้างสูงสุดที่อนุญาตคือ {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - ความกว้างของวิดีโอเล็กเกินไป ({{ width }}px) ความกว้างขั้นต่ำที่คาดหวังคือ {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ความสูงของวิดีโอสูงเกินไป ({{ height }}px). ความสูงสูงสุดที่อนุญาตคือ {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ความสูงของวิดีโอมีขนาดเล็กเกินไป ({{ height }}px). ความสูงขั้นต่ำที่คาดไว้คือ {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - วิดีโอนี้มีพิกเซลน้อยเกินไป ({{ pixels }}). ปริมาณขั้นต่ำที่คาดไว้คือ {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - วิดีโอนี้มีพิกเซลมากเกินไป ({{ pixels }}). จำนวนสูงสุดที่คาดไว้คือ {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - อัตราส่วนวิดีโอใหญ่เกินไป ({{ ratio }}) อัตราส่วนสูงสุดที่อนุญาตคือ {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - อัตราส่วนวิดีโอเล็กเกินไป ({{ ratio }}). อัตราส่วนขั้นต่ำที่คาดหวังคือ {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - วิดีโอเป็นสี่เหลี่ยมจัตุรัส ({{ width }}x{{ height }}px). ไม่อนุญาตให้ใช้วิดีโอสี่เหลี่ยมจัตุรัส. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - วิดีโออยู่ในแนวนอน ({{ width }}x{{ height }} พิกเซล). ไม่อนุญาตวิดีโอแนวนอน - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - วิดีโอเป็นแนวตั้ง ({{ width }}x{{ height }}px) วิดีโอแนวตั้งไม่ได้รับอนุญาต - - - The video file is corrupted. - ไฟล์วิดีโอเสียหาย. - - - The video contains multiple streams. Only one stream is allowed. - วิดีโอนี้มีสตรีมหลายสตรีม อนุญาตเฉพาะสตรีมเดียวเท่านั้น - - - Unsupported video codec "{{ codec }}". - ไม่รองรับตัวแปลงสัญญาณวิดีโอ "{{ codec }}". - - - Unsupported video container "{{ container }}". - ไม่รองรับคอนเทนเนอร์วิดีโอ "{{ container }}". - - - The image file is corrupted. - ไฟล์รูปภาพเสียหาย - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - รูปภาพมีพิกเซลน้อยเกินไป ({{ pixels }}). จำนวนขั้นต่ำที่คาดไว้คือ {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - ภาพมีพิกเซลมากเกินไป ({{ pixels }}). จำนวนสูงสุดที่คาดไว้คือ {{ max_pixels }}. - - - This filename does not match the expected charset. - ชื่อไฟล์นี้ไม่ตรงกับชุดอักขระที่คาดไว้. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.tl.xlf b/app/vendor/symfony/validator/Resources/translations/validators.tl.xlf deleted file mode 100644 index fa806ab02..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.tl.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Ang halaga nito ay dapat na huwad. - - - This value should be true. - Ang halaga nito ay dapat totoo. - - - This value should be of type {{ type }}. - Ang halaga nito ay dapat sa uri {{ type }}. - - - This value should be blank. - Ang halaga nito ay dapat walang laman. - - - The value you selected is not a valid choice. - Ang halaga ng iyong pinili ay hindi balidong pagpili. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Kailangan mong pumili ng pinakamababang {{ limit }} ng pagpilian.|Kailangan mong pumili ng pinakamababang {{ limit }} ng mga pagpipilian. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Kailangan mong pumili ng pinakamataas {{ limit }} ng pagpipilian.|Kailangan mong pumili ng pinakamataas {{ limit }} ng mga pagpipilian. - - - One or more of the given values is invalid. - Isa o higit pang mga halaga na binigay ay hindi balido. - - - This field was not expected. - Ang larangang ito ay hindi inaasahan. - - - This field is missing. - Ang patlang na ito ay nawawala. - - - This value is not a valid date. - Ang halagang ito ay hindi balidong petsa. - - - This value is not a valid datetime. - Ang halagang ito ay hindi wastong petsa/oras. - - - This value is not a valid email address. - Ang halagang ito ay hindi balidong address ng email. - - - The file could not be found. - Ang file na ito ay hindi makita. - - - The file is not readable. - Ang file na ito ay hindi mabasa. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Ang file na ito ay masyadong malaki ({{ size }} {{ suffix }}). Ang pinakamalaking sukat {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Ang uri ng file ng mime ay hindi balido ({{ type }}). Ang mga pinapayagang uri ng mime ay ang {{ types }}. - - - This value should be {{ limit }} or less. - Ang halaga nito ay dapat na {{ limit }} or maliit pa. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Ang halaga nito ay masyadong mahaba. Ito ay dapat na {{ limit }} karakter o maliit pa.|Ang halaga nito ay masyadong mahaba. Ito ay dapat na {{ limit }} mga karakter o maliit pa. - - - This value should be {{ limit }} or more. - Ang halaga nito ay dapat na {{ limit }} o mas marami pa. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Ang halaga nito ay masyadong maliit. Ito ay dapat na {{ limit }} karakter o marami pa.|Ang halaga nito ay masyadong maliit. Ito ay dapat na {{ limit }} mga karakter o marami pa. - - - This value should not be blank. - Ang halaga na ito ay dapat na may laman. - - - This value should not be null. - Meron dapt itong halaga. - - - This value should be null. - Wala dapat itong halaga. - - - This value is not valid. - Hindi balido ang halagang ito. - - - This value is not a valid time. - Ang halagang ito ay hindi wastong oras. - - - This value is not a valid URL. - Hindi ito isang balidong URL. - - - The two values should be equal. - Ang dalwang halaga ay dapat magkapareha. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Ang file ay masyadong malaki. Ang pinapayagan halaga lamang ay {{ limit}} {{ suffix }}. - - - The file is too large. - Ang file na ito ay masyadong malaki. - - - The file could not be uploaded. - Ang file na ito ay hindi ma-upload. - - - This value should be a valid number. - Ang halaga nito ay dapat na wastong numero. - - - This file is not a valid image. - Ang file na ito ay hindi wastong imahe. - - - This value is not a valid IP address. - Ang halagang ito ay hindi isang wastong IP address. - - - This value is not a valid language. - Ang halaga na ito ay hindi balidong wika. - - - This value is not a valid locale. - Ito ay isang hindi wastong locale na halaga. - - - This value is not a valid country. - ng halaga na ito ay hindi wastong bansa. - - - This value is already used. - Ang halaga na ito ay ginamit na. - - - The size of the image could not be detected. - Ang sukat ng imahe ay hindi madetect. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ang lapad ng imahe ay masyadong malaki ({{ width }}px). Ang pinapayagang lapay ay {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ang lapad ng imahe ay masyadong maliit ({{ width }}px). Ang pinakamaliit na pinapayagang lapad ay {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Ang haba ng imahe ay masyadong mataas ({{ height }}px). Ang pinakmataas na haba ay {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Ang haba ng imahe ay masyadong maliit ({{ height }}px). Ang inaasahang haba ay {{ min_height }}px. - - - This value should be the user's current password. - Ang halagang ito ay dapat na password ng kasalukuyang gumagamit. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Ang halagang ito ay dapat na eksakto sa {{ limit}} karakter.|Ang halagang ito ay dapat na eksakto sa {{ limit }} mga karakter. - - - The file was only partially uploaded. - Ang file na ito ay kahalating na upload lamang. - - - No file was uploaded. - Walang na upload na file. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Walang pansamantalang folder na na-configure sa php.ini, o hindi umiiral ang na-configure na folder. - - - Cannot write temporary file to disk. - Temporaryong hindi makasulat ng file sa disk. - - - A PHP extension caused the upload to fail. - Ang dahilan ng pagkabigo ng pagupload ng files ay isang extension ng PHP. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ang koleksyon na ito ay dapat magkaroon ng {{ limit }} elemento o marami pa.|Ang koleksyon na ito ay dapat magkaroon ng {{ limit }} mga elemento o marami pa. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ang koleksyon na ito ay dapat magkaroon ng {{ limit }} elemento o maliit pa.|Ang koleksyon na ito ay dapat magkaroon ng {{ limit }} mga elemento o maliit pa. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ang koleksyong ito ay magkaroon ng eksaktong {{ limit }} elemento.|Ang koleksyong ito ay magkaroon ng eksaktong {{ limit }} mga elemento. - - - Invalid card number. - Hindi wastong numero ng kard. - - - Unsupported card type or invalid card number. - Hindi supportadong uri ng kard o hindi wastong numero ng kard. - - - This value is not a valid International Bank Account Number (IBAN). - Ang halagang ito ay hindi isang wastong International Bank Account Number (IBAN). - - - This value is not a valid ISBN-10. - Ang halagang ito ay hindi balidong SBN-10. - - - This value is not a valid ISBN-13. - Ang halagang ito ay hindi balidong ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ang halagang ito ay pwdeng isang balidong ISBN-10 o isang balidong ISBN-13. - - - This value is not a valid ISSN. - Ang halangang ito ay hindi isang balidong ISSN. - - - This value is not a valid currency. - Ang halagang ito ay hindi balidong pera. - - - This value should be equal to {{ compared_value }}. - Ito ay hindi dapat magkapareho sa {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Ang halagang ito ay dapat tataas sa {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Ang halagang ito ay dapat mas mataas o magkapareha sa {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ang halagang ito ay dapat kapareha ng {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Ang halagang ito ay dapat mas maliit sa {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Ang halagang ito ay dapat mas maliit o magkapareha sa {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Ang halagang ito ay hindi dapat magkapareha sa {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ang halagang ito ay hindi dapat magkapareha sa {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Ang ratio ng imahe ay masyadong malaki ({{ ratio }}). Ang pinakamalaking ratio ay {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Ang ratio ng imahe ay masyadong maliit ({{ ratio }}). Ang pinakamaliit na ratio ay {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Ang imahe ay kwadrado ({{ width }}x{{ height }}px). Ang mga kwadradong imahe ay hindi pwede. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Ang orientasyon ng imahe ay nakalandscape ({{ width }}x{{ height }}px). Ang mga imaheng nakalandscape ang orientasyon ay hindi pwede. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Ang orientasyon ng imahe ay nakaportrait ({{ width }}x{{ height }}px). Ang mga imaheng nakaportrait ang orientasyon ay hindi pwede. - - - An empty file is not allowed. - Ang file na walang laman ay hindi pwede. - - - The host could not be resolved. - Hindi maresolba ang host. - - - This value does not match the expected {{ charset }} charset. - Ang halaga ay hindi kapareha sa inaasahang {{ charset }} set ng karater. - - - This value is not a valid Business Identifier Code (BIC). - Ang halagang ito ay hindi isang wastong Business Identifier Code (BIC). - - - Error - Error - - - This value is not a valid UUID. - Ang halagang ito ay hindi isang wastong UUID. - - - This value should be a multiple of {{ compared_value }}. - Ang halagang ito ay dapat multiple ng {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ang Business Identifier Code (BIC) na ito ay walang kaugnayan sa IBAN {{ iban }}. - - - This value should be valid JSON. - Ang halagang ito ay dapat naka wastong JSON. - - - This collection should contain only unique elements. - Ang mga elemento ng koleksyong ito ay dapat magkakaiba. - - - This value should be positive. - Ang halagang ito ay dapat positibo. - - - This value should be either positive or zero. - Ang halagang ito ay dapat positibo o zero. - - - This value should be negative. - Ang halagang ito ay dapat negatibo. - - - This value should be either negative or zero. - Ang halagang ito ay dapat negatibo o zero. - - - This value is not a valid timezone. - Ang halagang ito ay hindi wastong timezone. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Naikalat ang password na ito sa isang data breach at hindi na dapat gamitin. Mangyaring gumamit ng ibang pang password. - - - This value should be between {{ min }} and {{ max }}. - Ang halagang ito ay dapat nasa pagitan ng {{ min }} at {{ max }}. - - - This value is not a valid hostname. - Ang halagang ito ay hindi wastong hostname. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Ang bilang ng mga elemento sa koleksyon na ito ay dapat multiple ng {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Ang halagang ito ay dapat masunod ang kahit na isang sumusunod na batayan. - - - Each element of this collection should satisfy its own set of constraints. - Ang bawat elemento sa koleksyon na ito ay dapat masunod ang nararapat na batayan. - - - This value is not a valid International Securities Identification Number (ISIN). - Ang halagang ito ay hindi wastong International Securities Identification Number (ISIN). - - - This value should be a valid expression. - Ang halagang ito ay dapat wastong ekspresyon. - - - This value is not a valid CSS color. - Ang halagang ito ay hindi wastong kulay ng CSS. - - - This value is not a valid CIDR notation. - Ang halagang ito ay hindi wastong notasyon ng CIDR. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Ang halaga ng netmask ay dapat nasa pagitan ng {{ min }} at {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Ang pangalan ng file ay masyadong mahaba. Dapat itong magkaroon ng {{ filename_max_length }} karakter o mas kaunti.|Ang pangalan ng file ay masyadong mahaba. Dapat itong magkaroon ng {{ filename_max_length }} mga karakter o mas kaunti. - - - The password strength is too low. Please use a stronger password. - Ang lakas ng password ay masyadong mababa. Mangyaring gumamit ng mas malakas na password. - - - This value contains characters that are not allowed by the current restriction-level. - Ang halagang ito ay naglalaman ng mga karakter na hindi pinapayagan ng kasalukuyang antas ng paghihigpit. - - - Using invisible characters is not allowed. - Hindi pinapayagan ang paggamit ng mga hindi nakikitang karakter. - - - Mixing numbers from different scripts is not allowed. - Hindi pinapayagan ang paghahalo ng mga numero mula sa iba't ibang script. - - - Using hidden overlay characters is not allowed. - Hindi pinapayagan ang paggamit ng mga nakatagong overlay na karakter. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Ang extension ng file ay hindi wasto ({{ extension }}). Ang mga pinapayagang extension ay {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Ang nakitang encoding ng karakter ay hindi wasto ({{ detected }}). Ang mga pinapayagang encoding ay {{ encodings }}. - - - This value is not a valid MAC address. - Ang halagang ito ay hindi isang wastong MAC address. - - - This URL is missing a top-level domain. - Ang URL na ito ay kulang ng top-level domain. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Masyadong maikli ang halagang ito. Dapat itong maglaman ng hindi bababa sa isang salita.|Masyadong maikli ang halagang ito. Dapat itong maglaman ng hindi bababa sa {{ min }} salita. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Masyadong mahaba ang halagang ito. Dapat itong maglaman lamang ng isang salita.|Masyadong mahaba ang halagang ito. Dapat itong maglaman ng {{ max }} salita o mas kaunti. - - - This value does not represent a valid week in the ISO 8601 format. - Ang halagang ito ay hindi kumakatawan sa isang wastong linggo sa format ng ISO 8601. - - - This value is not a valid week. - Ang halagang ito ay hindi isang wastong linggo. - - - This value should not be before week "{{ min }}". - Ang halagang ito ay hindi dapat bago sa linggo "{{ min }}". - - - This value should not be after week "{{ max }}". - Ang halagang ito ay hindi dapat pagkatapos ng linggo "{{ max }}". - - - This value is not a valid Twig template. - Ang halagang ito ay hindi wastong Twig template. - - - This file is not a valid video. - Ang file na ito ay hindi wastong video. - - - The size of the video could not be detected. - Hindi matukoy ang laki ng video. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Masyadong malaki ang lapad ng video ({{ width }}px). Ang pinakamalaking pinapayagang lapad ay {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Masyadong maliit ang lapad ng video ({{ width }}px). Ang inaasahang pinakamababang lapad ay {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Masyadong malaki ang taas ng video ({{ height }}px). Ang pinakamalaking pinapayagang taas ay {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Masyadong maliit ang taas ng video ({{ height }}px). Ang inaasahang pinakamababang taas ay {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Masyadong kakaunti ang mga pixel ng video ({{ pixels }}). Ang inaasahang pinakamababang bilang ay {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Masyadong marami ang mga pixel ng video ({{ pixels }}). Ang inaasahang pinakamataas na bilang ay {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Masyadong malaki ang ratio ng video ({{ ratio }}). Ang pinakamalaking pinapayagang ratio ay {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Masyadong maliit ang ratio ng video ({{ ratio }}). Ang inaasahang pinakamababang ratio ay {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Parisukat ang video ({{ width }}x{{ height }}px). Hindi pinapayagan ang mga parisukat na video. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Naka-landscape ang video ({{ width }}x{{ height }}px). Hindi pinapayagan ang mga video na naka-landscape. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Naka-portrait ang video ({{ width }}x{{ height }}px). Hindi pinapayagan ang mga video na naka-portrait. - - - The video file is corrupted. - Sira ang video file. - - - The video contains multiple streams. Only one stream is allowed. - Maraming stream ang video. Iisang stream lamang ang pinapayagan. - - - Unsupported video codec "{{ codec }}". - Hindi suportadong video codec "{{ codec }}". - - - Unsupported video container "{{ container }}". - Hindi suportadong video container "{{ container }}". - - - The image file is corrupted. - Sira ang file ng larawan. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Masyadong kakaunti ang mga pixel ng larawan ({{ pixels }}). Ang inaasahang pinakamababang bilang ay {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Masyadong marami ang mga pixel ng larawan ({{ pixels }}). Ang inaasahang pinakamataas na bilang ay {{ max_pixels }}. - - - This filename does not match the expected charset. - Ang pangalan ng file na ito ay hindi tumutugma sa inaasahang charset. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.tr.xlf b/app/vendor/symfony/validator/Resources/translations/validators.tr.xlf deleted file mode 100644 index 95c1bbbea..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.tr.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Bu değer olumsuz olmalıdır. - - - This value should be true. - Bu değer olumlu olmalıdır. - - - This value should be of type {{ type }}. - Bu değerin tipi {{ type }} olmalıdır. - - - This value should be blank. - Bu değer boş olmalıdır. - - - The value you selected is not a valid choice. - Seçtiğiniz değer geçerli bir seçenek değildir. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - En az {{ limit }} seçenek belirtmelisiniz. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - En çok {{ limit }} seçenek belirtmelisiniz. - - - One or more of the given values is invalid. - Verilen değerlerden bir veya daha fazlası geçersiz. - - - This field was not expected. - Bu alan beklenen olmadı. - - - This field is missing. - Bu alan, eksiktir - - - This value is not a valid date. - Bu değer doğru bir tarih biçimi değildir. - - - This value is not a valid datetime. - Bu değer doğru bir tarihsaat biçimi değildir. - - - This value is not a valid email address. - Bu değer doğru bir e-mail adresi değildir. - - - The file could not be found. - Dosya bulunamadı. - - - The file is not readable. - Dosya okunabilir değildir. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Dosya çok büyük ({{ size }} {{ suffix }}). İzin verilen en büyük dosya boyutu {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Dosyanın mime tipi geçersiz ({{ type }}). İzin verilen mime tipleri {{ types }}. - - - This value should be {{ limit }} or less. - Bu değer {{ limit }} ve altında olmalıdır. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Bu değer çok uzun. {{ limit }} karakter veya daha az olmalıdır. - - - This value should be {{ limit }} or more. - Bu değer {{ limit }} veya daha fazla olmalıdır. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Bu değer çok kısa. {{ limit }} karakter veya daha fazla olmalıdır. - - - This value should not be blank. - Bu değer boş bırakılmamalıdır. - - - This value should not be null. - Bu değer boş bırakılmamalıdır. - - - This value should be null. - Bu değer boş bırakılmalıdır. - - - This value is not valid. - Bu değer geçerli değildir. - - - This value is not a valid time. - Bu değer doğru bir saat değildir. - - - This value is not a valid URL. - Bu değer doğru bir URL değildir. - - - The two values should be equal. - İki değer eşit olmalıdır. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Dosya çok büyük. İzin verilen en büyük dosya boyutu {{ limit }} {{ suffix }}. - - - The file is too large. - Dosya çok büyük. - - - The file could not be uploaded. - Dosya yüklenemiyor. - - - This value should be a valid number. - Bu değer geçerli bir rakam olmalıdır. - - - This file is not a valid image. - Bu dosya geçerli bir resim değildir. - - - This value is not a valid IP address. - Bu değer geçerli bir IP adresi değildir. - - - This value is not a valid language. - Bu değer geçerli bir lisan değildir. - - - This value is not a valid locale. - Bu değer geçerli bir yer değildir. - - - This value is not a valid country. - Bu değer geçerli bir ülke değildir. - - - This value is already used. - Bu değer şu anda kullanımda. - - - The size of the image could not be detected. - Resmin boyutu saptanamıyor. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Resmin genişliği çok büyük ({{ width }}px). İzin verilen en büyük genişlik {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Resmin genişliği çok küçük ({{ width }}px). En az {{ min_width }}px olmalıdır. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Resmin yüksekliği çok büyük ({{ height }}px). İzin verilen en büyük yükseklik {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Resmin yüksekliği çok küçük ({{ height }}px). En az {{ min_height }}px olmalıdır. - - - This value should be the user's current password. - Bu değer kullanıcının şu anki şifresi olmalıdır. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Bu değer tam olarak {{ limit }} karakter olmaldır. - - - The file was only partially uploaded. - Dosya sadece kısmen yüklendi. - - - No file was uploaded. - Hiçbir dosya yüklenmedi. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini'de geçici bir klasör yapılandırılmadı veya yapılandırılan klasör mevcut değildir. - - - Cannot write temporary file to disk. - Geçici dosya diske yazılamıyor. - - - A PHP extension caused the upload to fail. - Bir PHP eklentisi dosyanın yüklemesini başarısız kıldı. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Bu derlem {{ limit }} veya daha çok eleman içermelidir. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Bu derlem {{ limit }} veya daha az eleman içermelidir. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Bu derlem {{ limit }} eleman içermelidir. - - - Invalid card number. - Geçersiz kart numarası. - - - Unsupported card type or invalid card number. - Desteklenmeyen kart tipi veya geçersiz kart numarası. - - - This value is not a valid International Bank Account Number (IBAN). - Bu değer geçerli bir Uluslararası Banka Hesap Numarası (IBAN) değildir. - - - This value is not a valid ISBN-10. - Bu değer geçerli bir ISBN-10 değildir. - - - This value is not a valid ISBN-13. - Bu değer geçerli bir ISBN-13 değildir. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Bu değer geçerli bir ISBN-10 veya ISBN-13 değildir. - - - This value is not a valid ISSN. - Bu değer geçerli bir ISSN değildir. - - - This value is not a valid currency. - Bu değer geçerli bir para birimi değildir. - - - This value should be equal to {{ compared_value }}. - Bu değer {{ compared_value }} ile eşit olmalıdır. - - - This value should be greater than {{ compared_value }}. - Bu değer {{ compared_value }} değerinden büyük olmalıdır. - - - This value should be greater than or equal to {{ compared_value }}. - Bu değer {{ compared_value }} ile eşit veya büyük olmalıdır. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Bu değer {{ compared_value_type }} {{ compared_value }} ile aynı olmalıdır. - - - This value should be less than {{ compared_value }}. - Bu değer {{ compared_value }} değerinden düşük olmalıdır. - - - This value should be less than or equal to {{ compared_value }}. - .Bu değer {{ compared_value }} ile eşit veya düşük olmalıdır. - - - This value should not be equal to {{ compared_value }}. - Bu değer {{ compared_value }} ile eşit olmamalıdır. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Bu değer {{ compared_value_type }} {{ compared_value }} ile aynı olmamalıdır. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Resim oranı çok büyük ({{ ratio }}). İzin verilen maksimum oran: {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Resim oranı çok ufak ({{ ratio }}). Beklenen minimum oran {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Resim karesi ({{ width }}x{{ height }}px). Kare resimlerine izin verilmiyor. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Resim manzara odaklı ({{ width }}x{{ height }}px). Manzara odaklı resimlere izin verilmiyor. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Resim portre odaklı ({{ width }}x{{ height }}px). Portre odaklı resimlere izin verilmiyor. - - - An empty file is not allowed. - Boş bir dosyaya izin verilmiyor. - - - The host could not be resolved. - Sunucu çözülemedi. - - - This value does not match the expected {{ charset }} charset. - Bu değer beklenen {{ charset }} karakter kümesiyle eşleşmiyor. - - - This value is not a valid Business Identifier Code (BIC). - Bu değer geçerli bir İşletme Tanımlama Kodu (BIC) değildir. - - - Error - Hata - - - This value is not a valid UUID. - Bu değer geçerli bir UUID değildir. - - - This value should be a multiple of {{ compared_value }}. - Bu değer {{ compare_value }} değerinin katlarından biri olmalıdır. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Bu İşletme Tanımlayıcı Kodu (BIC), IBAN {{ iban }} ile ilişkili değildir. - - - This value should be valid JSON. - Bu değer için geçerli olmalıdır JSON. - - - This collection should contain only unique elements. - Bu grup yalnızca benzersiz öğeler içermelidir. - - - This value should be positive. - Bu değer pozitif olmalıdır. - - - This value should be either positive or zero. - Bu değer pozitif veya sıfır olmalıdır. - - - This value should be negative. - Bu değer negatif olmalıdır. - - - This value should be either negative or zero. - Bu değer, negatif veya sıfır olmalıdır. - - - This value is not a valid timezone. - Bu değer, geçerli bir saat dilimi değildir. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Bu parola, bir veri ihlali nedeniyle sızdırılmıştır ve kullanılmamalıdır. Lütfen başka bir şifre kullanın. - - - This value should be between {{ min }} and {{ max }}. - Bu değer {{ min }} ve {{ max }} arasında olmalıdır. - - - This value is not a valid hostname. - Bu değer, geçerli bir ana bilgisayar adı değildir. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Bu gruptaki öğe sayısı birden fazla olmalıdır {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Bu değer aşağıdaki kısıtlamalardan birini karşılamalıdır: - - - Each element of this collection should satisfy its own set of constraints. - Bu gruptaki her öğe kendi kısıtlamalarını karşılamalıdır. - - - This value is not a valid International Securities Identification Number (ISIN). - Bu değer geçerli bir Uluslararası Menkul Kıymetler Kimlik Numarası (ISIN) değildir. - - - This value should be a valid expression. - Bu değer geçerli bir ifade olmalıdır. - - - This value is not a valid CSS color. - Bu değer geçerli bir CSS rengi değildir. - - - This value is not a valid CIDR notation. - Bu değer geçerli bir CIDR yazımı değildir. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Netmask'in değeri {{ min }} ve {{ max }} arasında olmaldır. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Dosya adı çok uzun. {{ filename_max_length }} karakter veya daha az olmalıdır. - - - The password strength is too low. Please use a stronger password. - Şifre gücü çok düşük. Lütfen daha güçlü bir şifre kullanın. - - - This value contains characters that are not allowed by the current restriction-level. - Bu değer, mevcut kısıtlama seviyesi tarafından izin verilmeyen karakterler içeriyor. - - - Using invisible characters is not allowed. - Görünmez karakterlerin kullanılması izin verilmez. - - - Mixing numbers from different scripts is not allowed. - Farklı yazı türlerinden sayıların karıştırılması izin verilmez. - - - Using hidden overlay characters is not allowed. - Gizli üstü kaplama karakterlerinin kullanılması izin verilmez. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Dosya uzantısı geçersiz ({{ extension }}). İzin verilen uzantılar {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Tespit edilen karakter kodlaması geçersiz ({{ detected }}). İzin verilen kodlamalar: {{ encodings }}. - - - This value is not a valid MAC address. - Bu değer geçerli bir MAC adresi değildir. - - - This URL is missing a top-level domain. - Bu URL bir üst seviye alan adı eksik. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Bu değer çok kısa. En az bir kelime içermelidir.|Bu değer çok kısa. En az {{ min }} kelime içermelidir. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Bu değer çok uzun. Tek bir kelime içermelidir.|Bu değer çok uzun. {{ max }} veya daha az kelime içermelidir. - - - This value does not represent a valid week in the ISO 8601 format. - Bu değer ISO 8601 formatında geçerli bir haftayı temsil etmezdir. - - - This value is not a valid week. - Bu değer geçerli hafta değildir. - - - This value should not be before week "{{ min }}". - Bu değer “{{ min }}” haftasından önce olmamalıdır. - - - This value should not be after week "{{ max }}". - Bu değer “{{ max }}” haftasından sonra olmamalıdır - - - This value is not a valid Twig template. - Bu değer geçerli bir Twig şablonu olarak kabul edilmiyor. - - - This file is not a valid video. - Bu dosya geçerli bir video dosyası değil. - - - The size of the video could not be detected. - Videonun boyutu tespit edilemedi. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video genişliği çok büyük ({{ width }}px). İzin verilen maksimum genişlik {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video genişliği çok küçük ({{ width }}px). Beklenen minimum genişlik {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video yüksekliği çok büyük ({{ height }}px). İzin verilen maksimum yükseklik {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Video yüksekliği çok küçük ({{ height }}px). Beklenen minimum yükseklik {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videodaki piksel sayısı çok az ({{ pixels }} piksel). Beklenen minimum miktar {{ min_pixels }} pikseldir. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videodaki piksel sayısı çok fazla ({{ pixels }} piksel). Beklenen maksimum miktar {{ max_pixels }} pikseldir. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video oranı çok büyük ({{ ratio }}). İzin verilen maksimum oran {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Video oranı çok küçük ({{ ratio }}). Beklenen minimum oran {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video kare biçimde ({{ width }}x{{ height }}px). Kare videolara izin verilmez. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video yatay biçimde ({{ width }}x{{ height }}px). Yatay videolara izin verilmez. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video dikey biçimde ({{ width }}x{{ height }}px). Dikey videolara izin verilmez. - - - The video file is corrupted. - Video dosyası bozuk. - - - The video contains multiple streams. Only one stream is allowed. - Video birden fazla akış içeriyor. Yalnızca tek akışa izin verilir. - - - Unsupported video codec "{{ codec }}". - Desteklenmeyen video codec'i "{{ codec }}". - - - Unsupported video container "{{ container }}". - Desteklenmeyen video kapsayıcısı "{{ container }}". - - - The image file is corrupted. - Görüntü dosyası bozulmuş. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Görüntüdeki piksel sayısı çok az ({{ pixels }}). Beklenen minimum miktar {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Görüntüdeki piksel sayısı çok fazla ({{ pixels }}). Beklenen maksimum miktar {{ max_pixels }}. - - - This filename does not match the expected charset. - Bu dosya adı beklenen karakter kümesiyle eşleşmiyor. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.uk.xlf b/app/vendor/symfony/validator/Resources/translations/validators.uk.xlf deleted file mode 100644 index 587301575..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.uk.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Значення повинно бути Ні. - - - This value should be true. - Значення повинно бути Так. - - - This value should be of type {{ type }}. - Тип значення повинен бути {{ type }}. - - - This value should be blank. - Значення повинно бути пустим. - - - The value you selected is not a valid choice. - Обране вами значення недопустиме. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Ви повинні обрати хоча б {{ limit }} варіант.|Ви повинні обрати хоча б {{ limit }} варіанти.|Ви повинні обрати хоча б {{ limit }} варіантів. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Ви повинні обрати не більше ніж {{ limit }} варіантів. - - - One or more of the given values is invalid. - Одне або кілька заданих значень є недопустимі. - - - This field was not expected. - Це поле не очікується. - - - This field is missing. - Це поле не вистачає. - - - This value is not a valid date. - Дане значення не є вірною датою. - - - This value is not a valid datetime. - Дане значення дати та часу недопустиме. - - - This value is not a valid email address. - Значення адреси электронної пошти недопустиме. - - - The file could not be found. - Файл не знайдено. - - - The file is not readable. - Файл не читається. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Файл занадто великий ({{ size }} {{ suffix }}). Дозволений максимальний розмір {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - MIME-тип файлу недопустимий ({{ type }}). Допустимі MIME-типи файлів {{ types }}. - - - This value should be {{ limit }} or less. - Значення повинно бути {{ limit }} або менше. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Значення занадто довге. Повинно бути рівне {{ limit }} символу або менше.|Значення занадто довге. Повинно бути рівне {{ limit }} символам або менше.|Значення занадто довге. Повинно бути рівне {{ limit }} символам або менше. - - - This value should be {{ limit }} or more. - Значення повинно бути {{ limit }} або більше. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Значення занадто коротке. Повинно бути рівне {{ limit }} символу або більше.|Значення занадто коротке. Повинно бути рівне {{ limit }} символам або більше.|Значення занадто коротке. Повинно бути рівне {{ limit }} символам або більше. - - - This value should not be blank. - Значення не повинно бути пустим. - - - This value should not be null. - Значення не повинно бути null. - - - This value should be null. - Значення повинно бути null. - - - This value is not valid. - Значення недопустиме. - - - This value is not a valid time. - Значення часу недопустиме. - - - This value is not a valid URL. - Значення URL недопустиме. - - - The two values should be equal. - Обидва занчення повинні бути одинаковими. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Файл занадто великий. Максимальний допустимий розмір {{ limit }} {{ suffix }}. - - - The file is too large. - Файл занадто великий. - - - The file could not be uploaded. - Файл не можливо завантажити. - - - This value should be a valid number. - Значення має бути допустимим числом. - - - This file is not a valid image. - Цей файл не є допустимим форматом зображення. - - - This value is not a valid IP address. - Це значення не є дійсною IP-адресою. - - - This value is not a valid language. - Це некоректна мова. - - - This value is not a valid locale. - Це некоректна локалізація. - - - This value is not a valid country. - Це некоректна країна. - - - This value is already used. - Це значення вже використовується. - - - The size of the image could not be detected. - Не вдалося визначити розмір зображення. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширина зображення занадто велика ({{ width }}px). Максимально допустима ширина {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширина зображення занадто мала ({{ width }}px). Мінімально допустима ширина {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Висота зображення занадто велика ({{ height }}px). Максимально допустима висота {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Висота зображення занадто мала ({{ height }}px). Мінімально допустима висота {{ min_height }}px. - - - This value should be the user's current password. - Значення має бути поточним паролем користувача. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Значення повинно бути рівним {{ limit }} символу.|Значення повинно бути рівним {{ limit }} символам.|Значення повинно бути рівним {{ limit }} символам. - - - The file was only partially uploaded. - Файл був завантажений лише частково. - - - No file was uploaded. - Файл не був завантажений. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - У php.ini не було налаштовано тимчасової теки, або налаштована тека не існує. - - - Cannot write temporary file to disk. - Неможливо записати тимчасовий файл на диск. - - - A PHP extension caused the upload to fail. - Розширення PHP викликало помилку при завантаженні. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ця колекція повинна містити {{ limit }} елемент чи більше.|Ця колекція повинна містити {{ limit }} елемента чи більше.|Ця колекція повинна містити {{ limit }} елементів чи більше. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ця колекція повинна містити {{ limit }} елемент чи менше.|Ця колекція повинна містити {{ limit }} елемента чи менше.|Ця колекція повинна містити {{ limit }} елементов чи менше. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ця колекція повинна містити рівно {{ limit }} елемент.|Ця колекція повинна містити рівно {{ limit }} елемента.|Ця колекція повинна містити рівно {{ limit }} елементів. - - - Invalid card number. - Невірний номер карти. - - - Unsupported card type or invalid card number. - Непідтримуваний тип карти або невірний номер карти. - - - This value is not a valid International Bank Account Number (IBAN). - Це значення не є дійсним міжнародним номером банківського рахунку (IBAN). - - - This value is not a valid ISBN-10. - Значення не у форматі ISBN-10. - - - This value is not a valid ISBN-13. - Значення не у форматі ISBN-13. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Значення не відповідає форматам ISBN-10 та ISBN-13. - - - This value is not a valid ISSN. - Значення має невірний формат ISSN. - - - This value is not a valid currency. - Значення має невірний формат валюти. - - - This value should be equal to {{ compared_value }}. - Значення повинно дорівнювати {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Значення має бути більше ніж {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Значення має бути більше або дорівнювати {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Значення має бути ідентичним {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Значення повинно бути менше ніж {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Значення повинно бути менше або дорівнювати {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Значення не повинно дорівнювати {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Значення не повинно бути ідентичним {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Співвідношення сторін зображення занадто велике ({{ ratio }}). Максимальне співвідношення сторін {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Співвідношення сторін зображення занадто мало ({{ ratio }}). Мінімальне співвідношення сторін {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Зображення квадратне ({{ width }}x{{ height }}px). Квадратні зображення не дозволені. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Зображення альбомної орієнтації ({{ width }}x{{ height }}px). Зображення альбомної орієнтації не дозволені. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Зображення в портретній орієнтації ({{ width }}x{{ height }}px). Зображення в портретної орієнтації не дозволені. - - - An empty file is not allowed. - Порожні файли не дозволені. - - - The host could not be resolved. - Ім'я хоста не знайдено. - - - This value does not match the expected {{ charset }} charset. - Значення не збігається з очікуваним {{ charset }} кодуванням. - - - This value is not a valid Business Identifier Code (BIC). - Це значення не є дійсним банківським кодом (BIC). - - - Error - Помилка - - - This value is not a valid UUID. - Це значення не є дійсним UUID. - - - This value should be a multiple of {{ compared_value }}. - Це значення повинне бути кратним {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Банківський код (BIC) не пов’язаний із міжнародним номером банківського рахунку (IBAN) {{ iban }}. - - - This value should be valid JSON. - Значення має бути корректним JSON. - - - This collection should contain only unique elements. - Ця колекція повинна мати тільки унікальни значення. - - - This value should be positive. - Значення має бути позитивним. - - - This value should be either positive or zero. - Значення має бути позитивним або дорівнювати нулю. - - - This value should be negative. - Значення має бути негативним. - - - This value should be either negative or zero. - Значення має бути негативним або дорівнювати нулю. - - - This value is not a valid timezone. - Значення не є дійсним часовим поясом. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Цей пароль був скомпрометований в результаті витоку даних та не повинен використовуватися. Будь ласка, використовуйте інший пароль. - - - This value should be between {{ min }} and {{ max }}. - Значення має бути між {{ min }} та {{ max }}. - - - This value is not a valid hostname. - Значення не є дійсним іменем хоста. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Кількість елементів у цій колекції повинна бути кратною {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Значення повинно задовольняти хоча б одному з наступних обмежень: - - - Each element of this collection should satisfy its own set of constraints. - Кожен елемент цієї колекції повинен задовольняти власному набору обмежень. - - - This value is not a valid International Securities Identification Number (ISIN). - Це значення не є дійсним міжнародним ідентифікаційним номером цінних паперів (ISIN). - - - This value should be a valid expression. - Це значення має бути дійсним виразом. - - - This value is not a valid CSS color. - Це значення не є дійсним CSS кольором. - - - This value is not a valid CIDR notation. - Це значення не є дійсною CIDR нотаціею. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Значення в мережевій масці має бути між {{ min }} та {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Назва файлу занадто довга. Вона має містити {{ filename_max_length }} символів або менше.|Назва файлу занадто довга. Вона має містити {{ filename_max_length }} символів або менше. - - - The password strength is too low. Please use a stronger password. - Надійність пароля занадто низька. Будь ласка, створіть складніший пароль. - - - This value contains characters that are not allowed by the current restriction-level. - Це значення містить символи, які не дозволяються поточним рівнем обмежень. - - - Using invisible characters is not allowed. - Використання невидимих ​​символів не допускається. - - - Mixing numbers from different scripts is not allowed. - Змішувати числа з різних скриптів не допускається. - - - Using hidden overlay characters is not allowed. - Використання прихованих накладених символів не допускається. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Розширення файлу недопустиме ({{ extension }}). Дозволені розширення {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Недопустиме кодування символів ({{ detected }}). Допустимі кодування: {{ encodings }}. - - - This value is not a valid MAC address. - Це значення не є дійсною MAC-адресою. - - - This URL is missing a top-level domain. - Цьому URL не вистачає домену верхнього рівня. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Це значення занадто коротке. Воно має містити принаймні одне слово.|Це значення занадто коротке. Мінімальна кількість слів — {{ min }}. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Це значення занадто довге. Воно має містити лише одне слово.|Це значення занадто довге. Максимальна кількість слів — {{ max }}. - - - This value does not represent a valid week in the ISO 8601 format. - Це значення не представляє дійсний тиждень у форматі ISO 8601. - - - This value is not a valid week. - Це значення не є дійсним тижнем. - - - This value should not be before week "{{ min }}". - Це значення не повинно бути раніше тижня "{{ min }}". - - - This value should not be after week "{{ max }}". - Це значення не повинно бути після тижня "{{ max }}". - - - This value is not a valid Twig template. - Це значення не є дійсним шаблоном Twig. - - - This file is not a valid video. - Цей файл не є допустимим відеофайлом. - - - The size of the video could not be detected. - Не вдалося визначити розмір відеофайлу. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширина відеофайлу занадто велика ({{ width }}px). Максимально допустима ширина {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширина відеофайлу занадто мала ({{ width }}px). Мінімально допустима ширина {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Висота відеофайлу занадто велика ({{ height }}px). Максимально допустима висота {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Висота відеофайлу занадто мала ({{ height }}px). Мінімально допустима висота {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Кількість пікселів у відеофайлі занадто мала ({{ pixels }} пікселів). Мінімально допустима кількість {{ min_pixels }} пікселів. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Кількість пікселів у відеофайлі занадто велика ({{ pixels }} пікселів). Максимально допустима кількість {{ max_pixels }} пікселів. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Співвідношення сторін відеофайлу занадто велике ({{ ratio }}). Максимально допустиме співвідношення сторін {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Співвідношення сторін відеофайлу занадто мале ({{ ratio }}). Мінімально допустиме співвідношення сторін {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Відеофайл має квадратні пропорції ({{ width }}x{{ height }}px). Квадратні відеофайли не дозволені. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Відеофайл в альбомній орієнтації ({{ width }}x{{ height }}px). Відеофайли в альбомній орієнтації не дозволені. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Відеофайл у портретній орієнтації ({{ width }}x{{ height }}px). Відеофайли у портретній орієнтації не дозволені. - - - The video file is corrupted. - Відеофайл пошкоджено. - - - The video contains multiple streams. Only one stream is allowed. - Відеофайл містить кілька потоків. Дозволено лише один потік. - - - Unsupported video codec "{{ codec }}". - Непідтримуваний відеокодек «{{ codec }}». - - - Unsupported video container "{{ container }}". - Непідтримуваний відеоконтейнер "{{ container }}". - - - The image file is corrupted. - Файл зображення пошкоджено. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Кількість пікселів у зображенні занадто мала ({{ pixels }} пікселів). Мінімально допустима кількість {{ min_pixels }} пікселів. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Кількість пікселів у зображенні занадто велика ({{ pixels }} пікселів). Максимально допустима кількість {{ max_pixels }} пікселів. - - - This filename does not match the expected charset. - Назва файлу не відповідає очікуваному набору символів. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.ur.xlf b/app/vendor/symfony/validator/Resources/translations/validators.ur.xlf deleted file mode 100644 index 18e5a0efd..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.ur.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - یہ ويليو غلط ہونی چاہیے - - - This value should be true. - یہ ويليو درست ہونی چاہیے - - - This value should be of type {{ type }}. - قسم کی ہونی چاہیے {{type}} يھ ويليو - - - This value should be blank. - یہ ويليو خالی ہونی چاہیے - - - The value you selected is not a valid choice. - آپ نے جو ويليو منتخب کی ہے وہ درست انتخاب نہیں ہے - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - کا انتخاب کرنا چاہیے {{limit}} کا انتخاب کرنا چاہیے ۔آّپ کو کم اذ کم {{limit}} آپ کو کم از کم - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - کا انتخاب کرنا چاہیے {{limit}} کا انتخاب کرنا چاہیے ۔آّپ کو ذيادھ سے ذيادھ {{limit}} آپ کو ذيادھ سے ذيادھ - - - One or more of the given values is invalid. - دی گئی ويليوذ میں سے ایک یا زیادھ ويليوذ غلط ہیں - - - This field was not expected. - اس فیلڈ کی توقع نہیں تھی - - - This field is missing. - یہ فیلڈ غائب ہے - - - This value is not a valid date. - یہ ويليو درست تاریخ نہیں ہے - - - This value is not a valid datetime. - یہ ويليو درست تاریخ وقت نہیں ہے - - - This value is not a valid email address. - یہ ويليو درست ای میل ایڈریس نہیں ہے - - - The file could not be found. - فائل نہیں مل سکی - - - The file is not readable. - فائل پڑھنے کے قابل نہیں ہے - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - {{ suffix }} {{ limit }} زیادہ سے زیادہ سائز کی اجازت ہے {{ suffix }}) ({{ size }} فائل بہت بڑی ہے - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - ہیں {{ types }} مائیم کی قسمیں ({{ type }}) فائل کی ماۂيم قسم غلط ہے - - - This value should be {{ limit }} or less. - یا اس سے کم ہونی چاہیے {{ limit }} یہ ويليو - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - حروف یا اس سے کم ہونے چاہئیں {{ limit }} حرف یا اس سے کم ہونا چاہیے۔|یہ ويليو بہت لمبی ہے۔ اس میں{{ limit }} یہ ويليو بہت لمبی ہے۔ اس میں - - - This value should be {{ limit }} or more. - یا اس سے زیادہ ہونی چاہیے {{ limit }} یہ ويليو - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - حروف یا اس سے زیادہ ہونے چاہئیں {{ limit }} حرف یا اس سے زیادہ ہونا چاہیے۔|یہ ويليو بہت چھوٹی ہے۔ اس میں{{ limit }} یہ ويليو بہت مختصر ہے۔ اس میں - - - This value should not be blank. - یہ ويليو خالی نہیں ہونی چاہیے - - - This value should not be null. - یہ ويليو خالی نہیں ہونی چاہیے - - - This value should be null. - یہ ويليو خالی ہونی چاہیے - - - This value is not valid. - یہ ويليو درست نہیں ہے - - - This value is not a valid time. - یہ ويليو درست وقت نہیں ہے - - - This value is not a valid URL. - نہیں ہے URL یہ ويليو درست - - - The two values should be equal. - دونوں ويليوذ برابر ہونی چاہئیں - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - {{ suffix }} {{ limit }} فائل بہت بڑی ہے۔ زیادہ سے زیادہ سائز کی اجازت ہے - - - The file is too large. - فائل بہت بڑی ہے - - - The file could not be uploaded. - فائل اپ لوڈ نہیں ہو سکی - - - This value should be a valid number. - یہ ويليو ایک درست نمبر ہونی چاہیے - - - This file is not a valid image. - یہ فائل درست تصویر نہیں ہے - - - This value is not a valid IP address. - یہ قیمت کوئی درست IP پتہ نہیں ہے۔ - - - This value is not a valid language. - یہ ويليو درست زبان نہیں ہے - - - This value is not a valid locale. - یہ ويليو درست مقام نہیں ہے - - - This value is not a valid country. - یہ ويليو ایک درست ملک نہیں ہے - - - This value is already used. - یہ ويليو پہلے ہی استعمال ہو چکی ہے - - - The size of the image could not be detected. - تصویر کے سائز کا پتہ نہیں چل سکا - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - ہے {{ max_width }}px اجازت دی گئی زیادہ سے زیاد چوڑائی ({{ width }}px) تصویر کی چوڑائی بہت بڑی ہے - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - ہے {{ min_width }}px کم از کم چوڑائی متوقع({{ width }}px) تصویر کی چوڑائی بہت چھوٹی ہے - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ہے {{ max_height }}px اجازت دی گئی زیادہ سے زیاد اونچائی ({{ height }}px) تصویر کی اونچائی بہت بڑی ہے - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ہے {{ min_height }}px متوقع کم از کم اونچائی ({{ height }}px) تصویر کی اونچائی بہت چھوٹی ہے - - - This value should be the user's current password. - یہ ويليو صارف کا موجودہ پاس ورڈ ہونا چاہیے - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - حروف ہونے چاہئیں {{ limit }} حرف ہونا چاہیے۔|اس ويليو میں بالکل {{ limit }} اس ويليو میں بالکل - - - The file was only partially uploaded. - فائل صرف جزوی طور پر اپ لوڈ کی گئی تھی - - - No file was uploaded. - کوئی فائل اپ لوڈ نہیں کی گئی - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini میں کوئی عارضی فولڈر ترتیب نہیں دیا گیا تھا، یا ترتیب دیا گیا فولڈر موجود نہیں ہے۔ - - - Cannot write temporary file to disk. - عارضی فائل کو ڈسک پر نہیں لکھا جا سکتا - - - A PHP extension caused the upload to fail. - پی ایچ پی کی توسیع کی وجہ سے اپ لوڈ ناکام ہو گیا - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - عناصر یا اس سے زیادہ ہونا چاہیے {{ limit } عنصر یا اس سے زیادہ ہونا چاہیے۔|اس مجموعہ میں {{ limit }} اس مجموعہ میں - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - عناصر یا اس سے کم ہونا چاہیے {{ limit } عنصر یا اس سے کم ہونا چاہیے۔|اس مجموعہ میں {{ limit }} اس مجموعہ میں - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - عنصر ہونا چاہیے {{ limit }} عنصر ہونا چاہیے۔|اس مجموعے میں بالکل {{ limit }} اس مجموعہ میں بالکل - - - Invalid card number. - غلط کارڈ نمبر - - - Unsupported card type or invalid card number. - غیر تعاون یافتہ کارڈ کی قسم یا غلط کارڈ نمبر - - - This value is not a valid International Bank Account Number (IBAN). - یہ قیمت کوئی درست بین الاقوامی بینک اکاؤنٹ نمبر (IBAN) نہیں ہے۔ - - - This value is not a valid ISBN-10. - نہیں ہے ISBN-10 یھ ويليو درست۔ - - - This value is not a valid ISBN-13. - نہیں ہے ISBN-13 یھ ويليو درست۔ - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - ISBN-13 ے اور نہ ہی درست ISBN-10 یہ ويليو نہ تو درست - - - This value is not a valid ISSN. - نہیں ہے ISSNیھ ويليو درست۔ - - - This value is not a valid currency. - یہ ويليو درست کرنسی نہیں ہے - - - This value should be equal to {{ compared_value }}. - کے برابر ہونا چاہیے {{ compared_value }} یھ ويليو - - - This value should be greater than {{ compared_value }}. - سے بڈي ہوني چاہیے {{ compared_value }} یھ ويليو - - - This value should be greater than or equal to {{ compared_value }}. - سے بڈي یا برابر ہوني چاہیے {{ compared_value }} یھ ويليو - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - {{ compared_value }} {{ compared_value_type }} یہ ويليو ایک جیسی ہونی چاہیے۔ - - - This value should be less than {{ compared_value }}. - سے کم ہوني چاہیے {{ compared_value }} یھ ويليو - - - This value should be less than or equal to {{ compared_value }}. - سے کم یا برابر ہوني چاہیے {{ compared_value }} یھ ويليو - - - This value should not be equal to {{ compared_value }}. - کے برابر نھيں ہوني چاہیے {{ compared_value }} یھ ويليو - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - ایک جیسی نیيں ہونی چاہیے {{ compared_value }} {{ compared_value_type }} یہ ويليو - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - ہے {{ max_ratio }} اجازت شدہ زیادہ سے زیادہ تناسب ({{ ratio }}) تصویر کا تناسب بہت بڑا ہے - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - ہے{{ min_ratio }} ratio متوقع کم از کم ({{ ratio }}) بہت چھوٹا ہے ratio تصویر کا - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - مربع تصاویر کی اجازت نہیں ہے (px{{ height }}x{{ width }}) تصویر مربع ہے - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - زمین کی تزئین پر مبنی تصاویر کی اجازت نہیں ہے ({{ width }}x{{ height }}px) تصویر زمین کی تزئین پر مبنی ہے - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - پورٹریٹ پر مبنی تصاویر کی اجازت نہیں ہے ({{ width }}x{{ height }}px) تصویر پورٹریٹ پر مبنی ہے - - - An empty file is not allowed. - خالی فائل کی اجازت نہیں ہے - - - The host could not be resolved. - میزبان حل نہیں ہو سکا - - - This value does not match the expected {{ charset }} charset. - کے جيسي نہیں ہے charset {{ charset }} یہ ويليو متوقع - - - This value is not a valid Business Identifier Code (BIC). - یہ قیمت کوئی درست بزنس شناختی کوڈ (BIC) نہیں ہے۔ - - - Error - خرابی - - - This value is not a valid UUID. - یہ قیمت کوئی درست UUID نہیں ہے۔ - - - This value should be a multiple of {{ compared_value }}. - کا ضرب ہوني چاہیے {{ compared_value }} یہ ويليو - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - سے وابستہ نہیں ہے IBAN {{ iban }} (BIC) یہ کاروباری شناختی کوڈ - - - This value should be valid JSON. - ہونی چاہیے JSON یہ ويليو درست - - - This collection should contain only unique elements. - یہ مجموعہ صرف منفرد عناصر پر مشتمل ہونا چاہیے - - - This value should be positive. - یہ ويليو مثبت ہونی چاہیے - - - This value should be either positive or zero. - یہ ويليو یا تو مثبت یا صفر ہونی چاہیے - - - This value should be negative. - یہ ويليو منفی ہونی چاہیے - - - This value should be either negative or zero. - یہ ويليو یا تو منفی یا صفر ہونی چاہیے - - - This value is not a valid timezone. - یہ ويليو درست ٹائم زون نہیں ہے - - - This password has been leaked in a data breach, it must not be used. Please use another password. - یہ پاس ورڈ ڈیٹا کی خلاف ورزی میں لیک ہو گیا ہے، اسے استعمال نہیں کرنا چاہیے۔ براۓ کرم دوسرا پاس ورڈ استعمال کریں - - - This value should be between {{ min }} and {{ max }}. - کے درمیان ہونی چاہیے {{ max }} اور {{ min }} یہ ويليو - - - This value is not a valid hostname. - نہیں ہے hostname یہ ويليو درست - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - کی ضرب ہونی چاہیے {{ compared_value }} اس مجموعہ میں عناصر کی تعداد - - - This value should satisfy at least one of the following constraints: - اس ويليو کو درج ذیل رکاوٹوں میں سے کم از کم ایک کو پورا کرنا چاہیے - - - Each element of this collection should satisfy its own set of constraints. - اس مجموعے کے ہر عنصر کو اپنی پابندیوں کے سیٹ کو پورا کرنا چاہیے - - - This value is not a valid International Securities Identification Number (ISIN). - نہیں ہے (ISIN) یہ ويليو درست بین الاقوامی سیکیورٹیز شناختی نمبر - - - This value should be a valid expression. - یہ ويليو ایک درست اظہار ہوني چاہیے - - - This value is not a valid CSS color. - رنگ نہیں ہے CSS یہ ويليو درست - - - This value is not a valid CIDR notation. - نوٹیشن نہیں ہے CIDR یہ ويليو ایک درست - - - The value of the netmask should be between {{ min }} and {{ max }}. - کے درمیان ہونی چاہیے {{ max }} اور {{ min }} نیٹ ماسک کی ويليو - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - فائل کا نام بہت لمبا ہے۔ اس میں {{ filename_max_length }} حرف یا اس سے کم ہونے چاہئیں۔|فائل کا نام بہت لمبا ہے۔ اس میں {{ filename_max_length }} حروف یا اس سے کم ہونے چاہئیں۔ - - - The password strength is too low. Please use a stronger password. - پاس ورڈ کی طاقت بہت کم ہے۔ براہ کرم مضبوط پاس ورڈ استعمال کریں۔ - - - This value contains characters that are not allowed by the current restriction-level. - اس قدر میں ایسے حروف موجود ہیں جو موجودہ پابندی کی سطح کی طرف سے اجازت نہیں ہیں۔ - - - Using invisible characters is not allowed. - نادیدہ حروف استعمال کرنے کی اجازت نہیں ہے۔ - - - Mixing numbers from different scripts is not allowed. - مختلف اسکرپٹس سے نمبروں کو ملا کر استعمال کرنے کی اجازت نہیں ہے۔ - - - Using hidden overlay characters is not allowed. - چھپے ہوئے اوورلے کریکٹرز کا استعمال کرنے کی اجازت نہیں ہے۔ - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - فائل کی توسیع نامناسب ہے ({{ extension }})۔ اجازت شدہ توسیعات {{ extensions }} ہیں۔ - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - پتہ چلنے والی کریکٹر انکوڈنگ نامناسب ہے ({{ detected }})۔ اجازت شدہ انکوڈنگز {{ encodings }} ہیں۔ - - - This value is not a valid MAC address. - یہ قیمت کوئی درست MAC پتہ نہیں ہے۔ - - - This URL is missing a top-level domain. - اس URL میں ٹاپ لیول ڈومین موجود نہیں ہے۔ - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - یہ قدر بہت مختصر ہے۔ اس میں کم از کم ایک لفظ ہونا چاہیے۔|یہ قدر بہت مختصر ہے۔ اس میں کم از کم {{ min }} الفاظ ہونے چاہئیں۔ - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - یہ قدر بہت طویل ہے۔ اس میں صرف ایک لفظ ہونا چاہیے۔|یہ قدر بہت طویل ہے۔ اس میں {{ max }} الفاظ یا اس سے کم ہونے چاہئیں۔ - - - This value does not represent a valid week in the ISO 8601 format. - یہ قدر آئی ایس او 8601 فارمیٹ میں ایک درست ہفتے کی نمائندگی نہیں کرتی ہے۔ - - - This value is not a valid week. - یہ قدر ایک درست ہفتہ نہیں ہے۔ - - - This value should not be before week "{{ min }}". - یہ قدر ہفتہ "{{ min }}" سے پہلے نہیں ہونا چاہیے۔ - - - This value should not be after week "{{ max }}". - یہ قدر ہفتہ "{{ max }}" کے بعد نہیں ہونا چاہیے۔ - - - This value is not a valid Twig template. - یہ قدر ایک درست Twig سانچہ نہیں ہے۔ - - - This file is not a valid video. - یہ فائل ایک درست ویڈیو نہیں ہے۔ - - - The size of the video could not be detected. - ویڈیو کا سائز معلوم نہیں کیا جا سکا۔ - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - ویڈیو کی چوڑائی بہت زیادہ ہے ({{ width }}px)۔ اجازت شدہ زیادہ سے زیادہ چوڑائی {{ max_width }}px ہے۔ - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - ویڈیو کی چوڑائی بہت کم ہے ({{ width }}px)۔ متوقع کم از کم چوڑائی {{ min_width }} پکسل ہے۔ - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - ویڈیو کی اونچائی بہت زیادہ ہے ({{ height }}px)۔ مجاز زیادہ سے زیادہ اونچائی {{ max_height }}px ہے۔ - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - ویڈیو کی اونچائی بہت کم ہے ({{ height }}px)۔ متوقع کم از کم اونچائی {{ min_height }}px ہے۔ - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - ویڈیو میں پکسل بہت کم ہیں ({{ pixels }}). متوقع کم از کم مقدار {{ min_pixels }} ہے۔ - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - ویڈیو میں پکسلز بہت زیادہ ہیں ({{ pixels }}). متوقع زیادہ سے زیادہ مقدار {{ max_pixels }} ہے۔ - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - ویڈیو کا تناسب بہت بڑا ہے ({{ ratio }}). اجازت شدہ زیادہ سے زیادہ تناسب {{ max_ratio }} ہے۔ - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - ویڈیو کا تناسب بہت چھوٹا ہے ({{ ratio }}). متوقع کم از کم تناسب {{ min_ratio }} ہے۔ - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - ویڈیو مربع ہے ({{ width }}x{{ height }}px). مربع ویڈیوز کی اجازت نہیں ہے۔ - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - ویڈیو افقی سمت میں ہے ({{ width }}x{{ height }} پکسل). افقی ویڈیوز کی اجازت نہیں ہے۔ - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - ویڈیو عمودی رخ پر ہے ({{ width }}x{{ height }}px). عمودی رخ والی ویڈیوز کی اجازت نہیں ہے۔ - - - The video file is corrupted. - ویڈیو فائل خراب ہے۔ - - - The video contains multiple streams. Only one stream is allowed. - ویڈیو میں متعدد اسٹریمز ہیں۔ صرف ایک اسٹریم کی اجازت ہے۔ - - - Unsupported video codec "{{ codec }}". - غیر معاون ویڈیو کوڈیک "{{ codec }}"۔ - - - Unsupported video container "{{ container }}". - غیر معاونت یافتہ ویڈیو کنٹینر "{{ container }}". - - - The image file is corrupted. - تصویری فائل خراب ہے۔ - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - تصویر میں پکسلز بہت کم ہیں ({{ pixels }})۔ متوقع کم سے کم مقدار {{ min_pixels }} ہے۔ - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - تصویر میں پکسلز بہت زیادہ ہیں ({{ pixels }}). متوقع زیادہ سے زیادہ مقدار {{ max_pixels }} ہے. - - - This filename does not match the expected charset. - اس فائل کا نام متوقع حرفوں کے مجموعے سے مطابقت نہیں رکھتا۔ - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.uz.xlf b/app/vendor/symfony/validator/Resources/translations/validators.uz.xlf deleted file mode 100644 index ff30d039b..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.uz.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Qiymat false bo'lishi kerak. - - - This value should be true. - Qiymat true bo'lishi kerak. - - - This value should be of type {{ type }}. - Qiymat turi {{ type }} bo'lishi kerak. - - - This value should be blank. - Qiymat bo'sh bo'lishi kerak. - - - The value you selected is not a valid choice. - Tanlangan qiymat yaroqli emas. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Siz hech bo'lmaganda {{ limit }} ta qiymat tanlashingiz kerak.|Siz kamida {{ limit }} ta qiymat tanlashingiz kerak. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Siz {{ limit }} ta qiymatni tanlashingiz kerak.|Siz {{ limit }} dan ortiq qiymat tanlashingiz kerak. - - - One or more of the given values is invalid. - Belgilangan qiymatlarning bir yoki bir nechtasi yaroqsiz. - - - This field was not expected. - Ushbu maydon kutilmagan edi. - - - This field is missing. - Bu maydon majvud emas. - - - This value is not a valid date. - Ushbu sana noto'g'ri. - - - This value is not a valid datetime. - Sana va vaqt qiymati noto'g'ri. - - - This value is not a valid email address. - Elektron pochta manzili noto'g'ri. - - - The file could not be found. - Fayl topilmadi. - - - The file is not readable. - Faylni o'qib bo'lmadi. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Fayl hajmi katta ({{ size }} {{ suffix }}). Maksimal ruxsat etilgan hajim {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Faylning MIME turi noto'g'ri ({{ type }}). Ruxsat etilgan MIME turlar {{ types }}. - - - This value should be {{ limit }} or less. - Qiymat {{ limit }} ga teng yoki kam bo'lishi kerak. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Qiymat juda uzun. {{ limit }} ga teng yoki kam bo'lishi kerak.|Qiymat juda uzun. {{ limit }} yoki undan kam belgidan iborat bo'lishi kerak. - - - This value should be {{ limit }} or more. - Qiymat {{ limit }} yoki undan ortiq bo'lishi kerak. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Qiymat juda qisqa. {{ limit }} ta yoki undan ortiq belgidan iborat bo'lishi kerak.|Qiymat juda qisqa. {{ limit }} yoki undan ko'p belgidan iborat bo'lishi kerak - - - This value should not be blank. - Qiymatni bo'sh kirtish mumkin emas. - - - This value should not be null. - Qiymat null bo'lmasligi kerak. - - - This value should be null. - Qiymat null bo'lishi kerak. - - - This value is not valid. - Qiymat noto'g'ri. - - - This value is not a valid time. - Vaqt noto'g'ri. - - - This value is not a valid URL. - URL noto'g'ri - - - The two values should be equal. - Ikkala qiymat ham bir xil bo'lishi kerak. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Fayl hajmi katta. Maksimal ruxsat berilgan hajim {{ limit }} {{ suffix }}. - - - The file is too large. - Fayl hajmi katta. - - - The file could not be uploaded. - Faylni yuklab bo'lmadi. - - - This value should be a valid number. - Qiymat raqam bo'lishi kerak. - - - This file is not a valid image. - Fayl yaroqli rasm formati emas. - - - This value is not a valid IP address. - Bu qiymat haqiqiy IP manzil emas. - - - This value is not a valid language. - Noto'g'ri til. - - - This value is not a valid locale. - Ushbu qiymat mahalliy qiymat emas. - - - This value is not a valid country. - Mamlakat qiymati noto'g'ri. - - - This value is already used. - Ushbu qiymat allaqachon ishlatilgan. - - - The size of the image could not be detected. - Rasm o'lchamini aniqlab bo'lmadi. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Rasm kengligi juda katta ({{ width }}px). Maksimal ruxsat etilgan kenglik {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Rasm kengligi juda kichkina ({{ width }}px). Minimal ruxsat etilgan kenglik {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Rasm bo'yi juda katta ({{ height }}px). Maksimal ruxsat etilgan balandlik {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Rasm bo'yi juda kichkina ({{ height }}px). Minimal ruxsat etilgan balandlik {{ min_height }}px. - - - This value should be the user's current password. - Qiymat joriy foydalanuvchi paroli bo'lishi kerak. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Qiymat {{ limit }} ta belgidan iborat bo'lishi kerak.|Qiymat {{ limit }} belgidan iborat bo'lishi kerak. - - - The file was only partially uploaded. - Fayl faqat qisman yuklangan. - - - No file was uploaded. - Fayl yuklanmagan. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini da vaqtinchalik katalog sozlanmagan, yoki sozlangan katalog mavjud emas. - - - Cannot write temporary file to disk. - Diskka vaqtinchalik faylni yozib bo'lmadi. - - - A PHP extension caused the upload to fail. - PHP kengaytmasi yuklash paytida xatolik yuz berdi. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ushbu to'plam {{ limit }} ta yoki undan ko'p narsalarni o'z ichiga olishi kerak.|Ushbu to'plam {{ limit }} yoki undan ortiq narsalarni o'z ichiga olishi kerak. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ushbu to'plam {{ limit }} ta yoki undan kam narsalarni o'z ichiga olishi kerak.|Ushbu to'plamda {{ limit }} yoki undan kam element bo'lishi kerak. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ushbu to'plam to'liq {{ limit }} narsani o'z ichiga olishi kerak.|Ushbu to'plamda to'liq {{ limit }} ta ma'lumotlar bo'lishi kerak. - - - Invalid card number. - Kata raqami noto'g'ri. - - - Unsupported card type or invalid card number. - Qo'llab-quvvatlanmaydigan karta turi yoki yaroqsiz karta raqami. - - - This value is not a valid International Bank Account Number (IBAN). - Bu qiymat haqiqiy Xalqaro Bank Hisob Raqami (IBAN) emas. - - - This value is not a valid ISBN-10. - Qiymat to'g'ri ISBN-10 formatida emas. - - - This value is not a valid ISBN-13. - Qiymat to'g'ri ISBN-13 formatida emas. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Qiymat ISBN-10 va ISBN-13 formatlariga mos kelmaydi. - - - This value is not a valid ISSN. - Qiymat ISSN formatiga mos kelmaydi. - - - This value is not a valid currency. - Noto'g'ri valyuta formati. - - - This value should be equal to {{ compared_value }}. - Qiymat {{ compared_value }} ga teng bo'lishi shart. - - - This value should be greater than {{ compared_value }}. - Qiymat {{ compared_value }} dan katta bo'lishi shart. - - - This value should be greater than or equal to {{ compared_value }}. - Qiymat {{ compared_value }} dan katta yoki teng bo'lishi shart. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Значение должно быть идентичным {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Qiymat bir xil bo'lishi kerak {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Qiymat {{ compared_value }} dan kichik yoki teng bo'lishi shart. - - - This value should not be equal to {{ compared_value }}. - Qiymat {{ compared_value }} ga teng bo'lmasligi kerak. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Qiymat bir xil bo'lishi kerak emas {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Rasmning tomonlari nisbati juda katta ({{ ratio }}). Maksimal tomonlar nisbati {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Rasmning format nisbati juda kichik ({{ ratio }}). Minimal tomonlar nisbati {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Rasm kvadrat shaklida ({{ width }}x{{ height }}px). Kvadrat shaklida tasvirlarga ruxsat berilmaydi. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Landshaft tasvir ({{ width }}x{{ height }}px). Landshaft rasmlarga ruxsat berilmaydi. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Portret rasm ({{ width }}x{{ height }}px). Portretlarga ruxsat berilmaydi. - - - An empty file is not allowed. - Bo'sh fayllarga ruxsat berilmagan. - - - The host could not be resolved. - Xost nomini nomiga ruxsat berilmagan. - - - This value does not match the expected {{ charset }} charset. - Qiymat kutilgan {{ charset }} kodlashiga mos kelmaydi. - - - This value is not a valid Business Identifier Code (BIC). - Bu qiymat haqiqiy Biznes Identifikatsiya Kodi (BIC) emas. - - - Error - Xatolik - - - This value is not a valid UUID. - Bu qiymat haqiqiy UUID emas. - - - This value should be a multiple of {{ compared_value }}. - Qiymat {{ compared_value }} ning ko'paytmasi bo'lishi kerak. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ushbu BIC IBAN {{ iban }} bilan bog'liq emas.. - - - This value should be valid JSON. - Qiymat to'g'ri JSON bo'lishi kerak. - - - This collection should contain only unique elements. - Ushbu kolleksiyada takroriy elementlar bo'lmasligi kerak. - - - This value should be positive. - Qiymat musbat bo'lishi kerak. - - - This value should be either positive or zero. - Qiymat musbat yoki 0 ga teng bo'lishi kerak. - - - This value should be negative. - Qiymat manfiy bo'lishi kerak. - - - This value should be either negative or zero. - Qiymat manfiy yoki 0 ga teng bo'lishi kerak. - - - This value is not a valid timezone. - Qiymat to'g'ri vaqt zonasi emas. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Ushbu parol ma'lumotlarning tarqalishi tufayli buzilgan va uni ishlatmaslik kerak. Boshqa paroldan foydalaning. - - - This value should be between {{ min }} and {{ max }}. - Qiymat {{ min }} va {{ max }} oralig'ida bo'lishi shart. - - - This value is not a valid hostname. - Qiymat to'g'ri xost nomi emas. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Ushbu to'plamdagi narsalar soni {{ compared_value }} dan ko'p bo'lishi kerak. - - - This value should satisfy at least one of the following constraints: - Qiymat quyidagi cheklovlardan kamida bittasiga javob berishi kerak: - - - Each element of this collection should satisfy its own set of constraints. - Ushbu to'plamdagi har bir narsa o'ziga xos cheklovlarni qondirishi kerak. - - - This value is not a valid International Securities Identification Number (ISIN). - Qiymat Qimmatli qog'ozlarning xalqaro identifikatsiya raqami (ISIN) ga mos emas. - - - This value should be a valid expression. - Ushbu qiymat to'g'ri ifoda bo'lishi kerak. - - - This value is not a valid CSS color. - Bu qiymat haqiqiy CSS rangi emas. - - - This value is not a valid CIDR notation. - Qiymat CIDR belgisiga mos kelmaydi. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Tarmoq niqobining qiymati {{ min }} va {{ max }} oralig'ida bo'lishi kerak. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Fayl nomi juda uzun. U {{ filename_max_length }} belgidan iborat boʻlishi kerak.|Fayl nomi juda uzun. U {{ filename_max_length }} ta belgidan iborat boʻlishi kerak. - - - The password strength is too low. Please use a stronger password. - Parol kuchi juda past. Iltimos, kuchliroq paroldan foydalaning. - - - This value contains characters that are not allowed by the current restriction-level. - Bu qiymat joriy cheklov darajasida ruxsat etilmagan belgilarni o'z ichiga oladi. - - - Using invisible characters is not allowed. - Ko'rinmas belgilardan foydalanish taqiqlangan. - - - Mixing numbers from different scripts is not allowed. - Turli skriptlardagi raqamlarni aralashtirish taqiqlangan. - - - Using hidden overlay characters is not allowed. - Yashirin qoplamali belgilardan foydalanish taqiqlangan. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Fayl kengaytmasi yaroqsiz ({{ extension }}). Ruxsat berilgan kengaytmalar {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Aniqlangan belgi kodlamasi yaroqsiz ({{ detected }}). Ruxsat etilgan kodlamalar {{ encodings }}. - - - This value is not a valid MAC address. - Bu qiymat haqiqiy MAC manzil emas. - - - This URL is missing a top-level domain. - Bu URL yuqori darajali domenni o'z ichiga olmaydi. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Bu qiymat juda qisqa. U kamida bitta so'z bo'lishi kerak.|Bu qiymat juda qisqa. U kamida {{ min }} so'z bo'lishi kerak. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Bu qiymat juda uzun. U faqat bitta so'z bo'lishi kerak.|Bu qiymat juda uzun. U {{ max }} so'z yoki undan kam bo'lishi kerak. - - - This value does not represent a valid week in the ISO 8601 format. - Bu qiymat ISO 8601 formatida haqiqiy haftaga mos kelmaydi. - - - This value is not a valid week. - Bu qiymat haqiqiy hafta emas. - - - This value should not be before week "{{ min }}". - Bu qiymat "{{ min }}" haftadan oldin bo'lmasligi kerak. - - - This value should not be after week "{{ max }}". - Bu qiymat "{{ max }}" haftadan keyin bo'lmasligi kerak. - - - This value is not a valid Twig template. - Bu qiymat yaroqli Twig shabloni emas. - - - This file is not a valid video. - Ushbu fayl yaroqli video emas. - - - The size of the video could not be detected. - Videoning hajmini aniqlab bo‘lmadi. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video kengligi juda katta ({{ width }}px). Ruxsat etilgan maksimal kenglik {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video kengligi juda kichik ({{ width }}px). Kutilayotgan minimal kenglik {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video balandligi juda katta ({{ height }}px). Ruxsat etilgan maksimal balandlik {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Video balandligi juda kichik ({{ height }}px). Kutilayotgan minimal balandlik {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoda piksellar soni juda kam ({{ pixels }}). Kutilgan minimal miqdor {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoda juda ko‘p piksellar bor ({{ pixels }}). Kutilayotgan maksimal miqdor {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video nisbati juda katta ({{ ratio }}). Ruxsat etilgan maksimal nisbat {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Video nisbati juda kichik ({{ ratio }}). Kutilayotgan minimal nisbat {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video kvadrat ({{ width }}x{{ height }}px). Kvadrat videolarga ruxsat berilmaydi. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video gorizontal yo‘nalishda ({{ width }}x{{ height }} px). Gorizontal videolarga ruxsat berilmaydi. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video portret yoʻnalishda ({{ width }}x{{ height }}px). Portret yoʻnalishidagi videolarga ruxsat berilmaydi. - - - The video file is corrupted. - Video fayli buzilgan. - - - The video contains multiple streams. Only one stream is allowed. - Videoda bir nechta oqim mavjud. Faqat bitta oqimga ruxsat beriladi. - - - Unsupported video codec "{{ codec }}". - Qo‘llab-quvvatlanmaydigan video kodek "{{ codec }}". - - - Unsupported video container "{{ container }}". - Qo'llab-quvvatlanmaydigan video konteyner "{{ container }}". - - - The image file is corrupted. - Rasm fayli buzilgan. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Tasvirda piksellar juda kam ({{ pixels }}). Kutilayotgan minimal miqdor {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Tasvirda juda ko‘p piksel bor ({{ pixels }}). Kutilayotgan maksimal miqdor {{ max_pixels }}. - - - This filename does not match the expected charset. - Bu fayl nomi kutilgan belgi to‘plamiga mos kelmaydi. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.vi.xlf b/app/vendor/symfony/validator/Resources/translations/validators.vi.xlf deleted file mode 100644 index a7ac211a7..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.vi.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - Giá trị này phải là sai. - - - This value should be true. - Giá trị này phải là đúng. - - - This value should be of type {{ type }}. - Giá trị này phải là kiểu {{ type }}. - - - This value should be blank. - Giá trị này phải rỗng. - - - The value you selected is not a valid choice. - Giá trị bạn vừa chọn không hợp lệ. - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Bạn phải chọn ít nhất {{ limit }} lựa chọn.|Bạn phải chọn ít nhất {{ limit }} lựa chọn. - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Bạn phải chọn nhiều nhất {{ limit }} lựa chọn.|Bạn phải chọn nhiều nhất {{ limit }} lựa chọn. - - - One or more of the given values is invalid. - Một hoặc nhiều giá trị được chọn không hợp lệ. - - - This field was not expected. - Lĩnh vực này không được dự kiến. - - - This field is missing. - Lĩnh vực này bị thiếu. - - - This value is not a valid date. - Giá trị không phải là ngày hợp lệ. - - - This value is not a valid datetime. - Giá trị không phải là ngày tháng hợp lệ. - - - This value is not a valid email address. - Giá trị này không phải là email hợp lệ. - - - The file could not be found. - Tập tin không tìm thấy. - - - The file is not readable. - Tập tin không thể đọc được. - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Tập tin quá lớn ({{ size }} {{ suffix }}). Kích thước tối đa cho phép {{ limit }} {{ suffix }}. - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Kiểu mime của tập tin không hợp lệ ({{ type }}). Kiểu hợp lệ là {{ types }}. - - - This value should be {{ limit }} or less. - Giá trị phải bằng hoặc nhỏ hơn {{ limit }}. - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Giá trị quá dài. Phải bằng hoặc ít hơn {{ limit }} kí tự.|Giá trị quá dài. Phải bằng hoặc ít hơn {{ limit }} kí tự. - - - This value should be {{ limit }} or more. - Giá trị phải lớn hơn hoặc bằng {{ limit }}. - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Giá trị quá ngắn. Phải hơn hoặc bằng {{ limit }} kí tự.|Giá trị quá ngắn. Phải hơn hoặc bằng {{ limit }} kí tự. - - - This value should not be blank. - Giá trị không được phép để trống. - - - This value should not be null. - Giá trị không được phép rỗng. - - - This value should be null. - Giá trị phải rỗng. - - - This value is not valid. - Giá trị không hợp lệ. - - - This value is not a valid time. - Giá trị không phải là thời gian hợp lệ. - - - This value is not a valid URL. - Giá trị không phải là địa chỉ URL hợp lệ. - - - The two values should be equal. - Hai giá trị phải bằng nhau. - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Tập tin quá lớn. Kích thước tối đa cho phép là {{ limit }} {{ suffix }}. - - - The file is too large. - Tập tin quá lớn. - - - The file could not be uploaded. - Tập tin không thể tải lên. - - - This value should be a valid number. - Giá trị phải là con số. - - - This file is not a valid image. - Tập tin không phải là hình ảnh hợp lệ. - - - This value is not a valid IP address. - Giá trị này không phải là địa chỉ IP hợp lệ. - - - This value is not a valid language. - Giá trị không phải là ngôn ngữ hợp lệ. - - - This value is not a valid locale. - Giá trị không phải là một bản địa địa phương hợp lệ. - - - This value is not a valid country. - Giá trị không phải là quốc gia hợp lệ. - - - This value is already used. - Giá trị đã được sử dụng. - - - The size of the image could not be detected. - Kích thước của hình ảnh không thể xác định. - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Chiều rộng của hình quá lớn ({{ width }}px). Chiều rộng tối đa phải là {{ max_width }}px. - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Chiều rộng của hình quá thấp ({{ width }}px). Chiều rộng tối thiểu phải là {{ min_width }}px. - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Chiều cao của hình quá cao ({{ height }}px). Chiều cao tối đa phải là {{ max_height }}px. - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Chiều cao của hình quá thấp ({{ height }}px). Chiều cao tối thiểu phải là {{ min_height }}px. - - - This value should be the user's current password. - Giá trị này phải là mật khẩu hiện tại của người dùng. - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Giá trị này phải có chính xác {{ limit }} kí tự.|Giá trị này phải có chính xác {{ limit }} kí tự. - - - The file was only partially uploaded. - Tập tin chỉ được tải lên một phần. - - - No file was uploaded. - Tập tin không được tải lên. - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - Không có thư mục tạm được cấu hình trong php.ini, hoặc thư mục đã cấu hình không tồn tại. - - - Cannot write temporary file to disk. - Không thể ghi tập tin tạm ra đĩa. - - - A PHP extension caused the upload to fail. - Một PHP extension đã phá hỏng quá trình tải lên của tập tin. - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Danh sách phải chứa {{ limit }} thành phần hoặc nhiều hơn.|Danh sách phải chứa {{ limit }} thành phần hoặc nhiều hơn. - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Danh sách phải chứa {{ limit }} thành phần hoặc ít hơn.|Danh sách phải chứa {{ limit }} thành phần hoặc ít hơn. - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Danh sách phải chứa chính xác {{ limit }} thành phần.|Danh sách phải chứa chính xác {{ limit }} thành phần. - - - Invalid card number. - Số thẻ không hợp lệ. - - - Unsupported card type or invalid card number. - Thẻ không được hỗ trợ hoặc số thẻ không hợp lệ. - - - This value is not a valid International Bank Account Number (IBAN). - Giá trị này không phải là Số Tài Khoản Ngân Hàng Quốc Tế (IBAN) hợp lệ. - - - This value is not a valid ISBN-10. - Giá trị không phải là ISBN-10 hợp lệ. - - - This value is not a valid ISBN-13. - Giá trị không phải là ISBN-13 hợp lệ. - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - Giá trị không phải là ISBN-10 hoặc ISBN-13 hợp lệ. - - - This value is not a valid ISSN. - Giá trị không phải là ISSN hợp lệ. - - - This value is not a valid currency. - Giá trị không phải là đơn vị tiền tệ hợp lệ. - - - This value should be equal to {{ compared_value }}. - Giá trị phải bằng {{ compared_value }}. - - - This value should be greater than {{ compared_value }}. - Giá trị phải lớn hơn {{ compared_value }}. - - - This value should be greater than or equal to {{ compared_value }}. - Giá trị phải lớn hơn hoặc bằng {{ compared_value }}. - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Giá trị phải giống {{ compared_value_type }} {{ compared_value }}. - - - This value should be less than {{ compared_value }}. - Giá trị phải bé hơn {{ compared_value }}. - - - This value should be less than or equal to {{ compared_value }}. - Giá trị phải nhỏ hơn hoặc bằng {{ compared_value }}. - - - This value should not be equal to {{ compared_value }}. - Giá trị không được phép bằng {{ compared_value }}. - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Giá trị không được phép giống như {{ compared_value_type }} {{ compared_value }}. - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Tỷ lệ bức ảnh quá lớn ({{ ratio }}). Tỷ lệ tối đa cho phép là {{ max_ratio }}. - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Tỷ lệ bức ảnh quá nhỏ ({{ ratio }}). Tỷ lệ tối thiểu mong muốn là {{ min_ratio }}. - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Bức ảnh là hình vuông ({{ width }}x{{ height }}px). Ảnh hình vuông không được phép. - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Bức ảnh theo chiều ngang ({{ width }}x{{ height }}px). Ảnh chiều ngang không được phép. - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Bức ảnh theo chiều dọc ({{ width }}x{{ height }}px). Ảnh chiều dọc không được phép. - - - An empty file is not allowed. - Một file rỗng không được phép. - - - The host could not be resolved. - Máy chủ không thể được tìm thấy. - - - This value does not match the expected {{ charset }} charset. - Giá trị này không đúng định dạng bộ ký tự mong muốn {{ charset }}. - - - This value is not a valid Business Identifier Code (BIC). - Giá trị này không phải là Mã Định Danh Doanh Nghiệp (BIC) hợp lệ. - - - Error - Lỗi - - - This value is not a valid UUID. - Giá trị này không phải là UUID hợp lệ. - - - This value should be a multiple of {{ compared_value }}. - Giá trị này nên là bội số của {{ compared_value }}. - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Mã định danh doanh nghiệp (BIC) này không liên kết với IBAN {{ iban }}. - - - This value should be valid JSON. - Giá trị này nên đúng định dạng JSON. - - - This collection should contain only unique elements. - Danh sách này chỉ nên chứa các phần tử khác nhau. - - - This value should be positive. - Giá trị này có thể thực hiện được. - - - This value should be either positive or zero. - Giá trị này có thể thực hiện được hoặc bằng không. - - - This value should be negative. - Giá trị này nên bị từ chối. - - - This value should be either negative or zero. - Giá trị này nên bị từ chối hoặc bằng không. - - - This value is not a valid timezone. - Giá trị này không phải là múi giờ hợp lệ. - - - This password has been leaked in a data breach, it must not be used. Please use another password. - Mật khẩu này đã bị rò rỉ dữ liệu, không được sử dụng nữa. Xin vui lòng sử dụng mật khẩu khác. - - - This value should be between {{ min }} and {{ max }}. - Giá trị này nên thuộc giữa {{ min }} và {{ max }}. - - - This value is not a valid hostname. - Giá trị này không phải là tên máy chủ hợp lệ. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Số lượng các phần tử trong bộ sưu tập này nên là bội số của {{ compared_value }}. - - - This value should satisfy at least one of the following constraints: - Giá trị này nên thỏa mãn ít nhất một trong những ràng buộc sau: - - - Each element of this collection should satisfy its own set of constraints. - Mỗi phần tử trong bộ sưu tập này nên thỏa mãn những ràng buộc của nó. - - - This value is not a valid International Securities Identification Number (ISIN). - Giá trị này không phải là mã số chứng khoán quốc tế (ISIN) hợp lệ. - - - This value should be a valid expression. - Giá trị này phải là một biểu thức hợp lệ. - - - This value is not a valid CSS color. - Giá trị này không phải là màu CSS hợp lệ. - - - This value is not a valid CIDR notation. - Giá trị này không phải là ký hiệu CIDR hợp lệ. - - - The value of the netmask should be between {{ min }} and {{ max }}. - Giá trị của mặt nạ mạng phải nằm trong khoảng từ {{ min }} đến {{ max }}. - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - Tên tệp quá dài. Phải bằng {{ filename_max_length }} ký tự hoặc ít hơn.|Tên tệp quá dài. Phải bằng {{ filename_max_length }} ký tự hoặc ít hơn. - - - The password strength is too low. Please use a stronger password. - Sức mạnh mật khẩu quá thấp. Vui lòng sử dụng mật khẩu mạnh hơn. - - - This value contains characters that are not allowed by the current restriction-level. - Giá trị này chứa các ký tự không được phép bởi mức độ hạn chế hiện tại. - - - Using invisible characters is not allowed. - Sử dụng ký tự vô hình không được phép. - - - Mixing numbers from different scripts is not allowed. - Không được phép trộn các số từ các tập lệnh khác nhau. - - - Using hidden overlay characters is not allowed. - Sử dụng các ký tự lớp phủ ẩn không được phép. - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - Phần mở rộng của tệp không hợp lệ ({{ extension }}). Phần mở rộng cho phép là {{ extensions }}. - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Mã hóa ký tự được phát hiện là không hợp lệ ({{ detected }}). Các mã hóa được phép là {{ encodings }}. - - - This value is not a valid MAC address. - Giá trị này không phải là địa chỉ MAC hợp lệ. - - - This URL is missing a top-level domain. - URL này thiếu miền cấp cao. - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - Giá trị này quá ngắn. Nó phải chứa ít nhất một từ.|Giá trị này quá ngắn. Nó phải chứa ít nhất {{ min }} từ. - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Giá trị này quá dài. Nó chỉ nên chứa một từ.|Giá trị này quá dài. Nó chỉ nên chứa {{ max }} từ hoặc ít hơn. - - - This value does not represent a valid week in the ISO 8601 format. - Giá trị này không đại diện cho một tuần hợp lệ theo định dạng ISO 8601. - - - This value is not a valid week. - Giá trị này không phải là một tuần hợp lệ. - - - This value should not be before week "{{ min }}". - Giá trị này không nên trước tuần "{{ min }}". - - - This value should not be after week "{{ max }}". - Giá trị này không nên sau tuần "{{ max }}". - - - This value is not a valid Twig template. - Giá trị này không phải là một mẫu Twig hợp lệ. - - - This file is not a valid video. - Tệp này không phải là video hợp lệ. - - - The size of the video could not be detected. - Không thể phát hiện kích thước của video. - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Chiều rộng video quá lớn ({{ width }}px). Chiều rộng tối đa cho phép là {{ max_width }}px. - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Chiều rộng video quá nhỏ ({{ width }}px). Chiều rộng tối thiểu mong đợi là {{ min_width }}px. - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Chiều cao video quá lớn ({{ height }}px). Chiều cao tối đa cho phép là {{ max_height }}px. - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Chiều cao video quá nhỏ ({{ height }}px). Chiều cao tối thiểu dự kiến là {{ min_height }}px. - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video có quá ít điểm ảnh ({{ pixels }}). Lượng tối thiểu mong đợi là {{ min_pixels }}. - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video có quá nhiều điểm ảnh ({{ pixels }}). Số lượng tối đa dự kiến là {{ max_pixels }}. - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Tỉ lệ video quá lớn ({{ ratio }}). Tỉ lệ tối đa được phép là {{ max_ratio }}. - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Tỉ lệ video quá nhỏ ({{ ratio }}). Tỉ lệ tối thiểu dự kiến là {{ min_ratio }}. - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video có dạng hình vuông ({{ width }}x{{ height }}px). Không cho phép video hình vuông. - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video có hướng ngang ({{ width }}x{{ height }} px). Không cho phép video ngang. - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video có hướng dọc ({{ width }}x{{ height }}px). Không cho phép video hướng dọc. - - - The video file is corrupted. - Tệp video bị hỏng. - - - The video contains multiple streams. Only one stream is allowed. - Video chứa nhiều luồng. Chỉ cho phép một luồng. - - - Unsupported video codec "{{ codec }}". - Bộ mã hóa video không được hỗ trợ "{{ codec }}". - - - Unsupported video container "{{ container }}". - Bộ chứa video không được hỗ trợ "{{ container }}". - - - The image file is corrupted. - Tệp hình ảnh bị hỏng. - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Hình ảnh có quá ít điểm ảnh ({{ pixels }}). Số lượng tối thiểu dự kiến là {{ min_pixels }}. - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Hình ảnh có quá nhiều điểm ảnh ({{ pixels }}). Lượng tối đa dự kiến là {{ max_pixels }}. - - - This filename does not match the expected charset. - Tên tệp này không khớp với bộ ký tự mong đợi. - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf b/app/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf deleted file mode 100644 index 8db05f9b9..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - 该值应为 false 。 - - - This value should be true. - 该值应为 true 。 - - - This value should be of type {{ type }}. - 该值的类型应为 {{ type }} 。 - - - This value should be blank. - 该值应为空。 - - - The value you selected is not a valid choice. - 该值不是有效的选项。 - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - 您至少要选择 {{ limit }} 个选项。 - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - 您最多能选择 {{ limit }} 个选项。 - - - One or more of the given values is invalid. - 一个或者多个给定的值无效。 - - - This field was not expected. - 该字段是多余的。 - - - This field is missing. - 该字段缺失。 - - - This value is not a valid date. - 该值不是一个有效的日期(date)。 - - - This value is not a valid datetime. - 该值不是一个有效的日期时间(datetime)。 - - - This value is not a valid email address. - 该值不是一个有效的邮件地址。 - - - The file could not be found. - 文件未找到。 - - - The file is not readable. - 文件不可读。 - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - 文件太大 ({{ size }} {{ suffix }}),文件大小不应超过 {{ limit }} {{ suffix }} 。 - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - 无效的文件类型 ({{ type }}) ,允许的文件类型有 {{ types }} 。 - - - This value should be {{ limit }} or less. - 该值应小于或等于 {{ limit }} 。 - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - 该值太长,长度不应超过 {{ limit }} 个字符。 - - - This value should be {{ limit }} or more. - 该值应大于或等于 {{ limit }} 。 - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - 该值太短,长度不应少于 {{ limit }} 个字符。 - - - This value should not be blank. - 该值不应为空。 - - - This value should not be null. - 该值不应为 null 。 - - - This value should be null. - 该值应为 null 。 - - - This value is not valid. - 该值无效。 - - - This value is not a valid time. - 该值不是一个有效的时间。 - - - This value is not a valid URL. - 该值不是一个有效的 URL 。 - - - The two values should be equal. - 该两个变量值应相等。 - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - 文件太大,文件大小不可以超过 {{ limit }} {{ suffix }} 。 - - - The file is too large. - 文件太大。 - - - The file could not be uploaded. - 无法上传此文件。 - - - This value should be a valid number. - 该值应为有效的数字。 - - - This file is not a valid image. - 该文件不是有效的图片。 - - - This value is not a valid IP address. - 该值不是有效的 IP 地址。 - - - This value is not a valid language. - 该值不是有效的语言名称(language)。 - - - This value is not a valid locale. - 该值不是有效的区域名称(locale)。 - - - This value is not a valid country. - 该值不是有效的国家名称(country)。 - - - This value is already used. - 该值已经被使用。 - - - The size of the image could not be detected. - 不能解析图片大小。 - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - 图片太宽 ({{ width }}px),最大宽度为 {{ max_width }}px 。 - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - 图片宽度不够 ({{ width }}px),最小宽度为 {{ min_width }}px 。 - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - 图片太高 ({{ height }}px),最大高度为 {{ max_height }}px 。 - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - 图片高度不够 ({{ height }}px),最小高度为 {{ min_height }}px 。 - - - This value should be the user's current password. - 该值应为用户当前的密码。 - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - 该值应为 {{ limit }} 个字符。 - - - The file was only partially uploaded. - 文件的上传不完整。 - - - No file was uploaded. - 没有上传任何文件。 - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini 中未配置临时文件夹,或配置的文件夹不存在。 - - - Cannot write temporary file to disk. - 临时文件写入磁盘失败。 - - - A PHP extension caused the upload to fail. - 某个 PHP 扩展造成上传失败。 - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - 该集合不应少于 {{ limit }} 个元素。 - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - 该集合不应超过 {{ limit }} 个元素。 - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - 该集合应为 {{ limit }} 个元素。 - - - Invalid card number. - 无效的信用卡号。 - - - Unsupported card type or invalid card number. - 不支持的信用卡类型或无效的信用卡号。 - - - This value is not a valid International Bank Account Number (IBAN). - 该值不是有效的国际银行账号(IBAN)。 - - - This value is not a valid ISBN-10. - 该值不是有效的 10 位国际标准书号(ISBN-10)。 - - - This value is not a valid ISBN-13. - 该值不是有效的 13 位国际标准书号(ISBN-13)。 - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - 该值不是有效的国际标准书号(ISBN-10 或 ISBN-13)。 - - - This value is not a valid ISSN. - 该值不是有效的国际标准期刊号(ISSN)。 - - - This value is not a valid currency. - 该值不是有效的货币名称(currency)。 - - - This value should be equal to {{ compared_value }}. - 该值应等于 {{ compared_value }} 。 - - - This value should be greater than {{ compared_value }}. - 该值应大于 {{ compared_value }} 。 - - - This value should be greater than or equal to {{ compared_value }}. - 该值应大于或等于 {{ compared_value }} 。 - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - 该值应与 {{ compared_value_type }} {{ compared_value }} 相同。 - - - This value should be less than {{ compared_value }}. - 该值应小于 {{ compared_value }} 。 - - - This value should be less than or equal to {{ compared_value }}. - 该值应小于或等于 {{ compared_value }} 。 - - - This value should not be equal to {{ compared_value }}. - 该值不应等于 {{ compared_value }} 。 - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - 该值不应与 {{ compared_value_type }} {{ compared_value }} 相同。 - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - 图片宽高比太大 ({{ ratio }})。允许的最大宽高比为 {{ max_ratio }} 。 - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - 图片宽高比太小 ({{ ratio }})。允许的最大宽高比为 {{ min_ratio }} 。 - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - 图片是方形的 ({{ width }}x{{ height }}px)。不允许使用方形的图片。 - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - 图片是横向的 ({{ width }}x{{ height }}px)。不允许使用横向的图片。 - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - 图片是纵向的 ({{ width }}x{{ height }}px)。不允许使用纵向的图片。 - - - An empty file is not allowed. - 不允许使用空文件。 - - - The host could not be resolved. - 主机名无法解析。 - - - This value does not match the expected {{ charset }} charset. - 该值不符合 {{ charset }} 编码。 - - - This value is not a valid Business Identifier Code (BIC). - 该值不是有效的银行识别代码(BIC)。 - - - Error - 错误 - - - This value is not a valid UUID. - 该值不是有效的 UUID 。 - - - This value should be a multiple of {{ compared_value }}. - 该值应为 {{ compared_value }} 的倍数。 - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - 该业务标识符代码(BIC)与 IBAN {{ iban }} 无关。 - - - This value should be valid JSON. - 该值应为有效的 JSON 。 - - - This collection should contain only unique elements. - 该集合不能包含重复项。 - - - This value should be positive. - 该值应为正数。 - - - This value should be either positive or zero. - 该值应为正数或零。 - - - This value should be negative. - 该值应为负数。 - - - This value should be either negative or zero. - 该值应为负数或零。 - - - This value is not a valid timezone. - 该值不是有效的时区。 - - - This password has been leaked in a data breach, it must not be used. Please use another password. - 此密码已被泄露,切勿使用。请更换密码。 - - - This value should be between {{ min }} and {{ max }}. - 该值应在 {{ min }} 和 {{ max }} 之间。 - - - This value is not a valid hostname. - 该值不是有效的主机名称。 - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - 该集合的元素数量应为 {{ compared_value }} 的倍数。 - - - This value should satisfy at least one of the following constraints: - 该值应符合以下其中一个约束: - - - Each element of this collection should satisfy its own set of constraints. - 该集合的每个元素应符合元素本身规定的约束。 - - - This value is not a valid International Securities Identification Number (ISIN). - 该值不是有效的国际证券识别码(ISIN)。 - - - This value should be a valid expression. - 该值应为一个有效的表达式。 - - - This value is not a valid CSS color. - 该值不是有效的 CSS 颜色。 - - - This value is not a valid CIDR notation. - 该值不是一个有效的 CIDR 表示。 - - - The value of the netmask should be between {{ min }} and {{ max }}. - 网络掩码的值应当在 {{ min }} 和 {{ max }} 之间。 - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - 文件名过长,最长不应超过{{ filename_max_length }} 个字符。 - - - The password strength is too low. Please use a stronger password. - 密码强度太低。请使用更复杂的密码。 - - - This value contains characters that are not allowed by the current restriction-level. - 该值包含了当前限制级别不允许的字符。 - - - Using invisible characters is not allowed. - 不允许使用隐藏字符。 - - - Mixing numbers from different scripts is not allowed. - 不可混合使用不同语系的数字。 - - - Using hidden overlay characters is not allowed. - 不允许使用隐藏的覆盖字符。 - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - 文件的扩展名无效 ({{ extension }})。允许的扩展名为 {{ extensions }} 。 - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - 检测到的字符编码无效 ({{ detected }})。允许的编码为 {{ encodings }} 。 - - - This value is not a valid MAC address. - 该值不是有效的 MAC 地址。 - - - This URL is missing a top-level domain. - 该 URL 缺少顶级域名。 - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - 该值太短,应至少包含一个词。|该值太短,应至少包含 {{ min }} 个词。 - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - 该值太长,应只包含一个词。|该值太长,应只包含 {{ max }} 个或更少个词。 - - - This value does not represent a valid week in the ISO 8601 format. - 该值不代表 ISO 8601 格式中的有效周。 - - - This value is not a valid week. - 该值不是一个有效周。 - - - This value should not be before week "{{ min }}". - 该值不应位于 "{{ min }}" 周之前。 - - - This value should not be after week "{{ max }}". - 该值不应位于 "{{ max }}"周之后。 - - - This value is not a valid Twig template. - 该值不是有效的 Twig 模板。 - - - This file is not a valid video. - 此文件不是有效的视频。 - - - The size of the video could not be detected. - 无法检测到视频的大小。 - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - 视频宽度过大({{ width }}px)。允许的最大宽度为 {{ max_width }}px。 - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - 视频宽度太小({{ width }}px)。预期的最小宽度为 {{ min_width }} 像素。 - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - 视频高度过大({{ height }}px)。允许的最大高度为 {{ max_height }}px。 - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - 视频高度太小({{ height }}px)。期望的最小高度为 {{ min_height }}px。 - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - 该视频像素过少 ({{ pixels }}). 期望的最小值为 {{ min_pixels }}。 - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - 该视频的像素过多({{ pixels }})。预期的最大数量为 {{ max_pixels }}。 - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - 视频纵横比过大({{ ratio }})。允许的最大纵横比为 {{ max_ratio }}。 - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - 视频纵横比过小({{ ratio }})。预期的最低比例为 {{ min_ratio }}。 - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - 视频为正方形 ({{ width }}x{{ height }}px)。不允许正方形视频。 - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - 视频为横向({{ width }}x{{ height }} 像素)。不允许横向视频。 - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - 该视频为竖屏方向({{ width }}x{{ height }}px)。不允许竖屏视频。 - - - The video file is corrupted. - 视频文件已损坏。 - - - The video contains multiple streams. Only one stream is allowed. - 该视频包含多个流。只允许一个流。 - - - Unsupported video codec "{{ codec }}". - 不支持的视频编解码器“{{ codec }}”。 - - - Unsupported video container "{{ container }}". - 不支持的视频容器 "{{ container }}". - - - The image file is corrupted. - 图像文件已损坏。 - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - 图像的像素太少({{ pixels }})。预期的最小数量为 {{ min_pixels }}。 - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - 图像的像素过多 ({{ pixels }}). 预期的最大数量为 {{ max_pixels }}. - - - This filename does not match the expected charset. - 该文件名与预期的字符集不匹配。 - - - - diff --git a/app/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf b/app/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf deleted file mode 100644 index 63103187c..000000000 --- a/app/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - This value should be false. - 這個數值應為 false。 - - - This value should be true. - 這個數值應為 true。 - - - This value should be of type {{ type }}. - 這個數值的類型應為 {{ type }}。 - - - This value should be blank. - 這個數值應該留白。 - - - The value you selected is not a valid choice. - 選取的值不是有效的選項。 - - - You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - 至少需要選 {{ limit }} 項。|至少需要選 {{ limit }} 項。 - - - You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - 至多只能選 {{ limit }} 項。|至多只能選 {{ limit }} 項。 - - - One or more of the given values is invalid. - 一或多個填入的數值無效。 - - - This field was not expected. - 這個欄位不在預期之內。 - - - This field is missing. - 缺少這個欄位。 - - - This value is not a valid date. - 這個數值不是有效的日期。 - - - This value is not a valid datetime. - 這個數值不是有效的日期時間組合。 - - - This value is not a valid email address. - 這個數值不是有效的電子郵件格式。 - - - The file could not be found. - 找不到這個檔案。 - - - The file is not readable. - 無法讀取這個檔案。 - - - The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - 這個檔案過大({{ size }} {{ suffix }})。允許的大小上限是 {{ limit }} {{ suffix }}。 - - - The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - 這個檔案的 MIME 類型無效({{ type }})。允許的 MIME 類型有 {{ types }}。 - - - This value should be {{ limit }} or less. - 這個數值必須小於等於 {{ limit }}。 - - - This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - 這個數值過長。最多只能有 {{ limit }} 個字元。|這個數值過長。最多只能有 {{ limit }} 個字元。 - - - This value should be {{ limit }} or more. - 這個數值必須大於等於 {{ limit }}。 - - - This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - 這個數值過短。最少要有 {{ limit }} 個字元。|這個數值過短。最少要有 {{ limit }} 個字元。 - - - This value should not be blank. - 這個數值不允許留白。 - - - This value should not be null. - 這個數值不能為空值(null)。 - - - This value should be null. - 這個數值應為空值(null)。 - - - This value is not valid. - 這個數值無效。 - - - This value is not a valid time. - 這個數值不是有效的時間。 - - - This value is not a valid URL. - 這個數值不是 URL 格式。 - - - The two values should be equal. - 這兩個數值應該相同。 - - - The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - 這個檔案過大。允許的大小上限為 {{ limit }} {{ suffix }}。 - - - The file is too large. - 這個檔案過大。 - - - The file could not be uploaded. - 無法上傳檔案。 - - - This value should be a valid number. - 這個數值不是有效的數字。 - - - This file is not a valid image. - 這個檔案不是有效的圖片。 - - - This value is not a valid IP address. - 這個數值不是有效的 IP 地址。 - - - This value is not a valid language. - 這個數值不是有效的語言。 - - - This value is not a valid locale. - 這個數值不是有效的地區。 - - - This value is not a valid country. - 這個數值不是有效的國家。 - - - This value is already used. - 已經用過這個數值。 - - - The size of the image could not be detected. - 無法偵測到圖片的大小。 - - - The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - 圖片寬度過大 ({{ width }}px)。允許的最大寬度為 {{ max_width }}px。 - - - The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - 圖片寬度過小 ({{ width }}px)。允許的最小寬度為 {{ max_width }}px。 - - - The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - 圖片高度過大 ({{ height }}px)。允許的最大長度為 {{ max_height }}px。 - - - The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - 圖片高度過小 ({{ height }}px)。允許的最小高度為 {{ max_height }}px。 - - - This value should be the user's current password. - 這個數值應為使用者目前使用的密碼。 - - - This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - 這個數值應剛好為 {{ limit }} 個字元長。|這個數值應剛好為 {{ limit }} 個字元長。 - - - The file was only partially uploaded. - 檔案只上傳了一部分。 - - - No file was uploaded. - 未上傳檔案。 - - - No temporary folder was configured in php.ini, or the configured folder does not exist. - 未在 php.ini 設定暫存資料夾,或者是暫存資料夾不存在。 - - - Cannot write temporary file to disk. - 無法將暫存檔寫入磁碟。 - - - A PHP extension caused the upload to fail. - 有個 PHP 擴充套件導致上傳失敗。 - - - This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - 這個集合應該至少有 {{ limit }} 個元素。|這個集合應該至少有 {{ limit }} 個元素。 - - - This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - 這個集合最多只能有 {{ limit }} 個元素。|這個集合最多只能有 {{ limit }} 個元素。 - - - This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - 這個集合只能有剛好 {{ limit }} 個元素。|這個集合只能有剛好 {{ limit }} 個元素。 - - - Invalid card number. - 卡號無效。 - - - Unsupported card type or invalid card number. - 不支援這個卡片類型,或卡號不正確。 - - - This value is not a valid International Bank Account Number (IBAN). - 這個數值的格式不是國際銀行帳戶號碼(IBAN)。 - - - This value is not a valid ISBN-10. - 這個數值的格式不是 ISBN-10。 - - - This value is not a valid ISBN-13. - 這個數值的格式不是 ISBN-13。 - - - This value is neither a valid ISBN-10 nor a valid ISBN-13. - 這個數值的格式不是 ISBN-10 或 ISBN-13。 - - - This value is not a valid ISSN. - 這個數值的格式不是 ISSN。 - - - This value is not a valid currency. - 這個數值不是有效的貨幣。 - - - This value should be equal to {{ compared_value }}. - 這個數值應等於 {{ compared_value }}。 - - - This value should be greater than {{ compared_value }}. - 這個數值應大於 {{ compared_value }}。 - - - This value should be greater than or equal to {{ compared_value }}. - 這個數值應大於等於 {{ compared_value }}。 - - - This value should be identical to {{ compared_value_type }} {{ compared_value }}. - 這個數值應等於 {{ compared_value_type }} {{ compared_value }}。 - - - This value should be less than {{ compared_value }}. - 這個數值應小於 {{ compared_value }}。 - - - This value should be less than or equal to {{ compared_value }}. - 這個數值應小於等於 {{ compared_value }}。 - - - This value should not be equal to {{ compared_value }}. - 這個數值不應等於 {{ compared_value }}。 - - - This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - 這個數值不應等於 {{ compared_value_type }} {{ compared_value }}。 - - - The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - 圖片的比例過大 ({{ ratio }})。允許的最大比例為 {{ max_ratio }}。 - - - The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - 圖片的比例過小 ({{ ratio }})。允許的最小比例為 {{ min_ratio }}。 - - - The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - 圖片為正方形 ({{ width }}x{{ height }}px)。不允許使用正方形圖片。 - - - The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - 圖片為橫向 ({{ width }}x{{ height }}px)。不允許使用橫向圖片。 - - - The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - 圖片為縱向 ({{ width }}x{{ height }}px)。不允許使用縱向圖片。 - - - An empty file is not allowed. - 不允許空白檔案。 - - - The host could not be resolved. - 無法解析主機。 - - - This value does not match the expected {{ charset }} charset. - 這個數值不符合預期的 {{ charset }} 字元集。 - - - This value is not a valid Business Identifier Code (BIC). - 這個數值不是有效的商業識別碼(BIC)。 - - - Error - 錯誤 - - - This value is not a valid UUID. - 這個數值不是有效的 UUID。 - - - This value should be a multiple of {{ compared_value }}. - 這個數值應為 {{ compared_value }} 的倍數。 - - - This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - 這個商業識別碼(BIC)與 IBAN {{ iban }} 沒有關聯。 - - - This value should be valid JSON. - 這個數值應為有效的 JSON。 - - - This collection should contain only unique elements. - 這個集合不允許有重複元素。 - - - This value should be positive. - 這個數值應為正數。 - - - This value should be either positive or zero. - 這個數值應為正數或 0。 - - - This value should be negative. - 這個數值應為負數。 - - - This value should be either negative or zero. - 這個數值應為負數或 0。 - - - This value is not a valid timezone. - 這個數值不是有效的時區。 - - - This password has been leaked in a data breach, it must not be used. Please use another password. - 這個密碼已在資料洩露中曝光,不應再使用。請使用其他密碼。 - - - This value should be between {{ min }} and {{ max }}. - 這個數值應介於 {{ min }} 和 {{ max }} 之間。 - - - This value is not a valid hostname. - 這個數值不是有效的主機名稱。 - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - 這個集合中的元素數量應為 {{ compared_value }} 的倍數。 - - - This value should satisfy at least one of the following constraints: - 這個數值應滿足以下至少一項限制: - - - Each element of this collection should satisfy its own set of constraints. - 這個集合中的每個元素應滿足其自身的約束條件。 - - - This value is not a valid International Securities Identification Number (ISIN). - 這個數值不是有效的國際證券識別號碼(ISIN)。 - - - This value should be a valid expression. - 這個數值應為有效的表達式。 - - - This value is not a valid CSS color. - 這個數值不是有效的 CSS 顏色。 - - - This value is not a valid CIDR notation. - 這個數值不是有效的 CIDR 表示法。 - - - The value of the netmask should be between {{ min }} and {{ max }}. - 網路遮罩的值應介於 {{ min }} 和 {{ max }} 之間。 - - - The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. - 檔案名稱過長。應最多有 {{ filename_max_length }} 個字元。|檔案名稱過長。應最多有 {{ filename_max_length }} 個字元。 - - - The password strength is too low. Please use a stronger password. - 密碼強度太低。請使用更強的密碼。 - - - This value contains characters that are not allowed by the current restriction-level. - 這個數值包含目前限制級別不允許的字元。 - - - Using invisible characters is not allowed. - 不允許使用隱形字元。 - - - Mixing numbers from different scripts is not allowed. - 不允許混合來自不同文字的數字。 - - - Using hidden overlay characters is not allowed. - 不允許使用隱藏的覆蓋字元。 - - - The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. - 檔案的副檔名無效({{ extension }})。允許的副檔名有 {{ extensions }}。 - - - The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - 偵測到的字元編碼無效({{ detected }})。允許的編碼有 {{ encodings }}。 - - - This value is not a valid MAC address. - 這個數值不是有效的 MAC 位址。 - - - This URL is missing a top-level domain. - 這個 URL 缺少頂級域名。 - - - This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. - 這個數值過短。應至少包含 1 個單字。|這個數值過短。應至少包含 {{ min }} 個單字。 - - - This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - 這個數值過長。應包含 1 個單字。|這個數值過長。應最多包含 {{ max }} 個單字。 - - - This value does not represent a valid week in the ISO 8601 format. - 這個數值不符合 ISO 8601 格式的有效週。 - - - This value is not a valid week. - 這個數值不是有效的週。 - - - This value should not be before week "{{ min }}". - 這個數值不應早於第「{{ min }}」週。 - - - This value should not be after week "{{ max }}". - 這個數值不應晚於第「{{ max }}」週。 - - - This value is not a valid Twig template. - 這個數值不是有效的 Twig 模板。 - - - This file is not a valid video. - 這個檔案不是有效的影片。 - - - The size of the video could not be detected. - 無法偵測到影片的大小。 - - - The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - 影片寬度過大 ({{ width }}px)。允許的最大寬度為 {{ max_width }}px。 - - - The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - 影片寬度過小 ({{ width }}p)。允許的最小寬度為 {{ min_width }}px。 - - - The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - 影片高度過大 ({{ height }}px)。允許的最大高度為 {{ max_height }}px。 - - - The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - 影片高度過小 ({{ height }}px)。允許的最小高度為 {{ min_height }}px。 - - - The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - 影片的像素過少 ({{ pixels }} 像素). 允許的最小值為 {{ min_pixels }} 像素。 - - - The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - 影片的像素過多 ({{ pixels }} 像素)。允許的最大值為 {{ max_pixels }} 像素。 - - - The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - 影片的比例過大 ({{ ratio }})。允許的最大比例為 {{ max_ratio }}。 - - - The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - 影片的比例過小 ({{ ratio }})。允許的最小比例為 {{ min_ratio }}。 - - - The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - 影片為正方形 ({{ width }}x{{ height }}px)。不允許使用正方形影片。 - - - The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - 影片為橫向 ({{ width }}x{{ height }}px)。不允許使用橫向影片。 - - - The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - 影片為縱向 ({{ width }}x{{ height }}px)。不允許使用縱向影片。 - - - The video file is corrupted. - 影片檔案已損壞。 - - - The video contains multiple streams. Only one stream is allowed. - 影片包含多個串流。只允許單個串流。 - - - Unsupported video codec "{{ codec }}". - 不支援的影片編解碼器: {{ codec }}。 - - - Unsupported video container "{{ container }}". - 不支援的影片容器格式: {{ container }}。 - - - The image file is corrupted. - 圖片檔案已損壞。 - - - The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - 圖片的像素過少 ({{ pixels }} 像素)。允許的最小值為 {{ min_pixels }} 像素。 - - - The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - 圖片的像素過多 ({{ pixels }} 像素)。允許的最大值為 {{ max_pixels }} 像素。 - - - This filename does not match the expected charset. - 這個檔名與預期的字元集不相符。 - - - - diff --git a/app/vendor/symfony/validator/Test/CompoundConstraintTestCase.php b/app/vendor/symfony/validator/Test/CompoundConstraintTestCase.php deleted file mode 100644 index 9136e9f6e..000000000 --- a/app/vendor/symfony/validator/Test/CompoundConstraintTestCase.php +++ /dev/null @@ -1,126 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Test; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestCase; -use Symfony\Component\Translation\IdentityTranslator; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\Compound; -use Symfony\Component\Validator\Constraints\CompoundValidator; -use Symfony\Component\Validator\ConstraintViolationListInterface; -use Symfony\Component\Validator\Context\ExecutionContext; -use Symfony\Component\Validator\Context\ExecutionContextInterface; -use Symfony\Component\Validator\Validation; -use Symfony\Component\Validator\Validator\ValidatorInterface; - -/** - * A test case to ease testing Compound Constraints. - * - * @author Alexandre Daubois - * - * @template T of Compound - */ -abstract class CompoundConstraintTestCase extends TestCase -{ - protected ValidatorInterface $validator; - protected ?ConstraintViolationListInterface $violationList = null; - protected ExecutionContextInterface $context; - protected mixed $root; - - private mixed $validatedValue; - - protected function setUp(): void - { - $this->root = 'root'; - $this->validator = $this->createValidator(); - $this->context = $this->createContext($this->validator); - } - - protected function validateValue(mixed $value): void - { - $this->validator->inContext($this->context)->validate($this->validatedValue = $value, $this->createCompound()); - } - - protected function createValidator(): ValidatorInterface - { - return Validation::createValidator(); - } - - protected function createContext(?ValidatorInterface $validator = null): ExecutionContextInterface - { - return new ExecutionContext($validator ?? $this->createValidator(), $this->root, new IdentityTranslator()); - } - - public function assertViolationsRaisedByCompound(Constraint|array $constraints): void - { - if ($constraints instanceof Constraint) { - $constraints = [$constraints]; - } - - $validator = new CompoundValidator(); - $context = $this->createContext(); - $validator->initialize($context); - - $validator->validate($this->validatedValue, new class($constraints) extends Compound { - public function __construct(private array $testedConstraints) - { - parent::__construct(); - } - - protected function getConstraints(array $options): array - { - return $this->testedConstraints; - } - }); - - $expectedViolations = iterator_to_array($context->getViolations()); - - if (!$expectedViolations) { - throw new ExpectationFailedException(\sprintf('Expected at least one violation for constraint(s) "%s", got none raised.', implode(', ', array_map(fn ($constraint) => $constraint::class, $constraints)))); - } - - $failedToAssertViolations = []; - reset($expectedViolations); - foreach ($this->context->getViolations() as $violation) { - if ($violation != current($expectedViolations)) { - $failedToAssertViolations[] = $violation; - } - - next($expectedViolations); - } - - $this->assertSame( - [], - $failedToAssertViolations, - \sprintf('Expected violation(s) for constraint(s) %s to be raised by compound.', - implode(', ', array_map(fn ($violation) => ($violation->getConstraint())::class, $failedToAssertViolations)) - ) - ); - } - - public function assertViolationsCount(int $count): void - { - $this->assertCount($count, $this->context->getViolations()); - } - - protected function assertNoViolation(): void - { - $violationsCount = \count($this->context->getViolations()); - $this->assertSame(0, $violationsCount, \sprintf('No violation expected. Got %d.', $violationsCount)); - } - - /** - * @return T - */ - abstract protected function createCompound(): Compound; -} diff --git a/app/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php b/app/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php deleted file mode 100644 index 7120b86b6..000000000 --- a/app/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php +++ /dev/null @@ -1,584 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Test; - -use PHPUnit\Framework\Assert; -use PHPUnit\Framework\Constraint\IsIdentical; -use PHPUnit\Framework\Constraint\IsInstanceOf; -use PHPUnit\Framework\Constraint\IsNull; -use PHPUnit\Framework\Constraint\LogicalOr; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestCase; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\Constraints\NotNull; -use Symfony\Component\Validator\Constraints\Valid; -use Symfony\Component\Validator\ConstraintValidatorInterface; -use Symfony\Component\Validator\ConstraintViolation; -use Symfony\Component\Validator\ConstraintViolationInterface; -use Symfony\Component\Validator\ConstraintViolationList; -use Symfony\Component\Validator\ConstraintViolationListInterface; -use Symfony\Component\Validator\Context\ExecutionContext; -use Symfony\Component\Validator\Context\ExecutionContextInterface; -use Symfony\Component\Validator\Mapping\ClassMetadata; -use Symfony\Component\Validator\Mapping\MetadataInterface; -use Symfony\Component\Validator\Mapping\PropertyMetadata; -use Symfony\Component\Validator\Validator\ContextualValidatorInterface; -use Symfony\Component\Validator\Validator\ValidatorInterface; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * A test case to ease testing Constraint Validators. - * - * @author Bernhard Schussek - * - * @template T of ConstraintValidatorInterface - */ -abstract class ConstraintValidatorTestCase extends TestCase -{ - protected ExecutionContextInterface $context; - - /** - * @var T - */ - protected ConstraintValidatorInterface $validator; - - protected string $group; - protected ?MetadataInterface $metadata; - protected mixed $object; - protected mixed $value; - protected mixed $root; - protected string $propertyPath; - protected Constraint $constraint; - protected ?string $defaultTimezone = null; - - private string $defaultLocale; - private array $expectedViolations; - private int $call; - - protected function setUp(): void - { - $this->group = 'MyGroup'; - $this->metadata = null; - $this->object = null; - $this->value = 'InvalidValue'; - $this->root = 'root'; - $this->propertyPath = 'property.path'; - - // Initialize the context with some constraint so that we can - // successfully build a violation. - $this->constraint = new NotNull(); - - $this->context = $this->createContext(); - $this->validator = $this->createValidator(); - $this->validator->initialize($this->context); - - if (class_exists(\Locale::class)) { - $this->defaultLocale = \Locale::getDefault(); - \Locale::setDefault('en'); - } - - $this->expectedViolations = []; - $this->call = 0; - - $this->setDefaultTimezone('UTC'); - } - - protected function tearDown(): void - { - $this->restoreDefaultTimezone(); - - if (class_exists(\Locale::class) && isset($this->defaultLocale)) { - \Locale::setDefault($this->defaultLocale); - } - } - - protected function setDefaultTimezone(?string $defaultTimezone) - { - // Make sure this method cannot be called twice before calling - // also restoreDefaultTimezone() - if (null === $this->defaultTimezone) { - $this->defaultTimezone = date_default_timezone_get(); - date_default_timezone_set($defaultTimezone); - } - } - - protected function restoreDefaultTimezone() - { - if (null !== $this->defaultTimezone) { - date_default_timezone_set($this->defaultTimezone); - $this->defaultTimezone = null; - } - } - - protected function createContext() - { - $translator = $this->createStub(TranslatorInterface::class); - $translator->method('trans')->willReturnArgument(0); - $validator = $this->createStub(ValidatorInterface::class); - $validator - ->method('validate') - ->willReturnCallback(fn () => $this->expectedViolations[$this->call++] ?? new ConstraintViolationList()); - - $context = new ExecutionContext($validator, $this->root, $translator); - $context->setGroup($this->group); - $context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - $context->setConstraint($this->constraint); - - if (method_exists($this, 'getStubBuilder')) { - $contextualValidator = self::getStubBuilder(AssertingContextualValidator::class) - ->setConstructorArgs([$context]) - ->onlyMethods([ - 'atPath', - 'validate', - 'validateProperty', - 'validatePropertyValue', - 'getViolations', - ]) - ->getStub(); - } else { - $contextualValidator = $this->getMockBuilder(AssertingContextualValidator::class) - ->setConstructorArgs([$context]) - ->onlyMethods([ - 'atPath', - 'validate', - 'validateProperty', - 'validatePropertyValue', - 'getViolations', - ]) - ->getMock(); - } - - $contextualValidator - ->method('atPath') - ->willReturnCallback(fn ($path) => $contextualValidator->doAtPath($path)); - $contextualValidator - ->method('validate') - ->willReturnCallback(fn ($value, $constraints = null, $groups = null) => $contextualValidator->doValidate($value, $constraints, $groups)); - $contextualValidator - ->method('validateProperty') - ->willReturnCallback(fn ($object, $propertyName, $groups = null) => $contextualValidator->validateProperty($object, $propertyName, $groups)); - $contextualValidator - ->method('validatePropertyValue') - ->willReturnCallback(fn ($objectOrClass, $propertyName, $value, $groups = null) => $contextualValidator->doValidatePropertyValue($objectOrClass, $propertyName, $value, $groups)); - $contextualValidator - ->method('getViolations') - ->willReturnCallback(fn () => $contextualValidator->doGetViolations()); - $validator - ->method('inContext') - ->willReturn($contextualValidator); - - return $context; - } - - protected function setGroup(?string $group) - { - $this->group = $group; - $this->context->setGroup($group); - } - - protected function setObject(mixed $object) - { - $this->object = $object; - $this->metadata = \is_object($object) - ? new ClassMetadata($object::class) - : null; - - $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - } - - protected function setProperty(mixed $object, string $property) - { - $this->object = $object; - $this->metadata = \is_object($object) - ? new PropertyMetadata($object::class, $property) - : null; - - $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - } - - protected function setValue(mixed $value) - { - $this->value = $value; - $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - } - - protected function setRoot(mixed $root) - { - $this->root = $root; - $this->context = $this->createContext(); - $this->validator->initialize($this->context); - } - - protected function setPropertyPath(string $propertyPath) - { - $this->propertyPath = $propertyPath; - $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - } - - protected function expectNoValidate() - { - $validator = $this->context->getValidator()->inContext($this->context); - $validator->expectNoValidate(); - } - - protected function expectValidateAt(int $i, string $propertyPath, mixed $value, string|GroupSequence|array|null $group) - { - $validator = $this->context->getValidator()->inContext($this->context); - $validator->expectValidation($i, $propertyPath, $value, $group, function ($passedConstraints) { - $expectedConstraints = LogicalOr::fromConstraints(new IsNull(), new IsIdentical([]), new IsInstanceOf(Valid::class)); - - Assert::assertThat($passedConstraints, $expectedConstraints); - }); - } - - protected function expectValidateValue(int $i, mixed $value, array $constraints = [], string|GroupSequence|array|null $group = null) - { - $contextualValidator = $this->context->getValidator()->inContext($this->context); - $contextualValidator->expectValidation($i, null, $value, $group, function ($passedConstraints) use ($constraints) { - if (!\is_array($passedConstraints)) { - $passedConstraints = [$passedConstraints]; - } - - Assert::assertEquals($constraints, $passedConstraints); - }); - } - - protected function expectFailingValueValidation(int $i, mixed $value, array $constraints, string|GroupSequence|array|null $group, ConstraintViolationInterface $violation) - { - $contextualValidator = $this->context->getValidator()->inContext($this->context); - $contextualValidator->expectValidation($i, null, $value, $group, function ($passedConstraints) use ($constraints) { - if (!\is_array($passedConstraints)) { - $passedConstraints = [$passedConstraints]; - } - - Assert::assertEquals($constraints, $passedConstraints); - }, $violation); - } - - protected function expectValidateValueAt(int $i, string $propertyPath, mixed $value, Constraint|array $constraints, string|GroupSequence|array|null $group = null) - { - $contextualValidator = $this->context->getValidator()->inContext($this->context); - $contextualValidator->expectValidation($i, $propertyPath, $value, $group, function ($passedConstraints) use ($constraints) { - Assert::assertEquals($constraints, $passedConstraints); - }); - } - - protected function expectViolationsAt(int $i, mixed $value, Constraint $constraint) - { - $context = $this->createContext(); - - $validatorClassname = $constraint->validatedBy(); - - $validator = new $validatorClassname(); - $validator->initialize($context); - $validator->validate($value, $constraint); - - $this->expectedViolations[] = $context->getViolations(); - - return $context->getViolations(); - } - - protected function assertNoViolation() - { - $this->assertSame(0, $violationsCount = \count($this->context->getViolations()), \sprintf('0 violation expected. Got %u.', $violationsCount)); - } - - protected function buildViolation(string|\Stringable $message): ConstraintViolationAssertion - { - return new ConstraintViolationAssertion($this->context, $message, $this->constraint); - } - - /** - * @return T - */ - abstract protected function createValidator(): ConstraintValidatorInterface; -} - -final class ConstraintViolationAssertion -{ - private array $parameters = []; - private mixed $invalidValue = 'InvalidValue'; - private string $propertyPath = 'property.path'; - private ?int $plural = null; - private ?string $code = null; - private mixed $cause = null; - - /** - * @param ConstraintViolationAssertion[] $assertions - * - * @internal - */ - public function __construct( - private ExecutionContextInterface $context, - private string $message, - private ?Constraint $constraint = null, - private array $assertions = [], - ) { - } - - /** - * @return $this - */ - public function atPath(string $path): static - { - $this->propertyPath = $path; - - return $this; - } - - /** - * @return $this - */ - public function setParameter(string $key, string $value): static - { - $this->parameters[$key] = $value; - - return $this; - } - - /** - * @return $this - */ - public function setParameters(array $parameters): static - { - $this->parameters = $parameters; - - return $this; - } - - /** - * @return $this - */ - public function setTranslationDomain(?string $translationDomain): static - { - // no-op for BC - - return $this; - } - - /** - * @return $this - */ - public function setInvalidValue(mixed $invalidValue): static - { - $this->invalidValue = $invalidValue; - - return $this; - } - - /** - * @return $this - */ - public function setPlural(int $number): static - { - $this->plural = $number; - - return $this; - } - - /** - * @return $this - */ - public function setCode(string $code): static - { - $this->code = $code; - - return $this; - } - - /** - * @return $this - */ - public function setCause(mixed $cause): static - { - $this->cause = $cause; - - return $this; - } - - public function buildNextViolation(string $message): self - { - $assertions = $this->assertions; - $assertions[] = $this; - - return new self($this->context, $message, $this->constraint, $assertions); - } - - public function assertRaised(): void - { - $expected = []; - foreach ($this->assertions as $assertion) { - $expected[] = $assertion->getViolation(); - } - $expected[] = $this->getViolation(); - - $violations = iterator_to_array($this->context->getViolations()); - - Assert::assertSame($expectedCount = \count($expected), $violationsCount = \count($violations), \sprintf('%u violation(s) expected. Got %u.', $expectedCount, $violationsCount)); - - reset($violations); - - foreach ($expected as $violation) { - Assert::assertEquals($violation, current($violations)); - next($violations); - } - } - - private function getViolation(): ConstraintViolation - { - return new ConstraintViolation( - $this->message, - $this->message, - $this->parameters, - $this->context->getRoot(), - $this->propertyPath, - $this->invalidValue, - $this->plural, - $this->code, - $this->constraint, - $this->cause - ); - } -} - -/** - * @internal - */ -class AssertingContextualValidator implements ContextualValidatorInterface -{ - private bool $expectNoValidate = false; - private int $atPathCalls = -1; - private array $expectedAtPath = []; - private int $validateCalls = -1; - private array $expectedValidate = []; - - public function __construct( - private ExecutionContextInterface $context, - ) { - } - - public function __destruct() - { - if ($this->expectedAtPath) { - throw new ExpectationFailedException('Some expected validation calls for paths were not done.'); - } - - if ($this->expectedValidate) { - throw new ExpectationFailedException('Some expected validation calls for values were not done.'); - } - } - - public function atPath(string $path): static - { - throw new \BadMethodCallException(); - } - - /** - * @return $this - */ - public function doAtPath(string $path): static - { - Assert::assertFalse($this->expectNoValidate, 'No validation calls have been expected.'); - - if (!isset($this->expectedAtPath[++$this->atPathCalls])) { - throw new ExpectationFailedException(\sprintf('Validation for property path "%s" was not expected.', $path)); - } - - $expectedPath = $this->expectedAtPath[$this->atPathCalls]; - unset($this->expectedAtPath[$this->atPathCalls]); - - Assert::assertSame($expectedPath, $path); - - return $this; - } - - public function validate(mixed $value, Constraint|array|null $constraints = null, string|GroupSequence|array|null $groups = null): static - { - throw new \BadMethodCallException(); - } - - /** - * @return $this - */ - public function doValidate(mixed $value, Constraint|array|null $constraints = null, string|GroupSequence|array|null $groups = null): static - { - Assert::assertFalse($this->expectNoValidate, 'No validation calls have been expected.'); - - if (!isset($this->expectedValidate[++$this->validateCalls])) { - return $this; - } - - [$expectedValue, $expectedGroup, $expectedConstraints, $violation] = $this->expectedValidate[$this->validateCalls]; - unset($this->expectedValidate[$this->validateCalls]); - - Assert::assertSame($expectedValue, $value); - $expectedConstraints($constraints); - Assert::assertSame($expectedGroup, $groups); - - if (null !== $violation) { - $this->context->addViolation($violation->getMessage(), $violation->getParameters()); - } - - return $this; - } - - public function validateProperty(object $object, string $propertyName, string|GroupSequence|array|null $groups = null): static - { - throw new \BadMethodCallException(); - } - - /** - * @return $this - */ - public function doValidateProperty(object $object, string $propertyName, string|GroupSequence|array|null $groups = null): static - { - return $this; - } - - public function validatePropertyValue(object|string $objectOrClass, string $propertyName, mixed $value, string|GroupSequence|array|null $groups = null): static - { - throw new \BadMethodCallException(); - } - - /** - * @return $this - */ - public function doValidatePropertyValue(object|string $objectOrClass, string $propertyName, mixed $value, string|GroupSequence|array|null $groups = null): static - { - return $this; - } - - public function getViolations(): ConstraintViolationListInterface - { - throw new \BadMethodCallException(); - } - - public function doGetViolations(): ConstraintViolationListInterface - { - return $this->context->getViolations(); - } - - public function expectNoValidate(): void - { - $this->expectNoValidate = true; - } - - public function expectValidation(string $call, ?string $propertyPath, mixed $value, string|GroupSequence|array|null $group, callable $constraints, ?ConstraintViolationInterface $violation = null): void - { - if (null !== $propertyPath) { - $this->expectedAtPath[$call] = $propertyPath; - } - - $this->expectedValidate[$call] = [$value, $group, $constraints, $violation]; - } -} diff --git a/app/vendor/symfony/validator/Util/PropertyPath.php b/app/vendor/symfony/validator/Util/PropertyPath.php deleted file mode 100644 index 7eeb3bb0a..000000000 --- a/app/vendor/symfony/validator/Util/PropertyPath.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Util; - -/** - * Contains utility methods for dealing with property paths. - * - * For more extensive functionality, use Symfony's PropertyAccess component. - * - * @author Bernhard Schussek - */ -class PropertyPath -{ - /** - * Appends a path to a given property path. - * - * If the base path is empty, the appended path will be returned unchanged. - * If the base path is not empty, and the appended path starts with a - * squared opening bracket ("["), the concatenation of the two paths is - * returned. Otherwise, the concatenation of the two paths is returned, - * separated by a dot ("."). - */ - public static function append(string $basePath, string $subPath): string - { - if ('' !== $subPath) { - if ('[' === $subPath[0]) { - return $basePath.$subPath; - } - - return '' !== $basePath ? $basePath.'.'.$subPath : $subPath; - } - - return $basePath; - } - - /** - * Not instantiable. - */ - private function __construct() - { - } -} diff --git a/app/vendor/symfony/validator/Validation.php b/app/vendor/symfony/validator/Validation.php deleted file mode 100644 index c33900a47..000000000 --- a/app/vendor/symfony/validator/Validation.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Symfony\Component\Validator\Exception\ValidationFailedException; -use Symfony\Component\Validator\Validator\ValidatorInterface; - -/** - * Entry point for the Validator component. - * - * @author Bernhard Schussek - */ -final class Validation -{ - /** - * Creates a callable chain of constraints. - */ - public static function createCallable(Constraint|ValidatorInterface|null $constraintOrValidator = null, Constraint ...$constraints): callable - { - $validator = self::createIsValidCallable($constraintOrValidator, ...$constraints); - - return static function ($value) use ($validator) { - if (!$validator($value, $violations)) { - throw new ValidationFailedException($value, $violations); - } - - return $value; - }; - } - - /** - * Creates a callable that returns true/false instead of throwing validation exceptions. - * - * @return callable(mixed $value, ?ConstraintViolationListInterface &$violations = null): bool - */ - public static function createIsValidCallable(Constraint|ValidatorInterface|null $constraintOrValidator = null, Constraint ...$constraints): callable - { - $validator = $constraintOrValidator; - - if ($constraintOrValidator instanceof Constraint) { - $constraints = \func_get_args(); - $validator = null; - } - - $validator ??= self::createValidator(); - - return static function (mixed $value, ?ConstraintViolationListInterface &$violations = null) use ($constraints, $validator): bool { - $violations = $validator->validate($value, $constraints); - - return 0 === $violations->count(); - }; - } - - /** - * Creates a new validator. - * - * If you want to configure the validator, use - * {@link createValidatorBuilder()} instead. - */ - public static function createValidator(): ValidatorInterface - { - return self::createValidatorBuilder()->getValidator(); - } - - /** - * Creates a configurable builder for validator objects. - */ - public static function createValidatorBuilder(): ValidatorBuilder - { - return new ValidatorBuilder(); - } - - /** - * This class cannot be instantiated. - */ - private function __construct() - { - } -} diff --git a/app/vendor/symfony/validator/Validator/ContextualValidatorInterface.php b/app/vendor/symfony/validator/Validator/ContextualValidatorInterface.php deleted file mode 100644 index 8acdf3076..000000000 --- a/app/vendor/symfony/validator/Validator/ContextualValidatorInterface.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Validator; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\ConstraintViolationListInterface; - -/** - * A validator in a specific execution context. - * - * @author Bernhard Schussek - */ -interface ContextualValidatorInterface -{ - /** - * Appends the given path to the property path of the context. - * - * If called multiple times, the path will always be reset to the context's - * original path with the given path appended to it. - * - * @return $this - */ - public function atPath(string $path): static; - - /** - * Validates a value against a constraint or a list of constraints. - * - * If no constraint is passed, the constraint - * {@link \Symfony\Component\Validator\Constraints\Valid} is assumed. - * - * @param mixed $value The value to validate - * @param Constraint|Constraint[]|null $constraints The constraint(s) to validate against - * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed - * - * @return $this - */ - public function validate(mixed $value, Constraint|array|null $constraints = null, string|GroupSequence|array|null $groups = null): static; - - /** - * Validates a property of an object against the constraints specified - * for this property. - * - * @param string $propertyName The name of the validated property - * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed - * - * @return $this - */ - public function validateProperty(object $object, string $propertyName, string|GroupSequence|array|null $groups = null): static; - - /** - * Validates a value against the constraints specified for an object's - * property. - * - * @param object|string $objectOrClass The object or its class name - * @param string $propertyName The name of the property - * @param mixed $value The value to validate against the property's constraints - * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed - * - * @return $this - */ - public function validatePropertyValue(object|string $objectOrClass, string $propertyName, mixed $value, string|GroupSequence|array|null $groups = null): static; - - /** - * Returns the violations that have been generated so far in the context - * of the validator. - */ - public function getViolations(): ConstraintViolationListInterface; -} diff --git a/app/vendor/symfony/validator/Validator/LazyProperty.php b/app/vendor/symfony/validator/Validator/LazyProperty.php deleted file mode 100644 index 1826cdb4a..000000000 --- a/app/vendor/symfony/validator/Validator/LazyProperty.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Validator; - -/** - * A wrapper for a callable initializing a property from a getter. - * - * @internal - */ -class LazyProperty -{ - public function __construct( - private \Closure $propertyValueCallback, - ) { - } - - public function getPropertyValue(): mixed - { - return ($this->propertyValueCallback)(); - } -} diff --git a/app/vendor/symfony/validator/Validator/RecursiveContextualValidator.php b/app/vendor/symfony/validator/Validator/RecursiveContextualValidator.php deleted file mode 100644 index 55af3fc90..000000000 --- a/app/vendor/symfony/validator/Validator/RecursiveContextualValidator.php +++ /dev/null @@ -1,771 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Validator; - -use Psr\Container\ContainerInterface; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\Composite; -use Symfony\Component\Validator\Constraints\Existence; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\Constraints\Valid; -use Symfony\Component\Validator\ConstraintValidatorFactoryInterface; -use Symfony\Component\Validator\ConstraintViolationListInterface; -use Symfony\Component\Validator\Context\ExecutionContext; -use Symfony\Component\Validator\Context\ExecutionContextInterface; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\NoSuchMetadataException; -use Symfony\Component\Validator\Exception\RuntimeException; -use Symfony\Component\Validator\Exception\UnexpectedValueException; -use Symfony\Component\Validator\Exception\UnsupportedMetadataException; -use Symfony\Component\Validator\Exception\ValidatorException; -use Symfony\Component\Validator\GroupSequenceProviderInterface; -use Symfony\Component\Validator\Mapping\CascadingStrategy; -use Symfony\Component\Validator\Mapping\ClassMetadataInterface; -use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface; -use Symfony\Component\Validator\Mapping\GenericMetadata; -use Symfony\Component\Validator\Mapping\GetterMetadata; -use Symfony\Component\Validator\Mapping\MetadataInterface; -use Symfony\Component\Validator\Mapping\PropertyMetadataInterface; -use Symfony\Component\Validator\Mapping\TraversalStrategy; -use Symfony\Component\Validator\ObjectInitializerInterface; -use Symfony\Component\Validator\Util\PropertyPath; - -/** - * Recursive implementation of {@link ContextualValidatorInterface}. - * - * @author Bernhard Schussek - */ -class RecursiveContextualValidator implements ContextualValidatorInterface -{ - private string $defaultPropertyPath; - private array $defaultGroups; - - /** - * Creates a validator for the given context. - * - * @param ObjectInitializerInterface[] $objectInitializers The object initializers - */ - public function __construct( - private ExecutionContextInterface $context, - private MetadataFactoryInterface $metadataFactory, - private ConstraintValidatorFactoryInterface $validatorFactory, - private array $objectInitializers = [], - private ?ContainerInterface $groupProviderLocator = null, - ) { - $this->defaultPropertyPath = $context->getPropertyPath(); - $this->defaultGroups = [$context->getGroup() ?: Constraint::DEFAULT_GROUP]; - } - - public function atPath(string $path): static - { - $this->defaultPropertyPath = $this->context->getPropertyPath($path); - - return $this; - } - - public function validate(mixed $value, Constraint|array|null $constraints = null, string|GroupSequence|array|null $groups = null): static - { - $groups = $groups ? $this->normalizeGroups($groups) : $this->defaultGroups; - - $previousValue = $this->context->getValue(); - $previousObject = $this->context->getObject(); - $previousMetadata = $this->context->getMetadata(); - $previousPath = $this->context->getPropertyPath(); - $previousGroup = $this->context->getGroup(); - $previousConstraint = null; - - if ($this->context instanceof ExecutionContext || method_exists($this->context, 'getConstraint')) { - $previousConstraint = $this->context->getConstraint(); - } - - // If explicit constraints are passed, validate the value against - // those constraints - if (null !== $constraints) { - // You can pass a single constraint or an array of constraints - // Make sure to deal with an array in the rest of the code - if (!\is_array($constraints)) { - $constraints = [$constraints]; - } - - $metadata = new GenericMetadata(); - $metadata->addConstraints($constraints); - - $this->validateGenericNode( - $value, - $previousObject, - \is_object($value) ? $this->generateCacheKey($value) : null, - $metadata, - $this->defaultPropertyPath, - $groups, - null, - TraversalStrategy::IMPLICIT, - $this->context - ); - - $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath); - $this->context->setGroup($previousGroup); - - if (null !== $previousConstraint) { - $this->context->setConstraint($previousConstraint); - } - - return $this; - } - - // If an object is passed without explicit constraints, validate that - // object against the constraints defined for the object's class - if (\is_object($value)) { - $this->validateObject( - $value, - $this->defaultPropertyPath, - $groups, - TraversalStrategy::IMPLICIT, - $this->context - ); - - $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath); - $this->context->setGroup($previousGroup); - - return $this; - } - - // If an array is passed without explicit constraints, validate each - // object in the array - if (\is_array($value)) { - $this->validateEachObjectIn( - $value, - $this->defaultPropertyPath, - $groups, - $this->context - ); - - $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath); - $this->context->setGroup($previousGroup); - - return $this; - } - - throw new RuntimeException(\sprintf('Cannot validate values of type "%s" automatically. Please provide a constraint.', get_debug_type($value))); - } - - public function validateProperty(object $object, string $propertyName, string|GroupSequence|array|null $groups = null): static - { - $classMetadata = $this->metadataFactory->getMetadataFor($object); - - if (!$classMetadata instanceof ClassMetadataInterface) { - throw new ValidatorException(\sprintf('The metadata factory should return instances of "\Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', get_debug_type($classMetadata))); - } - - $propertyMetadatas = $classMetadata->getPropertyMetadata($propertyName); - $groups = $groups ? $this->normalizeGroups($groups) : $this->defaultGroups; - $cacheKey = $this->generateCacheKey($object); - $propertyPath = PropertyPath::append($this->defaultPropertyPath, $propertyName); - - $previousValue = $this->context->getValue(); - $previousObject = $this->context->getObject(); - $previousMetadata = $this->context->getMetadata(); - $previousPath = $this->context->getPropertyPath(); - $previousGroup = $this->context->getGroup(); - - foreach ($propertyMetadatas as $propertyMetadata) { - $propertyValue = $propertyMetadata->getPropertyValue($object); - - $this->validateGenericNode( - $propertyValue, - $object, - $cacheKey.':'.$object::class.':'.$propertyName, - $propertyMetadata, - $propertyPath, - $groups, - null, - TraversalStrategy::IMPLICIT, - $this->context - ); - } - - $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath); - $this->context->setGroup($previousGroup); - - return $this; - } - - public function validatePropertyValue(object|string $objectOrClass, string $propertyName, mixed $value, string|GroupSequence|array|null $groups = null): static - { - $classMetadata = $this->metadataFactory->getMetadataFor($objectOrClass); - - if (!$classMetadata instanceof ClassMetadataInterface) { - throw new ValidatorException(\sprintf('The metadata factory should return instances of "\Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', get_debug_type($classMetadata))); - } - - $propertyMetadatas = $classMetadata->getPropertyMetadata($propertyName); - $groups = $groups ? $this->normalizeGroups($groups) : $this->defaultGroups; - - if (\is_object($objectOrClass)) { - $object = $objectOrClass; - $class = $object::class; - $cacheKey = $this->generateCacheKey($objectOrClass); - $propertyPath = PropertyPath::append($this->defaultPropertyPath, $propertyName); - } else { - // $objectOrClass contains a class name - $object = null; - $class = $objectOrClass; - $cacheKey = null; - $propertyPath = $this->defaultPropertyPath; - } - - $previousValue = $this->context->getValue(); - $previousObject = $this->context->getObject(); - $previousMetadata = $this->context->getMetadata(); - $previousPath = $this->context->getPropertyPath(); - $previousGroup = $this->context->getGroup(); - - foreach ($propertyMetadatas as $propertyMetadata) { - $this->validateGenericNode( - $value, - $object, - $cacheKey.':'.$class.':'.$propertyName, - $propertyMetadata, - $propertyPath, - $groups, - null, - TraversalStrategy::IMPLICIT, - $this->context - ); - } - - $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath); - $this->context->setGroup($previousGroup); - - return $this; - } - - public function getViolations(): ConstraintViolationListInterface - { - return $this->context->getViolations(); - } - - /** - * Normalizes the given group or list of groups to an array. - * - * @param string|GroupSequence|array $groups The groups to normalize - * - * @return array - */ - protected function normalizeGroups(string|GroupSequence|array $groups): array - { - if (\is_array($groups)) { - return $groups; - } - - return [$groups]; - } - - /** - * Validates an object against the constraints defined for its class. - * - * If no metadata is available for the class, but the class is an instance - * of {@link \Traversable} and the selected traversal strategy allows - * traversal, the object will be iterated and each nested object will be - * validated instead. - * - * @throws NoSuchMetadataException If the object has no associated metadata - * and does not implement {@link \Traversable} - * or if traversal is disabled via the - * $traversalStrategy argument - * @throws UnsupportedMetadataException If the metadata returned by the - * metadata factory does not implement - * {@link ClassMetadataInterface} - */ - private function validateObject(object $object, string $propertyPath, array $groups, int $traversalStrategy, ExecutionContextInterface $context): void - { - try { - $classMetadata = $this->metadataFactory->getMetadataFor($object); - - if (!$classMetadata instanceof ClassMetadataInterface) { - throw new UnsupportedMetadataException(\sprintf('The metadata factory should return instances of "Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', get_debug_type($classMetadata))); - } - - $this->validateClassNode( - $object, - $this->generateCacheKey($object), - $classMetadata, - $propertyPath, - $groups, - null, - $traversalStrategy, - $context - ); - } catch (NoSuchMetadataException $e) { - // Rethrow if not Traversable - if (!$object instanceof \Traversable) { - throw $e; - } - - // Rethrow unless IMPLICIT or TRAVERSE - if (!($traversalStrategy & (TraversalStrategy::IMPLICIT | TraversalStrategy::TRAVERSE))) { - throw $e; - } - - $this->validateEachObjectIn( - $object, - $propertyPath, - $groups, - $context - ); - } - } - - /** - * Validates each object in a collection against the constraints defined - * for their classes. - * - * Nested arrays are also iterated. - */ - private function validateEachObjectIn(iterable $collection, string $propertyPath, array $groups, ExecutionContextInterface $context): void - { - foreach ($collection as $key => $value) { - if (\is_array($value)) { - // Also traverse nested arrays - $this->validateEachObjectIn( - $value, - $propertyPath.'['.$key.']', - $groups, - $context - ); - - continue; - } - - // Scalar and null values in the collection are ignored - if (\is_object($value)) { - $this->validateObject( - $value, - $propertyPath.'['.$key.']', - $groups, - TraversalStrategy::IMPLICIT, - $context - ); - } - } - } - - /** - * Validates a class node. - * - * A class node is a combination of an object with a {@link ClassMetadataInterface} - * instance. Each class node (conceptually) has zero or more succeeding - * property nodes: - * - * (Article:class node) - * \ - * ($title:property node) - * - * This method validates the passed objects against all constraints defined - * at class level. It furthermore triggers the validation of each of the - * class' properties against the constraints for that property. - * - * If the selected traversal strategy allows traversal, the object is - * iterated and each nested object is validated against its own constraints. - * The object is not traversed if traversal is disabled in the class - * metadata. - * - * If the passed groups contain the group "Default", the validator will - * check whether the "Default" group has been replaced by a group sequence - * in the class metadata. If this is the case, the group sequence is - * validated instead. - * - * @throws UnsupportedMetadataException If a property metadata does not - * implement {@link PropertyMetadataInterface} - * @throws ConstraintDefinitionException If traversal was enabled but the - * object does not implement - * {@link \Traversable} - * - * @see TraversalStrategy - */ - private function validateClassNode(object $object, ?string $cacheKey, ClassMetadataInterface $metadata, string $propertyPath, array $groups, ?array $cascadedGroups, int $traversalStrategy, ExecutionContextInterface $context): void - { - $context->setNode($object, $object, $metadata, $propertyPath); - - if (!$context->isObjectInitialized($cacheKey)) { - foreach ($this->objectInitializers as $initializer) { - $initializer->initialize($object); - } - - $context->markObjectAsInitialized($cacheKey); - } - - foreach ($groups as $key => $group) { - // If the "Default" group is replaced by a group sequence, remember - // to cascade the "Default" group when traversing the group - // sequence - $defaultOverridden = false; - - // Use the object hash for group sequences - $groupHash = \is_object($group) ? $this->generateCacheKey($group, true) : $group; - - if ($context->isGroupValidated($cacheKey, $groupHash)) { - // Skip this group when validating the properties and when - // traversing the object - unset($groups[$key]); - - continue; - } - - $context->markGroupAsValidated($cacheKey, $groupHash); - - // Replace the "Default" group by the group sequence defined - // for the class, if applicable. - // This is done after checking the cache, so that - // spl_object_hash() isn't called for this sequence and - // "Default" is used instead in the cache. This is useful - // if the getters below return different group sequences in - // every call. - if (Constraint::DEFAULT_GROUP === $group) { - if ($metadata->hasGroupSequence()) { - // The group sequence is statically defined for the class - $group = $metadata->getGroupSequence(); - $defaultOverridden = true; - } elseif ($metadata->isGroupSequenceProvider()) { - if (null !== $provider = $metadata->getGroupProvider()) { - if (null === $this->groupProviderLocator) { - throw new \LogicException('A group provider locator is required when using group provider.'); - } - - $group = $this->groupProviderLocator->get($provider)->getGroups($object); - } else { - // The group sequence is dynamically obtained from the validated - // object - /** @var GroupSequenceProviderInterface $object */ - $group = $object->getGroupSequence(); - } - $defaultOverridden = true; - - if (!$group instanceof GroupSequence) { - $group = new GroupSequence($group); - } - } - } - - // If the groups (=[,G3,G4]) contain a group sequence - // (=), then call validateClassNode() with each entry of the - // group sequence and abort if necessary (G1, G2) - if ($group instanceof GroupSequence) { - $this->stepThroughGroupSequence( - $object, - $object, - $cacheKey, - $metadata, - $propertyPath, - $traversalStrategy, - $group, - $defaultOverridden ? Constraint::DEFAULT_GROUP : null, - $context - ); - - // Skip the group sequence when validating properties, because - // stepThroughGroupSequence() already validates the properties - unset($groups[$key]); - - continue; - } - - $this->validateInGroup($object, $cacheKey, $metadata, $group, $context); - } - - // If no more groups should be validated for the property nodes, - // we can safely quit - if (0 === \count($groups)) { - return; - } - - // Validate all properties against their constraints - foreach ($metadata->getConstrainedProperties() as $propertyName) { - // If constraints are defined both on the getter of a property as - // well as on the property itself, then getPropertyMetadata() - // returns two metadata objects, not just one - foreach ($metadata->getPropertyMetadata($propertyName) as $propertyMetadata) { - if (!$propertyMetadata instanceof PropertyMetadataInterface) { - throw new UnsupportedMetadataException(\sprintf('The property metadata instances should implement "Symfony\Component\Validator\Mapping\PropertyMetadataInterface", got: "%s".', get_debug_type($propertyMetadata))); - } - - if ($propertyMetadata instanceof GetterMetadata) { - $propertyValue = new LazyProperty(static fn () => $propertyMetadata->getPropertyValue($object)); - } else { - $propertyValue = $propertyMetadata->getPropertyValue($object); - } - - $this->validateGenericNode( - $propertyValue, - $object, - $cacheKey.':'.$object::class.':'.$propertyName, - $propertyMetadata, - PropertyPath::append($propertyPath, $propertyName), - $groups, - $cascadedGroups, - TraversalStrategy::IMPLICIT, - $context - ); - } - } - - // If no specific traversal strategy was requested when this method - // was called, use the traversal strategy of the class' metadata - if ($traversalStrategy & TraversalStrategy::IMPLICIT) { - $traversalStrategy = $metadata->getTraversalStrategy(); - } - - // Traverse only if IMPLICIT or TRAVERSE - if (!($traversalStrategy & (TraversalStrategy::IMPLICIT | TraversalStrategy::TRAVERSE))) { - return; - } - - // If IMPLICIT, stop unless we deal with a Traversable - if ($traversalStrategy & TraversalStrategy::IMPLICIT && !$object instanceof \Traversable) { - return; - } - - // If TRAVERSE, fail if we have no Traversable - if (!$object instanceof \Traversable) { - throw new ConstraintDefinitionException(\sprintf('Traversal was enabled for "%s", but this class does not implement "\Traversable".', get_debug_type($object))); - } - - $this->validateEachObjectIn( - $object, - $propertyPath, - $groups, - $context - ); - } - - /** - * Validates a node that is not a class node. - * - * Currently, two such node types exist: - * - * - property nodes, which consist of the value of an object's - * property together with a {@link PropertyMetadataInterface} instance - * - generic nodes, which consist of a value and some arbitrary - * constraints defined in a {@link MetadataInterface} container - * - * In both cases, the value is validated against all constraints defined - * in the passed metadata object. Then, if the value is an instance of - * {@link \Traversable} and the selected traversal strategy permits it, - * the value is traversed and each nested object validated against its own - * constraints. If the value is an array, it is traversed regardless of - * the given strategy. - * - * @see TraversalStrategy - */ - private function validateGenericNode(mixed $value, ?object $object, ?string $cacheKey, ?MetadataInterface $metadata, string $propertyPath, array $groups, ?array $cascadedGroups, int $traversalStrategy, ExecutionContextInterface $context): void - { - $context->setNode($value, $object, $metadata, $propertyPath); - - foreach ($groups as $key => $group) { - if ($group instanceof GroupSequence) { - $this->stepThroughGroupSequence( - $value, - $object, - $cacheKey, - $metadata, - $propertyPath, - $traversalStrategy, - $group, - null, - $context - ); - - // Skip the group sequence when cascading, as the cascading - // logic is already done in stepThroughGroupSequence() - unset($groups[$key]); - - continue; - } - - $this->validateInGroup($value, $cacheKey, $metadata, $group, $context); - } - - if (0 === \count($groups)) { - return; - } - - if (null === $value) { - return; - } - - $cascadingStrategy = $metadata->getCascadingStrategy(); - - // Quit unless we cascade - if (!($cascadingStrategy & CascadingStrategy::CASCADE)) { - return; - } - - // If no specific traversal strategy was requested when this method - // was called, use the traversal strategy of the node's metadata - if ($traversalStrategy & TraversalStrategy::IMPLICIT) { - $traversalStrategy = $metadata->getTraversalStrategy(); - } - - // The $cascadedGroups property is set, if the "Default" group is - // overridden by a group sequence - // See validateClassNode() - $cascadedGroups = null !== $cascadedGroups && \count($cascadedGroups) > 0 ? $cascadedGroups : $groups; - - if ($value instanceof LazyProperty) { - $value = $value->getPropertyValue(); - - if (null === $value) { - return; - } - } - - if (\is_array($value)) { - // Arrays are always traversed, independent of the specified - // traversal strategy - $this->validateEachObjectIn( - $value, - $propertyPath, - $cascadedGroups, - $context - ); - - return; - } - - if (!\is_object($value)) { - throw new NoSuchMetadataException(\sprintf('Cannot create metadata for non-objects. Got: "%s".', \gettype($value))); - } - - $this->validateObject( - $value, - $propertyPath, - $cascadedGroups, - $traversalStrategy, - $context - ); - - // Currently, the traversal strategy can only be TRAVERSE for a - // generic node if the cascading strategy is CASCADE. Thus, traversable - // objects will always be handled within validateObject() and there's - // nothing more to do here. - - // see GenericMetadata::addConstraint() - } - - /** - * Sequentially validates a node's value in each group of a group sequence. - * - * If any of the constraints generates a violation, subsequent groups in the - * group sequence are skipped. - */ - private function stepThroughGroupSequence(mixed $value, ?object $object, ?string $cacheKey, ?MetadataInterface $metadata, string $propertyPath, int $traversalStrategy, GroupSequence $groupSequence, ?string $cascadedGroup, ExecutionContextInterface $context): void - { - $violationCount = \count($context->getViolations()); - $cascadedGroups = $cascadedGroup ? [$cascadedGroup] : null; - - foreach ($groupSequence->groups as $groupInSequence) { - $groups = (array) $groupInSequence; - - if ($metadata instanceof ClassMetadataInterface) { - $this->validateClassNode( - $value, - $cacheKey, - $metadata, - $propertyPath, - $groups, - $cascadedGroups, - $traversalStrategy, - $context - ); - } else { - $this->validateGenericNode( - $value, - $object, - $cacheKey, - $metadata, - $propertyPath, - $groups, - $cascadedGroups, - $traversalStrategy, - $context - ); - } - - // Abort sequence validation if a violation was generated - if (\count($context->getViolations()) > $violationCount) { - break; - } - } - } - - /** - * Validates a node's value against all constraints in the given group. - */ - private function validateInGroup(mixed $value, ?string $cacheKey, MetadataInterface $metadata, string $group, ExecutionContextInterface $context): void - { - $context->setGroup($group); - - foreach ($metadata->findConstraints($group) as $constraint) { - if ($constraint instanceof Existence) { - continue; - } - - // Prevent duplicate validation of constraints, in the case - // that constraints belong to multiple validated groups - if (null !== $cacheKey) { - $constraintHash = $this->generateCacheKey($constraint, true); - // instanceof Valid: In case of using a Valid constraint with many groups - // it makes a reference object get validated by each group - if ($constraint instanceof Composite || $constraint instanceof Valid) { - $constraintHash .= $group; - } - - if ($context->isConstraintValidated($cacheKey, $constraintHash)) { - continue; - } - - $context->markConstraintAsValidated($cacheKey, $constraintHash); - } - - $context->setConstraint($constraint); - - $validator = $this->validatorFactory->getInstance($constraint); - $validator->initialize($context); - - if ($value instanceof LazyProperty) { - $value = $value->getPropertyValue(); - } - - try { - $validator->validate($value, $constraint); - } catch (UnexpectedValueException $e) { - $context->buildViolation('This value should be of type {{ type }}.') - ->setParameter('{{ type }}', $e->getExpectedType()) - ->addViolation(); - } - } - } - - private function generateCacheKey(object $object, bool $dependsOnPropertyPath = false): string - { - if ($this->context instanceof ExecutionContext) { - $cacheKey = $this->context->generateCacheKey($object); - } else { - $cacheKey = spl_object_hash($object); - } - - if ($dependsOnPropertyPath) { - $cacheKey .= $this->context->getPropertyPath(); - } - - return $cacheKey; - } -} diff --git a/app/vendor/symfony/validator/Validator/RecursiveValidator.php b/app/vendor/symfony/validator/Validator/RecursiveValidator.php deleted file mode 100644 index 12bbd539e..000000000 --- a/app/vendor/symfony/validator/Validator/RecursiveValidator.php +++ /dev/null @@ -1,99 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Validator; - -use Psr\Container\ContainerInterface; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\ConstraintValidatorFactoryInterface; -use Symfony\Component\Validator\ConstraintViolationListInterface; -use Symfony\Component\Validator\Context\ExecutionContextFactoryInterface; -use Symfony\Component\Validator\Context\ExecutionContextInterface; -use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface; -use Symfony\Component\Validator\Mapping\MetadataInterface; -use Symfony\Component\Validator\ObjectInitializerInterface; - -/** - * Recursive implementation of {@link ValidatorInterface}. - * - * @author Bernhard Schussek - */ -class RecursiveValidator implements ValidatorInterface -{ - /** - * Creates a new validator. - * - * @param ObjectInitializerInterface[] $objectInitializers The object initializers - */ - public function __construct( - protected ExecutionContextFactoryInterface $contextFactory, - protected MetadataFactoryInterface $metadataFactory, - protected ConstraintValidatorFactoryInterface $validatorFactory, - protected array $objectInitializers = [], - protected ?ContainerInterface $groupProviderLocator = null, - ) { - } - - public function startContext(mixed $root = null): ContextualValidatorInterface - { - return new RecursiveContextualValidator( - $this->contextFactory->createContext($this, $root), - $this->metadataFactory, - $this->validatorFactory, - $this->objectInitializers, - $this->groupProviderLocator, - ); - } - - public function inContext(ExecutionContextInterface $context): ContextualValidatorInterface - { - return new RecursiveContextualValidator( - $context, - $this->metadataFactory, - $this->validatorFactory, - $this->objectInitializers, - $this->groupProviderLocator, - ); - } - - public function getMetadataFor(mixed $object): MetadataInterface - { - return $this->metadataFactory->getMetadataFor($object); - } - - public function hasMetadataFor(mixed $object): bool - { - return $this->metadataFactory->hasMetadataFor($object); - } - - public function validate(mixed $value, Constraint|array|null $constraints = null, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface - { - return $this->startContext($value) - ->validate($value, $constraints, $groups) - ->getViolations(); - } - - public function validateProperty(object $object, string $propertyName, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface - { - return $this->startContext($object) - ->validateProperty($object, $propertyName, $groups) - ->getViolations(); - } - - public function validatePropertyValue(object|string $objectOrClass, string $propertyName, mixed $value, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface - { - // If a class name is passed, take $value as root - return $this->startContext(\is_object($objectOrClass) ? $objectOrClass : $value) - ->validatePropertyValue($objectOrClass, $propertyName, $value, $groups) - ->getViolations(); - } -} diff --git a/app/vendor/symfony/validator/Validator/TraceableValidator.php b/app/vendor/symfony/validator/Validator/TraceableValidator.php deleted file mode 100644 index 6f9ab5bbc..000000000 --- a/app/vendor/symfony/validator/Validator/TraceableValidator.php +++ /dev/null @@ -1,120 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Validator; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\ConstraintViolationListInterface; -use Symfony\Component\Validator\Context\ExecutionContextInterface; -use Symfony\Component\Validator\Mapping\MetadataInterface; -use Symfony\Contracts\Service\ResetInterface; - -/** - * Collects some data about validator calls. - * - * @author Maxime Steinhausser - */ -class TraceableValidator implements ValidatorInterface, ResetInterface -{ - private array $collectedData = []; - - public function __construct( - private ValidatorInterface $validator, - protected readonly ?\Closure $disabled = null, - ) { - } - - public function getCollectedData(): array - { - return $this->collectedData; - } - - public function reset(): void - { - $this->collectedData = []; - } - - public function getMetadataFor(mixed $value): MetadataInterface - { - return $this->validator->getMetadataFor($value); - } - - public function hasMetadataFor(mixed $value): bool - { - return $this->validator->hasMetadataFor($value); - } - - public function validate(mixed $value, Constraint|array|null $constraints = null, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface - { - $violations = $this->validator->validate($value, $constraints, $groups); - - if ($this->disabled?->__invoke()) { - return $violations; - } - - $trace = debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS, 7); - - $file = $trace[0]['file']; - $line = $trace[0]['line']; - - for ($i = 1; $i < 7; ++$i) { - if (isset($trace[$i]['class'], $trace[$i]['function']) - && 'validate' === $trace[$i]['function'] - && is_a($trace[$i]['class'], ValidatorInterface::class, true) - ) { - $file = $trace[$i]['file']; - $line = $trace[$i]['line']; - - while (++$i < 7) { - if (isset($trace[$i]['function'], $trace[$i]['file']) && empty($trace[$i]['class']) && !str_starts_with($trace[$i]['function'], 'call_user_func')) { - $file = $trace[$i]['file']; - $line = $trace[$i]['line']; - - break; - } - } - break; - } - } - - $name = str_replace('\\', '/', $file); - $name = substr($name, strrpos($name, '/') + 1); - - $this->collectedData[] = [ - 'caller' => compact('name', 'file', 'line'), - 'context' => compact('value', 'constraints', 'groups'), - 'violations' => iterator_to_array($violations), - ]; - - return $violations; - } - - public function validateProperty(object $object, string $propertyName, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface - { - return $this->validator->validateProperty($object, $propertyName, $groups); - } - - public function validatePropertyValue(object|string $objectOrClass, string $propertyName, mixed $value, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface - { - return $this->validator->validatePropertyValue($objectOrClass, $propertyName, $value, $groups); - } - - public function startContext(): ContextualValidatorInterface - { - return $this->validator->startContext(); - } - - public function inContext(ExecutionContextInterface $context): ContextualValidatorInterface - { - return $this->validator->inContext($context); - } -} diff --git a/app/vendor/symfony/validator/Validator/ValidatorInterface.php b/app/vendor/symfony/validator/Validator/ValidatorInterface.php deleted file mode 100644 index b465162fe..000000000 --- a/app/vendor/symfony/validator/Validator/ValidatorInterface.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Validator; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\ConstraintViolationListInterface; -use Symfony\Component\Validator\Context\ExecutionContextInterface; -use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface; - -/** - * Validates PHP values against constraints. - * - * @author Bernhard Schussek - */ -interface ValidatorInterface extends MetadataFactoryInterface -{ - /** - * Validates a value against a constraint or a list of constraints. - * - * If no constraint is passed, the constraint - * {@link \Symfony\Component\Validator\Constraints\Valid} is assumed. - * - * @param Constraint|Constraint[]|null $constraints The constraint(s) to validate against - * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed - * - * @return ConstraintViolationListInterface A list of constraint violations - * If the list is empty, validation - * succeeded - */ - public function validate(mixed $value, Constraint|array|null $constraints = null, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface; - - /** - * Validates a property of an object against the constraints specified - * for this property. - * - * @param string $propertyName The name of the validated property - * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed - * - * @return ConstraintViolationListInterface A list of constraint violations - * If the list is empty, validation - * succeeded - */ - public function validateProperty(object $object, string $propertyName, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface; - - /** - * Validates a value against the constraints specified for an object's - * property. - * - * @param object|string $objectOrClass The object or its class name - * @param string $propertyName The name of the property - * @param mixed $value The value to validate against the property's constraints - * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed - * - * @return ConstraintViolationListInterface A list of constraint violations - * If the list is empty, validation - * succeeded - */ - public function validatePropertyValue(object|string $objectOrClass, string $propertyName, mixed $value, string|GroupSequence|array|null $groups = null): ConstraintViolationListInterface; - - /** - * Starts a new validation context and returns a validator for that context. - * - * The returned validator collects all violations generated within its - * context. You can access these violations with the - * {@link ContextualValidatorInterface::getViolations()} method. - */ - public function startContext(): ContextualValidatorInterface; - - /** - * Returns a validator in the given execution context. - * - * The returned validator adds all generated violations to the given - * context. - */ - public function inContext(ExecutionContextInterface $context): ContextualValidatorInterface; -} diff --git a/app/vendor/symfony/validator/ValidatorBuilder.php b/app/vendor/symfony/validator/ValidatorBuilder.php deleted file mode 100644 index b51299016..000000000 --- a/app/vendor/symfony/validator/ValidatorBuilder.php +++ /dev/null @@ -1,401 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator; - -use Psr\Cache\CacheItemPoolInterface; -use Psr\Container\ContainerInterface; -use Symfony\Component\Validator\Context\ExecutionContextFactory; -use Symfony\Component\Validator\Exception\ValidatorException; -use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory; -use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface; -use Symfony\Component\Validator\Mapping\Loader\AttributeLoader; -use Symfony\Component\Validator\Mapping\Loader\LoaderChain; -use Symfony\Component\Validator\Mapping\Loader\LoaderInterface; -use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader; -use Symfony\Component\Validator\Mapping\Loader\XmlFileLoader; -use Symfony\Component\Validator\Mapping\Loader\YamlFileLoader; -use Symfony\Component\Validator\Validator\RecursiveValidator; -use Symfony\Component\Validator\Validator\ValidatorInterface; -use Symfony\Contracts\Translation\LocaleAwareInterface; -use Symfony\Contracts\Translation\TranslatorInterface; -use Symfony\Contracts\Translation\TranslatorTrait; - -// Help opcache.preload discover always-needed symbols -class_exists(TranslatorInterface::class); -class_exists(LocaleAwareInterface::class); -class_exists(TranslatorTrait::class); - -/** - * @author Bernhard Schussek - */ -class ValidatorBuilder -{ - private array $initializers = []; - private array $loaders = []; - private array $xmlMappings = []; - private array $yamlMappings = []; - private array $methodMappings = []; - private array $attributeMappings = []; - private bool $enableAttributeMapping = false; - private ?MetadataFactoryInterface $metadataFactory = null; - private ConstraintValidatorFactoryInterface $validatorFactory; - private ?ContainerInterface $groupProviderLocator = null; - private ?CacheItemPoolInterface $mappingCache = null; - private ?TranslatorInterface $translator = null; - private string|false|null $translationDomain = null; - - /** - * Adds an object initializer to the validator. - * - * @return $this - */ - public function addObjectInitializer(ObjectInitializerInterface $initializer): static - { - $this->initializers[] = $initializer; - - return $this; - } - - /** - * Adds a list of object initializers to the validator. - * - * @param ObjectInitializerInterface[] $initializers - * - * @return $this - */ - public function addObjectInitializers(array $initializers): static - { - $this->initializers = array_merge($this->initializers, $initializers); - - return $this; - } - - /** - * Adds an XML constraint mapping file to the validator. - * - * @return $this - */ - public function addXmlMapping(string $path): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->xmlMappings[] = $path; - - return $this; - } - - /** - * Adds a list of XML constraint mapping files to the validator. - * - * @param string[] $paths The paths to the mapping files - * - * @return $this - */ - public function addXmlMappings(array $paths): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->xmlMappings = array_merge($this->xmlMappings, $paths); - - return $this; - } - - /** - * Adds a YAML constraint mapping file to the validator. - * - * @param string $path The path to the mapping file - * - * @return $this - */ - public function addYamlMapping(string $path): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->yamlMappings[] = $path; - - return $this; - } - - /** - * Adds a list of YAML constraint mappings file to the validator. - * - * @param string[] $paths The paths to the mapping files - * - * @return $this - */ - public function addYamlMappings(array $paths): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->yamlMappings = array_merge($this->yamlMappings, $paths); - - return $this; - } - - /** - * Adds classes with mapping constraints as attributes. - * - * The keys are the classes on which the constraints should be added. - * The values are the classes that contain the constraints to add as attributes. - * - * @param array> $classes - * - * @return $this - */ - public function addAttributeMappings(array $classes): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->attributeMappings = array_merge_recursive($this->attributeMappings, $classes); - - return $this; - } - - /** - * Enables constraint mapping using the given static method. - * - * @return $this - */ - public function addMethodMapping(string $methodName): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->methodMappings[] = $methodName; - - return $this; - } - - /** - * Enables constraint mapping using the given static methods. - * - * @param string[] $methodNames The names of the methods - * - * @return $this - */ - public function addMethodMappings(array $methodNames): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->methodMappings = array_merge($this->methodMappings, $methodNames); - - return $this; - } - - /** - * Enables attribute-based constraint mapping. - * - * @return $this - */ - public function enableAttributeMapping(): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot enable attribute mapping after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->enableAttributeMapping = true; - - return $this; - } - - /** - * Disables attribute-based constraint mapping. - * - * @return $this - */ - public function disableAttributeMapping(): static - { - $this->enableAttributeMapping = false; - - return $this; - } - - /** - * Sets the class metadata factory used by the validator. - * - * @return $this - */ - public function setMetadataFactory(MetadataFactoryInterface $metadataFactory): static - { - if ($this->xmlMappings || $this->yamlMappings || $this->methodMappings || $this->attributeMappings || $this->enableAttributeMapping) { - throw new ValidatorException('You cannot set a custom metadata factory after adding custom mappings. You should do either of both.'); - } - - $this->metadataFactory = $metadataFactory; - - return $this; - } - - /** - * Sets the cache for caching class metadata. - * - * @return $this - */ - public function setMappingCache(CacheItemPoolInterface $cache): static - { - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot set a custom mapping cache after setting a custom metadata factory. Configure your metadata factory instead.'); - } - - $this->mappingCache = $cache; - - return $this; - } - - /** - * Sets the constraint validator factory used by the validator. - * - * @return $this - */ - public function setConstraintValidatorFactory(ConstraintValidatorFactoryInterface $validatorFactory): static - { - $this->validatorFactory = $validatorFactory; - - return $this; - } - - /** - * @return $this - */ - public function setGroupProviderLocator(ContainerInterface $groupProviderLocator): static - { - $this->groupProviderLocator = $groupProviderLocator; - - return $this; - } - - /** - * Sets the translator used for translating violation messages. - * - * @return $this - */ - public function setTranslator(TranslatorInterface $translator): static - { - $this->translator = $translator; - - return $this; - } - - /** - * Sets the default translation domain of violation messages. - * - * The same message can have different translations in different domains. - * Pass the domain that is used for violation messages by default to this - * method. - * - * @return $this - */ - public function setTranslationDomain(?string $translationDomain): static - { - $this->translationDomain = $translationDomain; - - return $this; - } - - /** - * @return $this - */ - public function disableTranslation(): static - { - $this->translationDomain = false; - - return $this; - } - - /** - * @return $this - */ - public function addLoader(LoaderInterface $loader): static - { - $this->loaders[] = $loader; - - return $this; - } - - /** - * @return LoaderInterface[] - */ - public function getLoaders(): array - { - $loaders = []; - - foreach ($this->xmlMappings as $xmlMapping) { - $loaders[] = new XmlFileLoader($xmlMapping); - } - - foreach ($this->yamlMappings as $yamlMappings) { - $loaders[] = new YamlFileLoader($yamlMappings); - } - - foreach ($this->methodMappings as $methodName) { - $loaders[] = new StaticMethodLoader($methodName); - } - - if ($this->enableAttributeMapping || $this->attributeMappings) { - $loaders[] = new AttributeLoader($this->enableAttributeMapping, $this->attributeMappings); - } - - return array_merge($loaders, $this->loaders); - } - - /** - * Builds and returns a new validator object. - */ - public function getValidator(): ValidatorInterface - { - $metadataFactory = $this->metadataFactory; - - if (!$metadataFactory) { - $loaders = $this->getLoaders(); - $loader = null; - - if (\count($loaders) > 1) { - $loader = new LoaderChain($loaders); - } elseif (1 === \count($loaders)) { - $loader = $loaders[0]; - } - - $metadataFactory = new LazyLoadingMetadataFactory($loader, $this->mappingCache); - } - - $validatorFactory = $this->validatorFactory ?? new ConstraintValidatorFactory(); - $translator = $this->translator; - - if (null === $translator) { - $translator = new class implements TranslatorInterface, LocaleAwareInterface { - use TranslatorTrait; - }; - // Force the locale to be 'en' when no translator is provided rather than relying on the Intl default locale - // This avoids depending on Intl or the stub implementation being available. It also ensures that Symfony - // validation messages are pluralized properly even when the default locale gets changed because they are in - // English. - $translator->setLocale('en'); - } - - $contextFactory = new ExecutionContextFactory($translator, $this->translationDomain); - - return new RecursiveValidator($contextFactory, $metadataFactory, $validatorFactory, $this->initializers, $this->groupProviderLocator); - } -} diff --git a/app/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php b/app/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php deleted file mode 100644 index d89932a43..000000000 --- a/app/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php +++ /dev/null @@ -1,140 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Violation; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintViolation; -use Symfony\Component\Validator\ConstraintViolationList; -use Symfony\Component\Validator\Util\PropertyPath; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * Default implementation of {@link ConstraintViolationBuilderInterface}. - * - * @author Bernhard Schussek - * - * @internal - */ -class ConstraintViolationBuilder implements ConstraintViolationBuilderInterface -{ - private string $propertyPath; - private ?int $plural = null; - private ?string $code = null; - private mixed $cause = null; - - public function __construct( - private ConstraintViolationList $violations, - private ?Constraint $constraint, - private string|\Stringable $message, - private array $parameters, - private mixed $root, - ?string $propertyPath, - private mixed $invalidValue, - private TranslatorInterface $translator, - private string|false|null $translationDomain = null, - ) { - $this->propertyPath = $propertyPath ?? ''; - } - - public function atPath(string $path): static - { - $this->propertyPath = PropertyPath::append($this->propertyPath, $path); - - return $this; - } - - public function setParameter(string $key, string $value): static - { - $this->parameters[$key] = $value; - - return $this; - } - - public function setParameters(array $parameters): static - { - $this->parameters = $parameters; - - return $this; - } - - public function setTranslationDomain(string $translationDomain): static - { - $this->translationDomain = $translationDomain; - - return $this; - } - - /** - * @return $this - */ - public function disableTranslation(): static - { - $this->translationDomain = false; - - return $this; - } - - public function setInvalidValue(mixed $invalidValue): static - { - $this->invalidValue = $invalidValue; - - return $this; - } - - public function setPlural(int $number): static - { - $this->plural = $number; - - return $this; - } - - public function setCode(?string $code): static - { - $this->code = $code; - - return $this; - } - - public function setCause(mixed $cause): static - { - $this->cause = $cause; - - return $this; - } - - public function addViolation(): void - { - $parameters = null === $this->plural ? $this->parameters : (['%count%' => $this->plural] + $this->parameters); - if (false === $this->translationDomain) { - $translatedMessage = strtr($this->message, $parameters); - } else { - $translatedMessage = $this->translator->trans( - $this->message, - $parameters, - $this->translationDomain - ); - } - - $this->violations->add(new ConstraintViolation( - $translatedMessage, - $this->message, - $this->parameters, - $this->root, - $this->propertyPath, - $this->invalidValue, - $this->plural, - $this->code, - $this->constraint, - $this->cause - )); - } -} diff --git a/app/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php b/app/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php deleted file mode 100644 index 4c0de8913..000000000 --- a/app/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Validator\Violation; - -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * Builds {@link \Symfony\Component\Validator\ConstraintViolationInterface} - * objects. - * - * Use the various methods on this interface to configure the built violation. - * Finally, call {@link addViolation()} to add the violation to the current - * execution context. - * - * @author Bernhard Schussek - */ -interface ConstraintViolationBuilderInterface -{ - /** - * Stores the property path at which the violation should be generated. - * - * The passed path will be appended to the current property path of the - * execution context. - * - * @param string $path The property path - * - * @return $this - */ - public function atPath(string $path): static; - - /** - * Sets a parameter to be inserted into the violation message. - * - * @param string $key The name of the parameter - * @param string $value The value to be inserted in the parameter's place - * - * @return $this - */ - public function setParameter(string $key, string $value): static; - - /** - * Sets all parameters to be inserted into the violation message. - * - * @param array $parameters An array with the parameter names as keys and - * the values to be inserted in their place as - * values - * - * @return $this - */ - public function setParameters(array $parameters): static; - - /** - * @return $this - */ - public function disableTranslation(): static; - - /** - * Sets the translation domain which should be used for translating the - * violation message. - * - * @param string $translationDomain The translation domain - * - * @return $this - * - * @see TranslatorInterface - */ - public function setTranslationDomain(string $translationDomain): static; - - /** - * Sets the invalid value that caused this violation. - * - * @return $this - */ - public function setInvalidValue(mixed $invalidValue): static; - - /** - * Sets the number which determines how the plural form of the violation - * message is chosen when it is translated. - * - * @param int $number The number for determining the plural form - * - * @return $this - * - * @see \Symfony\Contracts\Translation\TranslatorInterface::trans() - */ - public function setPlural(int $number): static; - - /** - * Sets the violation code. - * - * @param string|null $code The violation code - * - * @return $this - */ - public function setCode(?string $code): static; - - /** - * Sets the cause of the violation. - * - * @param mixed $cause The cause of the violation - * - * @return $this - */ - public function setCause(mixed $cause): static; - - /** - * Adds the violation to the current execution context. - */ - public function addViolation(): void; -} diff --git a/app/vendor/symfony/validator/composer.json b/app/vendor/symfony/validator/composer.json deleted file mode 100644 index 0af683361..000000000 --- a/app/vendor/symfony/validator/composer.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "name": "symfony/validator", - "type": "library", - "description": "Provides tools to validate values", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php83": "^1.27", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/translation-contracts": "^2.5|^3" - }, - "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/finder": "^6.4|^7.0|^8.0", - "symfony/http-client": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/intl": "^6.4|^7.0|^8.0", - "symfony/yaml": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/cache": "^6.4|^7.0|^8.0", - "symfony/mime": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/property-info": "^6.4|^7.0|^8.0", - "symfony/string": "^6.4|^7.0|^8.0", - "symfony/translation": "^6.4.3|^7.0.3|^8.0", - "symfony/type-info": "^7.1.8", - "egulias/email-validator": "^2.1.10|^3|^4" - }, - "conflict": { - "doctrine/lexer": "<1.1", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<7.0", - "symfony/expression-language": "<6.4", - "symfony/http-kernel": "<6.4", - "symfony/intl": "<6.4", - "symfony/property-info": "<6.4", - "symfony/translation": "<6.4.3|>=7.0,<7.0.3", - "symfony/var-exporter": "<6.4.25|>=7.0,<7.3.3", - "symfony/yaml": "<6.4" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Validator\\": "" }, - "exclude-from-classmap": [ - "/Tests/", - "/Resources/bin/" - ] - }, - "minimum-stability": "dev" -} diff --git a/app/vendor/symfony/yaml/CHANGELOG.md b/app/vendor/symfony/yaml/CHANGELOG.md deleted file mode 100644 index 364bf66df..000000000 --- a/app/vendor/symfony/yaml/CHANGELOG.md +++ /dev/null @@ -1,275 +0,0 @@ -CHANGELOG -========= - -7.3 ---- - - * Add compact nested mapping support by using the `Yaml::DUMP_COMPACT_NESTED_MAPPING` flag - * Add the `Yaml::DUMP_FORCE_DOUBLE_QUOTES_ON_VALUES` flag to enforce double quotes around string values - -7.2 ---- - - * Deprecate parsing duplicate mapping keys whose value is `null` - * Add support for dumping `null` as an empty value by using the `Yaml::DUMP_NULL_AS_EMPTY` flag - -7.1 ---- - - * Add support for getting all the enum cases with `!php/enum Foo` - -7.0 ---- - - * Remove the `!php/const:` tag, use `!php/const` instead (without the colon) - -6.3 ---- - - * Add support to dump int keys as strings by using the `Yaml::DUMP_NUMERIC_KEY_AS_STRING` flag - -6.2 ---- - - * Add support for `!php/enum` and `!php/enum *->value` - * Deprecate the `!php/const:` tag in key which will be replaced by the `!php/const` tag (without the colon) since 3.4 - -6.1 ---- - - * In cases where it will likely improve readability, strings containing single quotes will be double-quoted - -5.4 ---- - - * Add new `lint:yaml dirname --exclude=/dirname/foo.yaml --exclude=/dirname/bar.yaml` - option to exclude one or more specific files from multiple file list - * Allow negatable for the parse tags option with `--no-parse-tags` - -5.3 ---- - - * Added `github` format support & autodetection to render errors as annotations - when running the YAML linter command in a Github Action environment. - -5.1.0 ------ - - * Added support for parsing numbers prefixed with `0o` as octal numbers. - * Deprecated support for parsing numbers starting with `0` as octal numbers. They will be parsed as strings as of Symfony 6.0. Prefix numbers with `0o` - so that they are parsed as octal numbers. - - Before: - - ```yaml - Yaml::parse('072'); - ``` - - After: - - ```yaml - Yaml::parse('0o72'); - ``` - - * Added `yaml-lint` binary. - * Deprecated using the `!php/object` and `!php/const` tags without a value. - -5.0.0 ------ - - * Removed support for mappings inside multi-line strings. - * removed support for implicit STDIN usage in the `lint:yaml` command, use `lint:yaml -` (append a dash) instead to make it explicit. - -4.4.0 ------ - - * Added support for parsing the inline notation spanning multiple lines. - * Added support to dump `null` as `~` by using the `Yaml::DUMP_NULL_AS_TILDE` flag. - * deprecated accepting STDIN implicitly when using the `lint:yaml` command, use `lint:yaml -` (append a dash) instead to make it explicit. - -4.3.0 ------ - - * Using a mapping inside a multi-line string is deprecated and will throw a `ParseException` in 5.0. - -4.2.0 ------ - - * added support for multiple files or directories in `LintCommand` - -4.0.0 ------ - - * The behavior of the non-specific tag `!` is changed and now forces - non-evaluating your values. - * complex mappings will throw a `ParseException` - * support for the comma as a group separator for floats has been dropped, use - the underscore instead - * support for the `!!php/object` tag has been dropped, use the `!php/object` - tag instead - * duplicate mapping keys throw a `ParseException` - * non-string mapping keys throw a `ParseException`, use the `Yaml::PARSE_KEYS_AS_STRINGS` - flag to cast them to strings - * `%` at the beginning of an unquoted string throw a `ParseException` - * mappings with a colon (`:`) that is not followed by a whitespace throw a - `ParseException` - * the `Dumper::setIndentation()` method has been removed - * being able to pass boolean options to the `Yaml::parse()`, `Yaml::dump()`, - `Parser::parse()`, and `Dumper::dump()` methods to configure the behavior of - the parser and dumper is no longer supported, pass bitmask flags instead - * the constructor arguments of the `Parser` class have been removed - * the `Inline` class is internal and no longer part of the BC promise - * removed support for the `!str` tag, use the `!!str` tag instead - * added support for tagged scalars. - - ```yml - Yaml::parse('!foo bar', Yaml::PARSE_CUSTOM_TAGS); - // returns TaggedValue('foo', 'bar'); - ``` - -3.4.0 ------ - - * added support for parsing YAML files using the `Yaml::parseFile()` or `Parser::parseFile()` method - - * the `Dumper`, `Parser`, and `Yaml` classes are marked as final - - * Deprecated the `!php/object:` tag which will be replaced by the - `!php/object` tag (without the colon) in 4.0. - - * Deprecated the `!php/const:` tag which will be replaced by the - `!php/const` tag (without the colon) in 4.0. - - * Support for the `!str` tag is deprecated, use the `!!str` tag instead. - - * Deprecated using the non-specific tag `!` as its behavior will change in 4.0. - It will force non-evaluating your values in 4.0. Use plain integers or `!!float` instead. - -3.3.0 ------ - - * Starting an unquoted string with a question mark followed by a space is - deprecated and will throw a `ParseException` in Symfony 4.0. - - * Deprecated support for implicitly parsing non-string mapping keys as strings. - Mapping keys that are no strings will lead to a `ParseException` in Symfony - 4.0. Use quotes to opt-in for keys to be parsed as strings. - - Before: - - ```php - $yaml = << new A(), 'bar' => 1], 0, 0, Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE | Yaml::DUMP_OBJECT); - ``` - -3.0.0 ------ - - * Yaml::parse() now throws an exception when a blackslash is not escaped - in double-quoted strings - -2.8.0 ------ - - * Deprecated usage of a colon in an unquoted mapping value - * Deprecated usage of @, \`, | and > at the beginning of an unquoted string - * When surrounding strings with double-quotes, you must now escape `\` characters. Not - escaping those characters (when surrounded by double-quotes) is deprecated. - - Before: - - ```yml - class: "Foo\Var" - ``` - - After: - - ```yml - class: "Foo\\Var" - ``` - -2.1.0 ------ - - * Yaml::parse() does not evaluate loaded files as PHP files by default - anymore (call Yaml::enablePhpParsing() to get back the old behavior) diff --git a/app/vendor/symfony/yaml/Command/LintCommand.php b/app/vendor/symfony/yaml/Command/LintCommand.php deleted file mode 100644 index 2088d2f1d..000000000 --- a/app/vendor/symfony/yaml/Command/LintCommand.php +++ /dev/null @@ -1,277 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml\Command; - -use Symfony\Component\Console\Attribute\AsCommand; -use Symfony\Component\Console\CI\GithubActionReporter; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Completion\CompletionInput; -use Symfony\Component\Console\Completion\CompletionSuggestions; -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\RuntimeException; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Style\SymfonyStyle; -use Symfony\Component\Yaml\Exception\ParseException; -use Symfony\Component\Yaml\Parser; -use Symfony\Component\Yaml\Yaml; - -/** - * Validates YAML files syntax and outputs encountered errors. - * - * @author Grégoire Pineau - * @author Robin Chalas - */ -#[AsCommand(name: 'lint:yaml', description: 'Lint a YAML file and outputs encountered errors')] -class LintCommand extends Command -{ - private Parser $parser; - private ?string $format = null; - private bool $displayCorrectFiles; - private ?\Closure $directoryIteratorProvider; - private ?\Closure $isReadableProvider; - - public function __construct(?string $name = null, ?callable $directoryIteratorProvider = null, ?callable $isReadableProvider = null) - { - parent::__construct($name); - - $this->directoryIteratorProvider = null === $directoryIteratorProvider ? null : $directoryIteratorProvider(...); - $this->isReadableProvider = null === $isReadableProvider ? null : $isReadableProvider(...); - } - - protected function configure(): void - { - $this - ->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN') - ->addOption('format', null, InputOption::VALUE_REQUIRED, \sprintf('The output format ("%s")', implode('", "', $this->getAvailableFormatOptions()))) - ->addOption('exclude', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Path(s) to exclude') - ->addOption('parse-tags', null, InputOption::VALUE_NEGATABLE, 'Parse custom tags', null) - ->setHelp(<<%command.name% command lints a YAML file and outputs to STDOUT - the first encountered syntax error. - - You can validates YAML contents passed from STDIN: - - cat filename | php %command.full_name% - - - You can also validate the syntax of a file: - - php %command.full_name% filename - - Or of a whole directory: - - php %command.full_name% dirname - - The --format option specifies the format of the command output: - - php %command.full_name% dirname --format=json - - You can also exclude one or more specific files: - - php %command.full_name% dirname --exclude="dirname/foo.yaml" --exclude="dirname/bar.yaml" - - EOF - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output): int - { - $io = new SymfonyStyle($input, $output); - $filenames = (array) $input->getArgument('filename'); - $excludes = $input->getOption('exclude'); - $this->format = $input->getOption('format'); - $flags = $input->getOption('parse-tags'); - - if (null === $this->format) { - // Autodetect format according to CI environment - $this->format = class_exists(GithubActionReporter::class) && GithubActionReporter::isGithubActionEnvironment() ? 'github' : 'txt'; - } - - $flags = $flags ? Yaml::PARSE_CUSTOM_TAGS : 0; - - $this->displayCorrectFiles = $output->isVerbose(); - - if (['-'] === $filenames) { - return $this->display($io, [$this->validate(file_get_contents('php://stdin'), $flags)]); - } - - if (!$filenames) { - throw new RuntimeException('Please provide a filename or pipe file content to STDIN.'); - } - - $filesInfo = []; - foreach ($filenames as $filename) { - if (!$this->isReadable($filename)) { - throw new RuntimeException(\sprintf('File or directory "%s" is not readable.', $filename)); - } - - foreach ($this->getFiles($filename) as $file) { - if (!\in_array($file->getPathname(), $excludes, true)) { - $filesInfo[] = $this->validate(file_get_contents($file), $flags, $file); - } - } - } - - return $this->display($io, $filesInfo); - } - - private function validate(string $content, int $flags, ?string $file = null): array - { - $prevErrorHandler = set_error_handler(function ($level, $message, $file, $line) use (&$prevErrorHandler) { - if (\E_USER_DEPRECATED === $level) { - throw new ParseException($message, $this->getParser()->getRealCurrentLineNb() + 1); - } - - return $prevErrorHandler ? $prevErrorHandler($level, $message, $file, $line) : false; - }); - - try { - $this->getParser()->parse($content, Yaml::PARSE_CONSTANT | $flags); - } catch (ParseException $e) { - return ['file' => $file, 'line' => $e->getParsedLine(), 'valid' => false, 'message' => $e->getMessage()]; - } finally { - restore_error_handler(); - } - - return ['file' => $file, 'valid' => true]; - } - - private function display(SymfonyStyle $io, array $files): int - { - return match ($this->format) { - 'txt' => $this->displayTxt($io, $files), - 'json' => $this->displayJson($io, $files), - 'github' => $this->displayTxt($io, $files, true), - default => throw new InvalidArgumentException(\sprintf('Supported formats are "%s".', implode('", "', $this->getAvailableFormatOptions()))), - }; - } - - private function displayTxt(SymfonyStyle $io, array $filesInfo, bool $errorAsGithubAnnotations = false): int - { - $countFiles = \count($filesInfo); - $erroredFiles = 0; - $suggestTagOption = false; - - if ($errorAsGithubAnnotations) { - $githubReporter = new GithubActionReporter($io); - } - - foreach ($filesInfo as $info) { - if ($info['valid'] && $this->displayCorrectFiles) { - $io->comment('OK'.($info['file'] ? \sprintf(' in %s', $info['file']) : '')); - } elseif (!$info['valid']) { - ++$erroredFiles; - $io->text(' ERROR '.($info['file'] ? \sprintf(' in %s', $info['file']) : '')); - $io->text(\sprintf(' >> %s', $info['message'])); - - if (str_contains($info['message'], 'PARSE_CUSTOM_TAGS')) { - $suggestTagOption = true; - } - - if ($errorAsGithubAnnotations) { - $githubReporter->error($info['message'], $info['file'] ?? 'php://stdin', $info['line']); - } - } - } - - if (0 === $erroredFiles) { - $io->success(\sprintf('All %d YAML files contain valid syntax.', $countFiles)); - } else { - $io->warning(\sprintf('%d YAML files have valid syntax and %d contain errors.%s', $countFiles - $erroredFiles, $erroredFiles, $suggestTagOption ? ' Use the --parse-tags option if you want parse custom tags.' : '')); - } - - return min($erroredFiles, 1); - } - - private function displayJson(SymfonyStyle $io, array $filesInfo): int - { - $errors = 0; - - array_walk($filesInfo, function (&$v) use (&$errors) { - $v['file'] = (string) $v['file']; - if (!$v['valid']) { - ++$errors; - } - - if (isset($v['message']) && str_contains($v['message'], 'PARSE_CUSTOM_TAGS')) { - $v['message'] .= ' Use the --parse-tags option if you want parse custom tags.'; - } - }); - - $io->writeln(json_encode($filesInfo, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES)); - - return min($errors, 1); - } - - private function getFiles(string $fileOrDirectory): iterable - { - if (is_file($fileOrDirectory)) { - yield new \SplFileInfo($fileOrDirectory); - - return; - } - - foreach ($this->getDirectoryIterator($fileOrDirectory) as $file) { - if (!\in_array($file->getExtension(), ['yml', 'yaml'], true)) { - continue; - } - - yield $file; - } - } - - private function getParser(): Parser - { - return $this->parser ??= new Parser(); - } - - private function getDirectoryIterator(string $directory): iterable - { - $default = fn ($directory) => new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($directory, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS), - \RecursiveIteratorIterator::LEAVES_ONLY - ); - - if (null !== $this->directoryIteratorProvider) { - return ($this->directoryIteratorProvider)($directory, $default); - } - - return $default($directory); - } - - private function isReadable(string $fileOrDirectory): bool - { - $default = is_readable(...); - - if (null !== $this->isReadableProvider) { - return ($this->isReadableProvider)($fileOrDirectory, $default); - } - - return $default($fileOrDirectory); - } - - public function complete(CompletionInput $input, CompletionSuggestions $suggestions): void - { - if ($input->mustSuggestOptionValuesFor('format')) { - $suggestions->suggestValues($this->getAvailableFormatOptions()); - } - } - - /** @return string[] */ - private function getAvailableFormatOptions(): array - { - return ['txt', 'json', 'github']; - } -} diff --git a/app/vendor/symfony/yaml/Dumper.php b/app/vendor/symfony/yaml/Dumper.php deleted file mode 100644 index cd5a1f6cb..000000000 --- a/app/vendor/symfony/yaml/Dumper.php +++ /dev/null @@ -1,184 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml; - -use Symfony\Component\Yaml\Tag\TaggedValue; - -/** - * Dumper dumps PHP variables to YAML strings. - * - * @author Fabien Potencier - * - * @final - */ -class Dumper -{ - /** - * @param int $indentation The amount of spaces to use for indentation of nested nodes - */ - public function __construct(private int $indentation = 4) - { - if ($indentation < 1) { - throw new \InvalidArgumentException('The indentation must be greater than zero.'); - } - } - - /** - * Dumps a PHP value to YAML. - * - * @param mixed $input The PHP value - * @param int $inline The level where you switch to inline YAML - * @param int $indent The level of indentation (used internally) - * @param int-mask-of $flags A bit field of Yaml::DUMP_* constants to customize the dumped YAML string - */ - public function dump(mixed $input, int $inline = 0, int $indent = 0, int $flags = 0): string - { - if ($flags & Yaml::DUMP_NULL_AS_EMPTY && $flags & Yaml::DUMP_NULL_AS_TILDE) { - throw new \InvalidArgumentException('The Yaml::DUMP_NULL_AS_EMPTY and Yaml::DUMP_NULL_AS_TILDE flags cannot be used together.'); - } - - return $this->doDump($input, $inline, $indent, $flags); - } - - private function doDump(mixed $input, int $inline = 0, int $indent = 0, int $flags = 0, int $nestingLevel = 0): string - { - $output = ''; - $prefix = $indent ? str_repeat(' ', $indent) : ''; - $dumpObjectAsInlineMap = true; - - if (Yaml::DUMP_OBJECT_AS_MAP & $flags && ($input instanceof \ArrayObject || $input instanceof \stdClass)) { - $dumpObjectAsInlineMap = !(array) $input; - } - - if ($inline <= 0 || (!\is_array($input) && !$input instanceof TaggedValue && $dumpObjectAsInlineMap) || !$input) { - $output .= $prefix.Inline::dump($input, $flags, 0 === $nestingLevel); - } elseif ($input instanceof TaggedValue) { - $output .= $this->dumpTaggedValue($input, $inline, $indent, $flags, $prefix, $nestingLevel); - } else { - $dumpAsMap = Inline::isHash($input); - $compactNestedMapping = Yaml::DUMP_COMPACT_NESTED_MAPPING & $flags && !$dumpAsMap; - - foreach ($input as $key => $value) { - if ('' !== $output && "\n" !== $output[-1]) { - $output .= "\n"; - } - - if (\is_int($key) && Yaml::DUMP_NUMERIC_KEY_AS_STRING & $flags) { - $key = (string) $key; - } - - if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value) && str_contains($value, "\n") && !str_contains($value, "\r")) { - $blockIndentationIndicator = $this->getBlockIndentationIndicator($value); - - if (isset($value[-2]) && "\n" === $value[-2] && "\n" === $value[-1]) { - $blockChompingIndicator = '+'; - } elseif ("\n" === $value[-1]) { - $blockChompingIndicator = ''; - } else { - $blockChompingIndicator = '-'; - } - - $output .= \sprintf('%s%s%s |%s%s', $prefix, $dumpAsMap ? Inline::dump($key, $flags).':' : '-', '', $blockIndentationIndicator, $blockChompingIndicator); - - foreach (explode("\n", $value) as $row) { - if ('' === $row) { - $output .= "\n"; - } else { - $output .= \sprintf("\n%s%s%s", $prefix, str_repeat(' ', $this->indentation), $row); - } - } - - continue; - } - - if ($value instanceof TaggedValue) { - $output .= \sprintf('%s%s !%s', $prefix, $dumpAsMap ? Inline::dump($key, $flags).':' : '-', $value->getTag()); - - if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value->getValue()) && str_contains($value->getValue(), "\n") && !str_contains($value->getValue(), "\r\n")) { - $blockIndentationIndicator = $this->getBlockIndentationIndicator($value->getValue()); - $output .= \sprintf(' |%s', $blockIndentationIndicator); - - foreach (explode("\n", $value->getValue()) as $row) { - $output .= \sprintf("\n%s%s%s", $prefix, str_repeat(' ', $this->indentation), $row); - } - - continue; - } - - if ($inline - 1 <= 0 || null === $value->getValue() || \is_scalar($value->getValue())) { - $output .= ' '.$this->doDump($value->getValue(), $inline - 1, 0, $flags, $nestingLevel + 1)."\n"; - } else { - $output .= "\n"; - $output .= $this->doDump($value->getValue(), $inline - 1, $dumpAsMap ? $indent + $this->indentation : $indent + 2, $flags, $nestingLevel + 1); - } - - continue; - } - - $dumpObjectAsInlineMap = true; - - if (Yaml::DUMP_OBJECT_AS_MAP & $flags && ($value instanceof \ArrayObject || $value instanceof \stdClass)) { - $dumpObjectAsInlineMap = !(array) $value; - } - - $willBeInlined = $inline - 1 <= 0 || !\is_array($value) && $dumpObjectAsInlineMap || !$value; - - $output .= \sprintf('%s%s%s%s', - $prefix, - $dumpAsMap ? Inline::dump($key, $flags).':' : '-', - $willBeInlined || ($compactNestedMapping && \is_array($value) && Inline::isHash($value)) ? ' ' : "\n", - $compactNestedMapping && \is_array($value) && Inline::isHash($value) ? substr($this->doDump($value, $inline - 1, $indent + 2, $flags, $nestingLevel + 1), $indent + 2) : $this->doDump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation, $flags, $nestingLevel + 1) - ).($willBeInlined ? "\n" : ''); - } - } - - return $output; - } - - private function dumpTaggedValue(TaggedValue $value, int $inline, int $indent, int $flags, string $prefix, int $nestingLevel): string - { - $output = \sprintf('%s!%s', $prefix ? $prefix.' ' : '', $value->getTag()); - - if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value->getValue()) && str_contains($value->getValue(), "\n") && !str_contains($value->getValue(), "\r\n")) { - $blockIndentationIndicator = $this->getBlockIndentationIndicator($value->getValue()); - $output .= \sprintf(' |%s', $blockIndentationIndicator); - - foreach (explode("\n", $value->getValue()) as $row) { - $output .= \sprintf("\n%s%s%s", $prefix, str_repeat(' ', $this->indentation), $row); - } - - return $output; - } - - if ($inline - 1 <= 0 || null === $value->getValue() || \is_scalar($value->getValue())) { - return $output.' '.$this->doDump($value->getValue(), $inline - 1, 0, $flags, $nestingLevel + 1)."\n"; - } - - return $output."\n".$this->doDump($value->getValue(), $inline - 1, $indent, $flags, $nestingLevel + 1); - } - - private function getBlockIndentationIndicator(string $value): string - { - $lines = explode("\n", $value); - - // If the first line (that is neither empty nor contains only spaces) - // starts with a space character, the spec requires a block indentation indicator - // http://www.yaml.org/spec/1.2/spec.html#id2793979 - foreach ($lines as $line) { - if ('' !== trim($line, ' ')) { - return str_starts_with($line, ' ') ? (string) $this->indentation : ''; - } - } - - return ''; - } -} diff --git a/app/vendor/symfony/yaml/Escaper.php b/app/vendor/symfony/yaml/Escaper.php deleted file mode 100644 index 921d62ffa..000000000 --- a/app/vendor/symfony/yaml/Escaper.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml; - -/** - * Escaper encapsulates escaping rules for single and double-quoted - * YAML strings. - * - * @author Matthew Lewinski - * - * @internal - */ -class Escaper -{ - // Characters that would cause a dumped string to require double quoting. - public const REGEX_CHARACTER_TO_ESCAPE = "[\\x00-\\x1f]|\x7f|\xc2\x85|\xc2\xa0|\xe2\x80\xa8|\xe2\x80\xa9"; - - // Mapping arrays for escaping a double quoted string. The backslash is - // first to ensure proper escaping because str_replace operates iteratively - // on the input arrays. This ordering of the characters avoids the use of strtr, - // which performs more slowly. - private const ESCAPEES = [ - '\\', '\\\\', '\\"', '"', - "\x00", "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", - "\x08", "\x09", "\x0a", "\x0b", "\x0c", "\x0d", "\x0e", "\x0f", - "\x10", "\x11", "\x12", "\x13", "\x14", "\x15", "\x16", "\x17", - "\x18", "\x19", "\x1a", "\x1b", "\x1c", "\x1d", "\x1e", "\x1f", - "\x7f", - "\xc2\x85", "\xc2\xa0", "\xe2\x80\xa8", "\xe2\x80\xa9", - ]; - private const ESCAPED = [ - '\\\\', '\\"', '\\\\', '\\"', - '\\0', '\\x01', '\\x02', '\\x03', '\\x04', '\\x05', '\\x06', '\\a', - '\\b', '\\t', '\\n', '\\v', '\\f', '\\r', '\\x0e', '\\x0f', - '\\x10', '\\x11', '\\x12', '\\x13', '\\x14', '\\x15', '\\x16', '\\x17', - '\\x18', '\\x19', '\\x1a', '\\e', '\\x1c', '\\x1d', '\\x1e', '\\x1f', - '\\x7f', - '\\N', '\\_', '\\L', '\\P', - ]; - - /** - * Determines if a PHP value would require double quoting in YAML. - * - * @param string $value A PHP value - */ - public static function requiresDoubleQuoting(string $value): bool - { - return 0 < preg_match('/'.self::REGEX_CHARACTER_TO_ESCAPE.'/u', $value); - } - - /** - * Escapes and surrounds a PHP value with double quotes. - * - * @param string $value A PHP value - */ - public static function escapeWithDoubleQuotes(string $value): string - { - return \sprintf('"%s"', str_replace(self::ESCAPEES, self::ESCAPED, $value)); - } - - /** - * Determines if a PHP value would require single quoting in YAML. - * - * @param string $value A PHP value - */ - public static function requiresSingleQuoting(string $value): bool - { - // Determines if a PHP value is entirely composed of a value that would - // require single quoting in YAML. - if (\in_array(strtolower($value), ['null', '~', 'true', 'false', 'y', 'n', 'yes', 'no', 'on', 'off'], true)) { - return true; - } - - // Determines if the PHP value contains any single characters that would - // cause it to require single quoting in YAML. - return 0 < preg_match('/[\s\'"\:\{\}\[\],&\*\#\?] | \A[\-?|<>=!%@`\p{Zs}]/xu', $value); - } - - /** - * Escapes and surrounds a PHP value with single quotes. - * - * @param string $value A PHP value - */ - public static function escapeWithSingleQuotes(string $value): string - { - return \sprintf("'%s'", str_replace('\'', '\'\'', $value)); - } -} diff --git a/app/vendor/symfony/yaml/Exception/DumpException.php b/app/vendor/symfony/yaml/Exception/DumpException.php deleted file mode 100644 index cce972f24..000000000 --- a/app/vendor/symfony/yaml/Exception/DumpException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml\Exception; - -/** - * Exception class thrown when an error occurs during dumping. - * - * @author Fabien Potencier - */ -class DumpException extends RuntimeException -{ -} diff --git a/app/vendor/symfony/yaml/Exception/ExceptionInterface.php b/app/vendor/symfony/yaml/Exception/ExceptionInterface.php deleted file mode 100644 index 909131684..000000000 --- a/app/vendor/symfony/yaml/Exception/ExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml\Exception; - -/** - * Exception interface for all exceptions thrown by the component. - * - * @author Fabien Potencier - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/app/vendor/symfony/yaml/Exception/ParseException.php b/app/vendor/symfony/yaml/Exception/ParseException.php deleted file mode 100644 index 3b96169ee..000000000 --- a/app/vendor/symfony/yaml/Exception/ParseException.php +++ /dev/null @@ -1,121 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml\Exception; - -/** - * Exception class thrown when an error occurs during parsing. - * - * @author Fabien Potencier - */ -class ParseException extends RuntimeException -{ - /** - * @param string $rawMessage The error message - * @param int $parsedLine The line where the error occurred - * @param string|null $snippet The snippet of code near the problem - * @param string|null $parsedFile The file name where the error occurred - */ - public function __construct( - private string $rawMessage, - private int $parsedLine = -1, - private ?string $snippet = null, - private ?string $parsedFile = null, - ?\Throwable $previous = null, - ) { - $this->updateRepr(); - - parent::__construct($this->message, 0, $previous); - } - - /** - * Gets the snippet of code near the error. - */ - public function getSnippet(): string - { - return $this->snippet; - } - - /** - * Sets the snippet of code near the error. - */ - public function setSnippet(string $snippet): void - { - $this->snippet = $snippet; - - $this->updateRepr(); - } - - /** - * Gets the filename where the error occurred. - * - * This method returns null if a string is parsed. - */ - public function getParsedFile(): string - { - return $this->parsedFile; - } - - /** - * Sets the filename where the error occurred. - */ - public function setParsedFile(string $parsedFile): void - { - $this->parsedFile = $parsedFile; - - $this->updateRepr(); - } - - /** - * Gets the line where the error occurred. - */ - public function getParsedLine(): int - { - return $this->parsedLine; - } - - /** - * Sets the line where the error occurred. - */ - public function setParsedLine(int $parsedLine): void - { - $this->parsedLine = $parsedLine; - - $this->updateRepr(); - } - - private function updateRepr(): void - { - $this->message = $this->rawMessage; - - $dot = false; - if (str_ends_with($this->message, '.')) { - $this->message = substr($this->message, 0, -1); - $dot = true; - } - - if (null !== $this->parsedFile) { - $this->message .= \sprintf(' in %s', json_encode($this->parsedFile, \JSON_UNESCAPED_SLASHES | \JSON_UNESCAPED_UNICODE)); - } - - if ($this->parsedLine >= 0) { - $this->message .= \sprintf(' at line %d', $this->parsedLine); - } - - if ($this->snippet) { - $this->message .= \sprintf(' (near "%s")', $this->snippet); - } - - if ($dot) { - $this->message .= '.'; - } - } -} diff --git a/app/vendor/symfony/yaml/Exception/RuntimeException.php b/app/vendor/symfony/yaml/Exception/RuntimeException.php deleted file mode 100644 index 3f36b73be..000000000 --- a/app/vendor/symfony/yaml/Exception/RuntimeException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml\Exception; - -/** - * Exception class thrown when an error occurs during parsing. - * - * @author Romain Neutron - */ -class RuntimeException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/app/vendor/symfony/yaml/Inline.php b/app/vendor/symfony/yaml/Inline.php deleted file mode 100644 index 36b2f1374..000000000 --- a/app/vendor/symfony/yaml/Inline.php +++ /dev/null @@ -1,880 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml; - -use Symfony\Component\Yaml\Exception\DumpException; -use Symfony\Component\Yaml\Exception\ParseException; -use Symfony\Component\Yaml\Tag\TaggedValue; - -/** - * Inline implements a YAML parser/dumper for the YAML inline syntax. - * - * @author Fabien Potencier - * - * @internal - */ -class Inline -{ - public const REGEX_QUOTED_STRING = '(?:"([^"\\\\]*+(?:\\\\.[^"\\\\]*+)*+)"|\'([^\']*+(?:\'\'[^\']*+)*+)\')'; - - public static int $parsedLineNumber = -1; - public static ?string $parsedFilename = null; - - private static bool $exceptionOnInvalidType = false; - private static bool $objectSupport = false; - private static bool $objectForMap = false; - private static bool $constantSupport = false; - - public static function initialize(int $flags, ?int $parsedLineNumber = null, ?string $parsedFilename = null): void - { - self::$exceptionOnInvalidType = (bool) (Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE & $flags); - self::$objectSupport = (bool) (Yaml::PARSE_OBJECT & $flags); - self::$objectForMap = (bool) (Yaml::PARSE_OBJECT_FOR_MAP & $flags); - self::$constantSupport = (bool) (Yaml::PARSE_CONSTANT & $flags); - self::$parsedFilename = $parsedFilename; - - if (null !== $parsedLineNumber) { - self::$parsedLineNumber = $parsedLineNumber; - } - } - - /** - * Converts a YAML string to a PHP value. - * - * @param int $flags A bit field of Yaml::PARSE_* constants to customize the YAML parser behavior - * @param array $references Mapping of variable names to values - * - * @throws ParseException - */ - public static function parse(string $value, int $flags = 0, array &$references = []): mixed - { - self::initialize($flags); - - $value = trim($value); - - if ('' === $value) { - return ''; - } - - $i = 0; - $tag = self::parseTag($value, $i, $flags); - switch ($value[$i]) { - case '[': - $result = self::parseSequence($value, $flags, $i, $references); - ++$i; - break; - case '{': - $result = self::parseMapping($value, $flags, $i, $references); - ++$i; - break; - default: - $result = self::parseScalar($value, $flags, null, $i, true, $references); - } - - // some comments are allowed at the end - if (preg_replace('/\s*#.*$/A', '', substr($value, $i))) { - throw new ParseException(\sprintf('Unexpected characters near "%s".', substr($value, $i)), self::$parsedLineNumber + 1, $value, self::$parsedFilename); - } - - if (null !== $tag && '' !== $tag) { - return new TaggedValue($tag, $result); - } - - return $result; - } - - /** - * Dumps a given PHP variable to a YAML string. - * - * @param mixed $value The PHP variable to convert - * @param int $flags A bit field of Yaml::DUMP_* constants to customize the dumped YAML string - * - * @throws DumpException When trying to dump PHP resource - */ - public static function dump(mixed $value, int $flags = 0, bool $rootLevel = false): string - { - switch (true) { - case \is_resource($value): - if (Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE & $flags) { - throw new DumpException(\sprintf('Unable to dump PHP resources in a YAML file ("%s").', get_resource_type($value))); - } - - return self::dumpNull($flags); - case $value instanceof \DateTimeInterface: - return $value->format(match (true) { - !$length = \strlen(rtrim($value->format('u'), '0')) => 'c', - $length < 4 => 'Y-m-d\TH:i:s.vP', - default => 'Y-m-d\TH:i:s.uP', - }); - case $value instanceof \UnitEnum: - return \sprintf('!php/enum %s::%s', $value::class, $value->name); - case \is_object($value): - if ($value instanceof TaggedValue) { - return '!'.$value->getTag().' '.self::dump($value->getValue(), $flags); - } - - if (Yaml::DUMP_OBJECT & $flags) { - return '!php/object '.self::dump(serialize($value)); - } - - if (Yaml::DUMP_OBJECT_AS_MAP & $flags && ($value instanceof \stdClass || $value instanceof \ArrayObject)) { - return self::dumpHashArray($value, $flags); - } - - if (Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE & $flags) { - throw new DumpException('Object support when dumping a YAML file has been disabled.'); - } - - return self::dumpNull($flags); - case \is_array($value): - return self::dumpArray($value, $flags); - case null === $value: - return self::dumpNull($flags, $rootLevel); - case true === $value: - return 'true'; - case false === $value: - return 'false'; - case \is_int($value): - return $value; - case is_numeric($value) && false === strpbrk($value, "\f\n\r\t\v"): - $locale = setlocale(\LC_NUMERIC, 0); - if (false !== $locale) { - setlocale(\LC_NUMERIC, 'C'); - } - if (\is_float($value)) { - $repr = (string) $value; - if (is_infinite($value)) { - $repr = str_ireplace('INF', '.Inf', $repr); - } elseif (floor($value) == $value && $repr == $value) { - // Preserve float data type since storing a whole number will result in integer value. - if (!str_contains($repr, 'E')) { - $repr .= '.0'; - } - } - } else { - $repr = \is_string($value) ? "'$value'" : (string) $value; - } - if (false !== $locale) { - setlocale(\LC_NUMERIC, $locale); - } - - return $repr; - case '' == $value: - return "''"; - case self::isBinaryString($value): - return '!!binary '.base64_encode($value); - case Escaper::requiresDoubleQuoting($value): - case Yaml::DUMP_FORCE_DOUBLE_QUOTES_ON_VALUES & $flags: - return Escaper::escapeWithDoubleQuotes($value); - case Escaper::requiresSingleQuoting($value): - $singleQuoted = Escaper::escapeWithSingleQuotes($value); - if (!str_contains($value, "'")) { - return $singleQuoted; - } - // Attempt double-quoting the string instead to see if it's more efficient. - $doubleQuoted = Escaper::escapeWithDoubleQuotes($value); - - return \strlen($doubleQuoted) < \strlen($singleQuoted) ? $doubleQuoted : $singleQuoted; - case Parser::preg_match('{^[0-9]+[_0-9]*$}', $value): - case Parser::preg_match(self::getHexRegex(), $value): - case Parser::preg_match(self::getTimestampRegex(), $value): - return Escaper::escapeWithSingleQuotes($value); - default: - return $value; - } - } - - /** - * Check if given array is hash or just normal indexed array. - */ - public static function isHash(array|\ArrayObject|\stdClass $value): bool - { - if ($value instanceof \stdClass || $value instanceof \ArrayObject) { - return true; - } - - $expectedKey = 0; - - foreach ($value as $key => $val) { - if ($key !== $expectedKey++) { - return true; - } - } - - return false; - } - - /** - * Dumps a PHP array to a YAML string. - * - * @param array $value The PHP array to dump - * @param int $flags A bit field of Yaml::DUMP_* constants to customize the dumped YAML string - */ - private static function dumpArray(array $value, int $flags): string - { - // array - if (($value || Yaml::DUMP_EMPTY_ARRAY_AS_SEQUENCE & $flags) && !self::isHash($value)) { - $output = []; - foreach ($value as $val) { - $output[] = self::dump($val, $flags); - } - - return \sprintf('[%s]', implode(', ', $output)); - } - - return self::dumpHashArray($value, $flags); - } - - /** - * Dumps hash array to a YAML string. - * - * @param array|\ArrayObject|\stdClass $value The hash array to dump - * @param int $flags A bit field of Yaml::DUMP_* constants to customize the dumped YAML string - */ - private static function dumpHashArray(array|\ArrayObject|\stdClass $value, int $flags): string - { - $output = []; - $keyFlags = $flags & ~Yaml::DUMP_FORCE_DOUBLE_QUOTES_ON_VALUES; - foreach ($value as $key => $val) { - if (\is_int($key) && Yaml::DUMP_NUMERIC_KEY_AS_STRING & $flags) { - $key = (string) $key; - } - - $output[] = \sprintf('%s: %s', self::dump($key, $keyFlags), self::dump($val, $flags)); - } - - return \sprintf('{ %s }', implode(', ', $output)); - } - - private static function dumpNull(int $flags, bool $rootLevel = false): string - { - if (Yaml::DUMP_NULL_AS_TILDE & $flags) { - return '~'; - } - - if (Yaml::DUMP_NULL_AS_EMPTY & $flags && !$rootLevel) { - return ''; - } - - return 'null'; - } - - /** - * Parses a YAML scalar. - * - * @throws ParseException When malformed inline YAML string is parsed - */ - public static function parseScalar(string $scalar, int $flags = 0, ?array $delimiters = null, int &$i = 0, bool $evaluate = true, array &$references = [], ?bool &$isQuoted = null): mixed - { - if (\in_array($scalar[$i], ['"', "'"], true)) { - // quoted scalar - $isQuoted = true; - $output = self::parseQuotedScalar($scalar, $i); - - if (null !== $delimiters) { - $tmp = ltrim(substr($scalar, $i), " \n"); - if ('' === $tmp) { - throw new ParseException(\sprintf('Unexpected end of line, expected one of "%s".', implode('', $delimiters)), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); - } - if (!\in_array($tmp[0], $delimiters)) { - throw new ParseException(\sprintf('Unexpected characters (%s).', substr($scalar, $i)), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); - } - } - } else { - // "normal" string - $isQuoted = false; - - if (!$delimiters) { - $output = substr($scalar, $i); - $i += \strlen($output); - - // remove comments - if (Parser::preg_match('/[ \t]+#/', $output, $match, \PREG_OFFSET_CAPTURE)) { - $output = substr($output, 0, $match[0][1]); - } - } elseif (Parser::preg_match('/^(.*?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match)) { - $output = $match[1]; - $i += \strlen($output); - $output = trim($output); - } else { - throw new ParseException(\sprintf('Malformed inline YAML string: "%s".', $scalar), self::$parsedLineNumber + 1, null, self::$parsedFilename); - } - - // a non-quoted string cannot start with @ or ` (reserved) nor with a scalar indicator (| or >) - if ($output && ('@' === $output[0] || '`' === $output[0] || '|' === $output[0] || '>' === $output[0] || '%' === $output[0])) { - throw new ParseException(\sprintf('The reserved indicator "%s" cannot start a plain scalar; you need to quote the scalar.', $output[0]), self::$parsedLineNumber + 1, $output, self::$parsedFilename); - } - - if ($evaluate) { - $output = self::evaluateScalar($output, $flags, $references, $isQuoted); - } - } - - return $output; - } - - /** - * Parses a YAML quoted scalar. - * - * @throws ParseException When malformed inline YAML string is parsed - */ - private static function parseQuotedScalar(string $scalar, int &$i = 0): string - { - if (!Parser::preg_match('/'.self::REGEX_QUOTED_STRING.'/Au', substr($scalar, $i), $match)) { - throw new ParseException(\sprintf('Malformed inline YAML string: "%s".', substr($scalar, $i)), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); - } - - $output = substr($match[0], 1, -1); - - $unescaper = new Unescaper(); - if ('"' == $scalar[$i]) { - $output = $unescaper->unescapeDoubleQuotedString($output); - } else { - $output = $unescaper->unescapeSingleQuotedString($output); - } - - $i += \strlen($match[0]); - - return $output; - } - - /** - * Parses a YAML sequence. - * - * @throws ParseException When malformed inline YAML string is parsed - */ - private static function parseSequence(string $sequence, int $flags, int &$i = 0, array &$references = []): array - { - $output = []; - $len = \strlen($sequence); - ++$i; - - // [foo, bar, ...] - $lastToken = null; - while ($i < $len) { - if (']' === $sequence[$i]) { - return $output; - } - if (',' === $sequence[$i] || ' ' === $sequence[$i]) { - if (',' === $sequence[$i] && (null === $lastToken || 'separator' === $lastToken)) { - $output[] = null; - } elseif (',' === $sequence[$i]) { - $lastToken = 'separator'; - } - - ++$i; - - continue; - } - - $tag = self::parseTag($sequence, $i, $flags); - switch ($sequence[$i]) { - case '[': - // nested sequence - $value = self::parseSequence($sequence, $flags, $i, $references); - break; - case '{': - // nested mapping - $value = self::parseMapping($sequence, $flags, $i, $references); - break; - default: - $value = self::parseScalar($sequence, $flags, [',', ']'], $i, null === $tag, $references, $isQuoted); - - // the value can be an array if a reference has been resolved to an array var - if (\is_string($value) && !$isQuoted && str_contains($value, ': ')) { - // embedded mapping? - $j = $i; - $mappingValue = $value; - $mappingException = null; - do { - try { - $pos = 0; - $value = self::parseMapping('{'.$mappingValue.'}', $flags, $pos, $references); - $i = $j; - $mappingException = null; - break; - } catch (ParseException $exception) { - $mappingException = $exception; - if ($j >= $len) { - break; - } - - $mappingValue .= $sequence[$j++]; - if ($j >= $len) { - break; - } - - $mappingValue .= self::parseScalar($sequence, $flags, [',', ']'], $j, null === $tag, $references); - } - } while ($j < $len); - - if ($mappingException) { - throw $mappingException; - } - } - - if (!$isQuoted && \is_string($value) && '' !== $value && '&' === $value[0] && Parser::preg_match(Parser::REFERENCE_PATTERN, $value, $matches)) { - $references[$matches['ref']] = $matches['value']; - $value = $matches['value']; - } - - --$i; - } - - if (null !== $tag && '' !== $tag) { - $value = new TaggedValue($tag, $value); - } - - $output[] = $value; - - $lastToken = 'value'; - ++$i; - } - - throw new ParseException(\sprintf('Malformed inline YAML string: "%s".', $sequence), self::$parsedLineNumber + 1, null, self::$parsedFilename); - } - - /** - * Parses a YAML mapping. - * - * @throws ParseException When malformed inline YAML string is parsed - */ - private static function parseMapping(string $mapping, int $flags, int &$i = 0, array &$references = []): array|\stdClass - { - $output = []; - $len = \strlen($mapping); - ++$i; - $allowOverwrite = false; - - // {foo: bar, bar:foo, ...} - while ($i < $len) { - switch ($mapping[$i]) { - case ' ': - case ',': - case "\n": - ++$i; - continue 2; - case '}': - if (self::$objectForMap) { - return (object) $output; - } - - return $output; - } - - // key - $offsetBeforeKeyParsing = $i; - $isKeyQuoted = \in_array($mapping[$i], ['"', "'"], true); - $key = self::parseScalar($mapping, $flags, [':', ' '], $i, false); - - if ($offsetBeforeKeyParsing === $i) { - throw new ParseException('Missing mapping key.', self::$parsedLineNumber + 1, $mapping); - } - - if ('!php/const' === $key || '!php/enum' === $key) { - $key .= ' '.self::parseScalar($mapping, $flags, ['(?value')) { - $enumName = substr($enumName, 0, -7); - } - - if (!\defined($enumName)) { - throw new ParseException(\sprintf('The string "%s" is not the name of a valid enum.', $enumName), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); - } - - $value = \constant($enumName); - - if (!$useValue) { - return $value; - } - if (!$value instanceof \BackedEnum) { - throw new ParseException(\sprintf('The enum "%s" defines no value next to its name.', $enumName), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); - } - - return $value->value; - } - if (self::$exceptionOnInvalidType) { - throw new ParseException(\sprintf('The string "%s" could not be parsed as an enum. Did you forget to pass the "Yaml::PARSE_CONSTANT" flag to the parser?', $scalar), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); - } - - return null; - case str_starts_with($scalar, '!!float '): - return (float) substr($scalar, 8); - case str_starts_with($scalar, '!!binary '): - return self::evaluateBinaryScalar(substr($scalar, 9)); - } - - throw new ParseException(\sprintf('The string "%s" could not be parsed as it uses an unsupported built-in tag.', $scalar), self::$parsedLineNumber, $scalar, self::$parsedFilename); - case preg_match('/^(?:\+|-)?0o(?P[0-7_]++)$/', $scalar, $matches): - $value = str_replace('_', '', $matches['value']); - - if ('-' === $scalar[0]) { - return -octdec($value); - } - - return octdec($value); - case \in_array($scalar[0], ['+', '-', '.'], true) || is_numeric($scalar[0]): - if (Parser::preg_match('{^[+-]?[0-9][0-9_]*$}', $scalar)) { - $scalar = str_replace('_', '', $scalar); - } - - switch (true) { - case ctype_digit($scalar): - case '-' === $scalar[0] && ctype_digit(substr($scalar, 1)): - if ($scalar < \PHP_INT_MIN || \PHP_INT_MAX < $scalar) { - return $scalar; - } - - $cast = (int) $scalar; - - return ($scalar === (string) $cast) ? $cast : $scalar; - case is_numeric($scalar): - case Parser::preg_match(self::getHexRegex(), $scalar): - $scalar = str_replace('_', '', $scalar); - - return '0x' === $scalar[0].$scalar[1] ? hexdec($scalar) : (float) $scalar; - case '.inf' === $scalarLower: - case '.nan' === $scalarLower: - return -log(0); - case '-.inf' === $scalarLower: - return log(0); - case Parser::preg_match('/^(-|\+)?[0-9][0-9_]*(\.[0-9_]+)?$/', $scalar): - return (float) str_replace('_', '', $scalar); - case Parser::preg_match(self::getTimestampRegex(), $scalar): - try { - // When no timezone is provided in the parsed date, YAML spec says we must assume UTC. - $time = new \DateTimeImmutable($scalar, new \DateTimeZone('UTC')); - } catch (\Exception $e) { - // Some dates accepted by the regex are not valid dates. - throw new ParseException(\sprintf('The date "%s" could not be parsed as it is an invalid date.', $scalar), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename, $e); - } - - if (Yaml::PARSE_DATETIME & $flags) { - return $time; - } - - if ('' !== rtrim($time->format('u'), '0')) { - return (float) $time->format('U.u'); - } - - try { - if (false !== $scalar = $time->getTimestamp()) { - return $scalar; - } - } catch (\DateRangeError|\ValueError) { - // no-op - } - - return $time->format('U'); - } - } - - return (string) $scalar; - } - - private static function parseTag(string $value, int &$i, int $flags): ?string - { - if ('!' !== $value[$i]) { - return null; - } - - $tagLength = strcspn($value, " \t\n[]{},", $i + 1); - $tag = substr($value, $i + 1, $tagLength); - - $nextOffset = $i + $tagLength + 1; - $nextOffset += strspn($value, ' ', $nextOffset); - - if ('' === $tag && (!isset($value[$nextOffset]) || \in_array($value[$nextOffset], [']', '}', ','], true))) { - throw new ParseException('Using the unquoted scalar value "!" is not supported. You must quote it.', self::$parsedLineNumber + 1, $value, self::$parsedFilename); - } - - // Is followed by a scalar and is a built-in tag - if ('' !== $tag && (!isset($value[$nextOffset]) || !\in_array($value[$nextOffset], ['[', '{'], true)) && ('!' === $tag[0] || \in_array($tag, ['str', 'php/const', 'php/enum', 'php/object'], true))) { - // Manage in {@link self::evaluateScalar()} - return null; - } - - $i = $nextOffset; - - // Built-in tags - if ('' !== $tag && '!' === $tag[0]) { - throw new ParseException(\sprintf('The built-in tag "!%s" is not implemented.', $tag), self::$parsedLineNumber + 1, $value, self::$parsedFilename); - } - - if ('' !== $tag && !isset($value[$i])) { - throw new ParseException(\sprintf('Missing value for tag "%s".', $tag), self::$parsedLineNumber + 1, $value, self::$parsedFilename); - } - - if ('' === $tag || Yaml::PARSE_CUSTOM_TAGS & $flags) { - return $tag; - } - - throw new ParseException(\sprintf('Tags support is not enabled. Enable the "Yaml::PARSE_CUSTOM_TAGS" flag to use "!%s".', $tag), self::$parsedLineNumber + 1, $value, self::$parsedFilename); - } - - public static function evaluateBinaryScalar(string $scalar): string - { - $parsedBinaryData = self::parseScalar(preg_replace('/\s/', '', $scalar)); - - if (0 !== (\strlen($parsedBinaryData) % 4)) { - throw new ParseException(\sprintf('The normalized base64 encoded data (data without whitespace characters) length must be a multiple of four (%d bytes given).', \strlen($parsedBinaryData)), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); - } - - if (!Parser::preg_match('#^[A-Z0-9+/]+={0,2}$#i', $parsedBinaryData)) { - throw new ParseException(\sprintf('The base64 encoded data (%s) contains invalid characters.', $parsedBinaryData), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); - } - - return base64_decode($parsedBinaryData, true); - } - - private static function isBinaryString(string $value): bool - { - return !preg_match('//u', $value) || preg_match('/[^\x00\x07-\x0d\x1B\x20-\xff]/', $value); - } - - /** - * Gets a regex that matches a YAML date. - * - * @see http://www.yaml.org/spec/1.2/spec.html#id2761573 - */ - private static function getTimestampRegex(): string - { - return <<[0-9][0-9][0-9][0-9]) - -(?P[0-9][0-9]?) - -(?P[0-9][0-9]?) - (?:(?:[Tt]|[ \t]+) - (?P[0-9][0-9]?) - :(?P[0-9][0-9]) - :(?P[0-9][0-9]) - (?:\.(?P[0-9]*))? - (?:[ \t]*(?PZ|(?P[-+])(?P[0-9][0-9]?) - (?::(?P[0-9][0-9]))?))?)? - $~x - EOF; - } - - /** - * Gets a regex that matches a YAML number in hexadecimal notation. - */ - private static function getHexRegex(): string - { - return '~^0x[0-9a-f_]++$~i'; - } -} diff --git a/app/vendor/symfony/yaml/LICENSE b/app/vendor/symfony/yaml/LICENSE deleted file mode 100644 index 0138f8f07..000000000 --- a/app/vendor/symfony/yaml/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-present Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/symfony/yaml/Parser.php b/app/vendor/symfony/yaml/Parser.php deleted file mode 100644 index a100533d3..000000000 --- a/app/vendor/symfony/yaml/Parser.php +++ /dev/null @@ -1,1279 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml; - -use Symfony\Component\Yaml\Exception\ParseException; -use Symfony\Component\Yaml\Tag\TaggedValue; - -/** - * Parser parses YAML strings to convert them to PHP arrays. - * - * @author Fabien Potencier - * - * @final - */ -class Parser -{ - public const TAG_PATTERN = '(?P![\w!.\/:-]+)'; - public const BLOCK_SCALAR_HEADER_PATTERN = '(?P\||>)(?P\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P +#.*)?'; - public const REFERENCE_PATTERN = '#^&(?P[^ ]++) *+(?P.*)#u'; - - private ?string $filename = null; - private int $offset = 0; - private int $numberOfParsedLines = 0; - private ?int $totalNumberOfLines = null; - private array $lines = []; - private int $currentLineNb = -1; - private string $currentLine = ''; - private array $refs = []; - private array $skippedLineNumbers = []; - private array $locallySkippedLineNumbers = []; - private array $refsBeingParsed = []; - - /** - * Parses a YAML file into a PHP value. - * - * @param string $filename The path to the YAML file to be parsed - * @param int-mask-of $flags A bit field of Yaml::PARSE_* constants to customize the YAML parser behavior - * - * @throws ParseException If the file could not be read or the YAML is not valid - */ - public function parseFile(string $filename, int $flags = 0): mixed - { - if (!is_file($filename)) { - throw new ParseException(\sprintf('File "%s" does not exist.', $filename)); - } - - if (!is_readable($filename)) { - throw new ParseException(\sprintf('File "%s" cannot be read.', $filename)); - } - - $this->filename = $filename; - - try { - return $this->parse(file_get_contents($filename), $flags); - } finally { - $this->filename = null; - } - } - - /** - * Parses a YAML string to a PHP value. - * - * @param string $value A YAML string - * @param int-mask-of $flags A bit field of Yaml::PARSE_* constants to customize the YAML parser behavior - * - * @throws ParseException If the YAML is not valid - */ - public function parse(string $value, int $flags = 0): mixed - { - if (false === preg_match('//u', $value)) { - throw new ParseException('The YAML value does not appear to be valid UTF-8.', -1, null, $this->filename); - } - - $this->refs = []; - - try { - $data = $this->doParse($value, $flags); - } finally { - $this->refsBeingParsed = []; - $this->offset = 0; - $this->lines = []; - $this->currentLine = ''; - $this->numberOfParsedLines = 0; - $this->refs = []; - $this->skippedLineNumbers = []; - $this->locallySkippedLineNumbers = []; - $this->totalNumberOfLines = null; - } - - return $data; - } - - private function doParse(string $value, int $flags): mixed - { - $this->currentLineNb = -1; - $this->currentLine = ''; - $value = $this->cleanup($value); - $this->lines = explode("\n", $value); - $this->numberOfParsedLines = \count($this->lines); - $this->locallySkippedLineNumbers = []; - $this->totalNumberOfLines ??= $this->numberOfParsedLines; - - if (!$this->moveToNextLine()) { - return null; - } - - $data = []; - $context = null; - $allowOverwrite = false; - - while ($this->isCurrentLineEmpty()) { - if (!$this->moveToNextLine()) { - return null; - } - } - - // Resolves the tag and returns if end of the document - if (null !== ($tag = $this->getLineTag($this->currentLine, $flags, false)) && !$this->moveToNextLine()) { - return new TaggedValue($tag, ''); - } - - do { - if ($this->isCurrentLineEmpty()) { - continue; - } - - // tab? - if ("\t" === $this->currentLine[0]) { - throw new ParseException('A YAML file cannot contain tabs as indentation.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - Inline::initialize($flags, $this->getRealCurrentLineNb(), $this->filename); - - $isRef = $mergeNode = false; - if ('-' === $this->currentLine[0] && self::preg_match('#^\-((?P\s+)(?P.+))?$#u', rtrim($this->currentLine), $values)) { - if ($context && 'mapping' == $context) { - throw new ParseException('You cannot define a sequence item when in a mapping.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - $context = 'sequence'; - - if (isset($values['value']) && '&' === $values['value'][0] && self::preg_match(self::REFERENCE_PATTERN, $values['value'], $matches)) { - $isRef = $matches['ref']; - $this->refsBeingParsed[] = $isRef; - $values['value'] = $matches['value']; - } - - if (isset($values['value'][1]) && '?' === $values['value'][0] && ' ' === $values['value'][1]) { - throw new ParseException('Complex mappings are not supported.', $this->getRealCurrentLineNb() + 1, $this->currentLine); - } - - // array - if (isset($values['value']) && str_starts_with(ltrim($values['value'], ' '), '-')) { - // Inline first child - $currentLineNumber = $this->getRealCurrentLineNb(); - - $sequenceIndentation = \strlen($values['leadspaces']) + 1; - $sequenceYaml = substr($this->currentLine, $sequenceIndentation); - $sequenceYaml .= "\n".$this->getNextEmbedBlock($sequenceIndentation, true); - - $data[] = $this->parseBlock($currentLineNumber, rtrim($sequenceYaml), $flags); - } elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || str_starts_with(ltrim($values['value'], ' '), '#')) { - $data[] = $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(null, true) ?? '', $flags); - } elseif (null !== $subTag = $this->getLineTag(ltrim($values['value'], ' '), $flags)) { - $data[] = new TaggedValue( - $subTag, - $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(null, true), $flags) - ); - } else { - if ( - isset($values['leadspaces']) - && ( - '!' === $values['value'][0] - || self::preg_match('#^(?P'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\{\[].*?) *\:(\s+(?P.+?))?\s*$#u', $this->trimTag($values['value']), $matches) - ) - ) { - $block = $values['value']; - if ($this->isNextLineIndented() || isset($matches['value']) && '>-' === $matches['value']) { - $block .= "\n".$this->getNextEmbedBlock($this->getCurrentLineIndentation() + \strlen($values['leadspaces']) + 1); - } - - $data[] = $this->parseBlock($this->getRealCurrentLineNb(), $block, $flags); - } else { - $data[] = $this->parseValue($values['value'], $flags, $context); - } - } - if ($isRef) { - $this->refs[$isRef] = end($data); - array_pop($this->refsBeingParsed); - } - } elseif ( - self::preg_match('#^(?P(?:![^\s]++\s++)?(?:'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\[\{!].*?)) *\:(( |\t)++(?P.+))?$#u', rtrim($this->currentLine), $values) - && (!str_contains($values['key'], ' #') || \in_array($values['key'][0], ['"', "'"], true)) - ) { - if ($context && 'sequence' == $context) { - throw new ParseException('You cannot define a mapping item when in a sequence.', $this->currentLineNb + 1, $this->currentLine, $this->filename); - } - $context = 'mapping'; - - try { - $key = Inline::parseScalar($values['key']); - } catch (ParseException $e) { - $e->setParsedLine($this->getRealCurrentLineNb() + 1); - $e->setSnippet($this->currentLine); - - throw $e; - } - - if (!\is_string($key) && !\is_int($key)) { - throw new ParseException((is_numeric($key) ? 'Numeric' : 'Non-string').' keys are not supported. Quote your evaluable mapping keys instead.', $this->getRealCurrentLineNb() + 1, $this->currentLine); - } - - // Convert float keys to strings, to avoid being converted to integers by PHP - if (\is_float($key)) { - $key = (string) $key; - } - - if ('<<' === $key && (!isset($values['value']) || '&' !== $values['value'][0] || !self::preg_match('#^&(?P[^ ]+)#u', $values['value'], $refMatches))) { - $mergeNode = true; - $allowOverwrite = true; - if (isset($values['value'][0]) && '*' === $values['value'][0]) { - $refName = substr(rtrim($values['value']), 1); - if (!\array_key_exists($refName, $this->refs)) { - if (false !== $pos = array_search($refName, $this->refsBeingParsed, true)) { - throw new ParseException(\sprintf('Circular reference [%s] detected for reference "%s".', implode(', ', array_merge(\array_slice($this->refsBeingParsed, $pos), [$refName])), $refName), $this->currentLineNb + 1, $this->currentLine, $this->filename); - } - - throw new ParseException(\sprintf('Reference "%s" does not exist.', $refName), $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - $refValue = $this->refs[$refName]; - - if (Yaml::PARSE_OBJECT_FOR_MAP & $flags && $refValue instanceof \stdClass) { - $refValue = (array) $refValue; - } - - if (!\is_array($refValue)) { - throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - $data += $refValue; // array union - } else { - if (isset($values['value']) && '' !== $values['value']) { - $value = $values['value']; - } else { - $value = $this->getNextEmbedBlock(); - } - $parsed = $this->parseBlock($this->getRealCurrentLineNb() + 1, $value, $flags); - - if (Yaml::PARSE_OBJECT_FOR_MAP & $flags && $parsed instanceof \stdClass) { - $parsed = (array) $parsed; - } - - if (!\is_array($parsed)) { - throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - if (isset($parsed[0])) { - // If the value associated with the merge key is a sequence, then this sequence is expected to contain mapping nodes - // and each of these nodes is merged in turn according to its order in the sequence. Keys in mapping nodes earlier - // in the sequence override keys specified in later mapping nodes. - foreach ($parsed as $parsedItem) { - if (Yaml::PARSE_OBJECT_FOR_MAP & $flags && $parsedItem instanceof \stdClass) { - $parsedItem = (array) $parsedItem; - } - - if (!\is_array($parsedItem)) { - throw new ParseException('Merge items must be arrays.', $this->getRealCurrentLineNb() + 1, $parsedItem, $this->filename); - } - - $data += $parsedItem; // array union - } - } else { - // If the value associated with the key is a single mapping node, each of its key/value pairs is inserted into the - // current mapping, unless the key already exists in it. - $data += $parsed; // array union - } - } - } elseif ('<<' !== $key && isset($values['value']) && '&' === $values['value'][0] && self::preg_match(self::REFERENCE_PATTERN, $values['value'], $matches)) { - $isRef = $matches['ref']; - $this->refsBeingParsed[] = $isRef; - $values['value'] = $matches['value']; - } - - $subTag = null; - if ($mergeNode) { - // Merge keys - } elseif (!isset($values['value']) || '' === $values['value'] || str_starts_with($values['value'], '#') || (null !== $subTag = $this->getLineTag($values['value'], $flags)) || '<<' === $key) { - // hash - // if next line is less indented or equal, then it means that the current value is null - if (!$this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) { - // Spec: Keys MUST be unique; first one wins. - // But overwriting is allowed when a merge node is used in current block. - if ($allowOverwrite || !isset($data[$key])) { - if (!$allowOverwrite && \array_key_exists($key, $data)) { - trigger_deprecation('symfony/yaml', '7.2', 'Duplicate key "%s" detected on line %d whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated and will throw a ParseException in 8.0.', $key, $this->getRealCurrentLineNb() + 1); - } - - if (null !== $subTag) { - $data[$key] = new TaggedValue($subTag, ''); - } else { - $data[$key] = null; - } - } else { - throw new ParseException(\sprintf('Duplicate key "%s" detected.', $key), $this->getRealCurrentLineNb() + 1, $this->currentLine); - } - } else { - // remember the parsed line number here in case we need it to provide some contexts in error messages below - $realCurrentLineNbKey = $this->getRealCurrentLineNb(); - $value = $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(), $flags); - if ('<<' === $key) { - $this->refs[$refMatches['ref']] = $value; - - if (Yaml::PARSE_OBJECT_FOR_MAP & $flags && $value instanceof \stdClass) { - $value = (array) $value; - } - - $data += $value; - } elseif ($allowOverwrite || !isset($data[$key])) { - if (!$allowOverwrite && \array_key_exists($key, $data)) { - trigger_deprecation('symfony/yaml', '7.2', 'Duplicate key "%s" detected on line %d whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated and will throw a ParseException in 8.0.', $key, $this->getRealCurrentLineNb() + 1); - } - - // Spec: Keys MUST be unique; first one wins. - // But overwriting is allowed when a merge node is used in current block. - if (null !== $subTag) { - $data[$key] = new TaggedValue($subTag, $value); - } else { - $data[$key] = $value; - } - } else { - throw new ParseException(\sprintf('Duplicate key "%s" detected.', $key), $realCurrentLineNbKey + 1, $this->currentLine); - } - } - } else { - $value = $this->parseValue(rtrim($values['value']), $flags, $context); - // Spec: Keys MUST be unique; first one wins. - // But overwriting is allowed when a merge node is used in current block. - if ($allowOverwrite || !isset($data[$key])) { - if (!$allowOverwrite && \array_key_exists($key, $data)) { - trigger_deprecation('symfony/yaml', '7.2', 'Duplicate key "%s" detected on line %d whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated and will throw a ParseException in 8.0.', $key, $this->getRealCurrentLineNb() + 1); - } - - $data[$key] = $value; - } else { - throw new ParseException(\sprintf('Duplicate key "%s" detected.', $key), $this->getRealCurrentLineNb() + 1, $this->currentLine); - } - } - if ($isRef) { - $this->refs[$isRef] = $data[$key]; - array_pop($this->refsBeingParsed); - } - } elseif ('"' === $this->currentLine[0] || "'" === $this->currentLine[0]) { - if (null !== $context) { - throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - try { - return Inline::parse($this->lexInlineQuotedString(), $flags, $this->refs); - } catch (ParseException $e) { - $e->setParsedLine($this->getRealCurrentLineNb() + 1); - $e->setSnippet($this->currentLine); - - throw $e; - } - } elseif ('{' === $this->currentLine[0]) { - if (null !== $context) { - throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - try { - $parsedMapping = Inline::parse($this->lexInlineMapping(), $flags, $this->refs); - - while ($this->moveToNextLine()) { - if (!$this->isCurrentLineEmpty()) { - throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - } - - return $parsedMapping; - } catch (ParseException $e) { - $e->setParsedLine($this->getRealCurrentLineNb() + 1); - $e->setSnippet($this->currentLine); - - throw $e; - } - } elseif ('[' === $this->currentLine[0]) { - if (null !== $context) { - throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - try { - $parsedSequence = Inline::parse($this->lexInlineSequence(), $flags, $this->refs); - - while ($this->moveToNextLine()) { - if (!$this->isCurrentLineEmpty()) { - throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - } - - return $parsedSequence; - } catch (ParseException $e) { - $e->setParsedLine($this->getRealCurrentLineNb() + 1); - $e->setSnippet($this->currentLine); - - throw $e; - } - } else { - // multiple documents are not supported - if ('---' === $this->currentLine) { - throw new ParseException('Multiple documents are not supported.', $this->currentLineNb + 1, $this->currentLine, $this->filename); - } - - if (isset($this->currentLine[1]) && '?' === $this->currentLine[0] && ' ' === $this->currentLine[1]) { - throw new ParseException('Complex mappings are not supported.', $this->getRealCurrentLineNb() + 1, $this->currentLine); - } - - // 1-liner optionally followed by newline(s) - if (\is_string($value) && $this->lines[0] === trim($value)) { - try { - $value = Inline::parse($this->lines[0], $flags, $this->refs); - } catch (ParseException $e) { - $e->setParsedLine($this->getRealCurrentLineNb() + 1); - $e->setSnippet($this->currentLine); - - throw $e; - } - - return $value; - } - - // try to parse the value as a multi-line string as a last resort - if (0 === $this->currentLineNb) { - $previousLineWasNewline = false; - $previousLineWasTerminatedWithBackslash = false; - $value = ''; - - foreach ($this->lines as $line) { - $trimmedLine = trim($line); - if ('#' === ($trimmedLine[0] ?? '')) { - continue; - } - // If the indentation is not consistent at offset 0, it is to be considered as a ParseError - if (0 === $this->offset && isset($line[0]) && ' ' === $line[0]) { - throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - if (str_contains($line, ': ')) { - throw new ParseException('Mapping values are not allowed in multi-line blocks.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - if ('' === $trimmedLine) { - $value .= "\n"; - } elseif (!$previousLineWasNewline && !$previousLineWasTerminatedWithBackslash) { - $value .= ' '; - } - - if ('' !== $trimmedLine && str_ends_with($line, '\\')) { - $value .= ltrim(substr($line, 0, -1)); - } elseif ('' !== $trimmedLine) { - $value .= $trimmedLine; - } - - if ('' === $trimmedLine) { - $previousLineWasNewline = true; - $previousLineWasTerminatedWithBackslash = false; - } elseif (str_ends_with($line, '\\')) { - $previousLineWasNewline = false; - $previousLineWasTerminatedWithBackslash = true; - } else { - $previousLineWasNewline = false; - $previousLineWasTerminatedWithBackslash = false; - } - } - - try { - return Inline::parse(trim($value)); - } catch (ParseException) { - // fall-through to the ParseException thrown below - } - } - - throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - } while ($this->moveToNextLine()); - - if (null !== $tag) { - $data = new TaggedValue($tag, $data); - } - - if (Yaml::PARSE_OBJECT_FOR_MAP & $flags && 'mapping' === $context && !\is_object($data)) { - $object = new \stdClass(); - - foreach ($data as $key => $value) { - $object->$key = $value; - } - - $data = $object; - } - - return $data ?: null; - } - - private function parseBlock(int $offset, string $yaml, int $flags): mixed - { - $skippedLineNumbers = $this->skippedLineNumbers; - - foreach ($this->locallySkippedLineNumbers as $lineNumber) { - if ($lineNumber < $offset) { - continue; - } - - $skippedLineNumbers[] = $lineNumber; - } - - $parser = new self(); - $parser->offset = $offset; - $parser->totalNumberOfLines = $this->totalNumberOfLines; - $parser->skippedLineNumbers = $skippedLineNumbers; - $parser->refs = &$this->refs; - $parser->refsBeingParsed = $this->refsBeingParsed; - - return $parser->doParse($yaml, $flags); - } - - /** - * Returns the current line number (takes the offset into account). - * - * @internal - */ - public function getRealCurrentLineNb(): int - { - $realCurrentLineNumber = $this->currentLineNb + $this->offset; - - foreach ($this->skippedLineNumbers as $skippedLineNumber) { - if ($skippedLineNumber > $realCurrentLineNumber) { - break; - } - - ++$realCurrentLineNumber; - } - - return $realCurrentLineNumber; - } - - private function getCurrentLineIndentation(): int - { - if (' ' !== ($this->currentLine[0] ?? '')) { - return 0; - } - - return \strlen($this->currentLine) - \strlen(ltrim($this->currentLine, ' ')); - } - - /** - * Returns the next embed block of YAML. - * - * @param int|null $indentation The indent level at which the block is to be read, or null for default - * @param bool $inSequence True if the enclosing data structure is a sequence - * - * @throws ParseException When indentation problem are detected - */ - private function getNextEmbedBlock(?int $indentation = null, bool $inSequence = false): string - { - $oldLineIndentation = $this->getCurrentLineIndentation(); - - if (!$this->moveToNextLine()) { - return ''; - } - - if (null === $indentation) { - $newIndent = null; - $movements = 0; - - do { - $EOF = false; - - // empty and comment-like lines do not influence the indentation depth - if ($this->isCurrentLineEmpty() || $this->isCurrentLineComment()) { - $EOF = !$this->moveToNextLine(); - - if (!$EOF) { - ++$movements; - } - } else { - $newIndent = $this->getCurrentLineIndentation(); - } - } while (!$EOF && null === $newIndent); - - for ($i = 0; $i < $movements; ++$i) { - $this->moveToPreviousLine(); - } - - $unindentedEmbedBlock = $this->isStringUnIndentedCollectionItem(); - - if (!$this->isCurrentLineEmpty() && 0 === $newIndent && !$unindentedEmbedBlock) { - throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - } else { - $newIndent = $indentation; - } - - $data = []; - - if ($this->getCurrentLineIndentation() >= $newIndent) { - $data[] = substr($this->currentLine, $newIndent ?? 0); - } elseif ($this->isCurrentLineEmpty() || $this->isCurrentLineComment()) { - $data[] = $this->currentLine; - } else { - $this->moveToPreviousLine(); - - return ''; - } - - if ($inSequence && $oldLineIndentation === $newIndent && isset($data[0][0]) && '-' === $data[0][0]) { - // the previous line contained a dash but no item content, this line is a sequence item with the same indentation - // and therefore no nested list or mapping - $this->moveToPreviousLine(); - - return ''; - } - - $isItUnindentedCollection = $this->isStringUnIndentedCollectionItem(); - $isItComment = $this->isCurrentLineComment(); - - while ($this->moveToNextLine()) { - if ($isItComment && !$isItUnindentedCollection) { - $isItUnindentedCollection = $this->isStringUnIndentedCollectionItem(); - $isItComment = $this->isCurrentLineComment(); - } - - $indent = $this->getCurrentLineIndentation(); - - if ($isItUnindentedCollection && !$this->isCurrentLineEmpty() && !$this->isStringUnIndentedCollectionItem() && $newIndent === $indent) { - $this->moveToPreviousLine(); - break; - } - - if ($this->isCurrentLineBlank()) { - $data[] = substr($this->currentLine, $newIndent ?? 0); - continue; - } - - if ($indent >= $newIndent) { - $data[] = substr($this->currentLine, $newIndent ?? 0); - } elseif ($this->isCurrentLineComment()) { - $data[] = $this->currentLine; - } elseif (0 == $indent) { - $this->moveToPreviousLine(); - - break; - } else { - throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - } - - return implode("\n", $data); - } - - private function hasMoreLines(): bool - { - return (\count($this->lines) - 1) > $this->currentLineNb; - } - - /** - * Moves the parser to the next line. - */ - private function moveToNextLine(): bool - { - if ($this->currentLineNb >= $this->numberOfParsedLines - 1) { - return false; - } - - $this->currentLine = $this->lines[++$this->currentLineNb]; - - return true; - } - - /** - * Moves the parser to the previous line. - */ - private function moveToPreviousLine(): bool - { - if ($this->currentLineNb < 1) { - return false; - } - - $this->currentLine = $this->lines[--$this->currentLineNb]; - - return true; - } - - /** - * Parses a YAML value. - * - * @param string $value A YAML value - * @param int $flags A bit field of Yaml::PARSE_* constants to customize the YAML parser behavior - * @param string $context The parser context (either sequence or mapping) - * - * @throws ParseException When reference does not exist - */ - private function parseValue(string $value, int $flags, string $context): mixed - { - if (str_starts_with($value, '*')) { - if (false !== $pos = strpos($value, '#')) { - $value = substr($value, 1, $pos - 2); - } else { - $value = substr($value, 1); - } - - if (!\array_key_exists($value, $this->refs)) { - if (false !== $pos = array_search($value, $this->refsBeingParsed, true)) { - throw new ParseException(\sprintf('Circular reference [%s] detected for reference "%s".', implode(', ', array_merge(\array_slice($this->refsBeingParsed, $pos), [$value])), $value), $this->currentLineNb + 1, $this->currentLine, $this->filename); - } - - throw new ParseException(\sprintf('Reference "%s" does not exist.', $value), $this->currentLineNb + 1, $this->currentLine, $this->filename); - } - - return $this->refs[$value]; - } - - if (\in_array($value[0], ['!', '|', '>'], true) && self::preg_match('/^(?:'.self::TAG_PATTERN.' +)?'.self::BLOCK_SCALAR_HEADER_PATTERN.'$/', $value, $matches)) { - $modifiers = $matches['modifiers'] ?? ''; - - $data = $this->parseBlockScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), abs((int) $modifiers)); - - if ('' !== $matches['tag'] && '!' !== $matches['tag']) { - if ('!!binary' === $matches['tag']) { - return Inline::evaluateBinaryScalar($data); - } - - return new TaggedValue(substr($matches['tag'], 1), $data); - } - - return $data; - } - - try { - if ('' !== $value && '{' === $value[0]) { - $cursor = \strlen(rtrim($this->currentLine)) - \strlen(rtrim($value)); - - return Inline::parse($this->lexInlineMapping($cursor), $flags, $this->refs); - } elseif ('' !== $value && '[' === $value[0]) { - $cursor = \strlen(rtrim($this->currentLine)) - \strlen(rtrim($value)); - - return Inline::parse($this->lexInlineSequence($cursor), $flags, $this->refs); - } - - switch ($value[0] ?? '') { - case '"': - case "'": - $cursor = \strlen(rtrim($this->currentLine)) - \strlen(rtrim($value)); - $parsedValue = Inline::parse($this->lexInlineQuotedString($cursor), $flags, $this->refs); - - if (isset($this->currentLine[$cursor]) && preg_replace('/\s*(#.*)?$/A', '', substr($this->currentLine, $cursor))) { - throw new ParseException(\sprintf('Unexpected characters near "%s".', substr($this->currentLine, $cursor))); - } - - return $parsedValue; - default: - $lines = []; - - while ($this->moveToNextLine()) { - // unquoted strings end before the first unindented line - if (0 === $this->getCurrentLineIndentation()) { - $this->moveToPreviousLine(); - - break; - } - - if ($this->isCurrentLineComment()) { - break; - } - - if ('mapping' === $context && str_contains($this->currentLine, ': ') && !$this->isCurrentLineComment()) { - throw new ParseException('A colon cannot be used in an unquoted mapping value.', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); - } - - $lines[] = trim($this->currentLine); - } - - for ($i = 0, $linesCount = \count($lines), $previousLineBlank = false; $i < $linesCount; ++$i) { - if ('' === $lines[$i]) { - $value .= "\n"; - $previousLineBlank = true; - } elseif ($previousLineBlank) { - $value .= $lines[$i]; - $previousLineBlank = false; - } else { - $value .= ' '.$lines[$i]; - $previousLineBlank = false; - } - } - - Inline::$parsedLineNumber = $this->getRealCurrentLineNb(); - - $parsedValue = Inline::parse($value, $flags, $this->refs); - - if ('mapping' === $context && \is_string($parsedValue) && '"' !== $value[0] && "'" !== $value[0] && '[' !== $value[0] && '{' !== $value[0] && '!' !== $value[0] && str_contains($parsedValue, ': ')) { - throw new ParseException('A colon cannot be used in an unquoted mapping value.', $this->getRealCurrentLineNb() + 1, $value, $this->filename); - } - - return $parsedValue; - } - } catch (ParseException $e) { - $e->setParsedLine($this->getRealCurrentLineNb() + 1); - $e->setSnippet($this->currentLine); - - throw $e; - } - } - - /** - * Parses a block scalar. - * - * @param string $style The style indicator that was used to begin this block scalar (| or >) - * @param string $chomping The chomping indicator that was used to begin this block scalar (+ or -) - * @param int $indentation The indentation indicator that was used to begin this block scalar - */ - private function parseBlockScalar(string $style, string $chomping = '', int $indentation = 0): string - { - $notEOF = $this->moveToNextLine(); - if (!$notEOF) { - return ''; - } - - $isCurrentLineBlank = $this->isCurrentLineBlank(); - $blockLines = []; - - // leading blank lines are consumed before determining indentation - while ($notEOF && $isCurrentLineBlank) { - // newline only if not EOF - if ($notEOF = $this->moveToNextLine()) { - $blockLines[] = ''; - $isCurrentLineBlank = $this->isCurrentLineBlank(); - } - } - - // determine indentation if not specified - if (0 === $indentation) { - $currentLineLength = \strlen($this->currentLine); - - for ($i = 0; $i < $currentLineLength && ' ' === $this->currentLine[$i]; ++$i) { - ++$indentation; - } - } - - if ($indentation > 0) { - $pattern = \sprintf('/^ {%d}(.*)$/', $indentation); - - while ( - $notEOF && ( - $isCurrentLineBlank - || self::preg_match($pattern, $this->currentLine, $matches) - ) - ) { - if ($isCurrentLineBlank && \strlen($this->currentLine) > $indentation) { - $blockLines[] = substr($this->currentLine, $indentation); - } elseif ($isCurrentLineBlank) { - $blockLines[] = ''; - } else { - $blockLines[] = $matches[1]; - } - - // newline only if not EOF - if ($notEOF = $this->moveToNextLine()) { - $isCurrentLineBlank = $this->isCurrentLineBlank(); - } - } - } elseif ($notEOF) { - $blockLines[] = ''; - } - - if ($notEOF) { - $blockLines[] = ''; - $this->moveToPreviousLine(); - } elseif (!$this->isCurrentLineLastLineInDocument()) { - $blockLines[] = ''; - } - - // folded style - if ('>' === $style) { - $text = ''; - $previousLineIndented = false; - $previousLineBlank = false; - - for ($i = 0, $blockLinesCount = \count($blockLines); $i < $blockLinesCount; ++$i) { - if ('' === $blockLines[$i]) { - $text .= "\n"; - $previousLineIndented = false; - $previousLineBlank = true; - } elseif (' ' === $blockLines[$i][0]) { - $text .= "\n".$blockLines[$i]; - $previousLineIndented = true; - $previousLineBlank = false; - } elseif ($previousLineIndented) { - $text .= "\n".$blockLines[$i]; - $previousLineIndented = false; - $previousLineBlank = false; - } elseif ($previousLineBlank || 0 === $i) { - $text .= $blockLines[$i]; - $previousLineIndented = false; - $previousLineBlank = false; - } else { - $text .= ' '.$blockLines[$i]; - $previousLineIndented = false; - $previousLineBlank = false; - } - } - } else { - $text = implode("\n", $blockLines); - } - - // deal with trailing newlines - if ('' === $chomping) { - $text = preg_replace('/\n+$/', "\n", $text); - } elseif ('-' === $chomping) { - $text = preg_replace('/\n+$/', '', $text); - } - - return $text; - } - - /** - * Returns true if the next line is indented. - */ - private function isNextLineIndented(): bool - { - $currentIndentation = $this->getCurrentLineIndentation(); - $movements = 0; - - do { - $EOF = !$this->moveToNextLine(); - - if (!$EOF) { - ++$movements; - } - } while (!$EOF && ($this->isCurrentLineEmpty() || $this->isCurrentLineComment())); - - if ($EOF) { - for ($i = 0; $i < $movements; ++$i) { - $this->moveToPreviousLine(); - } - - return false; - } - - $ret = $this->getCurrentLineIndentation() > $currentIndentation; - - for ($i = 0; $i < $movements; ++$i) { - $this->moveToPreviousLine(); - } - - return $ret; - } - - private function isCurrentLineEmpty(): bool - { - return $this->isCurrentLineBlank() || $this->isCurrentLineComment(); - } - - private function isCurrentLineBlank(): bool - { - return '' === $this->currentLine || '' === trim($this->currentLine, ' '); - } - - private function isCurrentLineComment(): bool - { - // checking explicitly the first char of the trim is faster than loops or strpos - $ltrimmedLine = '' !== $this->currentLine && ' ' === $this->currentLine[0] ? ltrim($this->currentLine, ' ') : $this->currentLine; - - return '' !== $ltrimmedLine && '#' === $ltrimmedLine[0]; - } - - private function isCurrentLineLastLineInDocument(): bool - { - return ($this->offset + $this->currentLineNb) >= ($this->totalNumberOfLines - 1); - } - - private function cleanup(string $value): string - { - $value = str_replace(["\r\n", "\r"], "\n", $value); - - // strip YAML header - $count = 0; - $value = preg_replace('#^\%YAML[: ][\d\.]+.*\n#u', '', $value, -1, $count); - $this->offset += $count; - - // remove leading comments - $trimmedValue = preg_replace('#^(\#.*?\n)+#s', '', $value, -1, $count); - if (1 === $count) { - // items have been removed, update the offset - $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n"); - $value = $trimmedValue; - } - - // remove start of the document marker (---) - $trimmedValue = preg_replace('#^\-\-\-.*?\n#s', '', $value, -1, $count); - if (1 === $count) { - // items have been removed, update the offset - $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n"); - $value = $trimmedValue; - - // remove end of the document marker (...) - $value = preg_replace('#\.\.\.\s*$#', '', $value); - } - - return $value; - } - - private function isNextLineUnIndentedCollection(): bool - { - $currentIndentation = $this->getCurrentLineIndentation(); - $movements = 0; - - do { - $EOF = !$this->moveToNextLine(); - - if (!$EOF) { - ++$movements; - } - } while (!$EOF && ($this->isCurrentLineEmpty() || $this->isCurrentLineComment())); - - if ($EOF) { - return false; - } - - $ret = $this->getCurrentLineIndentation() === $currentIndentation && $this->isStringUnIndentedCollectionItem(); - - for ($i = 0; $i < $movements; ++$i) { - $this->moveToPreviousLine(); - } - - return $ret; - } - - private function isStringUnIndentedCollectionItem(): bool - { - return '-' === rtrim($this->currentLine) || str_starts_with($this->currentLine, '- '); - } - - /** - * A local wrapper for "preg_match" which will throw a ParseException if there - * is an internal error in the PCRE engine. - * - * This avoids us needing to check for "false" every time PCRE is used - * in the YAML engine - * - * @throws ParseException on a PCRE internal error - * - * @internal - */ - public static function preg_match(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): int - { - if (false === $ret = preg_match($pattern, $subject, $matches, $flags, $offset)) { - throw new ParseException(preg_last_error_msg()); - } - - return $ret; - } - - /** - * Trim the tag on top of the value. - * - * Prevent values such as "!foo {quz: bar}" to be considered as - * a mapping block. - */ - private function trimTag(string $value): string - { - if ('!' === $value[0]) { - return ltrim(substr($value, 1, strcspn($value, " \r\n", 1)), ' '); - } - - return $value; - } - - private function getLineTag(string $value, int $flags, bool $nextLineCheck = true): ?string - { - if ('' === $value || '!' !== $value[0] || 1 !== self::preg_match('/^'.self::TAG_PATTERN.' *( +#.*)?$/', $value, $matches)) { - return null; - } - - if ($nextLineCheck && !$this->isNextLineIndented()) { - return null; - } - - $tag = substr($matches['tag'], 1); - - // Built-in tags - if ($tag && '!' === $tag[0]) { - throw new ParseException(\sprintf('The built-in tag "!%s" is not implemented.', $tag), $this->getRealCurrentLineNb() + 1, $value, $this->filename); - } - - if (Yaml::PARSE_CUSTOM_TAGS & $flags) { - return $tag; - } - - throw new ParseException(\sprintf('Tags support is not enabled. You must use the flag "Yaml::PARSE_CUSTOM_TAGS" to use "%s".', $matches['tag']), $this->getRealCurrentLineNb() + 1, $value, $this->filename); - } - - private function lexInlineQuotedString(int &$cursor = 0): string - { - $quotation = $this->currentLine[$cursor]; - $value = $quotation; - ++$cursor; - - $previousLineWasNewline = true; - $previousLineWasTerminatedWithBackslash = false; - $lineNumber = 0; - - do { - if (++$lineNumber > 1) { - $cursor += strspn($this->currentLine, ' ', $cursor); - } - - if ($this->isCurrentLineBlank()) { - $value .= "\n"; - } elseif (!$previousLineWasNewline && !$previousLineWasTerminatedWithBackslash) { - $value .= ' '; - } - - for (; \strlen($this->currentLine) > $cursor; ++$cursor) { - switch ($this->currentLine[$cursor]) { - case '\\': - if ("'" === $quotation) { - $value .= '\\'; - } elseif (isset($this->currentLine[++$cursor])) { - $value .= '\\'.$this->currentLine[$cursor]; - } - - break; - case $quotation: - ++$cursor; - - if ("'" === $quotation && isset($this->currentLine[$cursor]) && "'" === $this->currentLine[$cursor]) { - $value .= "''"; - break; - } - - return $value.$quotation; - default: - $value .= $this->currentLine[$cursor]; - } - } - - if ($this->isCurrentLineBlank()) { - $previousLineWasNewline = true; - $previousLineWasTerminatedWithBackslash = false; - } elseif ('\\' === $this->currentLine[-1]) { - $previousLineWasNewline = false; - $previousLineWasTerminatedWithBackslash = true; - } else { - $previousLineWasNewline = false; - $previousLineWasTerminatedWithBackslash = false; - } - - if ($this->hasMoreLines()) { - $cursor = 0; - } - } while ($this->moveToNextLine()); - - throw new ParseException('Malformed inline YAML string.'); - } - - private function lexUnquotedString(int &$cursor): string - { - $offset = $cursor; - - while ($cursor < \strlen($this->currentLine)) { - if (\in_array($this->currentLine[$cursor], ['[', ']', '{', '}', ',', ':'], true)) { - break; - } - - if (\in_array($this->currentLine[$cursor], [' ', "\t"], true) && '#' === ($this->currentLine[$cursor + 1] ?? '')) { - break; - } - - ++$cursor; - } - - if ($cursor === $offset) { - throw new ParseException('Malformed unquoted YAML string.'); - } - - return substr($this->currentLine, $offset, $cursor - $offset); - } - - private function lexInlineMapping(int &$cursor = 0, bool $consumeUntilEol = true): string - { - return $this->lexInlineStructure($cursor, '}', $consumeUntilEol); - } - - private function lexInlineSequence(int &$cursor = 0, bool $consumeUntilEol = true): string - { - return $this->lexInlineStructure($cursor, ']', $consumeUntilEol); - } - - private function lexInlineStructure(int &$cursor, string $closingTag, bool $consumeUntilEol = true): string - { - $value = $this->currentLine[$cursor]; - ++$cursor; - - do { - $this->consumeWhitespaces($cursor); - - while (isset($this->currentLine[$cursor])) { - switch ($this->currentLine[$cursor]) { - case '"': - case "'": - $value .= $this->lexInlineQuotedString($cursor); - break; - case ':': - case ',': - $value .= $this->currentLine[$cursor]; - ++$cursor; - break; - case '{': - $value .= $this->lexInlineMapping($cursor, false); - break; - case '[': - $value .= $this->lexInlineSequence($cursor, false); - break; - case $closingTag: - $value .= $this->currentLine[$cursor]; - ++$cursor; - - if ($consumeUntilEol && isset($this->currentLine[$cursor]) && ($whitespaces = strspn($this->currentLine, ' ', $cursor) + $cursor) < \strlen($this->currentLine) && '#' !== $this->currentLine[$whitespaces]) { - throw new ParseException(\sprintf('Unexpected token "%s".', trim(substr($this->currentLine, $cursor)))); - } - - return $value; - case '#': - break 2; - default: - $value .= $this->lexUnquotedString($cursor); - } - - if ($this->consumeWhitespaces($cursor)) { - $value .= ' '; - } - } - - if ($this->hasMoreLines()) { - $cursor = 0; - } - } while ($this->moveToNextLine()); - - throw new ParseException('Malformed inline YAML string.'); - } - - private function consumeWhitespaces(int &$cursor): bool - { - $whitespacesConsumed = 0; - - do { - $whitespaceOnlyTokenLength = strspn($this->currentLine, " \t", $cursor); - $whitespacesConsumed += $whitespaceOnlyTokenLength; - $cursor += $whitespaceOnlyTokenLength; - - if (isset($this->currentLine[$cursor])) { - return 0 < $whitespacesConsumed; - } - - if ($this->hasMoreLines()) { - $cursor = 0; - } - } while ($this->moveToNextLine()); - - return 0 < $whitespacesConsumed; - } -} diff --git a/app/vendor/symfony/yaml/README.md b/app/vendor/symfony/yaml/README.md deleted file mode 100644 index ac25024b6..000000000 --- a/app/vendor/symfony/yaml/README.md +++ /dev/null @@ -1,13 +0,0 @@ -Yaml Component -============== - -The Yaml component loads and dumps YAML files. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/yaml.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/app/vendor/symfony/yaml/Resources/bin/yaml-lint b/app/vendor/symfony/yaml/Resources/bin/yaml-lint deleted file mode 100755 index eca04976f..000000000 --- a/app/vendor/symfony/yaml/Resources/bin/yaml-lint +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env php - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -if ('cli' !== \PHP_SAPI) { - throw new Exception('This script must be run from the command line.'); -} - -/** - * Runs the Yaml lint command. - * - * @author Jan Schädlich - */ - -use Symfony\Component\Console\Application; -use Symfony\Component\Yaml\Command\LintCommand; - -function includeIfExists(string $file): bool -{ - return file_exists($file) && include $file; -} - -if ( - !includeIfExists(__DIR__ . '/../../../../autoload.php') && - !includeIfExists(__DIR__ . '/../../vendor/autoload.php') && - !includeIfExists(__DIR__ . '/../../../../../../vendor/autoload.php') -) { - fwrite(STDERR, 'Install dependencies using Composer.'.PHP_EOL); - exit(1); -} - -if (!class_exists(Application::class)) { - fwrite(STDERR, 'You need the "symfony/console" component in order to run the Yaml linter.'.PHP_EOL); - exit(1); -} - -$command = new LintCommand(); -if (method_exists($app = new Application(), 'addCommand')) { - $app->addCommand($command); -} else { - $app->add($command); -} -$app - ->setDefaultCommand($command->getName(), true) - ->run() -; diff --git a/app/vendor/symfony/yaml/Tag/TaggedValue.php b/app/vendor/symfony/yaml/Tag/TaggedValue.php deleted file mode 100644 index 9d2919349..000000000 --- a/app/vendor/symfony/yaml/Tag/TaggedValue.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml\Tag; - -/** - * @author Nicolas Grekas - * @author Guilhem N. - */ -final class TaggedValue -{ - public function __construct( - private string $tag, - private mixed $value, - ) { - } - - public function getTag(): string - { - return $this->tag; - } - - public function getValue(): mixed - { - return $this->value; - } -} diff --git a/app/vendor/symfony/yaml/Unescaper.php b/app/vendor/symfony/yaml/Unescaper.php deleted file mode 100644 index 1df0cf2ea..000000000 --- a/app/vendor/symfony/yaml/Unescaper.php +++ /dev/null @@ -1,108 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml; - -use Symfony\Component\Yaml\Exception\ParseException; - -/** - * Unescaper encapsulates unescaping rules for single and double-quoted - * YAML strings. - * - * @author Matthew Lewinski - * - * @internal - */ -class Unescaper -{ - /** - * Regex fragment that matches an escaped character in a double quoted string. - */ - public const REGEX_ESCAPED_CHARACTER = '\\\\(x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|.)'; - - /** - * Unescapes a single quoted string. - * - * @param string $value A single quoted string - */ - public function unescapeSingleQuotedString(string $value): string - { - return str_replace('\'\'', '\'', $value); - } - - /** - * Unescapes a double quoted string. - * - * @param string $value A double quoted string - */ - public function unescapeDoubleQuotedString(string $value): string - { - $callback = fn ($match) => $this->unescapeCharacter($match[0]); - - // evaluate the string - return preg_replace_callback('/'.self::REGEX_ESCAPED_CHARACTER.'/u', $callback, $value); - } - - /** - * Unescapes a character that was found in a double-quoted string. - * - * @param string $value An escaped character - */ - private function unescapeCharacter(string $value): string - { - return match ($value[1]) { - '0' => "\x0", - 'a' => "\x7", - 'b' => "\x8", - 't' => "\t", - "\t" => "\t", - 'n' => "\n", - 'v' => "\xB", - 'f' => "\xC", - 'r' => "\r", - 'e' => "\x1B", - ' ' => ' ', - '"' => '"', - '/' => '/', - '\\' => '\\', - // U+0085 NEXT LINE - 'N' => "\xC2\x85", - // U+00A0 NO-BREAK SPACE - '_' => "\xC2\xA0", - // U+2028 LINE SEPARATOR - 'L' => "\xE2\x80\xA8", - // U+2029 PARAGRAPH SEPARATOR - 'P' => "\xE2\x80\xA9", - 'x' => self::utf8chr(hexdec(substr($value, 2, 2))), - 'u' => self::utf8chr(hexdec(substr($value, 2, 4))), - 'U' => self::utf8chr(hexdec(substr($value, 2, 8))), - default => throw new ParseException(\sprintf('Found unknown escape character "%s".', $value)), - }; - } - - /** - * Get the UTF-8 character for the given code point. - */ - private static function utf8chr(int $c): string - { - if (0x80 > $c %= 0x200000) { - return \chr($c); - } - if (0x800 > $c) { - return \chr(0xC0 | $c >> 6).\chr(0x80 | $c & 0x3F); - } - if (0x10000 > $c) { - return \chr(0xE0 | $c >> 12).\chr(0x80 | $c >> 6 & 0x3F).\chr(0x80 | $c & 0x3F); - } - - return \chr(0xF0 | $c >> 18).\chr(0x80 | $c >> 12 & 0x3F).\chr(0x80 | $c >> 6 & 0x3F).\chr(0x80 | $c & 0x3F); - } -} diff --git a/app/vendor/symfony/yaml/Yaml.php b/app/vendor/symfony/yaml/Yaml.php deleted file mode 100644 index 57625a533..000000000 --- a/app/vendor/symfony/yaml/Yaml.php +++ /dev/null @@ -1,100 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Yaml; - -use Symfony\Component\Yaml\Exception\ParseException; - -/** - * Yaml offers convenience methods to load and dump YAML. - * - * @author Fabien Potencier - * - * @final - */ -class Yaml -{ - public const DUMP_OBJECT = 1; - public const PARSE_EXCEPTION_ON_INVALID_TYPE = 2; - public const PARSE_OBJECT = 4; - public const PARSE_OBJECT_FOR_MAP = 8; - public const DUMP_EXCEPTION_ON_INVALID_TYPE = 16; - public const PARSE_DATETIME = 32; - public const DUMP_OBJECT_AS_MAP = 64; - public const DUMP_MULTI_LINE_LITERAL_BLOCK = 128; - public const PARSE_CONSTANT = 256; - public const PARSE_CUSTOM_TAGS = 512; - public const DUMP_EMPTY_ARRAY_AS_SEQUENCE = 1024; - public const DUMP_NULL_AS_TILDE = 2048; - public const DUMP_NUMERIC_KEY_AS_STRING = 4096; - public const DUMP_NULL_AS_EMPTY = 8192; - public const DUMP_COMPACT_NESTED_MAPPING = 16384; - public const DUMP_FORCE_DOUBLE_QUOTES_ON_VALUES = 32768; - - /** - * Parses a YAML file into a PHP value. - * - * Usage: - * - * $array = Yaml::parseFile('config.yml'); - * print_r($array); - * - * @param string $filename The path to the YAML file to be parsed - * @param int-mask-of $flags A bit field of PARSE_* constants to customize the YAML parser behavior - * - * @throws ParseException If the file could not be read or the YAML is not valid - */ - public static function parseFile(string $filename, int $flags = 0): mixed - { - $yaml = new Parser(); - - return $yaml->parseFile($filename, $flags); - } - - /** - * Parses YAML into a PHP value. - * - * Usage: - * - * $array = Yaml::parse(file_get_contents('config.yml')); - * print_r($array); - * - * - * @param string $input A string containing YAML - * @param int-mask-of $flags A bit field of PARSE_* constants to customize the YAML parser behavior - * - * @throws ParseException If the YAML is not valid - */ - public static function parse(string $input, int $flags = 0): mixed - { - $yaml = new Parser(); - - return $yaml->parse($input, $flags); - } - - /** - * Dumps a PHP value to a YAML string. - * - * The dump method, when supplied with an array, will do its best - * to convert the array into friendly YAML. - * - * @param mixed $input The PHP value - * @param int $inline The level where you switch to inline YAML - * @param int $indent The amount of spaces to use for indentation of nested nodes - * @param int-mask-of $flags A bit field of DUMP_* constants to customize the dumped YAML string - */ - public static function dump(mixed $input, int $inline = 2, int $indent = 4, int $flags = 0): string - { - $yaml = new Dumper($indent); - - return $yaml->dump($input, $inline, 0, $flags); - } -} diff --git a/app/vendor/symfony/yaml/composer.json b/app/vendor/symfony/yaml/composer.json deleted file mode 100644 index 931642400..000000000 --- a/app/vendor/symfony/yaml/composer.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "symfony/yaml", - "type": "library", - "description": "Loads and dumps YAML files", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "^1.8" - }, - "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Yaml\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "minimum-stability": "dev" -} diff --git a/app/vendor/testcontainers/testcontainers/LICENSE b/app/vendor/testcontainers/testcontainers/LICENSE deleted file mode 100644 index 8a58a8499..000000000 --- a/app/vendor/testcontainers/testcontainers/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Shyim - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/app/vendor/testcontainers/testcontainers/README.md b/app/vendor/testcontainers/testcontainers/README.md deleted file mode 100644 index 79b99b83d..000000000 --- a/app/vendor/testcontainers/testcontainers/README.md +++ /dev/null @@ -1,226 +0,0 @@ -# Testcontainers for PHP - -Testcontainers is a PHP package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The package is inspired by the [Testcontainers](https://www.testcontainers.org/) project for Java. - -## Legacy PHP support - -The official `testcontainers/testcontainers-php` library requires PHP 8.1 or newer. If you need to support older PHP versions, including those that are EOL, please check out the community-maintained [k-kinzal/testcontainers-php](https://github.com/k-kinzal/testcontainers-php) project. The discussion about supporting legacy versions lives in [issue #38](https://github.com/testcontainers/testcontainers-php/issues/38). - -## Installation - -Add this to your project with composer - -```bash -composer req --dev testcontainers/testcontainers -``` - -## Usage/Examples - -### Starting a general Container - -```php -withEnvironment([ - 'key1' => 'val1', - 'key2' => 'val2' -]); - -// enable health check for a container -$container->withHealthCheckCommand('curl --fail localhost'); - -// mount current dir to /var/www/html -$container->withMount(__DIR__, '/var/www/html'); -``` - -Normally, you have to wait until the Container is ready. For this you can define a wait rule: - -```php - -use Testcontainers\Container\GenericContainer; -use Testcontainers\Wait\WaitForExec; -use Testcontainers\Wait\WaitForLog; -use Testcontainers\Wait\WaitForHttp; -use Testcontainers\Wait\WaitForHealthCheck; -use Testcontainers\Wait\WaitForHostPort; - -$container = new GenericContainer('nginx:alpine'); - -// Run mysqladmin ping until the command returns exit code 0 -$container->withWait(new WaitForExec(['mysqladmin', 'ping', '-h', '127.0.0.1'])); - -$container->withWait(new WaitForExec(['mysqladmin', 'ping', '-h', '127.0.0.1']), function($exitCode, $contents) { - // throw exception if process result is bad -}); - -// Wait until that message is in the logs -$container->withWait(new WaitForLog('Ready to accept connections')); - -// Wait for an http request to succeed -$container->withWait((new WaitForHttp($port))->withMethod('GET')->withPath('/')); - -// Wait for all bound ports to be open -$container->withWait(new WaitForHostPort()); - -// Wait until the Docker heartcheck is green -$container->withWait(new WaitForHealthCheck()); -``` - -### MySQL - -```php -withMySQLDatabase('foo') - ->withMySQLUser('bar', 'baz') - ->start(); - -$pdo = new \PDO( - sprintf( - 'mysql:host=%s;port=%d', - $container->getHost(), - $container->getFirstMappedPort() - ), - 'bar', - 'baz', -); - -// Do something with PDO -``` - -### MariaDB - -```php -withMariaDBDatabase('foo') - ->withMariaDBUser('bar', 'baz') - ->start(); - -$pdo = new \PDO( - sprintf( - 'mysql:host=%s;port=%d', - $container->getHost(), - $container->getFirstMappedPort() - ), - 'bar', - 'baz', -); - -// Do something with PDO -``` - -### PostgreSQL - -```php -withPostgresUser('bar') - ->withPostgresDatabase('foo') - ->start(); - -$pdo = new \PDO( - sprintf( - 'pgsql:host=%s;port=%d;dbname=foo', - self::$container->getHost(), - self::$container->getFirstMappedPort() - ), - 'bar', - 'test', -); - -// Do something with PDO -``` - -### Redis - -```php - -use Testcontainers\Modules\RedisContainer; - -$container = (new RedisContainer()) - ->start(); - -$redis = new \Redis(); -$redis->connect($container->getHost(), $container->getFirstMappedPort()); - -// Do something with Redis -``` - -### OpenSearch - -```php - -use Testcontainers\Modules\OpenSearchContainer; - -$container = (new OpenSearchContainer()) - ->withDisabledSecurityPlugin() - ->start(); - -// Do something with opensearch -``` - -### Use with symfony - -```yaml -# config/packages/test/services.yaml - -parameters: - 'doctrine.dbal.connection_factory.class': App\Tests\TestConnectionFactory -``` - -```php - -namespace App\Tests; - -use Doctrine\Bundle\DoctrineBundle\ConnectionFactory; -use Doctrine\Common\EventManager; -use Doctrine\DBAL\Configuration; -use Doctrine\DBAL\Tools\DsnParser; -use Testcontainers\Modules\PostgresContainer; - -class TestConnectionFactory extends ConnectionFactory -{ - static $testDsn; - - public function __construct(array $typesConfig, ?DsnParser $dsnParser = null) - { - if (!$this::$testDsn) { - $psql = (new PostgresContainer()) - ->withPostgresUser('user') - ->withPostgresPassword('password') - ->withPostgresDatabase('database') - ->start(); - $this::$testDsn = sprintf('postgresql://user:password@%s:%d/database?serverVersion=14&charset=utf8', $psql->getAddress(), $psql->getFirstMappedPort()); - } - parent::__construct($typesConfig, $dsnParser); - } - - - public function createConnection(array $params, ?Configuration $config = null, ?EventManager $eventManager = null, array $mappingTypes = []) - { - $params['url'] = $this::$testDsn; - return parent::createConnection($params, $config, $eventManager, $mappingTypes); - } - -} -``` - -## License - -[MIT](https://choosealicense.com/licenses/mit/) - diff --git a/app/vendor/testcontainers/testcontainers/composer.json b/app/vendor/testcontainers/testcontainers/composer.json deleted file mode 100644 index de7580c2a..000000000 --- a/app/vendor/testcontainers/testcontainers/composer.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "testcontainers/testcontainers", - "description": "Testcontainers implementation in PHP", - "license": "MIT", - "keywords": [ - "docker", - "testcontainers" - ], - "type": "library", - "authors": [ - { - "name": "Soner Sayakci", - "email": "github@shyim.de" - } - ], - "require": { - "ext-curl": "*", - "php": ">= 8.1", - "beluga-php/docker-php": "^1.45" - }, - "require-dev": { - "ext-pdo": "*", - "ext-pdo_mysql": "*", - "ext-pdo_pgsql": "*", - "phpunit/phpunit": "^9.5", - "brianium/paratest": "^6.11", - "friendsofphp/php-cs-fixer": "^3.92", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/extension-installer": "^1.2", - "predis/predis": "^3.0 || ^2.0" - }, - "suggest": { - "ext-mongodb": "Required for MongoDB container support" - }, - "autoload": { - "psr-4": { - "Testcontainers\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Testcontainers\\Tests\\": "tests/" - } - }, - "scripts": { - "check:all": [ - "@cs", - "@phpstan", - "@integration" - ], - "integration": "paratest tests/ --bootstrap vendor/autoload.php -f", - "cs": "php-cs-fixer fix --dry-run", - "cs:fix": "php-cs-fixer fix", - "phpstan": "phpstan analyse --memory-limit=256M" - }, - "config": { - "allow-plugins": { - "phpstan/extension-installer": true, - "php-http/discovery": false - } - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Container/GenericContainer.php b/app/vendor/testcontainers/testcontainers/src/Container/GenericContainer.php deleted file mode 100644 index 5a9d1135e..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Container/GenericContainer.php +++ /dev/null @@ -1,533 +0,0 @@ -|null $labels - */ - protected ?array $labels = null; - - protected ?string $hostname = null; - - protected string $id; - - /** @var list */ - protected array $command = []; - - protected bool $autoRemove = false; - - protected ?string $entryPoint = null; - - protected ?HealthConfig $healthConfig = null; - - /** - * @var array - */ - protected array $env = []; - - protected WaitStrategy $waitStrategy; - - protected PortGenerator $portGenerator; - - protected bool $isPrivileged = false; - - protected ?string $networkName = null; - - /** @var array */ - protected array $aliases = []; - - protected ?string $user = null; - - protected ?string $workingDir = null; - - /** - * @var array - */ - protected array $filesToCopy = []; - - /** - * @var array - */ - protected array $directoriesToCopy = []; - - /** - * @var array - */ - protected array $contentsToCopy = []; - - protected int $startAttempts = 0; - protected const MAX_START_ATTEMPTS = 2; - - /** - * @var array - */ - protected array $mounts = []; - - /** @var array List of exposed ports in the format ['8080/tcp'] */ - protected array $exposedPorts = []; - - public function __construct(string $image) - { - $this->image = $image; - $this->dockerClient = DockerContainerClient::getDockerClient(); - $this->waitStrategy = new WaitForContainer(); - $this->portGenerator = new RandomUniquePortGenerator(); - } - - public function getId(): string - { - return $this->id; - } - - /** - * @param list $command - */ - public function withCommand(array $command): static - { - $this->command = $command; - - return $this; - } - - public function withAutoRemove(bool $autoRemove): static - { - $this->autoRemove = $autoRemove; - - return $this; - } - - /** - * @param array $files - */ - public function withCopyFilesToContainer(array $files): static - { - $this->filesToCopy = array_merge($this->filesToCopy, $files); - - return $this; - } - - /** - * @param array $directories - */ - public function withCopyDirectoriesToContainer(array $directories): static - { - $this->directoriesToCopy = array_merge($this->directoriesToCopy, $directories); - - return $this; - } - - /** - * @param array $contents - */ - public function withCopyContentToContainer(array $contents): static - { - $this->contentsToCopy = array_merge($this->contentsToCopy, $contents); - - return $this; - } - - public function withEntryPoint(string $entryPoint): static - { - $this->entryPoint = $entryPoint; - - return $this; - } - - /** - * @param array $env An array of key-value pairs: $object->withEnvironment(['key1' => 'value1', 'key2' => 'value2']); - * @return static Returns itself for chaining purposes. - */ - public function withEnvironment(array $env): static - { - foreach ($env as $key => $val) { - $this->env[$key] = $val; - } - - return $this; - } - - public function withWait(WaitStrategy $waitStrategy): static - { - $this->waitStrategy = $waitStrategy; - - return $this; - } - - public function withHealthCheckCommand( - string $command, - int $intervalInMilliseconds = 1000, - int $timeoutInMilliseconds = 3000, - int $retries = 3, - int $startPeriodInMilliseconds = 0 - ): static { - $this->healthConfig = new HealthConfig(); - $this->healthConfig->setTest(['CMD-SHELL', $command]); - $this->healthConfig->setInterval($intervalInMilliseconds * 1_000_000); - $this->healthConfig->setTimeout($timeoutInMilliseconds * 1_000_000); - $this->healthConfig->setRetries($retries); - $this->healthConfig->setStartPeriod($startPeriodInMilliseconds * 1_000_000); - - return $this; - } - - public function withHostname(string $hostname): static - { - $this->hostname = $hostname; - - return $this; - } - - public function withMount(string $localPath, string $containerPath): static - { - $this->mounts[] = new Mount([ - 'type' => 'bind', - 'source' => $localPath, - 'target' => $containerPath, - ]); - - return $this; - } - - /** - * Add ports to be exposed by the Docker container. - * This method accepts multiple inputs: single port, multiple ports, or ports with specific protocols - * to attempt to align with other language implementations. - * - * @psalm-param int|string|array $ports One or more ports to expose. - * @return static Fluent interface for chaining. - */ - public function withExposedPorts(...$ports): static - { - foreach ($ports as $port) { - if (is_array($port)) { - // Flatten the array and recurse - $this->withExposedPorts(...$port); - } else { - // Handle single port entry, either string or int - $this->exposedPorts[] = PortNormalizer::normalizePort($port); - } - } - - return $this; - } - - public function withName(string $name): static - { - $this->name = $name; - - return $this; - } - - /** - * @param array $labels - */ - public function withLabels(array $labels): static - { - $this->labels = $labels; - - return $this; - } - - public function withPrivilegedMode(bool $privileged = true): static - { - $this->isPrivileged = $privileged; - - return $this; - } - - public function withNetwork(string $networkName): static - { - $this->networkName = $networkName; - - return $this; - } - - /** - * @param array $aliases - */ - public function withAliases(array $aliases): static - { - $this->aliases = $aliases; - - return $this; - } - - public function withPortGenerator(PortGenerator $portGenerator): static - { - $this->portGenerator = $portGenerator; - - return $this; - } - - public function withUser(string $user): static - { - $this->user = $user; - - return $this; - } - - public function withWorkingDir(string $workingDir): static - { - $this->workingDir = $workingDir; - - return $this; - } - - public function start(): StartedGenericContainer - { - $this->startAttempts++; - $containerConfig = $this->createContainerConfig(); - $queryParameters = []; - if ($this->name !== null) { - $queryParameters['name'] = $this->name; - } - try { - /** @var ContainerCreateResponse|null $containerCreateResponse */ - $containerCreateResponse = $this->dockerClient->containerCreate($containerConfig, $queryParameters); - $this->id = $containerCreateResponse?->getId() ?? ''; - } catch (ContainerCreateNotFoundException) { - if ($this->startAttempts >= self::MAX_START_ATTEMPTS) { - throw new RuntimeException("Failed to start container after pulling image."); - } - // If the image is not found, pull it and try again - // TODO: add withPullPolicy support - $this->pullImage(); - return $this->start(); - } - - $this->dockerClient->containerStart($this->id); - - if ($this->filesToCopy !== [] || $this->directoriesToCopy !== [] || $this->contentsToCopy !== []) { - $this->copyToContainer(); - } - - $startedContainer = new StartedGenericContainer($this->id); - $this->waitStrategy->wait($startedContainer); - - return $startedContainer; - } - - /** - * Uploads a tar archive containing files/directories/content to the container, - * extracting it into a chosen directory (`$containerPath`). Allows setting - * Docker's `noOverwriteDirNonDir` and `copyUIDGID` query parameters. - * - * @param string $containerPath Path within the container to extract the tar contents. Must be a directory in the container. - * @param bool $noOverwriteDirNonDir If true, Docker will error if it would replace an existing directory with a non-directory and vice versa. - * @param bool $copyUIDGID If true, Docker will attempt to preserve UID/GID from the tar entries. - * @throws RuntimeException|InvalidArgumentException - */ - protected function copyToContainer( - string $containerPath = '/', - bool $noOverwriteDirNonDir = false, - bool $copyUIDGID = false - ): void { - $tarBuilder = new TarBuilder(); - foreach ($this->filesToCopy as $file) { - $tarBuilder->addFile($file['source'], $file['target'], $file['mode'] ?? null); - } - - foreach ($this->directoriesToCopy as $directory) { - $tarBuilder->addDirectory($directory['source'], $directory['target'], $directory['mode'] ?? null); - } - - foreach ($this->contentsToCopy as $content) { - $tarBuilder->addContent($content['content'], $content['target'], $content['mode'] ?? null); - } - - $tarFilePath = $tarBuilder->buildTarArchive(); - - if (!is_file($tarFilePath)) { - throw new RuntimeException("Tar file does not exist at: $tarFilePath"); - } - - $handle = fopen($tarFilePath, 'rb'); - - if ($handle === false) { - throw new RuntimeException("Cannot open temporary tar archive at: $tarFilePath"); - } - - $queryParams = [ - 'path' => $containerPath, - ]; - - if ($noOverwriteDirNonDir) { - $queryParams['noOverwriteDirNonDir'] = 'true'; - } - - if ($copyUIDGID) { - $queryParams['copyUIDGID'] = 'true'; - } - - /** - * TODO: should be improved. Currently without using dummy $result or FETCH_RESPONSE, the request is failing. - * Probably an issue with the beluga-php/docker-php client library. - * */ - $result = $this->dockerClient->putContainerArchive( - $this->id, - $handle, - $queryParams, - $this->dockerClient::FETCH_RESPONSE - ); - - fclose($handle); - unlink($tarFilePath); - } - - - protected function createContainerConfig(): ContainersCreatePostBody - { - $containerCreatePostBody = new ContainersCreatePostBody(); - $containerCreatePostBody->setImage($this->image); - $containerCreatePostBody->setCmd($this->command); - $containerCreatePostBody->setLabels($this->labels); - $containerCreatePostBody->setHostname($this->hostname); - $containerCreatePostBody->setWorkingDir($this->workingDir); - $containerCreatePostBody->setUser($this->user); - - $envs = array_map(static fn ($key, $value) => "$key=$value", array_keys($this->env), $this->env); - $containerCreatePostBody->setEnv($envs); - - $hostConfig = $this->createHostConfig(); - $containerCreatePostBody->setHostConfig($hostConfig); - - if ($this->entryPoint !== null) { - $containerCreatePostBody->setEntrypoint([$this->entryPoint]); - } - - if ($this->healthConfig !== null) { - $containerCreatePostBody->setHealthcheck($this->healthConfig); - } - - if ($this->networkName !== null) { - $networkingConfig = new NetworkingConfig(); - $aliases = $this->aliases ?? []; - if ($this->name) { - $aliases[] = $this->name; - } - $endpointsConfig = [ - $this->networkName => new EndpointSettings([ - 'networkID' => $this->networkName, - 'aliases' => $aliases, - ]), - ]; - $networkingConfig->setEndpointsConfig($endpointsConfig); - $containerCreatePostBody->setNetworkingConfig($networkingConfig); - } - - return $containerCreatePostBody; - } - - protected function createHostConfig(): ?HostConfig - { - /** - * For some reason, if some of the properties are not set, but HostConfig is returned, - * the API will throw ContainerCreateBadRequestException: bad parameter. - * Until it will be checked and fixed, we just return null if these properties are not set. - * */ - if ($this->exposedPorts === [] && !$this->isPrivileged && $this->mounts === []) { - return null; - } - - $hostConfig = new HostConfig(); - - $hostConfig->setAutoRemove($this->autoRemove); - - if ($this->exposedPorts !== []) { - $portBindings = $this->createPortBindings(); - $hostConfig->setPortBindings($portBindings); - } - - if ($this->isPrivileged) { - $hostConfig->setPrivileged(true); - } - - if ($this->mounts !== []) { - $hostConfig->setMounts($this->mounts); - } - - return $hostConfig; - } - - /** - * @return array> - */ - protected function createPortBindings(): array - { - $portBindings = []; - - foreach ($this->exposedPorts as $port) { - $portBinding = new PortBinding(); - $portBinding->setHostPort((string)$this->portGenerator->generatePort()); - $portBinding->setHostIp('0.0.0.0'); - $portBindings[$port] = [$portBinding]; - } - - return $portBindings; - } - - protected function pullImage(): void - { - [$fromImage, $tag] = explode(':', $this->image) + [1 => 'latest']; - - // Build headers for the request - $headers = []; - - // Try to get authentication for the registry - $registry = DockerAuthConfig::getRegistryFromImage($fromImage); - $credentials = DockerAuthConfig::getInstance()->getAuthForRegistry($registry); - - if ($credentials !== null) { - // Docker expects the X-Registry-Auth header to be a base64-encoded JSON - $authData = [ - 'username' => $credentials['username'], - 'password' => $credentials['password'], - ]; - $headers['X-Registry-Auth'] = base64_encode(json_encode($authData, JSON_THROW_ON_ERROR)); - } - - /** @var CreateImageStream $imageCreateResponse */ - $imageCreateResponse = $this->dockerClient->imageCreate( - null, - [ - 'fromImage' => $fromImage, - 'tag' => $tag, - ], - $headers - ); - $imageCreateResponse->wait(); - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Container/HttpMethod.php b/app/vendor/testcontainers/testcontainers/src/Container/HttpMethod.php deleted file mode 100644 index 4950c168e..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Container/HttpMethod.php +++ /dev/null @@ -1,20 +0,0 @@ -value); - } - - public static function fromDockerNotation(string $protocol): self - { - return self::from(strtoupper($protocol)); - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Container/StartedGenericContainer.php b/app/vendor/testcontainers/testcontainers/src/Container/StartedGenericContainer.php deleted file mode 100644 index 39f4c0615..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Container/StartedGenericContainer.php +++ /dev/null @@ -1,229 +0,0 @@ -dockerClient = $dockerClient ?? DockerContainerClient::getDockerClient(); - } - - public function getId(): string - { - return $this->id; - } - - public function getLastExecId(): ?string - { - return $this->lastExecId; - } - - public function getClient(): Docker - { - return $this->dockerClient; - } - - /** - * @param list $command - */ - public function exec(array $command): string - { - $execConfig = (new ContainersIdExecPostBody()) - ->setCmd($command) - ->setAttachStdout(true) - ->setAttachStderr(true); - - // Create and start the exec command - /** @var IdResponse | null $exec */ - $exec = $this->dockerClient->containerExec($this->id, $execConfig); - - if ($exec === null || $exec->getId() === null) { - throw new RuntimeException('Failed to create exec command'); - } - - $this->lastExecId = $exec->getId(); - - $startConfig = new ExecIdStartPostBody(); - $startConfig->setDetach(false); - - $contents = $this->dockerClient - ->execStart($this->lastExecId, $startConfig, Client::FETCH_RESPONSE) - ?->getBody() - ->getContents() ?? ''; - - return $this->sanitizeOutput($contents); - } - - public function stop(): StoppedTestContainer - { - $this->dockerClient->containerStop($this->id); - $this->dockerClient->containerDelete($this->id); - - return new StoppedGenericContainer($this->id); - } - - public function restart(): self - { - $this->dockerClient->containerRestart($this->id); - - return $this; - } - - public function logs(): string - { - $output = $this->dockerClient - ->containerLogs( - $this->id, - ['stdout' => true, 'stderr' => true], - DockerRuntimeClient::FETCH_RESPONSE - ) - ?->getBody() - ->getContents() ?? ''; - - /** - * @var string|false $converted - */ - $converted = mb_convert_encoding($output, 'UTF-8', 'UTF-8'); - return $this->sanitizeOutput($converted == false ? $output : $converted); - } - - public function getHost(): string - { - return (new HostResolver($this->dockerClient))->resolveHost(); - } - - public function getMappedPort(int $port): int - { - $ports = (array) $this->getBoundPorts(); - /** @var PortBinding | null $portBinding */ - $portBinding = $ports["{$port}/tcp"][0] ?? null; - $mappedPort = $portBinding?->getHostPort(); - if ($mappedPort !== null) { - return (int) $mappedPort; - } - - throw new RuntimeException("Failed to get mapped port ‘{$mappedPort}’ for container"); - } - - public function getFirstMappedPort(): int - { - $ports = (array) $this->getBoundPorts(); - $port = array_key_first($ports); - /** @var PortBinding | null $firstPortBinding */ - $firstPortBinding = $ports[$port][0] ?? null; - $firstMappedPort = $firstPortBinding?->getHostPort(); - if ($firstMappedPort !== null) { - return (int) $firstMappedPort; - } - - throw new RuntimeException('Failed to get first mapped port for container'); - } - - public function getName(): string - { - return trim($this->inspect()?->getName() ?? '', '/ '); - } - - /** - * @return array - */ - public function getLabels(): array - { - return (array) $this->inspect()?->getConfig()?->getLabels(); - } - - /** - * @return string[] - */ - public function getNetworkNames(): array - { - $networks = (array) $this->inspect()?->getNetworkSettings()?->getNetworks(); - return array_keys($networks); - } - - public function getNetworkId(string $networkName): string - { - $networks = (array) $this->inspect()?->getNetworkSettings()?->getNetworks(); - /** @var EndpointSettings | null $endpointSettings */ - $endpointSettings = $networks[$networkName] ?? null; - $networkID = $endpointSettings?->getNetworkID(); - if ($networkID !== null) { - return $networkID; - } - - throw new RuntimeException("Network with name ‘{$networkName}’ does not exist"); - } - - public function getIpAddress(string $networkName): string - { - $networks = (array) $this->inspect()?->getNetworkSettings()?->getNetworks(); - /** @var EndpointSettings | null $endpointSettings */ - $endpointSettings = $networks[$networkName] ?? null; - $ipAddress = $endpointSettings?->getIPAddress(); - if ($ipAddress !== null) { - return $ipAddress; - } - - throw new RuntimeException("Network with name ‘{$networkName}’ does not exist"); - } - - protected function inspect(): ContainersIdJsonGetResponse200 | null - { - if ($this->inspectResponse === null) { - /** @var ContainersIdJsonGetResponse200 | null $inspectResponse */ - $inspectResponse = $this->dockerClient->containerInspect($this->id); - $this->inspectResponse = $inspectResponse; - } - - return $this->inspectResponse; - } - - /** - * @return iterable> - * @throws RuntimeException - */ - public function getBoundPorts(): iterable - { - /** - * For some reason, in the latest Docker releases, at this moment, the container might not be fully started. - * This can lead to issues when trying to retrieve the ports. - * TODO: find a better strategy to ensure the container is fully started or run in a loop until it is ready. - * For the loop $this->inspect() shouldn't be cached. - */ - usleep(300 * 1000); - $ports = $this->inspect()?->getNetworkSettings()?->getPorts(); - - if ($ports === null) { - throw new RuntimeException('Failed to get ports from container'); - } - - return $ports; - } - - protected function sanitizeOutput(string $output): string - { - return preg_replace('/[\x00-\x1F\x7F]/u', '', $output) ?? ''; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Container/StartedTestContainer.php b/app/vendor/testcontainers/testcontainers/src/Container/StartedTestContainer.php deleted file mode 100644 index 551d9be9a..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Container/StartedTestContainer.php +++ /dev/null @@ -1,55 +0,0 @@ - $command - */ - public function exec(array $command): string; - - /** - * @return iterable> - */ - public function getBoundPorts(): iterable; - - public function getClient(): Docker; - - public function getFirstMappedPort(): int; - - public function getHost(): string; - - public function getId(): string; - - public function getIpAddress(string $networkName): string; - - /** - * @return array - */ - public function getLabels(): array; - - public function logs(): string; - - public function getLastExecId(): string | null; - - public function getMappedPort(int $port): int; - - public function getName(): string; - - public function getNetworkId(string $networkName): string; - - /** - * @return string[] - */ - public function getNetworkNames(): array; - - public function restart(): self; - - public function stop(): StoppedTestContainer; -} diff --git a/app/vendor/testcontainers/testcontainers/src/Container/StoppedGenericContainer.php b/app/vendor/testcontainers/testcontainers/src/Container/StoppedGenericContainer.php deleted file mode 100644 index f226c8c98..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Container/StoppedGenericContainer.php +++ /dev/null @@ -1,17 +0,0 @@ -id; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Container/StoppedTestContainer.php b/app/vendor/testcontainers/testcontainers/src/Container/StoppedTestContainer.php deleted file mode 100644 index 423c23072..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Container/StoppedTestContainer.php +++ /dev/null @@ -1,10 +0,0 @@ - $command - */ - public function withCommand(array $command): static; - - public function withEntrypoint(string $entryPoint): static; - - /** - * @param array $env An array of key-value pairs - */ - public function withEnvironment(array $env): static; - - /** @param int|string|array $ports One or more ports to expose. */ - public function withExposedPorts(...$ports): static; - - public function withHealthCheckCommand( - string $command, - int $intervalInMilliseconds, - int $timeoutInMilliseconds, - int $retries, - int $startPeriodInMilliseconds - ): static; - - public function withHostname(string $hostname): static; - - /** - * @param array $labels - */ - public function withLabels(array $labels): static; - - public function withMount(string $localPath, string $containerPath): static; - - public function withName(string $name): static; - - public function withNetwork(string $networkName): static; - - public function withPortGenerator(PortGenerator $portGenerator): static; - - public function withPrivilegedMode(bool $privileged): static; - - public function withWait(WaitStrategy $waitStrategy): static; -} diff --git a/app/vendor/testcontainers/testcontainers/src/ContainerClient/DockerContainerClient.php b/app/vendor/testcontainers/testcontainers/src/ContainerClient/DockerContainerClient.php deleted file mode 100644 index 8001992d8..000000000 --- a/app/vendor/testcontainers/testcontainers/src/ContainerClient/DockerContainerClient.php +++ /dev/null @@ -1,44 +0,0 @@ -containerId = $containerId; - parent::__construct($message, 0, $previous); - } - - public function getContainerId(): string - { - return $this->containerId; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Exception/ContainerNotReadyException.php b/app/vendor/testcontainers/testcontainers/src/Exception/ContainerNotReadyException.php deleted file mode 100644 index 200983f61..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Exception/ContainerNotReadyException.php +++ /dev/null @@ -1,9 +0,0 @@ -withExposedPorts(3306); - $this->withEnvironment(['MARIADB_ROOT_PASSWORD' => $mysqlRootPassword]); - $this->withWait(new WaitForExec([ - "mariadb-admin", - "ping", - "-h", "127.0.0.1", - ], null, 15000)); - } - - public function withMariaDBUser(string $username, string $password): self - { - $this->withEnvironment(['MARIADB_USER' => $username]); - $this->withEnvironment(['MARIADB_PASSWORD' => $password]); - - return $this; - } - - public function withMariaDBDatabase(string $database): self - { - $this->withEnvironment(['MARIADB_DATABASE' => $database]); - - return $this; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Modules/MongoDBContainer.php b/app/vendor/testcontainers/testcontainers/src/Modules/MongoDBContainer.php deleted file mode 100644 index 739d31afc..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Modules/MongoDBContainer.php +++ /dev/null @@ -1,36 +0,0 @@ -withExposedPorts("27017/tcp") - ->withEnvironment([ - "MONGO_INITDB_ROOT_USERNAME" => $this->username, - "MONGO_INITDB_ROOT_PASSWORD" => $this->password, - "MONGO_INITDB_DATABASE" => $this->database, - ]) - ->withWait(new WaitForExec([ - 'mongosh', 'admin', - '-u', $this->username, - '-p', $this->password, - '--eval', "'show dbs'", - ], null, self::STARTUP_TIMEOUT_MS)); - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Modules/MySQLContainer.php b/app/vendor/testcontainers/testcontainers/src/Modules/MySQLContainer.php deleted file mode 100644 index 580dfd8c5..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Modules/MySQLContainer.php +++ /dev/null @@ -1,38 +0,0 @@ -withExposedPorts(3306); - $this->withEnvironment(['MYSQL_ROOT_PASSWORD' => $mysqlRootPassword]); - $this->withWait(new WaitForExec([ - "mysqladmin", - "ping", - "-h", "127.0.0.1", - ], null, 15000)); - } - - public function withMySQLUser(string $username, string $password): self - { - $this->withEnvironment(['MYSQL_USER' => $username]); - $this->withEnvironment(['MYSQL_PASSWORD' => $password]); - - return $this; - } - - public function withMySQLDatabase(string $database): self - { - $this->withEnvironment(['MYSQL_DATABASE' => $database]); - - return $this; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Modules/OpenSearchContainer.php b/app/vendor/testcontainers/testcontainers/src/Modules/OpenSearchContainer.php deleted file mode 100644 index 57b1f949c..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Modules/OpenSearchContainer.php +++ /dev/null @@ -1,34 +0,0 @@ -withExposedPorts(9200); - $this->withEnvironment([ - 'discovery.type' => 'single-node', - 'OPENSEARCH_INITIAL_ADMIN_PASSWORD' => 'c3o_ZPHo!', - ]); - - $this->withWait(new WaitForLog( - '/\]\s+started\?\[/', - true, - 30000 - )); - } - - public function withDisabledSecurityPlugin(): self - { - $this->withEnvironment(['plugins.security.disabled' => 'true']); - - return $this; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Modules/PostgresContainer.php b/app/vendor/testcontainers/testcontainers/src/Modules/PostgresContainer.php deleted file mode 100644 index 6b5e43fac..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Modules/PostgresContainer.php +++ /dev/null @@ -1,48 +0,0 @@ -withExposedPorts(5432); - $this->withEnvironment([ - 'POSTGRES_USER' => $this->username, - 'POSTGRES_PASSWORD' => $this->password, - 'POSTGRES_DB' => $this->database, - ]); - $this->withWait(new WaitForExec(["pg_isready", "-h", "127.0.0.1", "-U", $this->username])); - } - - public function withPostgresUser(string $username): self - { - $this->withEnvironment(['POSTGRES_USER' => $username]); - - return $this; - } - - public function withPostgresPassword(string $password): self - { - $this->withEnvironment(['POSTGRES_PASSWORD' => $password]); - - return $this; - } - - public function withPostgresDatabase(string $database): self - { - $this->withEnvironment(['POSTGRES_DB' => $database]); - - return $this; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Modules/RedisContainer.php b/app/vendor/testcontainers/testcontainers/src/Modules/RedisContainer.php deleted file mode 100644 index e40f068a3..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Modules/RedisContainer.php +++ /dev/null @@ -1,18 +0,0 @@ -withExposedPorts(6379); - $this->withWait(new WaitForLog('Ready to accept connections')); - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Utils/DockerAuthConfig.php b/app/vendor/testcontainers/testcontainers/src/Utils/DockerAuthConfig.php deleted file mode 100644 index 1f4a34253..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Utils/DockerAuthConfig.php +++ /dev/null @@ -1,260 +0,0 @@ - - */ - private array $auths = []; - - private ?string $credsStore = null; - - /** - * @var array - */ - private array $credHelpers = []; - - public function __construct() - { - $this->loadConfig(); - } - - /** - * Get the singleton instance of DockerAuthConfig. - * This avoids re-reading config files/environment on every image pull. - */ - public static function getInstance(): self - { - if (self::$instance === null) { - self::$instance = new self(); - } - - return self::$instance; - } - - /** - * Reset the singleton instance (useful for testing). - */ - public static function resetInstance(): void - { - self::$instance = null; - } - - /** - * Get authentication for a specific registry - * - * @return array{username: string, password: string}|null - */ - public function getAuthForRegistry(string $registry): ?array - { - $registry = $this->normalizeRegistry($registry); - - if (isset($this->auths[$registry])) { - $auth = $this->auths[$registry]; - - if (isset($auth['auth'])) { - $decoded = base64_decode($auth['auth'], true); - if ($decoded === false) { - throw new RuntimeException('Invalid base64 auth string'); - } - - if (!str_contains($decoded, ':')) { - throw new RuntimeException('Invalid auth format'); - } - [$username, $password] = explode(':', $decoded, 2); - return ['username' => $username, 'password' => $password]; - } - - if (isset($auth['username']) && isset($auth['password'])) { - return ['username' => $auth['username'], 'password' => $auth['password']]; - } - } - - if (isset($this->credHelpers[$registry])) { - return $this->getCredentialsFromHelper($this->credHelpers[$registry], $registry); - } - - if ($this->credsStore !== null) { - return $this->getCredentialsFromHelper($this->credsStore, $registry); - } - - return null; - } - - /** - * Load Docker configuration from environment or default paths - */ - private function loadConfig(): void - { - $configData = null; - - $envConfig = getenv('DOCKER_AUTH_CONFIG'); - if ($envConfig !== false && $envConfig !== '') { - try { - $configData = json_decode($envConfig, true, 512, JSON_THROW_ON_ERROR); - } catch (JsonException $e) { - throw new RuntimeException('Invalid JSON in DOCKER_AUTH_CONFIG: ' . $e->getMessage(), 0, $e); - } - } else { - foreach (self::DEFAULT_CONFIG_PATHS as $path) { - $expandedPath = str_replace('~', getenv('HOME') ?: '', $path); - if (file_exists($expandedPath)) { - $content = file_get_contents($expandedPath); - if ($content === false) { - continue; - } - - try { - $configData = json_decode($content, true, 512, JSON_THROW_ON_ERROR); - } catch (JsonException $e) { - throw new RuntimeException("Invalid JSON in $expandedPath: " . $e->getMessage(), 0, $e); - } - break; - } - } - } - - if (!is_array($configData)) { - return; - } - - if (isset($configData['auths']) && is_array($configData['auths'])) { - /** @var array $auths */ - $auths = $configData['auths']; - $this->auths = $auths; - } - - if (isset($configData['credsStore']) && is_string($configData['credsStore'])) { - $this->credsStore = $configData['credsStore']; - } - - if (isset($configData['credHelpers']) && is_array($configData['credHelpers'])) { - /** @var array $credHelpers */ - $credHelpers = $configData['credHelpers']; - $this->credHelpers = $credHelpers; - } - } - - /** - * Get credentials from a credential helper - * - * @return array{username: string, password: string}|null - */ - private function getCredentialsFromHelper(string $helper, string $registry): ?array - { - $helperCommand = 'docker-credential-' . $helper; - - $checkCommand = sprintf('command -v %s 2>/dev/null', escapeshellarg($helperCommand)); - $helperPath = trim(shell_exec($checkCommand) ?: ''); - - if (empty($helperPath)) { - return null; - } - - $descriptors = [ - 0 => ['pipe', 'r'], - 1 => ['pipe', 'w'], - 2 => ['pipe', 'w'], - ]; - - $process = proc_open([$helperCommand, 'get'], $descriptors, $pipes); - - if (!is_resource($process)) { - throw new RuntimeException("Failed to execute credential helper: $helperCommand"); - } - - fwrite($pipes[0], $registry); - fclose($pipes[0]); - - $stdout = stream_get_contents($pipes[1]); - $stderr = stream_get_contents($pipes[2]); - fclose($pipes[1]); - fclose($pipes[2]); - - $exitCode = proc_close($process); - - if ($exitCode !== 0) { - if ($stderr !== false && strpos($stderr, 'credentials not found') !== false) { - return null; - } - throw new RuntimeException("Credential helper failed: $stderr"); - } - - if ($stdout === false) { - return null; - } - - try { - $credentials = json_decode($stdout, true, 512, JSON_THROW_ON_ERROR); - } catch (JsonException $e) { - throw new RuntimeException('Invalid JSON from credential helper: ' . $e->getMessage(), 0, $e); - } - - if (!is_array($credentials)) { - throw new RuntimeException('Credential helper returned invalid response'); - } - - if (!isset($credentials['Username']) || !isset($credentials['Secret']) || - !is_string($credentials['Username']) || !is_string($credentials['Secret'])) { - return null; - } - - return [ - 'username' => $credentials['Username'], - 'password' => $credentials['Secret'], - ]; - } - - /** - * Normalize registry URL to match Docker config format - */ - private function normalizeRegistry(string $registry): string - { - $normalized = preg_replace('#^https?://#', '', $registry); - - if ($normalized === null) { - $normalized = $registry; - } - - $normalized = rtrim($normalized, '/'); - - if ($normalized === 'docker.io' || $normalized === 'index.docker.io' || $normalized === 'registry-1.docker.io') { - return 'https://index.docker.io/v1/'; - } - - return $normalized; - } - - public static function getRegistryFromImage(string $image): string - { - $slashPos = strpos($image, '/'); - - if ($slashPos === false) { - return 'docker.io'; - } - - $potentialRegistry = substr($image, 0, $slashPos); - - if (str_contains($potentialRegistry, '.') || - str_contains($potentialRegistry, ':') || - $potentialRegistry === 'localhost') { - return $potentialRegistry; - } - - return 'docker.io'; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Utils/HostResolver.php b/app/vendor/testcontainers/testcontainers/src/Utils/HostResolver.php deleted file mode 100644 index 6c74dc290..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Utils/HostResolver.php +++ /dev/null @@ -1,138 +0,0 @@ -dockerClient = $dockerClient ?? DockerContainerClient::getDockerClient(); - } - - /** - * Resolves the host address for connecting to a container. - * - * The resolution process is as follows: - * 1. If user overrides are allowed and TESTCONTAINERS_HOST_OVERRIDE is set, its value is returned. - * 2. Otherwise, the DOCKER_HOST environment variable is parsed. - * - If the scheme is one of http, https, or tcp, the hostname is used. - * - If the scheme is unix or npipe and the process is running in a container, the network gateway - * is determined by inspecting the relevant Docker network or running a temporary container. - * 3. If no other value can be determined, "localhost" is returned. - * - * @return string - * @throws RuntimeException If the DOCKER_HOST scheme is unsupported. - */ - public function resolveHost(): string - { - if ($this->allowUserOverrides() && ($override = getenv('TESTCONTAINERS_HOST_OVERRIDE')) !== false) { - return $override; - } - - // Get DOCKER_HOST URI, defaulting to a TCP endpoint if not set. - $dockerHostUri = getenv('DOCKER_HOST') ?: 'tcp://127.0.0.1:2375'; - $parts = parse_url($dockerHostUri); - if ($parts === false || !isset($parts['scheme'])) { - return 'localhost'; - } - - $scheme = $parts['scheme']; - - switch ($scheme) { - case 'http': - case 'https': - case 'tcp': - return $parts['host'] ?? 'localhost'; - - case 'unix': - case 'npipe': - if ($this->isInContainer()) { - // If using podman, choose "podman" network; otherwise, use "bridge" - $networkName = (str_contains($dockerHostUri, 'podman.sock')) ? 'podman' : 'bridge'; - if ($gateway = $this->findGateway($networkName)) { - return $gateway; - } - if ($defaultGateway = $this->findDefaultGateway()) { - return $defaultGateway; - } - } - return 'localhost'; - - default: - throw new RuntimeException("Unsupported Docker host scheme: {$scheme}"); - } - } - - protected function allowUserOverrides(): bool - { - return true; - } - - /** - * Determines if the code is running inside a container. - */ - protected function isInContainer(): bool - { - return file_exists('/.dockerenv'); - } - - /** - * Inspects the given network and returns its gateway IP address if found. - * - * @param string $networkName - * @return string|null - */ - protected function findGateway(string $networkName): ?string - { - try { - /** @var Network|null $networkInspect */ - $networkInspect = $this->dockerClient?->networkInspect($networkName); - $ipamConfig = $networkInspect?->getIPAM()?->getConfig(); - if ($ipamConfig !== null) { - foreach ($ipamConfig as $config) { - if ($config->getGateway() !== null) { - return $config->getGateway(); - } - } - } - } catch (\Throwable) { - return null; - } - return null; - } - - /** - * Runs a temporary container to determine the default gateway. - */ - protected function findDefaultGateway(): ?string - { - $tmpContainer = null; - try { - // Create a temporary container using a lightweight Alpine image. - $tmpContainer = (new GenericContainer('alpine:3.14')) - ->withCommand(['tail', '-f', '/dev/null']) - ->start(); - $result = $tmpContainer->exec(['sh', '-c', "ip route | awk '/default/ { print $3 }'"]); - $tmpContainer->stop(); - return $result; - } catch (\Throwable) { - return null; - } finally { - if ($tmpContainer !== null) { - try { - $tmpContainer->stop(); - } catch (\Throwable) { - // - } - } - } - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/FixedPortGenerator.php b/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/FixedPortGenerator.php deleted file mode 100644 index 9afe0b74b..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/FixedPortGenerator.php +++ /dev/null @@ -1,25 +0,0 @@ -ports[$this->portIndex])) { - throw new \RuntimeException('No more ports available in the fixed list.'); - } - - return $this->ports[$this->portIndex++]; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/PortGenerator.php b/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/PortGenerator.php deleted file mode 100644 index df7da1af6..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/PortGenerator.php +++ /dev/null @@ -1,10 +0,0 @@ -getRandomPort($this->randomBetweenInclusive(10000, 65535)); - } - - private function randomBetweenInclusive(int $min, int $max): int - { - return random_int($min, $max); - } - - private function getRandomPort(int $port): int - { - $connection = @fsockopen("localhost", $port); - - if (is_resource($connection)) { - fclose($connection); - throw new \RuntimeException("Port $port is already in use."); - } - - return $port; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/RandomUniquePortGenerator.php b/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/RandomUniquePortGenerator.php deleted file mode 100644 index f405e254d..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Utils/PortGenerator/RandomUniquePortGenerator.php +++ /dev/null @@ -1,26 +0,0 @@ -portGenerator->generatePort(); - } while (in_array($port, self::$assignedPorts)); - - self::$assignedPorts[] = $port; - - return $port; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Utils/PortNormalizer.php b/app/vendor/testcontainers/testcontainers/src/Utils/PortNormalizer.php deleted file mode 100644 index d9cded51e..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Utils/PortNormalizer.php +++ /dev/null @@ -1,32 +0,0 @@ -toDockerNotation()}"; - } - - // Check if the port specification already includes a protocol - if (is_string($port) && !str_contains($port, '/')) { - return "{$port}/{$internetProtocol->toDockerNotation()}"; - } - - return $port; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Utils/TarBuilder.php b/app/vendor/testcontainers/testcontainers/src/Utils/TarBuilder.php deleted file mode 100644 index 40c5e371f..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Utils/TarBuilder.php +++ /dev/null @@ -1,300 +0,0 @@ - - */ - private array $files = []; - - /** - * @var array - */ - private array $directories = []; - - /** - * @var array - */ - private array $contents = []; - - /** - * Add a single file from the local filesystem. - */ - public function addFile(string $source, string $target, ?int $mode = null): self - { - if (!is_file($source)) { - throw new InvalidArgumentException("Invalid file path: {$source}"); - } - if (empty($target)) { - throw new InvalidArgumentException("Target path cannot be empty."); - } - if ($mode !== null && ($mode < 0 || $mode > 0o777)) { - throw new InvalidArgumentException("Invalid mode for file: {$mode}"); - } - $this->files[] = [ - 'source' => $source, - 'target' => $target, - 'mode' => $mode, - ]; - return $this; - } - - /** - * Add a directory (recursively) from the local filesystem. - */ - public function addDirectory(string $source, string $target, ?int $mode = null): self - { - $this->directories[] = [ - 'source' => $source, - 'target' => $target, - 'mode' => $mode, - ]; - return $this; - } - - /** - * Add inline string content that should become a file in the tar. - */ - public function addContent(string $content, string $target, ?int $mode = null): self - { - $this->contents[] = [ - 'content' => $content, - 'target' => $target, - 'mode' => $mode, - ]; - return $this; - } - - /** - * Builds the .tar archive from everything that was added (files, directories, contents). - * - * Returns the full path to the created .tar file. - */ - public function buildTarArchive(): string - { - $tempDir = $this->createTempDir(); - - $this->copyFilesToLocalDir($tempDir, $this->files); - $this->copyDirectoriesToLocalDir($tempDir, $this->directories); - $this->createFilesFromContent($tempDir, $this->contents); - - $tarFilePath = $this->createTempTarPath(); - $this->runTarCommand($tarFilePath, $tempDir); - $this->removeDirectoryRecursively($tempDir); - - return $tarFilePath; - } - - public function clear(): void - { - $this->files = []; - $this->directories = []; - $this->contents = []; - } - - private function createTempDir(): string - { - $tmpDirName = tempnam(sys_get_temp_dir(), 'tc_files_'); - if ($tmpDirName === false) { - throw new RuntimeException("Failed to create a temp file for tar data"); - } - // tempnam() creates a file; remove it and create directory instead - unlink($tmpDirName); - - if (!mkdir($tmpDirName) && !is_dir($tmpDirName)) { - throw new RuntimeException("Failed to create temp directory: {$tmpDirName}"); - } - - return $tmpDirName; - } - - private function createTempTarPath(): string - { - $tmpFile = tempnam(sys_get_temp_dir(), 'tc_tar_'); - - if ($tmpFile === false) { - throw new RuntimeException("Failed to create temp file for tar archive"); - } - - $tarFilePath = $tmpFile . '.tar'; - - if (!rename($tmpFile, $tarFilePath)) { - throw new RuntimeException("Failed renaming temp file to .tar"); - } - return $tarFilePath; - } - - private function runTarCommand(string $tarFilePath, string $sourceDir): void - { - if (PHP_OS_FAMILY === 'Darwin') { - $additionalFlags = ' --disable-copyfile --no-xattrs'; - } else { - $additionalFlags = ''; - } - - // without --disable-copyfile and --no-xattrs combination, tar will fail on macOS - $cmd = sprintf( - 'tar %s -cf %s -C %s . 2>&1', - $additionalFlags, - escapeshellarg($tarFilePath), - escapeshellarg($sourceDir) - ); - - exec($cmd, $output, $exitCode); - - if ($exitCode !== 0) { - $errorText = implode("\n", $output); - throw new RuntimeException("Failed to create tar archive:\n{$errorText}"); - } - } - - private function removeDirectoryRecursively(string $dir): void - { - if (!is_dir($dir)) { - return; - } - - $iterator = new RecursiveIteratorIterator( - new RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS), - RecursiveIteratorIterator::CHILD_FIRST - ); - - foreach ($iterator as $item) { - if (!$item instanceof SplFileInfo) { - continue; - } - $path = $item->getRealPath(); - if ($item->isDir()) { - rmdir($path); - } else { - unlink($path); - } - } - rmdir($dir); - } - - /** - * @param array $files - */ - private function copyFilesToLocalDir(string $tempDir, array $files): void - { - foreach ($files as $file) { - $source = $file['source']; - $target = $file['target']; - $mode = $file['mode'] ?? null; - - if (!is_file($source)) { - throw new InvalidArgumentException("File not found: $source"); - } - $destPath = $this->makeDestPath($tempDir, $target); - $this->ensureParentDir($destPath); - - if (!copy($source, $destPath)) { - throw new RuntimeException("Failed to copy file $source to $destPath"); - } - if ($mode !== null) { - chmod($destPath, $mode); - } - } - } - - /** - * @param array $directories - */ - private function copyDirectoriesToLocalDir(string $tempDir, array $directories): void - { - foreach ($directories as $dir) { - $source = $dir['source']; - $target = $dir['target']; - $mode = $dir['mode'] ?? null; - - if (!is_dir($source)) { - throw new InvalidArgumentException("Directory not found: $source"); - } - $destPath = $this->makeDestPath($tempDir, $target); - $this->copyDirectoryRecursively($source, $destPath); - - if ($mode !== null) { - chmod($destPath, $mode); - } - } - } - - /** - * @param array $contents - */ - private function createFilesFromContent(string $tempDir, array $contents): void - { - foreach ($contents as $content) { - $data = $content['content']; - $target = $content['target']; - $mode = $content['mode'] ?? null; - - $destPath = $this->makeDestPath($tempDir, $target); - $this->ensureParentDir($destPath); - - file_put_contents($destPath, $data); - if ($mode !== null) { - chmod($destPath, $mode); - } - } - } - - private function copyDirectoryRecursively(string $sourceDir, string $destDir): void - { - $this->ensureParentDir($destDir); - - $innerIterator = new RecursiveDirectoryIterator($sourceDir, \FilesystemIterator::SKIP_DOTS); - - /** @var RecursiveIteratorIterator $iterator */ - $iterator = new RecursiveIteratorIterator( - $innerIterator, - RecursiveIteratorIterator::SELF_FIRST - ); - - foreach ($iterator as $item) { - if (!$item instanceof SplFileInfo) { - continue; - } - - /** @var RecursiveDirectoryIterator $innerIterator */ - $innerIterator = $iterator->getInnerIterator(); - $subPathName = $innerIterator->getSubPathName(); - $targetPath = $destDir . '/' . $subPathName; - - // Ensure the parent directory for the target path exists - $this->ensureParentDir($targetPath); - - if ($item->isDir()) { - if (!mkdir($targetPath, 0o777, true) && !is_dir($targetPath)) { - throw new RuntimeException(sprintf('Directory "%s" was not created', $targetPath)); - } - } else { - copy($item->getPathname(), $targetPath); - } - } - } - - private function makeDestPath(string $tempDir, string $target): string - { - return rtrim($tempDir, '/') . '/' . ltrim($target, '/'); - } - - private function ensureParentDir(string $path): void - { - $parent = dirname($path); - if (!is_dir($parent) && !mkdir($parent, 0o777, true) && !is_dir($parent)) { - throw new RuntimeException("Failed to create parent directory: $parent"); - } - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Wait/BaseWaitStrategy.php b/app/vendor/testcontainers/testcontainers/src/Wait/BaseWaitStrategy.php deleted file mode 100644 index df4da264f..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Wait/BaseWaitStrategy.php +++ /dev/null @@ -1,28 +0,0 @@ -timeout = $timeout; - return $this; - } - - public function withPollInterval(int $pollInterval): static - { - $this->pollInterval = $pollInterval; - return $this; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForContainer.php b/app/vendor/testcontainers/testcontainers/src/Wait/WaitForContainer.php deleted file mode 100644 index 4fb713e7f..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForContainer.php +++ /dev/null @@ -1,40 +0,0 @@ -getId(); - $startTime = microtime(true) * 1000; - - while (true) { - $elapsedTime = (microtime(true) * 1000) - $startTime; - - if ($elapsedTime > $this->timeout) { - throw new ContainerNotReadyException($id); - } - - /** @var ContainersIdJsonGetResponse200 | null $containerInspect */ - $containerInspect = $container->getClient()->containerInspect($id); - $containerStatus = $containerInspect?->getState()?->getStatus(); - - if ($containerStatus === 'running') { - return; - } - - usleep($this->pollInterval * 1000); - } - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForExec.php b/app/vendor/testcontainers/testcontainers/src/Wait/WaitForExec.php deleted file mode 100644 index ce7af356f..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForExec.php +++ /dev/null @@ -1,60 +0,0 @@ - $command - */ - public function __construct( - protected array $command, - protected ?Closure $checkFunction = null, - int $timeout = 10000, - int $pollInterval = 500 - ) { - parent::__construct($timeout, $pollInterval); - } - - public function wait(StartedTestContainer $container): void - { - $startTime = microtime(true) * 1000; - - while (true) { - $elapsedTime = (microtime(true) * 1000) - $startTime; - - if ($elapsedTime > $this->timeout) { - throw new ContainerWaitingTimeoutException($container->getId()); - } - - $contents = $container->exec($this->command); - - // Inspect the exec to check the exit code - /** @var ExecIdJsonGetResponse200 | null $execInspect */ - $execInspect = $container->getClient()->execInspect($container->getLastExecId() ?? ''); - $exitCode = $execInspect?->getExitCode(); - - // If a custom check function is provided, use it to validate the command output - if ($this->checkFunction !== null) { - $checkResult = ($this->checkFunction)($exitCode, $contents); - if ($checkResult) { - return; - } - } elseif ($exitCode === 0) { - return; // Command succeeded - } - - usleep($this->pollInterval * 1000); - } - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHealthCheck.php b/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHealthCheck.php deleted file mode 100644 index 289adaf14..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHealthCheck.php +++ /dev/null @@ -1,73 +0,0 @@ - $this->timeout) { - throw new ContainerWaitingTimeoutException($container->getId()); - } - - /** @var ContainersIdJsonGetResponse200|null $containerInspect */ - $containerInspect = $container->getClient()->containerInspect($container->getId()); - - $containerState = $containerInspect?->getState(); - - if ($containerState !== null) { - $health = $containerState->getHealth(); - - if ($health !== null) { - $status = $health->getStatus(); - - switch ($status) { - case 'healthy': - return; // Container is healthy - case 'starting': - // Health check is still in progress; continue waiting - break; - case 'unhealthy': - throw new HealthCheckFailedException($container->getId()); - case 'none': - throw new HealthCheckNotConfiguredException($container->getId()); - default: - throw new UnknownHealthStatusException($container->getId(), (string)$status); - } - } else { - // Health is null; treat as 'none' status - throw new HealthCheckNotConfiguredException($container->getId()); - } - } else { - // Container state is null - throw new ContainerStateException($container->getId()); - } - - usleep($this->pollInterval * 1000); - } - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHostPort.php b/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHostPort.php deleted file mode 100644 index 9a9738840..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHostPort.php +++ /dev/null @@ -1,64 +0,0 @@ - $this->timeout) { - throw new ContainerWaitingTimeoutException($container->getId()); - } - - if ($this->boundPortsOpened($container)) { - return; // Port is open, container is ready - } - - usleep($this->pollInterval * 1000); // Wait for the next polling interval - } - } - - /** - * @param StartedTestContainer $container - * @return bool - */ - private function boundPortsOpened(StartedTestContainer $container): bool - { - $boundPorts = $container->getBoundPorts(); - foreach ($boundPorts as $bindings) { - foreach ($bindings as $binding) { - $hostIp = trim($binding->getHostIp() ?? ''); - if ($hostIp === '' || $hostIp === '0.0.0.0') { - $hostIp = $container->getHost(); - } - $hostPort = (int)$binding->getHostPort(); - if (!$this->isPortOpen($hostIp, $hostPort)) { - return false; - } - } - } - return true; - } - - private function isPortOpen(string $ipAddress, int $port): bool - { - $connection = @fsockopen($ipAddress, $port, $errno, $errstr, 2); - - if ($connection !== false) { - fclose($connection); - return true; - } - - return false; - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHttp.php b/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHttp.php deleted file mode 100644 index 604723e28..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForHttp.php +++ /dev/null @@ -1,157 +0,0 @@ - - */ - protected array $headers = []; - - /** - * @var int Timeout in milliseconds for reading the response - */ - protected int $readTimeout = 1000; - - protected ?int $hostPort = null; - - public function __construct( - protected ?int $containerPort = null, - int $timeout = 10000, - int $pollInterval = 500 - ) { - parent::__construct($timeout, $pollInterval); - } - - /** - * @param HttpMethod|value-of $method - */ - public function withMethod(HttpMethod | string $method): self - { - if (is_string($method)) { - $method = HttpMethod::fromString($method); - } - $this->method = $method; - return $this; - } - - public function withPath(string $path): self - { - $this->path = $path; - return $this; - } - - public function withExpectedStatusCode(int $statusCode): self - { - $this->expectedStatusCode = $statusCode; - return $this; - } - - public function usingHttps(): self - { - $this->protocol = 'https'; - return $this; - } - - public function allowInsecure(): self - { - $this->allowInsecure = true; - return $this; - } - - public function withReadTimeout(int $timeout): self - { - $this->readTimeout = $timeout; - return $this; - } - - /** - * @param array $headers - */ - public function withHeaders(array $headers): self - { - $this->headers = $headers; - return $this; - } - - public function wait(StartedTestContainer $container): void - { - $startTime = microtime(true) * 1000; - - while (true) { - $elapsedTime = (microtime(true) * 1000) - $startTime; - - if ($elapsedTime > $this->timeout) { - throw new ContainerWaitingTimeoutException($container->getId()); - } - - try { - $this->resolveHostPort($container); - $containerAddress = $container->getHost(); - - $url = sprintf('%s://%s:%d%s', $this->protocol, $containerAddress, $this->hostPort, $this->path); - $responseCode = $this->makeHttpRequest($url); - - if ($responseCode === $this->expectedStatusCode) { - return; // Container is ready - } - } catch (\RuntimeException) { - // Port resolution or HTTP request failed, we'll try again until timeout - } - - usleep($this->pollInterval * 1000); - } - } - - private function makeHttpRequest(string $url): int - { - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $this->method->value); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_HEADER, true); - curl_setopt($ch, CURLOPT_NOBODY, true); // No need for a response body, just headers - curl_setopt($ch, CURLOPT_TIMEOUT_MS, $this->readTimeout); - - // Allow insecure connections if requested - if ($this->allowInsecure) { - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); - } - - // Add custom headers - if (!empty($this->headers)) { - curl_setopt($ch, CURLOPT_HTTPHEADER, array_map(static fn ($k, $v) => "$k: $v", array_keys($this->headers), $this->headers)); - } - - curl_exec($ch); - return curl_getinfo($ch, CURLINFO_HTTP_CODE); - } - - private function resolveHostPort(StartedTestContainer $container): void - { - if ($this->hostPort !== null) { - return; // Port already resolved - } - - $this->hostPort = $this->containerPort === null - ? $container->getFirstMappedPort() - : $container->getMappedPort($this->containerPort); - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForLog.php b/app/vendor/testcontainers/testcontainers/src/Wait/WaitForLog.php deleted file mode 100644 index a7ff61480..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Wait/WaitForLog.php +++ /dev/null @@ -1,48 +0,0 @@ - $this->timeout) { - throw new ContainerWaitingTimeoutException($container->getId()); - } - - $output = $container->logs(); - - if ($this->enableRegex) { - if (preg_match($this->message, $output)) { - return; - } - } elseif (str_contains($output, $this->message)) { - return; - } - - usleep($this->pollInterval * 1000); - } - } -} diff --git a/app/vendor/testcontainers/testcontainers/src/Wait/WaitStrategy.php b/app/vendor/testcontainers/testcontainers/src/Wait/WaitStrategy.php deleted file mode 100644 index 898ba031b..000000000 --- a/app/vendor/testcontainers/testcontainers/src/Wait/WaitStrategy.php +++ /dev/null @@ -1,12 +0,0 @@ -